<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.6 -->
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-oscore-edhoc-03" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.9.1 -->
  <front>
    <title abbrev="Profiling EDHOC for CoAP and OSCORE">Profiling EDHOC for CoAP and OSCORE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-edhoc-03"/>
    <author initials="F." surname="Palombini" fullname="Francesca Palombini">
      <organization>Ericsson</organization>
      <address>
        <email>francesca.palombini@ericsson.com</email>
      </address>
    </author>
    <author initials="M." surname="Tiloca" fullname="Marco Tiloca">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>marco.tiloca@ri.se</email>
      </address>
    </author>
    <author initials="R." surname="Hoeglund" fullname="Rikard Hoeglund">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>rikard.hoglund@ri.se</email>
      </address>
    </author>
    <author initials="S." surname="Hristozov" fullname="Stefan Hristozov">
      <organization>Fraunhofer AISEC</organization>
      <address>
        <email>stefan.hristozov@eriptic.com</email>
      </address>
    </author>
    <author initials="G." surname="Selander" fullname="Goeran Selander">
      <organization>Ericsson</organization>
      <address>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <date year="2022" month="March" day="07"/>
    <area>Internet</area>
    <workgroup>CoRE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>The lightweight authenticated key exchange protocol EDHOC can be run over CoAP and used by two peers to establish an OSCORE Security Context. This document further profiles this use of the EDHOC protocol, by specifying a number of additional and optional mechanisms. These especially include an optimization approach for combining the execution of EDHOC with the first subsequent OSCORE transaction. This combination reduces the number of round trips required to set up an OSCORE Security Context and to complete an OSCORE transaction using that Security Context.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
  Constrained RESTful Environments Working Group mailing list (core@ietf.org),
  which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
  <eref target="https://github.com/core-wg/oscore-edhoc"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>Ephemeral Diffie-Hellman Over COSE (EDHOC) <xref target="I-D.ietf-lake-edhoc" format="default"/> is a lightweight authenticated key exchange protocol, especially intended for use in constrained scenarios. In particular, EDHOC messages can be transported over the Constrained Application Protocol (CoAP) <xref target="RFC7252" format="default"/> and used for establishing a Security Context for Object Security for Constrained RESTful Environments (OSCORE) <xref target="RFC8613" format="default"/>.</t>
      <t>This document profiles this use of the EDHOC protocol, and specifies a number of additional and optional mechanisms. These especially include an optimization approach, that combines the EDHOC execution with the first subsequent OSCORE transaction (see <xref target="edhoc-in-oscore" format="default"/>). This allows for a minimum number of round trips necessary to setup the OSCORE Security Context and complete an OSCORE transaction, e.g., when an IoT device gets configured in a network for the first time.</t>
      <t>This optimization is desirable, since the number of protocol round trips impacts on the minimum number of flights, which in turn can have a substantial impact on the latency of conveying the first OSCORE request, when using certain radio technologies.</t>
      <t>Without this optimization, it is not possible, not even in theory, to achieve the minimum number of flights. This optimization makes it possible also in practice, since the last message of the EDHOC protocol can be made relatively small (see <xref section="1.3" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>), thus allowing additional OSCORE-protected CoAP data within target MTU sizes.</t>
      <t>Furthermore, this document defines:</t>
      <ul spacing="normal">
        <li>A method for deterministically converting an OSCORE Sender/Recipient ID to a corresponding EDHOC connection identifier (see <xref target="conversion" format="default"/>). While this method is required to be used when using the optimization above, it is recommended in general, since it ensures that an OSCORE Sender/Recipient ID is always converted to the EDHOC identifier with the smallest size.</li>
        <li>A number of parameters corresponding to different information elements of an EDHOC applicability statement (see <xref target="web-linking" format="default"/>). These can be specified as target attributes in the link to an EDHOC resource associated with that applicability statement, thus enabling an enhanced discovery of such resource for CoAP clients.</li>
      </ul>
      <section anchor="terminology" numbered="true" toc="default">
        <name>Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP&nbsp;14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <t>The reader is expected to be familiar with terms and concepts defined in CoAP <xref target="RFC7252" format="default"/>, CBOR <xref target="RFC8949" format="default"/>, CBOR sequences <xref target="RFC8742" format="default"/>, OSCORE <xref target="RFC8613" format="default"/> and EDHOC <xref target="I-D.ietf-lake-edhoc" format="default"/>.</t>
      </section>
    </section>
    <section anchor="overview" numbered="true" toc="default">
      <name>EDHOC Overview</name>
      <t>The EDHOC protocol allows two peers to agree on a cryptographic secret, in a mutually-authenticated way and by using Diffie-Hellman ephemeral keys to achieve forward secrecy. The two peers are denoted as Initiator and Responder, as the one sending or receiving the initial EDHOC message_1, respectively.</t>
      <t>After successful processing of EDHOC message_3, both peers agree on a cryptographic secret that can be used to derive further security material, and especially to establish an OSCORE Security Context <xref target="RFC8613" format="default"/>. The Responder can also send an optional EDHOC message_4 to achieve key confirmation, e.g., in deployments where no protected application message is sent from the Responder to the Initiator.</t>
      <t><xref section="A.3" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/> specifies how to transfer EDHOC over CoAP. That is, the EDHOC data (referred to as "EDHOC messages") are transported in the payload of CoAP requests and responses. The default message flow consists in the CoAP Client acting as Initiator and the CoAP Server acting as Responder. Alternatively, the two roles can be reversed. In the rest of this document, EDHOC messages are considered to be transferred over CoAP.</t>
      <t><xref target="fig-non-combined" format="default"/> shows a CoAP Client and Server running EDHOC as Initiator and Responder, respectively. That is, the Client sends a POST request to a reserved EDHOC resource at the Server, by default at the Uri-Path "/.well-known/edhoc". The request payload consists of the CBOR simple value "true" (0xf5) concatenated with EDHOC message_1, which also includes the EDHOC connection identifier C_I of the Client.</t>
      <t>This triggers the EDHOC exchange at the Server, which replies with a 2.04 (Changed) response. The response payload consists of EDHOC message_2, which also includes the EDHOC connection identifier C_R of the Server. The Content-Format of the response may be set to "application/edhoc".</t>
      <t>Finally, the Client sends a POST request to the same EDHOC resource used earlier to send EDHOC message_1. The request payload consists of the EDHOC connection identifier C_R, concatenated with EDHOC message_3.</t>
      <t>After this exchange takes place, and after successful verifications as specified in the EDHOC protocol, the Client and Server can derive an OSCORE Security Context, as defined in <xref section="A.2" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>. After that, they can use OSCORE to protect their communications as per <xref target="RFC8613" format="default"/>.</t>
      <t>The Client and Server are required to agree in advance on certain information and parameters describing how they should use EDHOC. These are specified in an applicability statement see <xref section="3.9" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>, associated with the used EDHOC resource.</t>
      <figure anchor="fig-non-combined">
        <name>EDHOC and OSCORE run sequentially</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[
   CoAP Client                                       CoAP Server
(EDHOC Initiator)                                 (EDHOC Responder)
        |                                                  |
        |                                                  |
        | ----------------- EDHOC Request ---------------> |
        |   Header: 0.02 (POST)                            |
        |   Uri-Path: "/.well-known/edhoc"                 |
        |   Payload: true, EDHOC message_1                 |
        |                                                  |
        | <---------------- EDHOC Response---------------- |
        |              Header: 2.04 (Changed)              |
        |              Content-Format: application/edhoc   |
        |              Payload: EDHOC message_2            |
        |                                                  |
EDHOC verification                                         |
        |                                                  |
        | ----------------- EDHOC Request ---------------> |
        |   Header: 0.02 (POST)                            |
        |   Uri-Path: "/.well-known/edhoc"                 |
        |   Payload: C_R, EDHOC message_3                  |
        |                                                  |
        |                                         EDHOC verification
        |                                                  +
OSCORE Sec Ctx                                      OSCORE Sec Ctx
  Derivation                                          Derivation
        |                                                  |
        | ---------------- OSCORE Request ---------------> |
        |   Header: 0.02 (POST)                            |
        |   Payload: OSCORE-protected data                 |
        |                                                  |
        | <--------------- OSCORE Response --------------- |
        |                 Header: 2.04 (Changed)           |
        |                 Payload: OSCORE-protected data   |
        |                                                  |
]]></artwork>
      </figure>
      <t>As shown in <xref target="fig-non-combined" format="default"/>, this purely-sequential flow where EDHOC is run first and then OSCORE is used takes three round trips to complete.</t>
      <t><xref target="edhoc-in-oscore" format="default"/> defines an optimization for combining EDHOC with the first subsequent OSCORE transaction. This reduces the number of round trips required to set up an OSCORE Security Context and to complete an OSCORE transaction using that Security Context.</t>
    </section>
    <section anchor="edhoc-in-oscore" numbered="true" toc="default">
      <name>EDHOC Combined with OSCORE</name>
      <t>This section defines an optimization for combining the EDHOC exchange with the first subsequent OSCORE transaction, thus minimizing the number of round trips between the two peers.</t>
      <t>This approach can be used only if the default EDHOC message flow is used, i.e., when the Client acts as Initiator and the Server acts as Responder, while it cannot be used in the case with reversed roles.</t>
      <t>When running the purely-sequential flow of <xref target="overview" format="default"/>, the Client has all the information to derive the OSCORE Security Context already after receiving EDHOC message_2 and before sending EDHOC message_3.</t>
      <t>Hence, the Client can potentially send both EDHOC message_3 and the subsequent OSCORE Request at the same time. On a semantic level, this requires sending two REST requests at once, as in <xref target="fig-combined" format="default"/>.</t>
      <figure anchor="fig-combined">
        <name>EDHOC and OSCORE combined</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[
   CoAP Client                                          CoAP Server
(EDHOC Initiator)                                    (EDHOC Responder)
        |                                                     |
        | ------------------ EDHOC Request -----------------> |
        |   Header: 0.02 (POST)                               |
        |   Uri-Path: "/.well-known/edhoc"                    |
        |   Payload: true, EDHOC message_1                    |
        |                                                     |
        | <----------------- EDHOC Response------------------ |
        |                 Header: Changed (2.04)              |
        |                 Content-Format: application/edhoc   |
        |                 Payload: EDHOC message_2            |
        |                                                     |
EDHOC verification                                            |
        +                                                     |
  OSCORE Sec Ctx                                              |
    Derivation                                                |
        |                                                     |
        | ------------- EDHOC + OSCORE Request -------------> |
        |   Header: 0.02 (POST)                               |
        |   Payload: EDHOC message_3 + OSCORE-protected data  |
        |                                                     |
        |                                            EDHOC verification
        |                                                     +
        |                                             OSCORE Sec Ctx
        |                                                Derivation
        |                                                     |
        | <--------------- OSCORE Response ------------------ |
        |                    Header: 2.04 (Changed)           |
        |                    Payload: OSCORE-protected data   |
        |                                                     |
]]></artwork>
      </figure>
      <t>To this end, the specific approach defined in this section consists of sending a single EDHOC + OSCORE request, which conveys the pair (C_R, EDHOC message_3) within an OSCORE-protected CoAP message.</t>
      <t>That is, the EDHOC + OSCORE request is in practice the OSCORE Request from <xref target="fig-non-combined" format="default"/>, as still sent to a protected resource and with the correct CoAP method and options intended for accessing that resource. At the same time, the EDHOC + OSCORE request also transports the pair (C_R, EDHOC message_3) required for completing the EDHOC exchange. Note that C_R is not transported precisely in the request payload.</t>
      <t>Since EDHOC message_3 may be too large to be included in a CoAP Option, e.g., if conveying a protected large public key certificate chain as ID_CRED_I (see <xref section="3.5.4" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>) or if conveying protected External Authorization Data as EAD_3 (see <xref section="3.8" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>), EDHOC message_3 has to be transported in the CoAP payload of the EDHOC + OSCORE request.</t>
      <t>The rest of this section specifies how to transport the data in the EDHOC + OSCORE request and their processing order. In particular, the use of this approach is explicitly signalled by including an EDHOC Option (see <xref target="edhoc-option" format="default"/>) in the EDHOC + OSCORE request. The processing of the EDHOC + OSCORE request is specified in <xref target="client-processing" format="default"/> for the Client side and in <xref target="server-processing" format="default"/> for the Server side.</t>
      <section anchor="edhoc-option" numbered="true" toc="default">
        <name>EDHOC Option</name>
        <t>This section defines the EDHOC Option. The option is used in a CoAP request, to signal that the request payload conveys both an EDHOC message_3 and OSCORE-protected data, combined together.</t>
        <t>The EDHOC Option has the properties summarized in <xref target="fig-edhoc-option" format="default"/>, which extends Table 4 of <xref target="RFC7252" format="default"/>. The option is Critical, Safe-to-Forward, and part of the Cache-Key. The option MUST occur at most once and is always empty. If any value is sent, the value is simply ignored. The option is intended only for CoAP requests and is of Class U for OSCORE <xref target="RFC8613" format="default"/>.</t>
        <figure anchor="fig-edhoc-option">
          <name>The EDHOC Option.</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
