Re: [Rats] Vetting claim definitions

"Eric Voit (evoit)" <evoit@cisco.com> Fri, 07 June 2019 17:15 UTC

Return-Path: <evoit@cisco.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 E26FB120229 for <rats@ietfa.amsl.com>; Fri, 7 Jun 2019 10:15:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=O2gqRHMI; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=bVHtZUBW
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 5yTW2Ru_0GZ8 for <rats@ietfa.amsl.com>; Fri, 7 Jun 2019 10:15:06 -0700 (PDT)
Received: from alln-iport-3.cisco.com (alln-iport-3.cisco.com [173.37.142.90]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3D362120260 for <rats@ietf.org>; Fri, 7 Jun 2019 10:15:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=30274; q=dns/txt; s=iport; t=1559927706; x=1561137306; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=rS1K0Q9fSet3BezTvqiaJrJnguQcSxut6wlMVTyb33c=; b=O2gqRHMIwkew7X+4mRyKdQ/YXUqt/k089MzB3XT6wyYk2JabsRelM90D bk95fmhQ5Iyi5S/8XEvMRyftfEvcWyE4bR0X6++G3bSBy0G9e9VjMc5NP FlfZRsLGG4lUQXFDTHcZpCokSvCd5ddPL5VPvJVTi6NTXv62x2UEBWtoU k=;
IronPort-PHdr: 9a23:oCEDJBJ60wPyNGyjGtmcpTVXNCE6p7X5OBIU4ZM7irVIN76u5InmIFeCtad2lFGcW4Ld5roEkOfQv636EU04qZea+DFnEtRXUgMdz8AfngguGsmAXEDlK//2Ryc7B89FElRi+iLzPA==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AdAAA0m/pc/4kNJK1mGQEBAQEBAQEBAQEBAQcBAQEBAQGBVAEBAQEBAQsBgQ4vKScDalUgBAsoCoQLg0cDjmGCV5cxgUKBEANUCQEBAQwBASMKAgEBhEACF4JTIzcGDgEDAQEEAQECAQRtHAyFSgEBAQEDEhEKEwEBKQMCAgcBDwIBCBEEAQEhBwMCAgIwFAkIAgQBDQUIFwODAYEdTQMdAQIMnGECgTiIX3GBMYJ5AQEFhQYYgg8DBoE0AYo8gR4XgUA/JmtGgkw+gmEBAQIBgSsBDAYBIQwfCQKCUjKCJos/SwOCGIRsIpULagkCgg6GQ4hFhFSCJC+GSY11jQ+HE48jAgQCBAUCDgEBBYFlImdxcBU7gmyCDwsBF4ECAQKCSIUUhT9yAYEojDsBDRcHgQQBgSABAQ
X-IronPort-AV: E=Sophos;i="5.63,563,1557187200"; d="scan'208,217";a="287752026"
Received: from alln-core-4.cisco.com ([173.36.13.137]) by alln-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 07 Jun 2019 17:14:57 +0000
Received: from XCH-ALN-006.cisco.com (xch-aln-006.cisco.com [173.36.7.16]) by alln-core-4.cisco.com (8.15.2/8.15.2) with ESMTPS id x57HEvHE023920 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 7 Jun 2019 17:14:57 GMT
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by XCH-ALN-006.cisco.com (173.36.7.16) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 7 Jun 2019 12:14:56 -0500
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 7 Jun 2019 12:14:56 -0500
Received: from NAM02-BL2-obe.outbound.protection.outlook.com (72.163.14.9) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Fri, 7 Jun 2019 12:14:56 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rS1K0Q9fSet3BezTvqiaJrJnguQcSxut6wlMVTyb33c=; b=bVHtZUBW4WqjQ4DkRkm0I+XZ7lpdgmBO6B6yJpG4kgqAcPZwR5kVfz/oUQQIJEv62ibhrVzCWH3naHyYkfcN2Y2gYhhZOxvsgCjfQmp8idqz5APZDd+gDkT7NdI+XKUqcuKvCKlFTf/k5nErNh112GhHhxZoWgwGGn9Rw+aFY1M=
Received: from DM6PR11MB4089.namprd11.prod.outlook.com (20.176.126.30) by DM6PR11MB3356.namprd11.prod.outlook.com (20.176.122.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.14; Fri, 7 Jun 2019 17:14:55 +0000
Received: from DM6PR11MB4089.namprd11.prod.outlook.com ([fe80::d014:d7a3:270:e5a9]) by DM6PR11MB4089.namprd11.prod.outlook.com ([fe80::d014:d7a3:270:e5a9%3]) with mapi id 15.20.1965.011; Fri, 7 Jun 2019 17:14:54 +0000
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Hannes Tschofenig <Hannes.Tschofenig@arm.com>, Mike Jones <Michael.Jones=40microsoft.com@dmarc.ietf.org>, Laurence Lundblade <lgl@island-resort.com>, Michael Richardson <mcr+ietf@sandelman.ca>
CC: "rats@ietf.org" <rats@ietf.org>
Thread-Topic: [Rats] Vetting claim definitions
Thread-Index: AQHVHSQrNP3gSrcbuEuedIL4RWxi86aQLzAw
Date: Fri, 07 Jun 2019 17:14:54 +0000
Message-ID: <DM6PR11MB408908B0F071051FEC0B090BA1100@DM6PR11MB4089.namprd11.prod.outlook.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>
In-Reply-To: <VI1PR08MB536061869B7BE623F861B821FA100@VI1PR08MB5360.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=evoit@cisco.com;
x-originating-ip: [173.38.117.68]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 212d6944-5929-463d-fe5f-08d6eb6ba910
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:DM6PR11MB3356;
x-ms-traffictypediagnostic: DM6PR11MB3356:
x-ms-exchange-purlcount: 4
x-microsoft-antispam-prvs: <DM6PR11MB3356D978626379C073D86F78A1100@DM6PR11MB3356.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 0061C35778
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(136003)(376002)(346002)(366004)(124014002)(199004)(189003)(40434004)(7736002)(14444005)(64756008)(66446008)(966005)(256004)(5024004)(66476007)(33656002)(236005)(316002)(110136005)(74316002)(9326002)(71190400001)(86362001)(5660300002)(45080400002)(3846002)(790700001)(52536014)(6116002)(2906002)(71200400001)(73956011)(76116006)(66946007)(66066001)(76176011)(6306002)(4326008)(9686003)(66556008)(606006)(25786009)(53936002)(55016002)(8936002)(229853002)(14454004)(81156014)(81166006)(8676002)(478600001)(53546011)(6506007)(11346002)(186003)(486006)(26005)(99286004)(102836004)(7696005)(68736007)(446003)(476003)(54896002)(6436002)(6246003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB3356; H:DM6PR11MB4089.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: 7vwQd1CM72JqqsjFTdYIq8CdRH3OSC//yRORLor9TIQwYm08YgrVD7bGV9k2rcRvU3KtFEAR04LZd1RC+YJ35+aeBuNVckZUy0Krmy8mNlCjqLC0I91pZrGyVQKU2A5sOD6k0TlUqKBC3qVS5x2h7ikMPaAtZjVCVk0A98hJxOBUDdUKjnAhmNpb1B95VroL+W/Ec3mL3x1akHmwQsQ4fi5nnxdhEm8RD67mQ8YP2r1t+u5S1TGutIS7+09k2O1e2PfJ/tJ2KDcIM3tNb0sGQJeBkBXa7aepU/Gv+bh+yLGcPsJgw6uO96Xha8bBjb1VKzevmhs7O322kyTIw9rHHN8PmqXwy+DLyLIIUY6HS3DdSJ4RPupQxLU5XqRzfebhvwLCwgmgJBGSyJ2tA3FP8Sr6cgTVygh1cZDlNikpNCY=
Content-Type: multipart/alternative; boundary="_000_DM6PR11MB408908B0F071051FEC0B090BA1100DM6PR11MB4089namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 212d6944-5929-463d-fe5f-08d6eb6ba910
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2019 17:14:54.8515 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: evoit@cisco.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3356
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.16, xch-aln-006.cisco.com
X-Outbound-Node: alln-core-4.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/gx0ttX7CIbPLbKEvGZU4IumubJc>
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: Fri, 07 Jun 2019 17:15:18 -0000

Hi Hannes,

If we were sure we could limit EAT claims to just a few things which come out of hardware, this wouldn't concern me as much as it does.  However the domain of attestable objects was left fairly open within the EAT draft.   And we need to determine what level of interoperability are we trying to shepherd via RATS.

In the end, RATS (and EAT) need to determine the level of interoperability desired for specific claims.   I don't claim deep familiarity with JWT.  But looking at RFC-7519, Section 4.1, I see that I would have questions as an implementer.  For example, the claims "iss", "sub", and "aud" look to have population/processing which is application specific.  Therefore with these claims, it is up to applications on either side of the JWT must come to an agreement on what the populated instances mean.  (I.e., not the WG.)

Common of object definitions/claims from internal hardware are important if the Network Element needs to act on specific values.  And as a vendor, I know that I do want to act on information coming out of hardware even if the information is being pushed to a remote validator (e.g., immediately push an EAT token downstream if a specific hash value changes).  As a result I want more explicit and stable claim definitions.

More highly specified claims of course exposes possible claim redundancy, foreign key relationships, and cross-mapping with downstream information models. I assert this is a good thing because we expose (and hopefully minimize) costs which are borne by downstream developers.

Eric

Hannes Tschofenig, June 7, 2019 7:29 AM

FWIW: While the JWT registry looks more mixed in terms of claim types. This is, however, only a result of the widespread adoption.
There are no problems, as far as I know, with the diversity of the claims and that they are not all useful in every context. Different deployments use the claims they find useful.

I am wondering whether we are trying to fix a problem with the registry of claims that doesn’t occur in practice.

Ciao
Hannes

From: RATS <rats-bounces@ietf.org<mailto:rats-bounces@ietf.org>> On Behalf Of Mike Jones
Sent: Mittwoch, 5. Juni 2019 19:31
To: Laurence Lundblade <lgl@island-resort.com<mailto:lgl@island-resort.com>>; Michael Richardson <mcr+ietf@sandelman.ca<mailto:mcr+ietf@sandelman.ca>>
Cc: rats@ietf.org<mailto:rats@ietf.org>
Subject: Re: [Rats] Vetting claim definitions

Actually, normal (non-collision-resistant) JWT claims *are* allocated on a specification required basis with expert review.  See this text at https://tools.ietf.org/html/rfc7519#section-10.1:

   Values are registered on a Specification Required [RFC5226<https://tools.ietf.org/html/rfc5226>] basis
   after a three-week review period on the jwt-reg-review@ietf.org<mailto:jwt-reg-review@ietf.org>
   mailing list, on the advice of one or more Designated Experts.
   However, to allow for the allocation of values prior to publication,
   the Designated Experts may approve registration once they are
   satisfied that such a specification will be published.

So a specification can easily register both JWT and CWT claims.

                                                       -- Mike

From: Laurence Lundblade <lgl@island-resort.com<mailto:lgl@island-resort.com>>
Sent: Wednesday, June 5, 2019 8:46 AM
To: Michael Richardson <mcr+ietf@sandelman.ca<mailto:mcr+ietf@sandelman.ca>>
Cc: rats@ietf.org<mailto:rats@ietf.org>; Mike Jones <Michael.Jones@microsoft.com<mailto:Michael.Jones@microsoft.com>>
Subject: Re: [Rats] Vetting claim definitions

Below…
+ Mike Jones, co-author of CWT

On Jun 5, 2019, at 6:05 AM, Michael Richardson <mcr+ietf@sandelman.ca<mailto:mcr+ietf@sandelman.ca>> wrote:


Laurence Lundblade <lgl@island-resort.com<mailto:lgl@island-resort.com>> wrote:
— Today CWT allocates millions of slots for expert review. No
specification is required, but some information should be provided.

JWT doesn’t seem to have this, which is maybe why it is messier. It
kind of seems bad and wrong that it doesn’t to me.

JWT doesn't have this because the claims are "unlimited" length strings, so
one can always make up a unique string in lieu of registration.
 org.island-resort.lgl.whateverstringyouwant

is probably completely yours :-)
Of course, if you want to interoperate you need to agree about how, so there
are some advantages of a forcing function that demands you write things down
first :-)

Unlimited length string claim names are fully part of CWT. Also, COSE allows them for headers, algorithm names and such too. So from a syntax view CWT and COSE are the same as JWT in allowing long string names.

However, COSE and CWT are different in the management of the string name space:

Strings of length 1            Standards Action
Strings of length 2            Specification Required
Strings of length greater than 2    Expert Review

These, along with the integer names space rules, then imply:

Integer values less than -65536 are the only ones free for use with no review or processing by IANA and experts.

JWT also has this notion of Collision-Resistant Name based on OIDs or UUIDs, which is essentially some rules to make up names that don’t go into an IANA registry and are still unique and won’t collide.

JWT could have done what CWT does. Seems to me that CWT has taken a radically more managed approach to the super-open JWT approach. Maybe the CWT folks realized the JWT design was poor.


At any rate, there seems to be some consensus here that the CWT approach is what we want for attestation. It is also the more recent and thus maybe more advanced thinking.

I’m hoping we can find our way to just accept the CWT claim naming management scheme as is for attestation. If other CWT-based efforts did the same (draft-birkholz-core-coid) did the same then the world would be much simpler.

However that still leaves open some issue with JWT namespace management. (We do want JSON based attestation to be JWT’s, right? Just the same as CBOR-based attestation are CWT’s).

LL

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.