Re: [Panic] notes on Panic Draft

"Panos Kampanakis (pkampana)" <> Fri, 28 July 2017 15:40 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 2D279131C94 for <>; Fri, 28 Jul 2017 08:40:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id MDyaayMpGHuS for <>; Fri, 28 Jul 2017 08:40:00 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id E2BD9131945 for <>; Fri, 28 Jul 2017 08:39:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=37710; q=dns/txt; s=iport; t=1501256399; x=1502465999; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=7nLxPgKJLD4EOHSwaZu9Ondfg9qqYtPqMPZljzCSp60=; b=C8mPmYnCe2xkGbaXQfKCRbU4IcRGYvPrr675I+X8YcLiHG9eQsHE3yiX rvs6QGsQeJCh2v92DqTrxehHuNUKrahm1RMUbLQm3r0Wpv9+/LmvG93p2 lxv2CqOuH/ErYL5Xns1q15nKQdeWsSFIf33MEJeNW2GUuTMW6Ql+cWJE9 s=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.40,425,1496102400"; d="scan'208,217";a="462977618"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-SHA; 28 Jul 2017 15:39:58 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id v6SFdwE9002711 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 28 Jul 2017 15:39:58 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 28 Jul 2017 10:39:57 -0500
Received: from ([]) by ([]) with mapi id 15.00.1210.000; Fri, 28 Jul 2017 10:39:57 -0500
From: "Panos Kampanakis (pkampana)" <>
To: Jessica Fitzgerald-McKay <>, Guy Fedorkow <>
CC: "" <>
Thread-Topic: [Panic] notes on Panic Draft
Date: Fri, 28 Jul 2017 15:39:57 +0000
Message-ID: <>
References: <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_8d09239059424b81b03b6a34e99fd800XCHALN010ciscocom_"
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [Panic] notes on Panic Draft
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Posture Assessment Through Network Information Collection \(panic\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 28 Jul 2017 15:40:03 -0000

Hi Jess,

To try to address two questions:

> I would like a sense of how widely implemented they are for network device software and operating systems. Anyone have any insight there?

I am not aware of any network vendors that use SWID tags.

> 802.1ar requires installation ​
​of an IDevID, from which many LDevIDs can be created. I'm happy to geek out on the added security of cryptographic IDs, but, can we talk though the workflow of getting the initial IDevID installed (who would be responsible for that? Do network equipment vendors use IDevIDs today?

I can’t speak for all vendors, but Cisco has been using IDevIDs in their products for some time and more platforms are adopting it. The private key for the 802.1AR cert is stored in a secure storage chip (similar TPM) so the IDevID cannot be compromised. I applaud adopting a secure immutable identity or better a subsequently acquired LDevID to authenticate the reported data from the endpoint. Fallback or additional auth mechanisms will also be necessary for other usecases though.


From: Panic [] On Behalf Of Jessica Fitzgerald-McKay
Sent: Wednesday, July 26, 2017 2:46 PM
To: Guy Fedorkow <>
Subject: Re: [Panic] notes on Panic Draft

Thanks for the feedback, Guy. Responses in-line. I have more questions than answers, and I'd like others on the list to weigh in. Looking forward to hearing from everyone.

On Fri, Jul 21, 2017 at 5:18 PM, Guy Fedorkow <<>> wrote:

Hi Dave, Jessica,
  Thanks for updating the PANIC draft…  I think it’s starting to take shape!

  It seems that the next step in moving this forward might be to outline the kind of information we want to retrieve from the endpoints.  I’d assume you’d want some kind of info to identify the device – manufacturer, serial number, etc, plus something that shows the software revision of the relevant modules.  Could that be something like a set of SWID tags?

​Personally, I would be delighted if software load could be captured in a SWID tag. Failing that, I would like to be able to collect a swid-like set of information from​ the network device. I took a look at NISTIR 8060 (which you can read here: and it looks like-- ignoring data about the tag itself, like tagID, entity information about the tag creator, etc--  required fields for a primary tag are:

  *   software name and
  *   software version,
which should be easy enough to collect on their own.

But, SWID tags offer additional information that could be useful to us. Evidence and payload fields, for instance, can be used to communicate file hashes that comprise the software. Tag signatures could allow us to have move trust in the entity that created the tag (for example, a tag from the software vendor is potentially more trust worthy than one created by a third party). And SWIDs allow us to easily communicate what patches are installed on the product, which is necessary for vulnerability and compliance assessments.

All things considered, I'd like to use SWID tags. I would like a sense of how widely implemented they are for network device software and operating systems. Anyone have any insight there?

  It might be good to pattern the device information on IEEE 802.1AR.  Using a cryptographic ID might not be a ‘must’, but it’s probably a desirable option, so making sure it would fit might be helpful.

802.1ar requires installation ​
​of an IDevID, from which many LDevIDs can be created. I'm happy to geek out on the added security of cryptographic IDs, but, can we talk though the workflow of getting the initial IDevID installed (who would be responsible for that? Do network equipment vendors use IDevIDs today? If not, could the device owner install one without a lot of hassle?)​.

Also, secure though 802.1ar is, it often has no relation to any observable device identities on the network. I'm thinking about a behavior monitoring use case here, in which I notice a device behaving in an unexpected manner, and want to investigate it's posture while I figure out what is going on. Is there a way to gather many identities from an network device using netconf/yang?

  It might be good to add a note saying whether the draft should extend to virtualized devices, e.g., NFV instances.  I’d assume that it should, but that might make identity a bit more complicated.

​In section 3 of the draft, we say "​Virtualized network functions are currently considered in scope". Of course, I worded it that way because I, too, am concerned about whether their inclusion makes our solution overly complicated. Are there any netconf experts that can speak to this concern?

  On the topic of scope, I suppose it might be good to say if “Things”, as in IoT, are in scope or not.  I can’t guess if that has an impact on the technical spec, but there certainly could be an impact on implied scaling needs, and it might help remind readers that figuring out what’s running in the IoT is a getting to be a big problem.

​Agreed that IoT is a problem. Do many "Things" that compose the Internet of Things implement netconf?​ It's such a broad space, I worry that some "Things" could handle netconf, and others (things like "smart dust", etc.) couldn't handle the added weight.

  The diagram in the front of the draft shows an interconnect between Posture Server and Data Store…  seems like there could be some complicated transactions across that link…  Do you think there’s existing practice that could be used for this?

​Sadly, I know of nothing we could easily point to and say "that is the protocol we will use for server-datastore communication". But, what I do not know could fill volumes. Maybe others have ideas where we can start?
  The draft also mentions methods that Endpoints can use to find Posture servers.  I wonder if Zeroconf or some kind of DHCP trick might work for this?

​Zeroconf is an option. TCG has some prior art here ( I am happy to consider all viable options.​

  Finally, in Security Considerations, I wonder if there should be something about how much we do or don’t trust the endpoint to report its Information truthfully. The combination of 802.1AR and signed SWID tags might help with a way to assess the reliability of the information.

​Agreed, I will add that to the next revision. ​

  Great start, let’s try to start breaking down some of the top-level topics to get to the next level of requirements.

Panic mailing list<>