Re: [Rats] [Iotops] 802.1AR device identity

Toerless Eckert <tte@cs.fau.de> Fri, 16 April 2021 18:22 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
X-Original-To: rats@ietfa.amsl.com
Delivered-To: rats@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B333A3A301F; Fri, 16 Apr 2021 11:22:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.87
X-Spam-Level:
X-Spam-Status: No, score=-0.87 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tYRaW85bABh0; Fri, 16 Apr 2021 11:22:16 -0700 (PDT)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [IPv6:2001:638:a000:4134::ffff:40]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B27753A301E; Fri, 16 Apr 2021 11:22:15 -0700 (PDT)
Received: from faui48f.informatik.uni-erlangen.de (faui48f.informatik.uni-erlangen.de [131.188.34.52]) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTP id 6D240548056; Fri, 16 Apr 2021 20:22:08 +0200 (CEST)
Received: by faui48f.informatik.uni-erlangen.de (Postfix, from userid 10463) id 690104400B2; Fri, 16 Apr 2021 20:22:08 +0200 (CEST)
Date: Fri, 16 Apr 2021 20:22:08 +0200
From: Toerless Eckert <tte@cs.fau.de>
To: "Smith, Ned" <ned.smith@intel.com>
Cc: Laurence Lundblade <lgl@island-resort.com>, Guy Fedorkow <gfedorkow@juniper.net>, "rats@ietf.org" <rats@ietf.org>, Ira McDonald <blueroofmusic@gmail.com>, Henk Birkholz <henk.birkholz@sit.fraunhofer.de>, Eliot Lear <lear@cisco.com>, "iotops@ietf.org" <iotops@ietf.org>
Message-ID: <20210416182205.GF9065@faui48f.informatik.uni-erlangen.de>
References: <E0971364-E3AD-40C6-A08A-A0BA7E64D18F@cisco.com> <0C1A8AE6-E6C3-4AF9-9E4F-5841FB450BE3@intel.com> <957A467D-4FE4-4031-98D2-6936D014A37C@cisco.com> <62FFA122-047E-468C-A2DD-5A0E4E8EAF74@intel.com> <9EE53DF3-17AD-495D-9BE7-C15B92EF6B99@island-resort.com> <CAN40gSsCbjpVuCQwsWWjGwfL=cARHcAa0ZPsm+sk8H=9_otZUw@mail.gmail.com> <3593A760-335F-40AF-AC43-7E2D7A1EFF7B@island-resort.com> <BLAPR05MB7378A9F73457513AC951F82FBA7A9@BLAPR05MB7378.namprd05.prod.outlook.com> <7C6A5C38-A155-4368-ADE0-97CF16DB3DCC@island-resort.com> <BD13AD1F-0E35-464C-9D06-2CE4AC1372B3@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <BD13AD1F-0E35-464C-9D06-2CE4AC1372B3@intel.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/YcPiCV6uWtMtYT7agf97P6kytEI>
Subject: Re: [Rats] [Iotops] 802.1AR device identity
X-BeenThere: rats@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Remote ATtestation procedureS <rats.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rats>, <mailto:rats-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rats/>
List-Post: <mailto:rats@ietf.org>
List-Help: <mailto:rats-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rats>, <mailto:rats-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2021 18:22:21 -0000

There are uses of IDevID as crypto material for e.g. mutual authentication
of seecured connection, seemingly designed by folks who where not really
aware of the security properties. Aka: they are used for stuff that does not work.
I would ignore such uses (irrelevant).

For onboarding, one of the IMHO wisdoms developed in IEF WGs including
netconf and anima is that you want to avoid the need for ongoing use of
the IDevID by enrolling an LDevID during onboarding. Key exhaustion
being one reason, but also higher utility of LDevID, such as (can i call it)
attestation of who the owner of the device is (which IDevID does not say).

I am not on top of EATs. If all the attestation is "immutable", aka:
whatever the operator does (config, firmware changes), the vendor can
guarantee that the attestation result will not be impacted by the owner/operator,
then i think it is logically appropriate to use the IDevID. Key exhaustion
of the IDevID could be avoided by creating a new keypair/certificate
locally on the device/TPM and then just use the IDevID to sign that
secondary cert (as a local TA). Call the new cert an Attestation-IDevID ?

If the owner/operator can have an impact on the outcome of attestation,
it should logically (IMHO) be signed with an LDevID. If the device
does not want to support enrollment of LDevID, then hopefully expose
in the attestation very explicitly any operator impact on the attestation
result.

Cheers
  Toerless