+-------+---+---+---+---+-------+--------+--------+---------+
| No.   | C | U | N | R | Name  | Format | Length | Default |
+-------+---+---+---+---+-------+--------+--------+---------+
| TBD21 | x |   |   |   | EDHOC | Empty  |   0    | (none)  |
+-------+---+---+---+---+-------+--------+--------+---------+
       C=Critical, U=Unsafe, N=NoCacheKey, R=Repeatable
]]></artwork>
        </figure>
        <t>The presence of this option means that the message payload contains also EDHOC data, that must be extracted and processed as defined in <xref target="server-processing" format="default"/>, before the rest of the message can be processed.</t>
        <t><xref target="fig-edhoc-opt" format="default"/> shows the format of a CoAP message containing both the EDHOC data and the OSCORE ciphertext, using the newly defined EDHOC option for signalling.</t>
        <figure anchor="fig-edhoc-opt">
          <name>CoAP message for EDHOC and OSCORE combined - signalled with the EDHOC Option</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| T |  TKL  |      Code     |          Message ID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Token (if any, TKL bytes) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OSCORE option                                 | EDHOC option  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Other options (if any) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1 1| Payload
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
      </section>
      <section anchor="client-processing" numbered="true" toc="default">
        <name>Client Processing</name>
        <t>The Client prepares an EDHOC + OSCORE request as follows.</t>
        <ol spacing="normal" type="1"><li>Compose EDHOC message_3 as per <xref section="5.4.2" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>.</li>
          <li>
            <t>Encrypt the original CoAP request as per <xref section="8.1" sectionFormat="of" target="RFC8613" format="default"/>, using the new OSCORE Security Context established after receiving EDHOC message_2.  </t>
            <t>
