Re: [Rats] Vetting claim definitions

Laurence Lundblade <lgl@island-resort.com> Tue, 11 June 2019 15:21 UTC

Return-Path: <lgl@island-resort.com>
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 E81B7120276 for <rats@ietfa.amsl.com>; Tue, 11 Jun 2019 08:21:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.888
X-Spam-Level:
X-Spam-Status: No, score=-1.888 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01] autolearn=unavailable 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 rpnpYmjLqCrz for <rats@ietfa.amsl.com>; Tue, 11 Jun 2019 08:21:23 -0700 (PDT)
Received: from p3plsmtpa08-02.prod.phx3.secureserver.net (p3plsmtpa08-02.prod.phx3.secureserver.net [173.201.193.103]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C501612028A for <rats@ietf.org>; Tue, 11 Jun 2019 08:21:15 -0700 (PDT)
Received: from [10.172.0.26] ([104.238.46.239]) by :SMTPAUTH: with ESMTPA id aiaHhh8NNd9U0aiaIhBJVe; Tue, 11 Jun 2019 08:21:14 -0700
From: Laurence Lundblade <lgl@island-resort.com>
Message-Id: <8AA62B47-28EA-4D9D-B103-DBD1F3964BAF@island-resort.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_F99B834B-EB64-47E1-A578-49D4F9176C7A"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Tue, 11 Jun 2019 08:21:13 -0700
In-Reply-To: <DM6PR11MB4089D8274D816949BAC5215DA1130@DM6PR11MB4089.namprd11.prod.outlook.com>
Cc: Michael Richardson <mcr+ietf@sandelman.ca>, Hannes Tschofenig <Hannes.Tschofenig@arm.com>, "rats@ietf.org" <rats@ietf.org>, Henk Birkholz <henk.birkholz@sit.fraunhofer.de>, Mike Jones <Michael.Jones=40microsoft.com@dmarc.ietf.org>
To: "Eric Voit (evoit)" <evoit@cisco.com>
References: <BC6D5D3A-BD2F-496E-AA68-D2A758A33843@island-resort.com> <12913.1559739926@localhost> <30754CD8-98AB-4080-952E-880BC630EC69@island-resort.com> <BL0PR00MB029274A33B44A0B8CE310C0BF5160@BL0PR00MB0292.namprd00.prod.outlook.com> <VI1PR08MB536061869B7BE623F861B821FA100@VI1PR08MB5360.eurprd08.prod.outlook.com> <DM6PR11MB408908B0F071051FEC0B090BA1100@DM6PR11MB4089.namprd11.prod.outlook.com> <902E75D8-D8AC-403B-A295-0EC3034E44B2@island-resort.com> <DM6PR11MB4089C31F977DD496B5CC49D7A1100@DM6PR11MB4089.namprd11.prod.outlook.com> <D990AE6C-3722-40EA-9B11-9B7EDEF9AFE5@island-resort.com> <DM6PR11MB4089D8274D816949BAC5215DA1130@DM6PR11MB4089.namprd11.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.9.1)
X-CMAE-Envelope: MS4wfPeOOyOAZ03iNHwFRM+XuQn9HAjWpxETIAZv8zw8JCP2nT/4YLbwvj/+eNXwqr3m5W7aSGl7/8Zcfc690tKlVPTGcGeX/r0OWGv7seBkLoeREc693/UZ izQw7jg+e3mtHfOv6jjUNnnqo3E7icLgTm79p7VuGqeJNi1oGgeen6HvyZKdMqt+DeEksqBsEYKAtWr0ra3nog2OOdQKhM/j0ReflEu/7y/oVsyIsKjRh4bi qqH9B1IHlXd4TTW+wM//TjjF1J/Zcer1QvpzsSn+vVfLocF4Eq53nMHro/bGt1yjbw9+7jnGxQ1foWCLHfRe3rCGBO/LDsGKJYz+vA6hON4BB0A7lUsnQg26 VzPwQ/sApkCPj22eT+EvLRLp1VEA3w==
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/7U7pNRfgHukZuQqYEEZq6eKE0oQ>
Subject: Re: [Rats] Vetting claim definitions
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: Tue, 11 Jun 2019 15:21:26 -0000

Hi Eric,

What I’m trying to figure out here is where there can be real practical interoperability with extant YANG-defined objects and how we go about it as I assume this is your current objection to adoption.


> On Jun 10, 2019, at 2:23 PM, Eric Voit (evoit) <evoit@cisco.com> wrote:
> 
> Hi Laurence,
>  
> It is true that the YANG of draft-birkholz-rats-basic-yang-module is currently TPM2 specific.  But over the past month we have been having discussions on how to augment into this model case statements and a tree structure which allows exposure of information from alternative hardware types such as the TPM1.2.  
>  
> Per your note below, I am guessing that draft-birkholz-rats-basic-yang-module could provide a query/response interface to access EAT information.  The Network Element's YANG model theoretically could allow access based on whatever choice of protocols the Network Element supports (e.g., NETCONF/XML. RESTCONF/JSON, CoMI/CBOR).  But the choice and protocols of used to access EAT objects over a YANG interface is something each platform would need to define.   The baseline choice for Interoperability here is tbd.

