[core] AD review of draft-ietf-core-oscore-edhoc-08

Paul Wouters <paul.wouters@aiven.io> Thu, 28 September 2023 20:08 UTC

Return-Path: <paul.wouters@aiven.io>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F1A29C17EB77 for <core@ietfa.amsl.com>; Thu, 28 Sep 2023 13:08:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 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_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=aiven.io
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 RtXegxD1S_HS for <core@ietfa.amsl.com>; Thu, 28 Sep 2023 13:08:53 -0700 (PDT)
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0D4BBC17D672 for <core@ietf.org>; Thu, 28 Sep 2023 13:08:52 -0700 (PDT)
Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-523100882f2so16353430a12.2 for <core@ietf.org>; Thu, 28 Sep 2023 13:08:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aiven.io; s=google; t=1695931730; x=1696536530; darn=ietf.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=KF+28DmdlTISji467mMbziCVuc/5xHTuy2e4d0jLSzk=; b=cs9v5vB68MsUsKLcdzMpEtGQaxH6HHfayMr1LefTeSdkZrkvE+QWs9kZ1GMJVYWO0f YLw533ZqICAQf1JHsWOYZW4t6DIOiPyX3aHKcoc6kscLYaFGFIW94PbzZnFRKo8l5dHx gA6NpNqZLF1mpt30lzNddbH7Ne4cBfk2doUwg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695931730; x=1696536530; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=KF+28DmdlTISji467mMbziCVuc/5xHTuy2e4d0jLSzk=; b=Uuw8TD/+VB8EMwCRnyUn2PvrZ5l6AdKU3kDUb1cPRRnqdaCt1FxrjzRiynoI9PbaUw MVHiNdTGjrjfbFBr6ZfyHONbW6tq+jkjCfd1xga6HDPQOaQxtoilkRiCnxAmfzymeRAf mGCvuar1wB8kVS67D+GRLwcwyArgsdc09qxG5DXQsjTIB9/DbJ8e2d7w16HulKdQZ0pb z8qzdUEN3VzQiBJ2KNNanEC9CVnM2vP4IHwO3XOGgPkH1+K8uDOo3A5G0x8WKDole8hM SZdWBxh+4MmrRUmZNeR+2vtfh0VPg1+wYC9cahqrVx2uIRMz4pLLEwch+VVEmzZc/j5l HTiA==
X-Gm-Message-State: AOJu0YwGxWgccFPapiCRL/BkcgL9VdxOenqmIn9CoeAXC01qAKxQQN0C +uOwC756BgwCIOo3BXkQTxs5SSMZpPKkGjtHgxZ/sQ==
X-Google-Smtp-Source: AGHT+IFeZRTZPCNgqXg6D3gLZNObhPR+/Xb52weO3V1nMjWpn5ysKdZwjef9E2SpIPKyMXB7lE21uHwZD3EdpWDSYRE=
X-Received: by 2002:a05:6402:1490:b0:530:ce4b:638d with SMTP id e16-20020a056402149000b00530ce4b638dmr2357749edv.1.1695931730525; Thu, 28 Sep 2023 13:08:50 -0700 (PDT)
MIME-Version: 1.0
From: Paul Wouters <paul.wouters@aiven.io>
Date: Thu, 28 Sep 2023 16:08:39 -0400
Message-ID: <CAGL5yWZ2PW9ajUmdA5NDq7g2UR7DBRZruMBND-p-3wRnSH_hWg@mail.gmail.com>
To: stefan.hristozov@eriptic.com, rikard.hoglund@ri.se, Göran Selander <goran.selander@ericsson.com>, marco.tiloca@ri.se, Francesca Palombini <francesca.palombini@ericsson.com>
Cc: core@ietf.org
Content-Type: multipart/alternative; boundary="0000000000005d48eb060670e07b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/7PbesXYYjbiMZ9KLh26jFgajA4s>
Subject: [core] AD review of draft-ietf-core-oscore-edhoc-08
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Sep 2023 20:08:57 -0000

Hi,

Overall the document looks good. I have a few comments/nits below and one
issue.

Issue:

         The request payload consists of the EDHOC connection identifier
         C_R encoded as per Section 3.3 of [I-D.ietf-lake-edhoc],
         concatenated with EDHOC message_3.

A last minute change in EDHOC was to encrypt C_R. It is unfortunate that
this now seems to send C_R in the clear again. Can this be avoided?