Note that the OSCORE ciphertext is not computed over EDHOC message_3, which is not protected by OSCORE. That is, the result of this step is the OSCORE Request as in <xref target="fig-non-combined" format="default"/>.</t>
          </li>
          <li>
            <t>Build a CBOR sequence <xref target="RFC8742" format="default"/> composed of two CBOR byte strings in the following order.  </t>
            <ul spacing="normal">
              <li>The first CBOR byte string is the EDHOC message_3 resulting from step 1.</li>
              <li>The second CBOR byte string has as value the OSCORE ciphertext of the OSCORE-protected CoAP request resulting from step 2.</li>
            </ul>
          </li>
          <li>
            <t>Compose the EDHOC + OSCORE request, as the OSCORE-protected CoAP request resulting from step 2, where the payload is replaced with the CBOR sequence built at step 3.  </t>
            <t>
Note that the new payload includes EDHOC message_3, but it does not include the EDHOC connection identifier C_R. As the Client is the EDHOC Initiator, C_R encodes the OSCORE Sender ID of the Client, which is already specified as 'kid' in the OSCORE Option of the request from step 2, hence of the EDHOC + OSCORE request.</t>
          </li>
          <li>Signal the usage of this approach, by including the new EDHOC Option defined in <xref target="edhoc-option" format="default"/> into the EDHOC + OSCORE request.</li>
          <li>Send the EDHOC + OSCORE request to the server.</li>
        </ol>
        <t>With the same Server, the Client MUST NOT have more than one simultaneous outstanding interaction (see <xref section="4.7" sectionFormat="of" target="RFC7252" format="default"/>) consisting of an EDHOC + OSCORE request and whose EDHOC data are intended to the EDHOC session with the same connection identifier C_R.</t>
        <section anchor="client-blockwise" numbered="true" toc="default">
          <name>Supporting Block-wise</name>
          <t>If Block-wise <xref target="RFC7959" format="default"/> is supported, the Client may fragment the original CoAP request before protecting it with OSCORE, as defined in <xref section="4.1.3.4.1" sectionFormat="of" target="RFC8613" format="default"/>. In such a case, the OSCORE processing in step 2 of <xref target="client-processing" format="default"/> is performed on each inner block of the original CoAP request, and the following also applies.</t>
          <t>The Client takes the additional following step between steps 2 and 3 of <xref target="client-processing" format="default"/>.</t>
          <t>A. If the OSCORE-protected request from step 2 conveys a non-first inner block of the original CoAP request (i.e., the Block1 Option processed at step 2 had NUM different than 0), then the Client skips the following steps and sends the OSCORE-protected request to the Server. In particular, the Client MUST NOT include the EDHOC Option in the OSCORE-protected request.</t>
          <t>The Client takes the additional following step between steps 3 and 4 of <xref target="client-processing" format="default"/>.</t>
          <t>B. If the size of the built CBOR sequence exceeds MAX_UNFRAGMENTED_SIZE (see <xref section="4.1.3.4.2" sectionFormat="of" target="RFC8613" format="default"/>), the Client MUST stop processing the request and MUST abort the Block-wise tranfer. The Client can switch to the purely sequential workflow in <xref target="fig-non-combined" format="default"/>, hence separately sending first EDHOC message_3 and then the OSCORE-protected CoAP request once the EDHOC execution is completed.</t>
        </section>
      </section>
      <section anchor="server-processing" numbered="true" toc="default">
        <name>Server Processing</name>
        <t>In order to process a request containing the EDHOC option, i.e., an EDHOC + OSCORE request, the Server MUST perform the following steps.</t>
        <ol spacing="normal" type="1"><li>Check that the EDHOC + OSCORE request includes the OSCORE option and that the request payload is a CBOR sequence composed of two CBOR byte strings. If this is not the case, the Server MUST stop processing the request and MUST reply with a 4.00 (Bad Request) error response.</li>
          <li>Extract EDHOC message_3 from the payload of the EDHOC + OSCORE request, as the first CBOR byte string in the CBOR sequence.</li>
          <li>Take the value of 'kid' from the OSCORE option of the EDHOC + OSCORE request (i.e., the OSCORE Sender ID of the Client), and use it to rebuild the EDHOC connection identifier C_R, as per <xref target="oscore-to-edhoc-id" format="default"/>.</li>
          <li>
            <t>Retrieve the correct EDHOC session by using the connection identifier C_R rebuilt at step 3.  </t>
            <t>
If the applicability statement used in the EDHOC session specifies that EDHOC message_4 shall be sent, the Server MUST stop the EDHOC processing and consider it failed, as due to a client error.  </t>
            <t>
Otherwise, perform the EDHOC processing on the EDHOC message_3 extracted at step 2 as per <xref section="5.4.3" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>, based on the protocol state of the retrieved EDHOC session.  </t>
            <t>
The applicability statement used in the EDHOC session is the same one associated with the EDHOC resource where the server received the request conveying EDHOC message_1 that started the session. This is relevant in case the server provides multiple EDHOC resources, which may generally refer to different applicability statements.</t>
          </li>
          <li>Establish a new OSCORE Security Context associated with the client as per <xref section="A.2" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>, using the EDHOC output from step 4.</li>
          <li>Extract the OSCORE ciphertext from the payload of the EDHOC + OSCORE request, as the value of the second CBOR byte string in the CBOR sequence.</li>
          <li>Rebuild the OSCORE-protected CoAP request, as the EDHOC + OSCORE request where the payload is replaced with the OSCORE ciphertext extracted at step 6. Then, remove the EDHOC option.</li>
          <li>
            <t>Decrypt and verify the OSCORE-protected CoAP request rebuilt at step 7, as per <xref section="8.2" sectionFormat="of" target="RFC8613" format="default"/>, by using the OSCORE Security Context established at step 5.  </t>
            <t>