You mentioned a YANG interface. Seems like a point where there might be interoperability. Is this an interface on the router that is used to collect the claims data before signing? Or is it an interface on the back end / server / relying party that is involved in validating the data? Or maybe it is the rpc interaction defined in draft-birkholz-rats-basic-yang-module? I’m not sure what the intended endpoints of that RPC are. Router and Relying Party? 

Now that we are generally agreeing that an EAT is a CWT or JWT, the interaction model between device and relying party is inherited from them. Mostly we’re defining the format of a signed message and leaving the transport of the message open-ended so it can be embedded in HTTP headers, protocol extensions and such. If YANG is used to define interaction on routers, then some YANG RPC could be used (if that is what YANG RPC is) to define transport of CWTs (if CWTs are used on routers). There’s also draft-birkholz-reference-ra-interaction-model.

>  
> Whether it is even meaningful/relevant to support such YANG-EAT interoperability is something I don't know yet.  For me to consider EAT for implementation would mean EAT has been adopted within routers/switches.   As this is possible, I feel there is little for the WG to lose if we try to select/define some common objects which span our different domains.


Here’s comments on a pass through draft-birkholz-rats-basic-yang-module

grouping nonce {... Seems essentially compatible with nonce / cti / jai in CWT / JWT
grouping pcr-selection {...   TPM-specific so we probably go with the YANG definition
grouping pcr-selector {...   TPM-specific so we probably go with the YANG definition
grouping signature-scheme {… EAT will use COSE for this
grouping attestation-key-identifier {… EAT will use COSE for this
grouping tpm-name {… TPM-specific so we probably go with the YANG definition
grouping compute-node {… I think this one needs work to figure out what it is and if EAT’s UEID is similar
grouping node-uptime {… Seems simple to make exactly the same for EAT
grouping log-identifier {… and grouping boot-event-log {… and other log stuff… Maybe TPM specific; maybe needs work to understand
grouping ima-event {… and related. We do want some IMA claims in CWT format. Maybe they are part of EAT. Maybe they are separate. Maybe they use the YANG definition. 

>  
> Please understand that in no way do I claim that YANG is perfect.  And YANG models can take years to complete.   But on the plus side for YANG, I am sure it is possible to construct YANG models so that new hardware types can be inserted.  If you want a preview of the types of structure which might be used for this type of extensibility, check out at how draft-ietf-netconf-yang-push augments new case types into a the YANG model described within draft-ietf-netconf-subscribed-notifications.

YANG not perfect?? Huh? What?  :-)

I wish some YANG experts would chime in more here. I’m trying to learn on the fly and really should be updating the EAT draft instead.

LL


>  
> Eric
>  
> From: Laurence Lundblade, June 10, 2019 2:57 PM
> 
> Hi Eric,
>  
> So I think we have some agreement on general principles for how to structure the documents this work group produces so we can have both flexibility in the definition of new claims and well-defined concise sets claims for particular use cases. 
>  
> In particular I appreciate the confirmation of this from Mike Jones. Hopefully lack of objection implies a lot of agreement. 
>  
>  
> Eric, I think you are now digging into the next level of detail on how to deal with TPM-based implementations and claims specified in YANG and how that will interoperate with CWT/COSE and JWT/JOSE based tokens.
>  
> I don’t really understand YANG and how to fully read draft-birkholz-rats-basic-yang-module yet. Working on it (but I should be working on the new EAT draft…)
>  
> draft-birkholz-rats-basic-yang-module REQUIRES a TPM to implement it. That implies to me that neither CWT/COSE and JWT/JOSE signed container formats can be used because I don’t think TPM’s can produce either format. Pretty sure we agree that EAT will always be CWT/COSE or JWT/JOSE. 
>  
> (It is also odd to me that an IETF standard would require particular HW. It should just be about bits on the wire. EAT will have some means to indicate the security of the HW and SW that produced a given token, but will not require any particular security from the HW or SW)
>  
> But let’s assume that a relying party (I think you call this the Network Element) can unpack and verify signature that in the format of CWT and JWT and the TPM-style sig that I think is implied by draft-birkholz-rats-basic-yang-module. The result will be a set of claims in some syntax. It will be CBOR or JSON in the case of CWT or JWT. 
>  
> What will it be for draft-birkholz-rats-basic-yang-module??? YANG-described stuff an be lots of different syntaxes by my understanding. How many of them will a relying party be expected to support so there is interop?
>  
> I’m going to stop here for the answer to that question.
>  
> LL
>