Re: [core] Genart last call review of draft-ietf-core-oscore-edhoc-09

"jmh.direct" <jmh.direct@joelhalpern.com> Thu, 23 November 2023 15:31 UTC

Return-Path: <jmh.direct@joelhalpern.com>
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 CE4DEC14CE2F; Thu, 23 Nov 2023 07:31:51 -0800 (PST)
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_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=joelhalpern.com
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 F73pYb2NYkEq; Thu, 23 Nov 2023 07:31:47 -0800 (PST)
Received: from mailb2.tigertech.net (mailb2.tigertech.net [208.80.4.154]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 AF969C14EB19; Thu, 23 Nov 2023 07:31:47 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mailb2.tigertech.net (Postfix) with ESMTP id 4SbhtC2Z5dz1pNy8; Thu, 23 Nov 2023 07:31:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1700753507; bh=k0ENbgWn1E9FeEIQYp//3NjIf4n6zwL6/b/Qf4j7XUw=; h=Date:Subject:In-Reply-To:From:To:Cc:From; b=abDMFt5gBFI3yXkMAi9a2NuD+ventm+gn0t/RuoQVb5ZB4d+7xYH3Mrl3sc8TCi+j 4tdBPYp9i+nKXIOrv/ZCivv3iKyNVPCerVCQm38QRdROHEYz4Hx4q5pmc12kEjt/uE BtU6vYytemKvDM02w+oubjDF+TlTXTGalcOLGAwQ=
X-Quarantine-ID: <IfL8_5eOJKbc>
X-Virus-Scanned: Debian amavisd-new at b2.tigertech.net
Received: from [192.168.182.53] (unknown [208.88.12.146]) (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 mailb2.tigertech.net (Postfix) with ESMTPSA id 4SbhtB48qSz1nshw; Thu, 23 Nov 2023 07:31:45 -0800 (PST)
SavedFromEmail: jmh.direct@joelhalpern.com
Date: Thu, 23 Nov 2023 10:31:44 -0500
In-Reply-To: <ec8fe01f-3d68-4aca-8f51-0911250aec88@ri.se>
Importance: normal
From: "jmh.direct" <jmh.direct@joelhalpern.com>
To: Marco Tiloca <marco.tiloca@ri.se>, Joel Halpern <jmh@joelhalpern.com>, gen-art@ietf.org
Cc: core@ietf.org, draft-ietf-core-oscore-edhoc.all@ietf.org, last-call@ietf.org
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="--_com.samsung.android.email_10413553034441070"
Message-Id: <4SbhtB48qSz1nshw@mailb2.tigertech.net>
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/Qxa49OMzmW7ZNAyST48XJ7a_i-Y>
Subject: Re: [core] Genart last call review of draft-ietf-core-oscore-edhoc-09
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, 23 Nov 2023 15:31:51 -0000

Thank you Marco.  Those changes address my comments and I think make the document clearer.Yours,JoelSent via the Samsung Galaxy S20 FE 5G, an AT&T 5G smartphone
-------- Original message --------From: Marco Tiloca <marco.tiloca@ri.se> Date: 11/23/23  10:25 AM  (GMT-05:00) To: Joel Halpern <jmh@joelhalpern.com>, gen-art@ietf.org Cc: core@ietf.org, draft-ietf-core-oscore-edhoc.all@ietf.org, last-call@ietf.org Subject: Re: Genart last call review of draft-ietf-core-oscore-edhoc-09 
    Hello Joel,
      
      Thanks a lot for your review! Please find in line below our
      detailed replies to your comments.
      
      A Github PR where we have addressed your comments is available at
      [GENART-PR].
      
      Unless any concern is raised, we plan to soon merge this PR (and
      the other ones related to other received reviews), and to submit
      the result as version -10 of the document.
      
      Thanks,
      /Marco
      
      [GENART-PR] https://github.com/core-wg/oscore-edhoc/pull/15
      
    
    On 2023-11-12 17:19, Joel Halpern via
      Datatracker wrote:
    
    
      Reviewer: Joel Halpern
Review result: Ready with Issues

I am the assigned Gen-ART reviewer for this draft. The General Area
Review Team (Gen-ART) reviews all IETF documents being processed
by the IESG for the IETF Chair.  Please treat these comments just
like any other last call comments.

For more information, please see the FAQ at

<https://eur05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.ietf.org%2Fen%2Fgroup%2Fgen%2FGenArtFAQ&data=05%7C01%7Cmarco.tiloca%40ri.se%7Ce47f185c87d84047856f08dbe39b1d56%7C5a9809cf0bcb413a838a09ecc40cc9e8%7C0%7C0%7C638354027581953842%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=XUx7hDsJGyJYMu%2BaduzqoyF%2FZypfkLsSwJJS7EslZn8%3D&reserved=0>.

Document: draft-ietf-core-oscore-edhoc-09
Reviewer: Joel Halpern
Review Date: 2023-11-12
IETF LC End Date: 2023-11-13
IESG Telechat date: Not scheduled for a telechat

Summary: This document is ready for publication as a proposed standard
reviewer note: I did not attempt to verify that the description here of the
underlying security protocols is correct.  I leave that to the WG and the
security reviewers.

Major issues: N/A

Minor issues:
   In reading the first part of section 3, I found myself confused in two
   regards.  First, the diagram shows the third message as containing EDHOC
   message_3 + OSCORE-protected data. But the text refers to it as also
   containing C_R which is not apparently part of EDHOC message 3.  I think
   this is explained in step 4 of section 3.2, but it is at best jarring at
   this stage. (Maybe just call it OSCORE option C_R? Or note at this point,as
   you do later, in the text that the EDHOC C_R and the OSCORE C_R are
   identical?)
    
    
    ==>MT
    
    The *CoAP request* contains C_R, while EDHOC message_3 does not. In
    fact, that is the case in both the original workflow and the
    optimized workflow.
    
    That is, in both workflows, C_R is not part of EDHOC message_3, and
    it has to be somehow specified in the CoAP request that conveys
    EDHOC message_3.
    
    As to the original workflow, this is already defined in
    draft-ietf-lake-edhoc, and reminded in Section 2 of the present
    document. That is, C_R is specified in the payload of the CoAP
    request, as prepended to EDHOC message_3, i.e.:
    
    > 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.
    
    As to the optimized workflow in Section 3, the diagram in Figure 2
    is correct about what it shows. As it happens, C_R is already
    specified as the value of the 'kid' field in the CoAP OSCORE Option
    included in the CoAP request. Hence, we take advantage of that and
    we do not prepend C_R to EDHOC message_3 in the request payload.
    
    Note that there is no concept of "OSCORE C_R" or "OSCORE option
    C_R", and the CoAP OSCORE Option does not include a C_R field. There
    is only EDHOC C_R, as the EDHOC Connection Identifier of the
    Responder.
    
    To make these points clearer, in Section 3.0 we have revised the
    bullet list introduced by "That is, the EDHOC + OSCORE request ..."
    to become as follows.
    
    > That is, the EDHOC + OSCORE request is composed of the
    following two parts combined together in a single CoAP message:
    > 
    > * The OSCORE Request from Figure 1, which is also in this case
    sent to a protected resource, with the correct CoAP method and
    options intended for accessing that resource.
    >
    > * EDHOC data consisting of the pair (C_R, EDHOC message_3)
    required for completing the EDHOC session, transported as follows:
    >    * C_R is the OSCORE Sender ID of the client and hence
    transported in the 'kid' field of the OSCORE Option (see Section 6.1
    of RFC 8613). Unlike in the sequential workflow shown in Figure 1,
    C_R is thus not transported in the payload of the EDHOC + OSCORE
    request.
    >    * EDHOC message_3 is transported in the payload of the EDHOC
    + OSCORE request, prepended to the payload of the OSCORE Request.
    This is because EDHOC message_3 may be too large to be included in a
    CoAP Option, e.g., when conveying a large public key certificate
    chain as ID_CRED_I (see Section 3.5.3 of [I-D.ietf-lake-edhoc]) or
    when conveying large External Authorization Data as EAD_3 (see
    Section 3.8 of [I-D.ietf-lake-edhoc]).
    
    <==
    
    
          Second, the description here is worded in a way that leads the reader to
    understand that the EDHOC message is part of the OSCOR content.  The
    processing order and protection structure is spelled out in section 3.2. 
    Maybe just add something like "This structure can be processed in order due
    to the construction rules in section 3.2?
    
    
    ==>MT
    
    In Section 3.0, we have extended the paragraph right before the
    bullet list as follows.
    
    OLD
    > That is, the EDHOC + OSCORE request is composed of the
    following two parts combined together in a single CoAP message:
    
    NEW
    > That is, the EDHOC + OSCORE request is composed of the
    following two parts combined together in a single CoAP message. The
    steps for processing the EDHOC + OSCORE request and the two parts
    combined in there are defined in Section 3.2 and Section 3.3.
    
    <==
    
    
      Nits/editorial comments:



    
    
    -- 
Marco Tiloca
Ph.D., Senior Researcher

Phone: +46 (0)70 60 46 501

RISE Research Institutes of Sweden AB
Box 1263
164 29 Kista (Sweden)

Division: Digital Systems
Department: Computer Science
Unit: Cybersecurity

https://www.ri.se