If the decrypted request includes an EDHOC option but it does not include an OSCORE option, the Server MUST stop processing the request and MUST reply with a 4.00 (Bad Request) error response.</t>
          </li>
          <li>Deliver the CoAP request resulting from step 8 to the application.</li>
        </ol>
        <t>If steps 4 (EDHOC processing) and 8 (OSCORE processing) are both successfully completed, the Server MUST reply with an OSCORE-protected response, in order for the Client to achieve key confirmation (see <xref section="5.4.2" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>). The usage of EDHOC message_4 as defined in <xref section="5.5" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/> is not applicable to the approach defined in this document.</t>
        <t>If step 4 (EDHOC processing) fails, the server discontinues the protocol as per <xref section="5.4.3" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/> and responds with an EDHOC error message with error code 1, formatted as defined in <xref section="6.2" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>. In particular, the CoAP response conveying the EDHOC error message MUST have Content-Format set to application/edhoc defined in <xref section="9.12" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>.</t>
        <t>If step 4 (EDHOC processing) is successfully completed but step 8 (OSCORE processing) fails, the same OSCORE error handling as defined in <xref section="8.2" sectionFormat="of" target="RFC8613" format="default"/> applies.</t>
        <section anchor="server-blockwise" numbered="true" toc="default">
          <name>Supporting Block-wise</name>
          <t>If Block-wise <xref target="RFC7959" format="default"/> is supported, the following applies, the Server takes the additional following step before any other in <xref target="server-processing" format="default"/>.</t>
          <t>A. If Block-wise is present in the request, then process the Outer Block options according to <xref target="RFC7959" format="default"/>, until all blocks of the request have been received (see <xref section="4.1.3.4" sectionFormat="of" target="RFC8613" format="default"/>).</t>
        </section>
      </section>
      <section anchor="example" numbered="true" toc="default">
        <name>Example of EDHOC + OSCORE Request</name>
        <t><xref target="fig-edhoc-opt-2" format="default"/> shows an example of EDHOC + OSCORE Request. In particular, the example assumes that:</t>
        <ul spacing="normal">
          <li>The used OSCORE Partial IV is 0, consistently with the first request protected with the new OSCORE Security Context.</li>
          <li>
            <t>The OSCORE Sender ID of the Client is 0x01.  </t>
            <t>
As per <xref target="oscore-to-edhoc-id" format="default"/>, this corresponds to the numeric EDHOC connection identifier C_R with value 1. When using the purely-sequential flow shown in <xref target="fig-non-combined" format="default"/>, this would be prepended to EDHOC message_3 as the CBOR integer 1 (0x01 in CBOR encoding), in the payload of the second EDHOC request.</t>
          </li>
          <li>The EDHOC option is registered with CoAP option number 21.</li>
        </ul>
        <figure anchor="fig-edhoc-opt-2">
          <name>Example of CoAP message with EDHOC and OSCORE combined</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
o  OSCORE option value: 0x090001 (3 bytes)

o  EDHOC option value: - (0 bytes)

o  EDHOC message_3: 0x52d5535f3147e85f1cfacd9e78abf9e0a81bbf (19 bytes)

o  OSCORE ciphertext: 0x612f1092f1776f1c1668b3825e (13 bytes)

From there:

o  Protected CoAP request (OSCORE message):

   0x44025d1f               ; CoAP 4-byte header
     00003974               ; Token
     39 6c6f63616c686f7374  ; Uri-Host Option: "localhost"
     63 090001              ; OSCORE Option
     c0                     ; EDHOC Option
     ff 52d5535f3147e85f1cfacd9e78abf9e0a81bbf
        4d612f1092f1776f1c1668b3825e
   (57 bytes)
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="conversion" numbered="true" toc="default">
      <name>Conversion from OSCORE to EDHOC Identifiers</name>
      <t><xref section="A.1" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/> defines how an EDHOC connection identifier is converted to an OSCORE Sender/Recipient ID.</t>
      <t>In the following, <xref target="oscore-to-edhoc-id" format="default"/> defines a method for converting from OSCORE Sender/Recipient ID to EDHOC connection identifier.</t>
      <t>When running EDHOC through a certain EDHOC resource, the Client and Server MUST both use the conversion method defined in <xref target="oscore-to-edhoc-id" format="default"/> and MUST perform the additional message processing specified in <xref target="oscore-edhoc-message-processing" format="default"/>, if at least one of the following conditions hold.</t>
      <ul spacing="normal">
        <li>The applicability statement associated with the EDHOC resource indicates that the server supports the EDHOC + OSCORE request defined in <xref target="edhoc-in-oscore" format="default"/>.</li>
        <li>The applicability statement associated with the EDHOC resource indicates that the conversion method defined in <xref target="oscore-to-edhoc-id" format="default"/> is the one to use.</li>
      </ul>
      <t>Instead, if none of the above conditions hold, the Client and the Server can independently use any consistent conversion method, such as the one defined in <xref target="oscore-to-edhoc-id" format="default"/> or different ones defined in separate specifications. In particular, the Client and Server are not required to use the same conversion method. In fact, as per <xref section="A.1" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>, it is sufficient that the two connection identifiers C_I and C_R exchanged during an EDHOC execution are different and not "equivalent", hence not convertible to the same OSCORE Sender/Recipient ID.</t>
      <t>Even in case none of the above conditions hold, it is RECOMMENDED for the Client and Server to use the conversion method defined in <xref target="oscore-to-edhoc-id" format="default"/>, since it ensures that an OSCORE Sender/Recipient ID is always converted to the EDHOC identifier with the smallest size among the two equivalent ones.</t>
      <section anchor="oscore-to-edhoc-id" numbered="true" toc="default">
        <name>Conversion Method</name>
        <t>The process defined in this section ensures that every OSCORE Sender/Recipient ID is converted to only one of the two corresponding, equivalent EDHOC connection identifiers, see <xref section="A.1" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>.</t>
        <t>An OSCORE Sender/Recipient ID, OSCORE_ID, is converted to an EDHOC connection identifier, EDHOC_ID, as follows.</t>
        <ul spacing="normal">
          <li>If OSCORE_ID is 0 bytes in size, it is converted to the empty byte string EDHOC_ID (0x40 in CBOR encoding).</li>
          <li>
            <t>If OSCORE_ID has a size in bytes different than 0, 1, 2, 3, 5 or 9, it is converted to a byte-valued EDHOC_ID, i.e., a CBOR byte string with value OSCORE_ID.  </t>
            <t>
For example, the OSCORE_ID 0x001122334455 is converted to the byte-valued EDHOC_ID 0x001122334455 (0x46001122334455 in CBOR encoding).</t>
          </li>
          <li>
            <t>If OSCORE_ID has a size in bytes equal to 1, 2, 3, 5 or 9 the following applies.  </t>
            <ul spacing="normal">
              <li>
                <t>If OSCORE_ID is a valid CBOR encoding for an integer value (i.e., it can be correctly decoded as a CBOR integer), then it is converted to a numeric EDHOC_ID having OSCORE_ID as its CBOR encoded form.      </t>
                <t>