Comments:

        This optimization is desirable, since the number of protocol
        round trips influences the minimum number of flights,

I don't fully understand this sentence. I think it is trying to say that
doing two protocols fully sequencially one after the other causes more
roundtrips and thus more latency? Perhaps that can be formulated without
the use if "number of flights" ? (which to me is confusing, also because
actual flights talk about legs :)

        That is, the EDHOC data (referred to as "EDHOC messages")

Why not also just call it "EDHOC messages" in this document?

        Finally, the client sends a POST request to the same EDHOC
        resource used earlier to send EDHOC message_1.

This really is confusing to read. I initially read it as "send EDHOC
message_1".
How about:

        Finally, the client sends a POST request to the same EDHOC
        resource used earlier when it sent EDHOC message_1.

Section 3.2: Perhaps change the sentence in "Step 1" to:

        Compose EDHOC message_3 into EDHOC_MSG_3 as per Section 5.4.2 of
[I-D.ietf-lake-edhoc].

so it properly introduces EDHOC_MSG_3 before its first use?

        the server discontinues the protocol [...]

        the Initiator MUST discontinue the protocol [...]

We changed "discontinues the protocol" to "aborts the session" in the EDHOC
document.
You don't mean discontinue to use the protocol defined in this RFC :)

        The server MUST NOT establish a new OSCORE Security Context from
        the present EDHOC session with the client, hence the CoAP response
        conveying the EDHOC error message is not protected with OSCORE.

I don't understand this sentence? Did you mean "as" instead of "hence" ?

        The CoAP response conveying the EDHOC error message MUST have
        Content-Format set to application/edhoc+cbor-seq defined in
        Section 9.9 of [I-D.ietf-lake-edhoc].

There is no section 9.9. I think you mean Section 10.9 (just as Appendix
A.2.3
does that reference)

       As per Section 3.3.2 of [I-D.ietf-lake-edhoc], when using the
        purely-sequential flow shown in Figure 1, the same C_R with
        value 0x01 would be encoded on the wire as the CBOR integer 1
        (0x01 in CBOR encoding), and prepended to EDHOC message_3 in
        the payload of the second EDHOC request.

I'm a bit confused by "on the wire" of C_R because EDHOC message_3
contains: AEAD( ID_CRED_I, Signature_or_MAC_3, EAD_3 )
Do you mean as part of CoAP?

        The EDHOC Connection Identifier C_I is equal to the EDHOC
        Connection Identifier C_R specified in EDHOC message_2 (i.e.,
        after its decoding as per Section 3.3 of [I-D.ietf-lake-edhoc]).

Since C_R is now encrypted in EDHOC message_2, I guess "decoding" is no
longer
the right word. After decrypting ?

        Section 9.10 of [I-D.ietf-lake-edhoc] registers the resource type
        "core.edhoc"

This should be Section 10.10.

        which is taken from the 'Label' column of the "EDHOC External
        Authorization Data" registry defined in Section 9.5 of
        [I-D.ietf-lake-edhoc].

Should be section 10.5. (Please check all section 9 references in the doc
for update)

        by expanding their semantics and specifying admitted values.

What does "admitted" here mean? Maybe "specifying additional values" ?


        the Change Controller is IESG,

I believe the IESG preference is to list IETF as change controller ?




nits:

Personal pet peeve: I dislike using
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
and prefer +-------+---------+---+-------------+-----+ style :)
I have also never seen the usage of open ended boxes, so I would change:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| T |  TKL  |      Code     |          Message ID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Token (if any, TKL bytes) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Observe Option| OSCORE Option ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| EDHOC Option  | Other Options (if any) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1 1| Payload ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

to:

+---+---+-------+---------------+-------------------------------+
|Ver| T |  TKL  |      Code     |          Message ID           |
+---+---+-------+---------------+-------------------------------+
| Token (if any, TKL bytes)                                     ~
~                                                               ~
+---------------+-----------------------------------------------+
| Observe Option| OSCORE Option                                 ~
+---------------+                                               ~
~                                                               ~
+---------------+-----------------------------------------------+
| EDHOC Option  | Other Options (if any)                        ~
+---------------+                                               ~
~                                                               ~
+---------------+-----------------------------------------------+
|1 1 1 1 1 1 1 1| Payload                                       ~
+---------------+
~                                                               ~
+---------------------------------------------------------------+


Paul