[Ace] Review of draft-ietf-ace-key-groupcomm

Ludwig Seitz <ludwig.seitz@ri.se> Fri, 19 July 2019 11:21 UTC

Return-Path: <ludwig.seitz@ri.se>
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 CD17712016D; Fri, 19 Jul 2019 04:21:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=risecloud.onmicrosoft.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 R25yIMBI-hH9; Fri, 19 Jul 2019 04:21:41 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80078.outbound.protection.outlook.com [40.107.8.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A457112001E; Fri, 19 Jul 2019 04:21:40 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c3SueMc8ZN2wmc96LQDTeA29ogiDFysC/jY9DZUdz8IL4o7rQMMG86Tk4P2q29Xs6ZpqIBbtJGajJruiuo/+MOlZEDQ5Z6cIQKfZOvQ8XBm+ia13bK415EQjT0OI64hwY/ZtoBm0uaE5Ji49fZU3zGF5YL4DJQwhLXEZTmAhTEo5VRscL+VKNFBPGRlston2UP7qZvZ8faAtFXk3Xh6nwfdtTRkYfAOPlJcJ0RDwQDggRbtVdL8p+pKOifslYNg0r0UqqtSex9KFyxEbBit5rm3NXhI7gtv+7Gw5DJa1yxn9Eejs70HFuAdly7R4CyqKIPrSmsZ1kuAtE3aXvHJGnw==
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-SenderADCheck; bh=WHNgpcXnGoEG8DRC93B0/kQeAXfj5k/PhE0u5bXq+2Q=; b=lmVWRTOMQ3YcCoDNVWvoJrbqBtTXUBKahh8STtf/65uSmMXsu3rjdriYkaS9keOmN9ExorFTuPE2xYglbIBiKe5BM6xmjDY/ajmDWEAdLPuDfK/YKEdtjbs6JJ29efZO014IsVKaESFcH7fsQdddJ3qi5u6dqog81hwxlbLYl5Wo9Avq+Mb+uDhzXrs0NAhfP7VFtHU/b3A/DMOxoNd6jY37rNagRrOY4nNPJDDOgWQh2h6NNWRXQ3UFx7bmHhf0V0m8JJaoyMNiD4l6bJ/u8tk4KErxlIqyWw1ytVM8LlE6U8BseOFkcHHl/BeKEnlVyzOXcIsHz2eyUE8BGbcI+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass (sender ip is 194.218.146.197) smtp.rcpttodomain=ietf.org smtp.mailfrom=ri.se;dmarc=bestguesspass action=none header.from=ri.se;dkim=none (message not signed);arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RISEcloud.onmicrosoft.com; s=selector2-RISEcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WHNgpcXnGoEG8DRC93B0/kQeAXfj5k/PhE0u5bXq+2Q=; b=nHaQErnQViGwE0VMczjDJFnCuLb5AbGtGTPERb5c8QwvUmuwcbaRp2akc7/L9EHar5Ijd2rHajFiDkXJSU2d9GmRrXV+VXfFGRxpHD9AFQxfwbaIggawOB8hFdDC3By6V6UKevC8IkHXe0dKYC2kdapFjo4zGVPDmKYEyPmL5CY=
Received: from VI1P189CA0018.EURP189.PROD.OUTLOOK.COM (2603:10a6:802:2a::31) by VI1P18901MB0221.EURP189.PROD.OUTLOOK.COM (2603:10a6:801:9::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2094.11; Fri, 19 Jul 2019 11:21:38 +0000
Received: from AM5EUR02FT055.eop-EUR02.prod.protection.outlook.com (2a01:111:f400:7e1e::208) by VI1P189CA0018.outlook.office365.com (2603:10a6:802:2a::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2094.14 via Frontend Transport; Fri, 19 Jul 2019 11:21:38 +0000
Authentication-Results: spf=pass (sender IP is 194.218.146.197) smtp.mailfrom=ri.se; ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=bestguesspass action=none header.from=ri.se;
Received-SPF: Pass (protection.outlook.com: domain of ri.se designates 194.218.146.197 as permitted sender) receiver=protection.outlook.com; client-ip=194.218.146.197; helo=mail.ri.se;
Received: from mail.ri.se (194.218.146.197) by AM5EUR02FT055.mail.protection.outlook.com (10.152.9.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.2052.19 via Frontend Transport; Fri, 19 Jul 2019 11:21:37 +0000
Received: from [10.112.134.122] (10.100.0.158) by sp-mail-2.sp.se (10.100.0.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Fri, 19 Jul 2019 13:21:37 +0200
To: <draft-ietf-ace-key-groupcomm@ietf.org>
CC: "ace@ietf.org" <ace@ietf.org>
From: Ludwig Seitz <ludwig.seitz@ri.se>
Message-ID: <7000332e-9853-fcc5-c98f-b2d8f2fb4060@ri.se>
Date: Fri, 19 Jul 2019 13:21:37 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms000803010206060004050600"
X-Originating-IP: [10.100.0.158]
X-ClientProxiedBy: sp-mail-2.sp.se (10.100.0.162) To sp-mail-2.sp.se (10.100.0.162)
X-EOPAttributedMessage: 0
X-Forefront-Antispam-Report: CIP:194.218.146.197; IPV:NLI; CTRY:SE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(376002)(346002)(396003)(136003)(2980300002)(189003)(199004)(16586007)(5660300002)(58126008)(235185007)(186003)(106002)(69596002)(4326008)(16576012)(336012)(5024004)(2906002)(14444005)(16526019)(2616005)(2351001)(33964004)(31686004)(356004)(316002)(44832011)(26005)(386003)(65826007)(476003)(486006)(22756006)(126002)(40036005)(31696002)(86362001)(450100002)(6116002)(36756003)(568964002)(3846002)(70206006)(70586007)(7736002)(6916009)(64126003)(478600001)(8676002)(81166006)(68736007)(53936002)(8936002)(65806001)(305945005)(81156014)(71190400001)(65956001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1P18901MB0221; H:mail.ri.se; FPR:; SPF:Pass; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1;
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ca8a4aeb-bc6f-43ce-ce5a-08d70c3b440a
X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(4709080)(1401327)(2017052603328)(7193020); SRVR:VI1P18901MB0221;
X-MS-TrafficTypeDiagnostic: VI1P18901MB0221:
X-Microsoft-Antispam-PRVS: <VI1P18901MB02211334F60EB490A16F637782CB0@VI1P18901MB0221.EURP189.PROD.OUTLOOK.COM>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-Forefront-PRVS: 01039C93E4
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Message-Info: E8QQYbWuQHvP/cc3maJcIOeHvq9Mkmbdp+hCXtEVsOEAU0Em0KcfEHo/YFt+/Oiwi1lT1bhDUoPKcGkr8i+wDrO+2ijYCrWUKLhV2pPgS+/jQsEDHWo+92z0JAM2l+JdPbWzsbQylvxkOn20EYzP4CE8TXRM2AWyRE/d2XsDQIc2Gu3XUqVCbTFJM5iv/YAYNLRtFhs5lfFd8lHFnEbRls/QIclJeGfSwGJQ7LSOPh6Bgr68Px5rZOsmQ3+j4IxchUoA4HhdGqrFzRafl4DSGvIoychcnMiU28iAkWb0Xx09cCiOk1zv4AlxbZ86Eel9+rWg8t6EEH1xT+wbbTgdG23iPYhIYYITbsourY6aLzq0v7hwW89xX4RfGf9KbyXWm5u9k6rYYVs2VO4vSq1x6qG38PZ2iK/IaHKG2ssPQlw=
X-OriginatorOrg: ri.se
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2019 11:21:37.9676 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ca8a4aeb-bc6f-43ce-ce5a-08d70c3b440a
X-MS-Exchange-CrossTenant-Id: 5a9809cf-0bcb-413a-838a-09ecc40cc9e8
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5a9809cf-0bcb-413a-838a-09ecc40cc9e8; Ip=[194.218.146.197]; Helo=[mail.ri.se]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P18901MB0221
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/bBeRTuyXFVBGzEjrcD4dS0npCMY>
Subject: [Ace] Review of draft-ietf-ace-key-groupcomm
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: Fri, 19 Jul 2019 11:21:44 -0000

Hello Francesca, Marco,

I have finally managed to read the whole of draft-ietf-ace-key-groupcomm 
and have a few comments for you:


Figure 2: I suggest you move the "Defined in ..." to the left
they way it is now, it looks as if the Dispatcher was defined in the ACE 
framework.

==
"3.1.  MUST contain ... 'grant_type'"

This is no longer true. Grant_type was made optional in one of the 
latest updates of the ACE framework. When it is absent, 
grant_type=client_credentials is assumed as default.

==
3.3  "... and includes the following parameters: "

How is that supposed to work? The framework defines sending of the token 
to /authz-info as a CoAP POST, where the payload is the bytes of the 
token. In order to include additional parameters you would have to 
redefine this payload to be a CBOR map (as the OSCORE profile does).

==
The whole section 3 talks about parameters send back and forth between 
the client and the KDC without defining how these are carried. It seems 
to be implied that there are CBOR maps in the payload, but that should 
be made explicit, especially where it differs from what the framework 
defines.

==
3.1  the text about the parameters in the client's post to the 
/authz-info endpoint at the KDC talks about parameters "sign_info" and 
"pub_key_enc" and claims they are specified in 3.3.1 and 3.3.2, but 
these sections specify the parameters for the "AS request creation 
hints" messages and not in this context. At least some clarification 
should be added.

==
Section 4

"If not previously established, the Client and the KDC MUST first
    establish a pairwise secure communication channel using ACE."

This sentence is not strictly correct. Using what part of ACE? The ACE 
framework just says that you should establish a secure communication 
channel, it's the specific profiles that define how these channels are 
established. Please add some clarification.

==

"The Client and the KDC MAY use that same secure channel to protect 
further pairwise communications, that MUST be secured."

This is very questionable use of requirements language. How do I claim 
or test conformance with the second MUST?

==
Section 4:
"The same set of message ..." should be "messages"

==
"  Note that proof-of-possession to bind the access token to the Client
    is performed by using the proof-of-possession key bound to the access
    token for establishing secure communication between the Client and
    the KDC."

This may or may not be true for a specific secure communication protocol
(e.g. think of DTLS with X.509 certificates without client 
authentication). You need to require this from the underlying secure 
communication protocol.

==
4.1 "The endpoint in the KDC is associated to the 'scope' value of the 
Authorization Request/Response."

Associated how? This is too unspecific to lead to interoperable 
implementations. I would like to see this association specified in detail.

==
4.2 "as defined in the "ACE Groupcomm Key" registry, defined in Section 
11.5."

If possible, rephrase this to avoid the double use of "defined".

==
5.2

"If the leaving node wants to be part of a group with fewer roles, it 
does not need to communicate that to the KDC, and can simply stop acting 
according to   such roles."

There are legitimate cases where a node might want to explicitly 
deactivate roles it is currently using (principle of least priviledge) 
and not just stop using them.

==
6. "Then, if it wants to continue participating in the group
    communication, the node has to request new updated keying material to
    the KDC."

should be "... keying material from the KDC."

==
Sections 8. and 9.

Would be nice if there also were back-references to where those 
parameters are
defined in the draft.


/Ludwig


-- 
Ludwig Seitz, PhD
Security Lab, RISE
Phone +46(0)70-349 92 51