For example, the OSCORE_ID 0x01 is converted to the numeric EDHOC_ID 1 (0x01 in CBOR encoding), while the OSCORE_ID 0x2B is converted to the numeric EDHOC_ID -12 (0x2B in CBOR encoding).</t>
              </li>
              <li>
                <t>If OSCORE_ID is <em>not</em> a valid CBOR encoding for an integer value (i.e., it <em>cannot</em> be correctly decoded as a CBOR integer), then it is converted to a byte-valued EDHOC_ID having OSCORE_ID as its value.      </t>
                <t>
For example, the OSCORE_ID 0xFF is converted to the byte-valued EDHOC_ID 0xFF (0x41FF in CBOR encoding).</t>
              </li>
            </ul>
            <t>
Implementations can easily determine which case holds for a given OSCORE_ID with no need to try to actually CBOR-decode it, e.g., by using the approach in <xref target="sec-cbor-numeric-check" format="default"/>.</t>
          </li>
        </ul>
        <t>When performing the conversions above, the two peers MUST always refer to Deterministically Encoded CBOR as specified in <xref section="4.2.1" sectionFormat="of" target="RFC8949" format="default"/>, consistently with what is required by the EDHOC protocol <xref target="I-D.ietf-lake-edhoc" format="default"/>.</t>
      </section>
      <section anchor="oscore-edhoc-message-processing" numbered="true" toc="default">
        <name>Additional Processing of EDHOC Messages</name>
        <t>This section specifies additional EDHOC message processing compared to what is specified in <xref section="5" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>.</t>
        <section anchor="initiator-processing-of-message-1" numbered="true" toc="default">
          <name>Initiator Processing of Message 1</name>
          <t>The Initiator selects C_I as follows.</t>
          <ol spacing="normal" type="1"><li>The Initiator initializes a set ID_SET as the empty set.</li>
            <li>
              <t>The Initiator selects an available OSCORE Recipient ID, namely ID*, which is not included in ID_SET. Consistently with the requirements in <xref section="3.3" sectionFormat="of" target="RFC8613" format="default"/>, when selecting ID*:  </t>
              <ul spacing="normal">
                <li>The Initiator SHOULD select ID* only among the Recipient IDs which are currently not used in the sets of all its Recipient Contexts.</li>
                <li>The Initiator MUST NOT select a Recipient ID as ID* if this is currently used in a Recipient Context within a Security Context where the ID Context has zero-length.</li>
              </ul>
            </li>
            <li>The Initiator converts ID* to the EDHOC connection identifier C_I, as per <xref target="oscore-to-edhoc-id" format="default"/>.</li>
            <li>If the resulting C_I is already used, the Initiator adds ID* to ID_SET and moves back to step 2. Otherwise, it uses C_I as its EDHOC connection identifier.</li>
          </ol>
        </section>
        <section anchor="responder-processing-of-message-1" numbered="true" toc="default">
          <name>Responder Processing of Message 1</name>
          <t>The Responder MUST discontinue the protocol and reply with an EDHOC error message with error code 1, formatted as defined in <xref section="6.2" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>, if C_I is a CBOR byte string and it has as value a valid CBOR encoding of an integer value (e.g., C_I is CBOR encoded as 0x4100).</t>
          <t>In fact, this would mean that the Initiator has not followed the conversion rule in <xref target="oscore-to-edhoc-id" format="default"/> when converting its (to be) OSCORE Recipient ID to C_I.</t>
        </section>
        <section anchor="responder-processing-of-message-2" numbered="true" toc="default">
          <name>Responder Processing of Message 2</name>
          <t>The Responder selects C_R as follows.</t>
          <ol spacing="normal" type="1"><li>The Responder initializes a set ID_SET as the empty set.</li>
            <li>
              <t>The Responder selects an available OSCORE Recipient ID, ID*, which is not included in ID_SET. Consistently with the requirements in <xref section="3.3" sectionFormat="of" target="RFC8613" format="default"/>, when selecting ID*:  </t>
              <ul spacing="normal">
                <li>The Responder SHOULD select ID* only among the Recipient IDs which are currently not used in the sets of all its Recipient Contexts.</li>
                <li>The Responder MUST NOT select a Recipient ID as ID* if this is currently used in a Recipient Context within a Security Context where the ID Context has zero-length.</li>
              </ul>
            </li>
            <li>The Responder converts ID* to the EDHOC connection identifier C_R, as per <xref target="oscore-to-edhoc-id" format="default"/>.</li>
            <li>If the resulting C_R is already used or it is equal byte-by-byte to the C_I specified in EDHOC message_1, the Initiator adds ID* to ID_SET and moves back to step 2. Otherwise, it uses C_R as its EDHOC connection identifier.</li>
          </ol>
        </section>
        <section anchor="initiator-processing-of-message-2" numbered="true" toc="default">
          <name>Initiator Processing of Message 2</name>
          <t>If any of the following conditions holds, the Initiator MUST discontinue the protocol and reply with an EDHOC error message with error code 1, formatted as defined in <xref section="6.2" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>.</t>
          <ul spacing="normal">
            <li>C_R is equal byte-by-byte to the C_I that was specified in EDHOC message_1.</li>
            <li>
              <t>C_R is a CBOR byte string and it has as value a valid CBOR encoding of an integer value (e.g., C_R is CBOR encoded as 0x4100).  </t>
              <t>
In fact, this would mean that the Responder has not followed the conversion rule in <xref target="oscore-to-edhoc-id" format="default"/> when converting its (to be) OSCORE Recipient ID to C_R.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="app-statements" numbered="true" toc="default">
      <name>Extension and Consistency of Applicability Statement</name>
      <t>The applicability statement referred by the Client and Server can include the information elements introduced below, in accordance with the specified consistency rules.</t>
      <t>If the Server supports the EDHOC + OSCORE request within an EDHOC execution started at a certain EDHOC resource, then the applicability statement associated with that resource:</t>
      <ul spacing="normal">
        <li>MUST NOT specify that EDHOC message_4 shall be sent.</li>
        <li>SHOULD explicitly specify support for the EDHOC + OSCORE request.</li>
        <li>
          <t>SHOULD explicitly specify that the method to convert from EDHOC to OSCORE identifiers is the one defined in <xref target="conversion" format="default"/> and MUST NOT specify any other method than that.  </t>
          <t>