On Fri, Apr 16, 2021 at 05:55:00PM +0000, Smith, Ned wrote:
> Device onboarding is probably the most prevalent use case for IDevID. But that is only a guess.
> 
> From: Laurence Lundblade <lgl@island-resort.com>
> Date: Tuesday, April 13, 2021 at 12:26 PM
> To: Guy Fedorkow <gfedorkow@juniper.net>
> Cc: Ira McDonald <blueroofmusic@gmail.com>, "rats@ietf.org" <rats@ietf.org>, "Smith, Ned" <ned.smith@intel.com>, Eliot Lear <lear@cisco.com>, "iotops@ietf.org" <iotops@ietf.org>, Henk Berkholz <henk.birkholz@sit.fraunhofer.de>
> Subject: Re: [Rats] 802.1AR device identity
> 
> Thanks for the comments, Guy. Appreciate it.
> 
> Agreed that repurposing IDevID keys for EAT might be a bit weird and wrong, but it is still really useful to understand how they are intended to work and are actually used to help with the design of EAT.
> 
> 802.1AR section 7.2.5 say the keys can be used for signing. Appendix B has it participating in an EAT-TLS session and gives some other very general use cases.  No matter what, the key has to be used to sign a nonce for proof of possession, so there is some signing of external data going on.
> 
> https://www.trustedcomputinggroup.org/wp-content/uploads/TPM_Keys_for_Platform_Identity_v1_0_r3_Final.pdf lists a whole bunch more use cases like IKE. Do these really get implemented?
> 
> What are the popular and widely deployed use cases for IDevID?
> 
> I kind of want EAT to learn from IDevID here. To understand what IDevID is about so that EAT is more capable and fits in better with use cases.
> 
> LL
> 
> 
> 
> On Apr 2, 2021, at 10:05 AM, Guy Fedorkow <gfedorkow@juniper.net<mailto:gfedorkow@juniper.net>> wrote:
> 
> Hi Laurence,
>   I agree that IDevID is intended to persist through the device???s lifetime, while LDevID is meant to represent the current owner.
>   In TCG-land, an IDevID is not advised for signing attestation evidence; its role is limited to identity, providing proof of the supplier and the real-world identity of the device (i.e., serial number).
>   With TPM1.2 it???s actually not possible to use the IDevID to sign TPM attestation evidence, as a counter-measure to block spoofing by an attacker, so the TCG docs advise a separate attestation key with a binding that links them to the same TPM.  I think that???s not actually necessary in TPM2, although the advice for separation remains.
>   So in that context the sentence ???[EAT] separates the signing scheme from the identification scheme??? seems puzzling.
> 
>   But in the EAT environment, where there???s no technological block to an attacker with access to the key to spoof an attestation result, I agree that the DevID could be used to sign an EAT token carrying attestation evidence.
> 
>   Let me know if I???m missing the point!
> Thx
> /guy
> 
> 
> 
> Juniper Business Use Only
> From: Laurence Lundblade <lgl@island-resort.com<mailto:lgl@island-resort.com>>
> Sent: Friday, March 26, 2021 2:21 PM
> To: Ira McDonald <blueroofmusic@gmail.com<mailto:blueroofmusic@gmail.com>>
> Cc: rats@ietf.org<mailto:rats@ietf.org>; Smith, Ned <ned.smith@intel.com<mailto:ned.smith@intel.com>>; Eliot Lear <lear@cisco.com<mailto:lear@cisco.com>>; Guy Fedorkow <gfedorkow@juniper.net<mailto:gfedorkow@juniper.net>>; iotops@ietf.org<mailto:iotops@ietf.org>
> Subject: Re: [Rats] 802.1AR device identity
> 
> [External Email. Be cautious of content]
> 
> I got my copy of 802-1AR.
> 
> I???ve made a PR<https://github.com/ietf-rats-wg/eat/pull/101> that
>    1) Adds an SUEID to EAT that is similar to LDevID in that it can change on device life-cycle events
>    2) Adds a whole appendix discussing the relation of IDevID to EAT
> 
> From reading 802.1AR, it???s pretty clear that IDevID is permanent. Here???s one sentence:
> These additional operations can include deletion of the IDevID certificate or IDevID key, which can be logically equivalent to decommissioning the device,
> 802.1AR also provides for an LDevID that is less permanent in the ways that Giri seems to be asking for.
> 
> Please take a lot at the PR. It does a little compare and contrast between EAT and IDevID. I am interested in comments on it.
> 
> LL
> 
> 
> 
> On Mar 11, 2021, at 11:13 AM, Ira McDonald <blueroofmusic@gmail.com<mailto:blueroofmusic@gmail.com>> wrote:
> 
> Hi Laurence,
> 
> Thanks to the wonderful *free* IEEE Get 802 program, you can go to this link (from Guy earlier)
> and create your own durable free Get 802 account and then download IEEE 802.1AR-2018 (and
> anything else from the whole IEEE 802 series that you need).
> 
> https://1.ieee802.org/security/802-1ar/<https://urldefense.com/v3/__https:/1.ieee802.org/security/802-1ar/__;!!NEt6yMaO-gk!VIgfoJIZw6f-tQTWp0Sjo-VrLZQ-MpJRbtxsJaUCztshzqfy3ZhCgNP2Hn31Q-lsLJs$>
> 
> Cheers,
> - Ira
> 
> 
> 
> On Thu, Mar 11, 2021 at 2:02 PM Laurence Lundblade <lgl@island-resort.com<mailto:lgl@island-resort.com>> wrote:
> I want to unpack and unfold a few things here.
> 
> Permanence / Lifecycle / Privacy ??? I think the main topic here is about when an ID changes relative to the lifecycle of the device and how this relates to privacy.
> 
> Compromise ??? I think compromise due to algorithms being compromised or the device being owned or such is a separate topic. Discussion of it seems orthogonal, should go into security considerations and really comes down to certification in the end if you really want to lock it down.
> 
> I???m not sure which is meant by ???immutability??? in the previous emails.
> 
> My intent in the definition of UEID was that it is truly permanent. It doesn???t change at any time in the lifecycle of the device. This is the simplest case to describe. It is not at all privacy preserving for some use cases (e.g., mobile phone), but is OK for others (e.g., dumb sensor).
> 
> I was thinking other folks might define other IDs for other use cases. Maybe the time has come to invent one or two of those and put them in EAT.
> 
> Some Solutions
> One possibility is an SUEID, a semi-permanent UEID (maybe not use SPUIED). It is allowed to change in major events in the devices lifecycle such as events when ownership changes, the managing entity changes or on factory reset. I think this lines up with the way some MAC addresses are managed for privacy reasons. This line up is good because a UEID can be an IEEE MAC.
> 
> An RP might receive an EAT with only an UEID, only an SPUEID or both. The RP can decide what they want to use.
> 
> 
> Another one is for the Attester to authenticate the Verifier and/or Relying Party and generate a distinct UEID or SUEID just for use by that RP. This is a solution to the privacy issue. I???ve actually done an implementation of this one.
> 
> 
> A related solution is to have a privacy proxy between the Attester and the Verifier that makes RP-specific UEIDs or SUEIDs.
> 
> 
> Separation of ID from Attestation Key
> An ID that is not signed is nearly useless because anyone can forge it so we???re always talking about some sort of signing.
> 
> EAT intentionally separates the ID from the signing key. I haven???t read IDevID, but I don???t think it has this separation. The reason EAT separates them is to have a lot of flexibility to deal with the privacy and lifecycle issues that come up in real deployments for chip makers and complex supply chains.
> 
> For example, FIDO uses group attestation keys to deal with the privacy issue. One key is put into 100,000 plus devices which makes it statistically not very useful for tracking users. Maybe the device manufacture uses this tactic for billions of devices. Then maybe a use case involving only millions of these devices needs a truly global ID and have the means to program it. This can work if the keys and IDs are separate.
> 
> Or maybe the manufacturer changes signing schemes moving from a primitive MAC to EC-based pub key and onto some sort of DAA while maintaining the same scheme for device IDs.
> 
> 
> Possible harmonization with other Device IDs?
> I noticed that birkholz-rats-suit-claims<https://urldefense.com/v3/__https:/tools.ietf.org/id/draft-birkholz-rats-suit-claims-01.txt__;!!NEt6yMaO-gk!VIgfoJIZw6f-tQTWp0Sjo-VrLZQ-MpJRbtxsJaUCztshzqfy3ZhCgNP2Hn31d19M7lw$> mentions a device ID based on UUIDs. We should probably take a look at how this relates UEID. There???s probably others to check out. We probably want to re use a lot of the claims from Evidence in Attestation Results so they can be pass-through for the Verifier.
> 
> Note also that UUIDs are obsolete now.
> 
> LL
> 
> 
> P.S., Any suggestions on how to get access to IEEE IDevID? I???m not part of a big company. I tried joining IEEE once, but that wasn???t enough to get access.
> 
> 
> 
> _______________________________________________
> RATS mailing list
> RATS@ietf.org<mailto:RATS@ietf.org>
> https://www.ietf.org/mailman/listinfo/rats<https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/rats__;!!NEt6yMaO-gk!VIgfoJIZw6f-tQTWp0Sjo-VrLZQ-MpJRbtxsJaUCztshzqfy3ZhCgNP2Hn31_KoAAkI$>
> _______________________________________________
> RATS mailing list
> RATS@ietf.org<mailto:RATS@ietf.org>
> https://www.ietf.org/mailman/listinfo/rats
> 

> -- 
> Iotops mailing list
> Iotops@ietf.org
> https://www.ietf.org/mailman/listinfo/iotops


-- 
---
tte@cs.fau.de