Re: [Ace] I-D Action: draft-ietf-ace-coap-est-oscore-02.txt

Mališa Vučinić <malisa.vucinic@inria.fr> Mon, 25 September 2023 15:45 UTC

Return-Path: <malisa.vucinic@inria.fr>
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 96ABAC151063 for <ace@ietfa.amsl.com>; Mon, 25 Sep 2023 08:45:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.096
X-Spam-Level:
X-Spam-Status: No, score=-7.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=inria.fr
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8gtrJVDutxxY for <ace@ietfa.amsl.com>; Mon, 25 Sep 2023 08:45:00 -0700 (PDT)
Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) (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 17C27C1595E5 for <ace@ietf.org>; Mon, 25 Sep 2023 08:44:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:message-id:mime-version:subject:date:in-reply-to:cc: to:references; bh=KSz0oFmBYbbkuzOz/0IbO+wMS71iytlz8fTph63vb5Y=; b=grkvuHp8OCPvOt/cioevKPg5VHpJC9EQmDSg7MjYNw8fNqvvz7f/G8op bwHME7E1PwA07fFTAQZqarExy358RFdDSxeWwxx20GaIKcEdtDHOFvcZX U+RGjYECIBAlcTckR+JZiWRHrtpB8Lu1aCYbuDRfKNUK8v6ttfT2YHXfE E=;
Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=malisa.vucinic@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr
X-IronPort-AV: E=Sophos;i="6.03,175,1694728800"; d="scan'208,217";a="127818424"
Received: from wifi-pro-83-104.paris.inria.fr (HELO smtpclient.apple) ([128.93.83.104]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Sep 2023 17:44:57 +0200
From: Mališa Vučinić <malisa.vucinic@inria.fr>
Message-Id: <D5F43976-5C66-48F4-A09E-9F53E318FBAC@inria.fr>
Content-Type: multipart/alternative; boundary="Apple-Mail=_01B3A13B-7D6F-4CE0-9246-0A0E56295F4F"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\))
Date: Mon, 25 Sep 2023 17:44:47 +0200
In-Reply-To: <GVXPR07MB9678A039EA9B5A3A75552C7789FAA@GVXPR07MB9678.eurprd07.prod.outlook.com>
Cc: "ace@ietf.org" <ace@ietf.org>
To: John Mattsson <john.mattsson=40ericsson.com@dmarc.ietf.org>
References: <GVXPR07MB9678A039EA9B5A3A75552C7789FAA@GVXPR07MB9678.eurprd07.prod.outlook.com>
X-Mailer: Apple Mail (2.3731.600.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/hTfA0yFhr-BGl0gE3GQBYTAqAQo>
Subject: Re: [Ace] I-D Action: draft-ietf-ace-coap-est-oscore-02.txt
X-BeenThere: ace@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 25 Sep 2023 15:45:05 -0000

Hi John,

Thank you for this review. I have converted the points raised below into github issues. See [1]. I will be tagging you on github for items where I need additional input or that require further discussion.

Mališa

[1] https://github.com/ace-wg/est-oscore/issues

> On Sep 19, 2023, at 11:48, John Mattsson <john.mattsson=40ericsson.com@dmarc.ietf.org> wrote:
> 
> Review of draft-ietf-ace-coap-est-oscore-02
>  
> Hi,
>  
> Below is my review of draft-ietf-ace-coap-est-oscore-02. This does not seem ready yet.
>  
> “EST-coaps ([RFC9148])”
> This is in parathesis, other references are not.
>  
> OLD “DTLS [RFC6347 <https://www.ietf.org/archive/id/draft-ietf-ace-coap-est-oscore-02.html#RFC6347>] [RFC9147 <https://www.ietf.org/archive/id/draft-ietf-ace-coap-est-oscore-02.html#RFC9147>]”
> NEW “DTLS [RFC6347 <https://www.ietf.org/archive/id/draft-ietf-ace-coap-est-oscore-02.html#RFC6347>]”
>  
> RFC 6347 is obsoleted. I think the rule is to not refer to obsolete RFC unless needed.
>  
> ”instead of HTTP [RFC9110 <https://www.ietf.org/archive/id/draft-ietf-ace-coap-est-oscore-02.html#RFC9110>] [RFC9112 <https://www.ietf.org/archive/id/draft-ietf-ace-coap-est-oscore-02.html#RFC9112>] and TLS [RFC8446 <https://www.ietf.org/archive/id/draft-ietf-ace-coap-est-oscore-02.html#RFC8446>]”
>  
> Any reason that this is referring to HTTP/1.1 only? HTTP/2 and HTTP/3 seems like much better more modern options.
>  
> You seem to use the old BCP14 boilerplate. Use {::boilerplate bcp14} in md
>  
> The trust anchor terminology from RFC 6024 ”used to verify digital Signatures” does not work with 3/4 of the EDHOC methods. Needs to be rewritten.
>  
> ”is the SubjectPublicKeyInfo structure”
> How does this work efficiently with EDHOC?
>  
> A Trust Anchor database is always required, not just for certificates (I have not read RFC 7030). ” enabling the client to authenticate the server” is always required.
>  
> ”Connection-based proof-of-possession”, I assume this means the client might not be authenticated (verify identity) in EDHOC. In that case this needs to be described and discussed.
>  
> Should ”32 bytes” seems a bit much for something trying to be lightweight.
>  
> Section 3.4 talks about ”certificates”. It is not clear which types of certificates this is about. EST-oscore use certificates on two layers (In EDHOC and on top of OSCORE).
>  
> -          Figure 1 does also not illustrate the use of I-D.ietf-core-oscore-edhoc 
>  
> Figures 1 and 2 would look much nicer with aasvg
>  
> Figure 3 would look much nicer as a Table.
>  
> I-D.ietf-cose-x509 has been published as RFC 9360
>  
> EST with hop-by-hop protection over a proxy seems like a very bad security architecture. Unless RFC 9148 makes this NOT RECOMMENDED, I think this draft should update RFC 9148 and do that. Server generated private keys visible to proxies should be MUST NOT. I have not read RFC 9148.
>  
> ”TBD: Compare with RFC9148”
> Need to be fixed before any WGLC.
>  
> OLD: Section 4 of [RFC6955 <https://www.ietf.org/archive/id/draft-ietf-ace-coap-est-oscore-02.html#RFC6955>]
> NEW: Section 6 of [RFC6955 <https://www.ietf.org/archive/id/draft-ietf-ace-coap-est-oscore-02.html#RFC6955>]
>  
> ”The EST client obtained the CA certs including the CA's DH certificate using the /crts function”
> This seems very inefficient. Why not just use G_Y from EDHOC? The Client/Initiator can use the cipher suite to get the curve it wants. I think this should be added as on option.
>  
> “As per [RFC8613], the HKDF MUST be one of the HMAC-based HKDF [RFC5869] algorithms defined for COSE [RFC9052].”
>  
> I would say that the quoted sentence is an erratum in OSCORE. I would suggest deleting that sentence. Should be one of the HMAC algorithms defined for COSE or one of the hash functions defined for COSE. COSE does not have any general HKDFs defined. They are “direct+HKDF-SHA-512” and only make sense if you use them in COSE and not in OSCORE. EDHOC specifies that the output to OSCORE can be HMAC-SHA-384.
>  
> “External Authorization Data (EAD) fields of EDHOC are
> intentionally not used to carry EST payloads because EDHOC needs not
> be executed in the case of re-enrollment.”
> This seems to me like the wrong decision. Using EAD would be much more efficient for the first enrollment. How common and important is re-enrollment? By using EDHOC efficiently I think the client might be able to send the CSR in message_3 and get the cert in message_4.
>  
> “|        UDP or TCP           |”
> I suggest deleting this layer. Both CoAP and HTTP can be transported over other (or more)( or less) things. Having UDP and TCP in this figure do not add anything.
>  
> The document makes heavy use of EDHOC and states that C509 might be use as an optimization. Other parts of the draft seems 100% ASN.1. EDHOC makes heavy use of CWT/CSS/C509. It would make sense to be able to request the server to issue C509 certificates. Currently that does not seem to be possible.
>  
> This is probably handled by other drafts, but I think the draft should summarize some very basic high-level things in the introduction. Is the client assumed to have some form of credential before starting EST-oscore. In that case what kind of credential. The whole point of certificates is to bind a public key with an identity. How does the server verify the identity? If things are out of scope, it is often best to state that.
>  
> "Constrained Application Protocol (CoAP), Concise Binary Object Representation (CBOR) and the CBOR Object Signing and Encryption (COSE) format"
>             ... and more
>  
> IETF uses the Oxford comma.
>  
> Cheers,
> John
>  
> _______________________________________________
> Ace mailing list
> Ace@ietf.org <mailto:Ace@ietf.org>
> https://www.ietf.org/mailman/listinfo/ace