If the support for the EDHOC + OSCORE request is explicitly specified and the method defined in <xref target="conversion" format="default"/> is not explicitly specified, then the Client and Server MUST use it as conversion method.</t>
        </li>
      </ul>
      <t>If the Server does not support the EDHOC + OSCORE request within an EDHOC execution started at a certain EDHOC resource, then the applicability statement associated with that resource MAY specify a method to convert from EDHOC to OSCORE identifiers. In such a case, the Client and Server MUST use the specified conversion method, which MAY be the one defined in <xref target="conversion" format="default"/>.</t>
    </section>
    <section anchor="web-linking" numbered="true" toc="default">
      <name>Web Linking</name>
      <t><xref section="9.13" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/> registers the resource type "core.edhoc", which can be used as target attribute in a web link <xref target="RFC8288" format="default"/> to an EDHOC resource, e.g., using a link-format document <xref target="RFC6690" format="default"/>. This enables Clients to discover the presence of EDHOC resources at a Server, possibly using the resource type as filter criterion.</t>
      <t>At the same time, the applicability statement associated with an EDHOC resource provides a number of information describing how the EDHOC protocol can be used through that resource. While a Client may become aware of the applicability statement through several means, it would be convenient to obtain its information elements upon discovering the EDHOC resources at the Server. This might aim at discovering especially the EDHOC resources whose associated applicability statement denotes a way of using EDHOC which is most suitable to the Client, e.g., with EDHOC cipher suites or authentication methods that the Client also supports or prefers.</t>
      <t>That is, it would be convenient that a Client discovering an EDHOC resource contextually obtains relevant pieces of information from the applicability statement associated with that resource. The resource discovery can occur by means of a direct interaction with the Server, or instead by means of the CoRE Resource Directory <xref target="I-D.ietf-core-resource-directory" format="default"/>, where the Server may have registered the links to its resources.</t>
      <t>In order to enable the above, this section defines a number of parameters, each of which can be optionally specified as a target attribute with the same name in the link to the respective EDHOC resource, or as filter criteria in a discovery request from the Client. When specifying these parameters in a link to an EDHOC resource, the target attribute rt="core.edhoc" MUST be included, and the same consistency rules defined in <xref target="app-statements" format="default"/> for the corresponding information elements of an applicability statement MUST be followed.</t>
      <t>The following parameters are defined.</t>
      <ul spacing="normal">
        <li>'method', specifying an authentication method supported by the Server. This parameter MUST specify a single value, which is taken from the 'Value' column of the "EDHOC Method Type" registry defined in <xref section="9.3" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>. This parameter MAY occur multiple times, with each occurrence specifying a different authentication method.</li>
        <li>'csuite', specifying an EDHOC cipher suite supported by the Server. This parameter MUST specify a single value, which is taken from the 'Value' column of the "EDHOC Cipher Suites" registry defined in <xref section="9.2" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>. This parameter MAY occur multiple times, with each occurrence specifying a different cipher suite.</li>
        <li>'cred_t', specifying a type of authentication credential supported by the Server. This parameter MAY occur multiple times, with each occurrence specifying a different authentication credential type. Possible values are: "x509", for X.509 certificate <xref target="RFC5280" format="default"/>; "c509", for C509 certificate <xref target="I-D.ietf-cose-cbor-encoded-cert" format="default"/>; "cwt" for CWT <xref target="RFC8392" format="default"/>; "ccs" for CWT Claims Set (CCS) <xref target="RFC8392" format="default"/>.</li>
        <li>
          <t>'idcred_t', specifying the type of identifiers supported by the Server for identifying authentication credentials. This parameter MUST specify a single value, which is taken from the 'Label' column of the "COSE Headers Parameters" registry <xref target="COSE.Header.Parameters" format="default"/>. This parameter MAY occur multiple times, with each occurrence specifying a different type of identifier for authentication credentials.  </t>
          <t>
Note that the values in the 'Label' column of the "COSE Headers Parameters" registry are strongly typed. On the contrary, Link Format is weakly typed and thus does not distinguish between, for instance, the string value "-10" and the integer value -10. Thus, if responses in Link Format are returned, string values which look like an integer are not supported. Therefore, such values MUST NOT be used in the 'idcred_t' parameter.</t>
        </li>
        <li>
          <t>'ead_1', 'ead_2', 'ead_3' and 'ead_4', specifying, if present, that the Server supports the use of External Authorization Data EAD_1, EAD_2, EAD_3 and EAD_4, respectively (see <xref section="3.8" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>). For each of these parameters, the following applies.  </t>
          <ul spacing="normal">
            <li>It MUST occur at most once, with its presence denoting support from the server for the respective external authorization data.</li>
            <li>It MUST specify a single value, which is taken from the 'Label' column of the "EDHOC External Authorization Data" registry defined in <xref section="9.5" sectionFormat="of" target="I-D.ietf-lake-edhoc" format="default"/>.</li>
          </ul>
        </li>
        <li>'comb_req', specifying, if present, that the server supports the EDHOC + OSCORE request defined in <xref target="edhoc-in-oscore" format="default"/>. A value MUST NOT be given to this parameter and any present value MUST be ignored by parsers.</li>
        <li>
          <t>'osc_id_conv', specifying, if present, that the method to convert from OSCORE to EDHOC identifiers defined in <xref target="conversion" format="default"/> is used. A value MUST NOT be given to this parameter and any present value MUST be ignored by parsers.  </t>
          <t>
