[Ace] draft-ietf-ace-key-groupcomm-oscore-13

Göran Selander <goran.selander@ericsson.com> Sun, 20 March 2022 21:19 UTC

Return-Path: <goran.selander@ericsson.com>
X-Original-To: ace@ietfa.amsl.com
Delivered-To: ace@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D53783A0E94 for <ace@ietfa.amsl.com>; Sun, 20 Mar 2022 14:19:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.11
X-Spam-Level:
X-Spam-Status: No, score=-2.11 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.com
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 haSRllr0KRUR for <ace@ietfa.amsl.com>; Sun, 20 Mar 2022 14:19:03 -0700 (PDT)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02on061b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe07::61b]) (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 51EE63A1250 for <ace@ietf.org>; Sun, 20 Mar 2022 14:19:00 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G9RTsL5r9VMLxbbVIrfdsH8gIvU9sjSHXPvo78ExfeKkpoaC22TQsRxOf8ey7PiDZuQ9oo8+0Wvx2QsL9pH3jbtdIDXEwmUKS0LRo6+afeJdYb2DpD7Shf5of4q6oYLufzF8D8AQXPLO3qwnEtWHeQlWBEUMNwfttRueR3c8bL9wn88E7st888Ge/huHBRZlEggbEgPsbX2Xcziq7qpGQCuuM53VgNXL4ymlGCPd5po9rNnozwkOpptQQ/vDWrRkEtDDNDXm4O8vQjKFAwICWsuprX8iQ8hOtSl8oLt5jJVINnPmHXo2qm2ksgv2gP9+FRoMDM9ntG9FE1Hw5uaC8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VYETm8jfhUeyOHGRRPwV7RlzlBELyX6h/uZIg+/+OdA=; b=EK1TipgU2u1kUtB9I6FlK/kojNSLLd8vx0G9IzggV4FugAKi1lobJIK/tVCmumTlRcPkTOvSbotFybaglHYNZhtM4iuELq/jNAB/JJztNv15fJDO8VkTZlMQ+vukC8L0UgP4C/6kCwSBBguYh2uAu06hWt0Jszlo3D2/XwkPZRhiF+Vr+IVL0zk+eEslOjtlhapxVhLoL/QlBVdFwEvd99AGMciuRoGSk2VkS8vS7n20s+bxJg8WszEGMTPEVgZTg+RIz+8zJQdBiLDH5vtHQlMi81gaGPVPjm9R3cG4r2yJm0FK4W03qDmaeGqbAmT4ac97+MDxSwMITI8LBwiKSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VYETm8jfhUeyOHGRRPwV7RlzlBELyX6h/uZIg+/+OdA=; b=PppoW8t+EZJL9s81ylykGSerLD0ejvevi80xHXo2ALboZNcJmrojFqGQ4dZJyaQuut8BjfwJmyPLHOc04Byth0PWlQm1dSxLiqqVYsFnxwnCCWQTsTDOHtENHq2NQC/y2Y/ML2uKswWXBj5HfDh8bLtgh3Y/nDyM2HUq+LUWnjs=
Received: from DB6PR0701MB2198.eurprd07.prod.outlook.com (2603:10a6:4:4a::24) by DB6PR07MB3320.eurprd07.prod.outlook.com (2603:10a6:6:22::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.13; Sun, 20 Mar 2022 21:18:55 +0000
Received: from DB6PR0701MB2198.eurprd07.prod.outlook.com ([fe80::dd2b:a57c:874e:bbe1]) by DB6PR0701MB2198.eurprd07.prod.outlook.com ([fe80::dd2b:a57c:874e:bbe1%8]) with mapi id 15.20.5102.011; Sun, 20 Mar 2022 21:18:54 +0000
From: Göran Selander <goran.selander@ericsson.com>
To: "ace@ietf.org" <ace@ietf.org>
Thread-Topic: draft-ietf-ace-key-groupcomm-oscore-13
Thread-Index: AQHYPJ6LKBZ2cpHc1kycLc1rCodHvg==
Date: Sun, 20 Mar 2022 21:18:53 +0000
Message-ID: <DB6PR0701MB219834D3BE7FA73F5F0EBAB4F4159@DB6PR0701MB2198.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e9bf8372-578f-47f0-d798-08da0ab73d06
x-ms-traffictypediagnostic: DB6PR07MB3320:EE_
x-microsoft-antispam-prvs: <DB6PR07MB332054CEC5F5C8F90FFBC889F4159@DB6PR07MB3320.eurprd07.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 0gg2czZzz420vByoMdYR3D5a3Om1hfgVMkhs6ZmiSvgbIjn72T2UPwU7GFpQmuUwE44+m2JJdhDueHycp7sLeRDPVpCmOx+Is5RoRYGjgT1Bb1fTOpA4ZVk8ykSnHzCOQpljdcDL/I2zACDPHjma74QAn2XOC4wWSjrEnpu1/bca2fjDUSsx/pI+V0bklFGQuTL+zQY7Q6nqu+E0dPOgLRtfW4Pxr8fRQ5DqjDYarw+egXYYU61Jp/cw85s2S2+3tZio+8eaFOTYL79nNGaILAtIl41Df8tPoHGhhF8p2hASzyJM08SK6eQpAjcJb27rJXnAEDo5vJKCjyaZw4WRYZ1fnNVHmeQBQql45/rMnLDfMqiiqthSAPH9MIAqeYPIpDTuzkQ9Ksk22e+e3ktXjLMZVzr9CKRWMBp6x3YW1HqmXJr9hVd/ZnJ1JcuE72KPPKWBLF+6Jbkg8LUsXjif98iE2dgRD+5HAml7kpZzETMjnCWYBl2aJe7L4Uuvd1kky5RqgFa6xbk+RuyNbIG0U1RrkM/xCYJp4iQis2YV+Vm1cQKSafOKmDvPT9/p67v4d3SRYwMmPNkm7XB9uE3r8dAg04JkBok6TLCY4XwIc/7Su5OtCKwxHxVK3p6ECo2l1zz6qiRQ+gPmyLY3pHIZsmsMpwx4fRf99W5fDyEMzLnCDue2UAqsbdf9z9FNoOpMguNKsWXI6wpdIGg75y1Bz4e486qAnoMEConAsKmztDg6Mfd04rp5cy78ll2Rjzlqn8p/l9j0JGuXuY7WTztXNUAzxUTwzOr/R1y4VC6Ad7P5ooIUSkvLzkNUpMCq3tV7b9QLyPXDv/9yurbTcxKFWg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0701MB2198.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(91956017)(86362001)(8676002)(7696005)(66446008)(82960400001)(6506007)(66556008)(76116006)(66476007)(66946007)(64756008)(966005)(38100700002)(71200400001)(38070700005)(316002)(6916009)(122000001)(83380400001)(508600001)(66574015)(9686003)(186003)(26005)(52536014)(5660300002)(8936002)(2906002)(33656002)(55016003); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: d+ZOKgb6ORlnr6hCOVH60EeCtO8PJE8fZEZJQC3rsTklWTFaEbLXFehUarE+k9sHQebKrSoaotWJcSMsYJQceSNo5TVTjR1+VhJLRR6uvVlPItIpuq5HLzfJ5I0vHgD+rhX++xpR9y1W1cRvrKE/6SdWut8n+h2+TLTaZfPkRDy0oXQxsZOsQJYSLyFhNAFJNIHouIYnoiSV3oH7X6tQC/aWB3UyuqRtzCZfTgmWjcX8XX6ci2laATSCzjEhpt00ZyVv+k86XKb/QOGGo+iVH6f4NtzmfoW59t1234WP9CtPzpNhQpKSCOJl8IRv7H13LwFk1rJNHHyRFUs07mTBzqmWWnWCiu343ajaUSJqyqfNs59jQqVjpZ4LrtlyK8qx67n+30gMrxwdIcwbCuITlGtzdf2QlUr1zvEBrByhr8tETzr+rm4u+p03ACh14+c7fMQJvNx9k3J8LRTbz46V4Q4M50SgpHPVzkti9/e/4uTh89DCWcgtONTAUI5vWqRrS2Ctl/YCQHd6vmdpBLZkERGk5qPxtr5iuLW7NlVReuss7B0PZqqlziYH3syNBIgISjRK7Bjjdl0gSo0+h9e0T8J/7xbXbRx3N2hKFKcGepKTfcyKvZUCjDtGQsltOh1LkowqXBqJ+r8KrH9iqAC7q9Qr6cj5hA+slCZSifBn43bX7XBUg8YKIi4AonD+cIwbYFLgQYQy3x9urUPavJoAwNY1B0ASYiE2wSapBC7Cw6TGXHUwf67QZeU9IW/9VE1UNV4R1MGbl9NSy40NkpuLxi4VznT3Hfk2sBWvkXxDE1Jg02YL/YdSv6xT+ho4GEHglM7ZD3Kx4IsB10LcSwXttC7Xt+J3LEqUbLV3xo3fBpRfSUV7gQexP0JaaC22idkj5s1P+V/IR52EDWgxWlyAYSz8m93w3lX1PrinQUWoY/XsSUvVDAiLYTfFioSID2SqPrUFkoqM3LrR/sLTQynjvO32Ht5Tk9SrUc+vwBkW7/abyW1X2NtrW7yR3QHTqeU3C3bTI+8sS3+GqHhNsefeUHHiN0amfiNMG/Sm+aPaZPgqj27SZi77zVLvKoLcmJJn64cqJf2iMQ2C5LAOHlRlhda+gvXMnJup7pg2V39OUl0PDHZ5V4gVQJxDwJ4Gw3bXMQyjP8N5AisBz4Qkmlrjtq+jz4J17C4YmA1h48sJH6i1P4l9iHbeHcZB/hcAaaItXu0qNo09TIq729i3hDgsRDLTnhF3nH2JzBmdjv/UKTgSWFzod+Fvi3l9bB3+wxGHOm3TzcVUXSJ+rUT1bKYzq6KLp7Rn5F3BaDtl9hAfF7EsDE6Ewa5gx9OarvzZkzRWDWn89F0gCuMH7eKbahKPfu1KgcktdNGQ/IcNQx6YXncvXPv13HWm9f5WuAJns6NByFpmJyb23WmMqLU6ijnwo+0qh4C1R7JImIhaWQgebCyDz1QY+eL1FQsnJSi6vD5dS+W7Wsoe3Q7oABKsy5BiuK1bXi/6OIpqkJ9zQdNhYGw=
Content-Type: multipart/alternative; boundary="_000_DB6PR0701MB219834D3BE7FA73F5F0EBAB4F4159DB6PR0701MB2198_"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB6PR0701MB2198.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e9bf8372-578f-47f0-d798-08da0ab73d06
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2022 21:18:53.0967 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 7vkFgTtxot5xCmsiPi9qismW0Klq6unVrOvN0jNS95af2T+/ZjWhto9TiglnPy3TmCU0kZ1+F5pSzk1mmBO8x03wYy4QWS4be7JZuw4PoW8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR07MB3320
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/SIB_rte0orqkvDEtTAw-1F7Cdzo>
Subject: [Ace] draft-ietf-ace-key-groupcomm-oscore-13
X-BeenThere: ace@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Authentication and Authorization for Constrained Environments \(ace\)" <ace.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ace>, <mailto:ace-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ace/>
List-Post: <mailto:ace@ietf.org>
List-Help: <mailto:ace-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ace>, <mailto:ace-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 20 Mar 2022 21:19:09 -0000

All,

I have taken a look at ace-key-groupcomm-oscore-13. The intent was to make a complete review but I think it would be easier to do that if the draft was somewhat restructured first - a concrete proposal is the main content of this mail. A lot of good thinking has been put into this draft and there are traces from re-writes due to changes in the documents it depends on, which may be the reason for the current structure. In any case I would like to come back with more detailed comments once we discussed the structure.

Dependencies:

The main "parent" of this draft is ace-key-groupcomm, of which it is a profile. Another parent is core-oscore-groupcomm, for which it provides key management. Both are pre-requisite reading and therefore this draft uses content from these drafts directly without much introduction. While this is a reasonable assumption, I think the reading would be simplified by a slight rearrangement of the content.


Restructure proposal summary:

* Follow more closely the order of content in ace-key-groupcomm. More below.

* Start with the main cases and what happens first, wait with exceptions and what comes later. Some sections start with listing error codes and come to normal operations later. Of course, this is a matter of style, but I was surprised, for example, to find group *re-keying* in section 2.2 - essentially the first content of the draft - basically before any keying procedures have been described.

* Group some of the later sections into subsections, to allow a reader of the table-of-contents an overview. The draft has 26 sections excluding appendices. For example, sections 8-17 are all about sharing information about groups and nodes, which could be made into subsections of one or more sections.

* There are a large number of parameters discussed in the document. It would be good if they could be grouped into tables for easier overview and to see which belong together and for what purpose. Section 21 provides a list which is a good starting point.


I made a sketch as PR #50 to illustrate the comments above (except tables). It may be difficult to read the diff since I rearranged sections, made some into subsections, and also rearranged some content within sections to make the point about my preferred order of things. Again, this is just a proposal and it may be that we happen to have quite opposite preferences here.


More details:

ace-key-groupcomm has the following content:

Sec. 3.  authorization req/resp & token transfer req/resp
Sec. 4.  RS REST interface / KDC functionality

Then sections about changes in the group.

Sec. 5. removing member
Sec. 6. rekeying

Then formats, parameters, error identifiers in Secs. 7-9.

This is something like a top-down structure, starting with the main cases and what happens first, waiting with exceptions and what comes later.

Now looking at ace-key-groupcomm-oscore, Section 2.1 is essentially a pointer to sections 4 and 6  corresponding to section 3 in ace-key-groupcomm). I propose to delete section 2.1 and let sections 4 and 6 follow suite, rather than point to them.

The next section in  would then be 5 corresponding to section 4 in ace-key-groupcomm.

Section 2.2 is about re-keying and stale IDs corresponding to sections 5-6 in ace-key-groupcomm. I think that makes more sense to speak about after the normal procedure has been described.

Section 3 is about format but is quite independent. This could come before or after the main procedures, I put it before. Section 7 is about the public keys is also quite independent and actually provides high level understanding of the trust model, so I put that before too, but is not critical.


So the order of the first sections would become something like this:

1
3
7
2.0
4
6
5
2.2
...

There are individual paragraphs moved around the PR to make the text flow better. Have a look and let's discuss.


A few nits already now:


Nit 1.

> Group OSCORE is
   used to protect CoAP group communication over IP multicast
[I-D.ietf-core-groupcomm-bis]

Not necessarily IP multicast. This is mentioned in multiple occasions. Use the general formulation “to protect CoAP group communication.” and mention IP multicast as occasional example where needed


Nit 2.

The identification of the HKDF algorithm by using an algorithm value for a direct method in COSE (COSE algorithms -11, -10) is somehow violating the intent, as there is in this case no COSE object for which the direct method is used. The OSCORE profile of ACE (RFC-to-be 9203 https://www.rfc-editor.org/authors/rfc9203.html) identifies HKDF by the HMAC algorithms (see COSE algorithms 5,6,7).



Nit 3.

Consider shorten terminology from "Joining Request/Response" to "Join Request/Response" (would also impact ace-key-groupcomm)


Göran