The absence of this parameter does not mean that the method defined in <xref target="conversion" format="default"/> is not used. Also, consistently with <xref target="app-statements" format="default"/>, the presence of the 'comb_req' parameter implies the use of the method defined in <xref target="conversion" format="default"/>, and thus makes the additional presence of the 'osc_id_conv' parameter unnecessary.</t>
        </li>
      </ul>
      <t>The example in <xref target="fig-web-link-example" format="default"/> shows how a Client discovers two EDHOC resources at a Server, obtaining information elements from the respective applicability statements. The Link Format notation from <xref section="5" sectionFormat="of" target="RFC6690" format="default"/> is used.</t>
      <figure anchor="fig-web-link-example">
        <name>The Web Link</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[
REQ: GET /.well-known/core

RES: 2.05 Content
    </sensors/temp>;osc,
    </sensors/light>;if="sensor",
    </edhoc/resA>;rt="core.edhoc";csuite="0";csuite="2";method="0";
    cred_t="c509";cred_t="ccs";idcred_t="4";comb_req,
    </edhoc/resB>;rt="core.edhoc";csuite="0";csuite="2";method="0";
    method="3";cred_t="c509";cred_t="x509";idcred_t="34";osc_id_conv
]]></artwork>
      </figure>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The same security considerations from OSCORE <xref target="RFC8613" format="default"/> and EDHOC <xref target="I-D.ietf-lake-edhoc" format="default"/> hold for this document.</t>
      <t>TODO: more considerations</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>RFC Editor: Please replace "[[this document]]" with the RFC number of this document and delete this paragraph.</t>
      <t>This document has the following actions for IANA.</t>
      <section anchor="iana-coap-options" numbered="true" toc="default">
        <name>CoAP Option Numbers Registry</name>
        <t>IANA is asked to enter the following option number to the "CoAP Option Numbers" registry within the "CoRE Parameters" registry group.</t>
        <t>[</t>
        <t>The CoAP option numbers 13 and 21 are both consistent with the properties of the EDHOC Option defined in <xref target="edhoc-option" format="default"/>, and they both allow the EDHOC Option to always result in an overall size of 1 byte. This is because:</t>
        <ul spacing="normal">
          <li>The EDHOC option is always empty, i.e., with zero-length value; and</li>
          <li>Since the OSCORE option with option number 9 is always present in the CoAP request, the EDHOC option would be encoded with a maximum delta of 4 or 12, depending on its option number being 13 or 21.</li>
        </ul>
        <t>At the time of writing, the CoAP option numbers 13 and 21 are both unassigned in the "CoAP Option Numbers" registry, as first available and consistent option numbers for the EDHOC option.</t>
        <t>This document suggests 21 (TBD21) as option number to be assigned to the new EDHOC option, since both 13 and 21 are consistent for the use case in question, but different use cases or protocols may make better use of the option number 13.</t>
        <t>]</t>
        <artwork align="center" name="" type="" alt=""><![CDATA[
+--------+-------+-------------------+
| Number | Name  | Reference         |
+--------+-------+-------------------+
| TBD21  | EDHOC | [[this document]] |
+--------+-------+-------------------+
]]></artwork>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6690" target="https://www.rfc-editor.org/info/rfc6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links.  Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type.  "RESTful" refers to the Representational State Transfer (REST) architecture.  A well-known URI is defined as a default entry point for requesting the links hosted by a server.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <author fullname="K. Hartke" initials="K." surname="Hartke">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks.  The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s.  The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types.  CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7959" target="https://www.rfc-editor.org/info/rfc7959">
          <front>
            <title>Block-Wise Transfers in the Constrained Application Protocol (CoAP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="Z. Shelby" initials="Z." role="editor" surname="Shelby">
              <organization/>
            </author>
            <date month="August" year="2016"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful transfer protocol for constrained nodes and networks.  Basic CoAP messages work well for small payloads from sensors and actuators; however, applications will need to transfer larger payloads occasionally -- for instance, for firmware updates.  In contrast to HTTP, where TCP does the grunt work of segmenting and resequencing, CoAP is based on datagram transports such as UDP or Datagram Transport Layer Security (DTLS).  These transports only offer fragmentation, which is even more problematic in constrained nodes and networks, limiting the maximum size of resource representations that can practically be transferred.</t>
              <t>Instead of relying on IP fragmentation, this specification extends basic CoAP with a pair of "Block" options for transferring multiple blocks of information from a resource representation in multiple request-response pairs.  In many important cases, the Block options enable a server to be truly stateless: the server can handle each block transfer separately, with no need for a connection setup or other server-side memory of previous block transfers.  Essentially, the Block options provide a minimal way to transfer larger representations in a block-wise fashion.</t>
              <t>A CoAP implementation that does not support these options generally is limited in the size of the representations that can be exchanged, so there is an expectation that the Block options will be widely used in CoAP implementations.  Therefore, this specification updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7959"/>
          <seriesInfo name="DOI" value="10.17487/RFC7959"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8288" target="https://www.rfc-editor.org/info/rfc8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham">
              <organization/>
            </author>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="RFC8613" target="https://www.rfc-editor.org/info/rfc8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander">
              <organization/>
            </author>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson">
              <organization/>
            </author>
            <author fullname="F. Palombini" initials="F." surname="Palombini">
              <organization/>
            </author>
            <author fullname="L. Seitz" initials="L." surname="Seitz">
              <organization/>
            </author>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE).  OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration.  Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC8742" target="https://www.rfc-editor.org/info/rfc8742">
          <front>
            <title>Concise Binary Object Representation (CBOR) Sequences</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes the Concise Binary Object Representation (CBOR) Sequence format and associated media type "application/cbor-seq".  A CBOR Sequence consists of any number of encoded CBOR data items, simply concatenated in sequence.</t>
              <t>Structured syntax suffixes for media types allow other media types to build on them and make it explicit that they are built on an existing media type as their foundation.  This specification defines and registers "+cbor-seq" as a structured syntax suffix for CBOR Sequences.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8742"/>
          <seriesInfo name="DOI" value="10.17487/RFC8742"/>
        </reference>
        <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049.  It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="I-D.ietf-core-resource-directory" target="https://www.ietf.org/archive/id/draft-ietf-core-resource-directory-28.txt">
          <front>
            <title>CoRE Resource Directory</title>
            <author fullname="Christian Amsüss">
	 </author>
            <author fullname="Zach Shelby">
              <organization>ARM</organization>
            </author>
            <author fullname="Michael Koster">
              <organization>SmartThings</organization>
            </author>
            <author fullname="Carsten Bormann">
              <organization>Universitaet Bremen TZI</organization>
            </author>
            <author fullname="Peter van der Stok">
              <organization>consultant</organization>
            </author>
            <date day="7" month="March" year="2021"/>
            <abstract>
              <t>   In many IoT applications, direct discovery of resources is not
   practical due to sleeping nodes, or networks where multicast traffic
   is inefficient.  These problems can be solved by employing an entity
   called a Resource Directory (RD), which contains information about
   resources held on other servers, allowing lookups to be performed for
   those resources.  The input to an RD is composed of links and the
   output is composed of links constructed from the information stored
   in the RD.  This document specifies the web interfaces that an RD
   supports for web servers to discover the RD and to register,
   maintain, lookup and remove information on resources.  Furthermore,
   new target attributes useful in conjunction with an RD are defined.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-resource-directory-28"/>
        </reference>
        <reference anchor="I-D.ietf-lake-edhoc" target="https://www.ietf.org/archive/id/draft-ietf-lake-edhoc-12.txt">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="Göran Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="20" month="October" year="2021"/>
            <abstract>
              <t>   This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a
   very compact and lightweight authenticated Diffie-Hellman key
   exchange with ephemeral keys.  EDHOC provides mutual authentication,
   forward secrecy, and identity protection.  EDHOC is intended for
   usage in constrained scenarios and a main use case is to establish an
   OSCORE security context.  By reusing COSE for cryptography, CBOR for
   encoding, and CoAP for transport, the additional code size can be
   kept very low.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-edhoc-12"/>
        </reference>
        <reference anchor="COSE.Header.Parameters" target="https://www.iana.org/assignments/cose/cose.xhtml#header-parameters">
          <front>
            <title>COSE Header Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper">
              <organization/>
            </author>
            <author fullname="S. Santesson" initials="S." surname="Santesson">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen">
              <organization/>
            </author>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="W. Polk" initials="W." surname="Polk">
              <organization/>
            </author>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC8392" target="https://www.rfc-editor.org/info/rfc8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones">
              <organization/>
            </author>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem">
              <organization/>
            </author>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman">
              <organization/>
            </author>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig">
              <organization/>
            </author>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties.  The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection.  A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value.  CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert" target="https://www.ietf.org/archive/id/draft-ietf-cose-cbor-encoded-cert-03.txt">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed">
              <organization>Nexus Group</organization>
            </author>
            <date day="10" month="January" year="2022"/>
            <abstract>
              <t>   This document specifies a CBOR encoding of X.509 certificates.  The
   resulting certificates are called C509 Certificates.  The CBOR
   encoding supports a large subset of RFC 5280 and all certificates
   compatible with the RFC 7925, IEEE 802.1AR (DevID), CNSA, RPKI, GSMA
   eUICC, and CA/Browser Forum Baseline Requirements profiles.  When
   used to re-encode DER encoded X.509 certificates, the CBOR encoding
   can in many cases reduce the size of RFC 7925 profiled certificates
   with over 50%.  The CBOR encoded structure can alternatively be
   signed directly ("natively signed"), which does not require re-
   encoding for the signature to be verified.  The document also
   specifies C509 COSE headers, a C509 TLS certificate type, and a C509
   file format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-03"/>
        </reference>
      </references>
    </references>
    <section anchor="sec-cbor-numeric-check" numbered="true" toc="default">
      <name>Checking CBOR Encoding of Numeric Values</name>
      <t>A binary string of N bytes in size is a valid CBOR encoding of an integer value if and only if both the following conditions hold, with reference to the table below.</t>
      <ul spacing="normal">
        <li>The size N is one of the values specified in the "Size" column.</li>
        <li>The first byte of the binary string is equal to one of the byte values specified in the "First byte" column, exactly for the row having N as value of the "Size" column.</li>
      </ul>
      <artwork align="center" name="" type="" alt=""><![CDATA[
+------+-----------------------+
| Size | First byte            |
+------+-----------------------+
| 1    | 0x00-0x17 , 0x20-0x37 |
+------+-----------------------+
| 2    | 0x18 , 0x38           |
+------+-----------------------+
| 3    | 0x19 , 0x39           |
+------+-----------------------+
| 5    | 0x1A , 0x3A           |
+------+-----------------------+
| 9    | 0x1B , 0x3B           |
+------+-----------------------+
]]></artwork>
    </section>
    <section anchor="sec-document-updates" numbered="true" toc="default">
      <name>Document Updates</name>
      <t>RFC Editor: Please remove this section.</t>
      <section anchor="sec-02-03" numbered="true" toc="default">
        <name>Version -02 to -03</name>
        <ul spacing="normal">
          <li>Clarifications on transporting EDHOC message_3 in the CoAP payload.</li>
          <li>At most one simultaneous outstanding interaction as an EDHOC + OSCORE request with the same server for the same session with connection identifier C_R.</li>
          <li>The EDHOC option is removed from the EDHOC + OSCORE request after processing the EDHOC data.</li>
          <li>Added explicit constraints when selecting a Recipient ID as C_X.</li>
          <li>Added processing steps for when Block-wise is used.</li>
          <li>Improved error handling on the Server.</li>
          <li>Improved section on Web Linking.</li>
          <li>Updated figures; editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-01-02" numbered="true" toc="default">
        <name>Version -01 to -02</name>
        <ul spacing="normal">
          <li>New title, abstract and introduction.</li>
          <li>Restructured table of content.</li>
          <li>Alignment with latest format of EDHOC messages.</li>
          <li>Guideline on ID conversions based on applicability statement.</li>
          <li>Clarifications, extension and consistency on applicability statement.</li>
          <li>Section on web-linking.</li>
          <li>RFC8126 terminology in IANA considerations.</li>
          <li>Revised Appendix "Checking CBOR Encoding of Numeric Values".</li>
        </ul>
      </section>
      <section anchor="sec-00-01" numbered="true" toc="default">
        <name>Version -00 to -01</name>
        <ul spacing="normal">
          <li>Improved background overview of EDHOC.</li>
          <li>Added explicit rules for converting OSCORE Sender/Recipient IDs to EDHOC connection identifiers following the removal of bstr_identifier from EDHOC.</li>
          <li>Revised section organization.</li>
          <li>Recommended number for EDHOC option changed to 21.</li>
          <li>Editorial improvements.</li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments" toc="default">
      <name>Acknowledgments</name>
      <t>The authors sincerely thank Christian Amsuess, Esko Dijk, Klaus Hartke, Jim Schaad and Malisa Vucinic for their feedback and comments.</t>
      <t>The work on this document has been partly supported by VINNOVA and the Celtic-Next project CRITISEC; and by the H2020 project SIFIS-Home (Grant agreement 952652).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAPxAJmIAA9V961obx5bofz1FHfwjJpEUJC4GPN7fYMAxZ8fYAzjZM0k+
fy2pBL3d6tZ0t8DE9nmW8yznyWbd6tYXIbCzk8NMtkHqrlq1at3XqlW9Xq9T
xmWi99XamzybxkmcXqrjo5evD9U0y9VhdvBGRelEvT4/fH12vNaJRqNcX6/6
9CQbp9EMBp/k0bTsxbqc9sZZrntZQf/oyVU27iVRqYuyM47KfVWUk04nnuf7
qswXRTnc2NjbGHaiXEf76iQtdZ7qsnOT5e8v82wx34cpz47Vz/A3QvIDftZ5
r2/hgYl7vneEs3c6RQmwvYuSLAWIbnXRGWcTeG1fLQCs3c483le/lNm4q4os
L3M9LeC32xn+8lunEy3Kqyzf76heR8FPnBb76kVfvYHhZqM4jelTXuyLPErH
uhhHlW+z/DJK49+jMs7SfXWcx+OiyFL6Ss+iONlXU/Nmf27e/Hctz/XH2SyY
/VVfXcRJNo68qV9F+TjzP4Y599XZyfmxOnhOHxSwMg2IPimi6T8BTcVlBGhR
wyF9O47L23319xhQxX9nExj1/Lg32Nna2lDngJ73V1kyky8XaZnD8+c3eqKD
hcwQjn5JcPx7HvcLHYB+1lcvM32ZLNKJB/xZ/D7KJ+E3fxL8OYHSv8oIkoYV
nMMKcpgm+z279pZwXuopQBN+Fe47UMcivcqmOlcHsK5Df9qCXu9fmddx8+dl
PK7t/Q99da4TIGede7P/kGkgoPCbu4nuMoOXYH38UkhvnTTLZ/DutQbKV2cv
DoeDwZ78urOztyG/PhluD82ve9vmgd3Bky3z63B31/y6M9g0vz7ZMq/t7m3R
aye9o74TE7kuskU+1r1JnOtxmcFm+c8k0XuRIfjx4evz4/5LHcEi+m+iHDAC
7F/s01It9ypLVCcHpwf09wTED7BelOAWw4/IQxxO8XDKDcdPRPkl0uBVWc6L
/e+/v7m56cdRGvVh4O+joogv05lOy+L7cVZo+p/+h6tyljy6ouF6czdcJ06n
FRRvD3cNXnc394YVrBS6Nx5leU+nSNuT3ljn5X6n0+n1eioaAXdEYxB1F1da
JfHlVXmj8X9p/QBRDDJWTxRISKU/jK+i9FKreZ4BV2SJyPExENBIq3yRquxa
ezJ9UcCbo1tV3mRqrgF2VWYK5HY0SuLiCh4RqQ/kN17kwIfwKgjgDyWIqau4
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

-->

</rfc>
