<?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-rfc version 1.6.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-selander-lake-authz-00" category="std" consensus="true" submissionType="IETF" tocDepth="2" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.1 -->
  <front>
    <title abbrev="Lightweight Authorization for EDHOC">Lightweight Authorization for EDHOC</title>
    <seriesInfo name="Internet-Draft" value="draft-selander-lake-authz-00"/>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization>Ericsson AB</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <author initials="J" surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson AB</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="M." surname="Vučinić" fullname="Mališa Vučinić">
      <organization>INRIA</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>malisa.vucinic@inria.fr</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <author initials="A." surname="Schellenbaum" fullname="Aurelio Schellenbaum">
      <organization abbrev="ZHAW">Institute of Embedded Systems, ZHAW</organization>
      <address>
        <postal>
          <country>Switzerland</country>
        </postal>
        <email>aureliorubendario.schellenbaum@zhaw.ch</email>
      </address>
    </author>
    <date year="2022" month="October" day="19"/>
    <area>Security</area>
    <workgroup>LAKE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document describes a procedure for augmenting the lightweight authenticated Diffie-Hellman key exchange protocol EDHOC with third party assisted authorization, targeting constrained IoT deployments (RFC 7228).</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>For constrained IoT deployments <xref target="RFC7228"/> the overhead and processing contributed by security protocols may be significant which motivates the specification of lightweight protocols that are optimizing, in particular, message overhead (see <xref target="I-D.ietf-lake-reqs"/>).
This document describes a procedure for augmenting the lightweight authenticated Diffie-Hellman key exchange EDHOC <xref target="I-D.ietf-lake-edhoc"/> with third party-assisted authorization.</t>
      <t>The procedure involves a device, a domain authenticator and an authorization server.
The device and authenticator perform mutual authentication and authorization, assisted by the authorization server which provides relevant authorization information to the device (a "voucher") and to the authenticator.</t>
      <t>The protocol assumes that authentication between device and authenticator is performed with EDHOC, and defines the integration of a lightweight authorization procedure using the External Authorization Data (EAD) field defined in EDHOC.</t>
      <t>In this document we consider the target interaction for which authorization is needed to be "enrollment", for example joining a network for the first time (e.g. <xref target="RFC9031"/>), but it can be applied to authorize other target interactions.</t>
      <t>The protocol enables a low message count by performing authorization and enrollment in parallel with authentication, instead of in sequence which is common for network access.
It further reuses protocol elements from EDHOC leading to reduced message sizes on constrained links.</t>
      <t>This protocol is applicable to a wide variety of settings, and can be mapped to different authorization architectures.</t>
      <section anchor="terminology">
        <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 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
        <t>Readers are expected to have an understanding of CBOR <xref target="RFC8949"/> and EDHOC <xref target="I-D.ietf-lake-edhoc"/>.
Appendix C.1 of <xref target="I-D.ietf-lake-edhoc"/> contains some basic info about CBOR.</t>
      </section>
    </section>
    <section anchor="prob-desc">
      <name>Problem Description</name>
      <t>The (potentially constrained) device (U) wants to enroll into a domain over a constrained link.
The device authenticates and enforces authorization of the (non-constrained) domain authenticator (V) with the help of a voucher, and makes the enrollment request.
The domain authenticator (W) authenticates the device and authorizes its enrollment.
Authentication between device and domain authenticator is made with the lightweight authenticated Diffie-Hellman key exchange protocol EDHOC <xref target="I-D.ietf-lake-edhoc"/>.
The procedure is assisted by a (non-constrained) authorization server located in a non-constrained network behind the domain authenticator providing information to the device and to the domain authenticator as part of the protocol.</t>
      <t>The objective of this document is to specify such a protocol which is lightweight over the constrained link by reusing elements of EDHOC.
See illustration in <xref target="fig-overview"/>.</t>
      <figure anchor="fig-overview">
        <name>Overview of message flow. Link between U anv V is constrained but link between V and W is not. Voucher_Info and Voucher are sent in EDHOC External Authorization Data.</name>
        <artwork align="center"><![CDATA[
                  Voucher
            EDHOC Info
+----------+  |    |   +---------------+  Voucher  +---------------+
|          |  |    |   |               |  Request  |               |
|  Device  |--|----o-->|    Domain     |---------->| Authorization |
|          |<-|---o----| Authenticator |<----------|     Server    |
|    (U)   |--|---|--->|      (V)      |  Voucher  |       (W)     |
|          |      |    |               |  Response |               |
+----------+      |    +---------------+           +---------------+
                  Voucher

]]></artwork>
      </figure>
    </section>
    <section anchor="assumptions">
      <name>Assumptions</name>
      <section anchor="device">
        <name>Device (U)</name>
        <t>U takes the role as EDHOC Initiator with authentication credential CRED_I.
CRED_I may for example be an X.509 certificate or a CBOR Web Token (CWT, <xref target="RFC8392"/>).
For identification to W, U is provisioned with an identifier ID_U, from which W shall be able to retrieve CRED_I.
ID_U is for example a reference to the device authentication credential, or an identifier from a separate name space.</t>
        <t>U is also provisioned with information about W:</t>
        <ul spacing="normal">
          <li>A static public DH key of W (G_W) used to protect communication  between device and authorization server (see <xref target="U-W"/>).</li>
          <li>Location information about the authorization server (LOC_W) that can be used by V. This is typically a URI but may be optimized, e.g. only the domain name.</li>
        </ul>
      </section>
      <section anchor="domain-auth">
        <name>Domain Authenticator (V)</name>
        <t>V takes the role as EDHOC Responder with authentication credential CRED_R.
CRED_R is a CWT Claims Set (CCS, <xref target="RFC8392"/>) containing the public authentication key of V, PK_V, see <xref target="V_2"/></t>
        <t>V needs to establish secure communication with W based on information in LOC_W.
The communication between V and W is assumed to be mutually authenticated and protected; authentication credentials and communication security is out of scope, except for as specified below in this section.</t>
        <t>V may in principle use different credentials for authenticating to U and to W (CRED_R is used for the former).
However, V MUST prove possession of private key of PK_V to W, since W is asserting (by means of a voucher sent to U) that this credential belongs to V.</t>
        <t>In this version of the draft is assumed that V authenticates to W with the public key PK_V using some authentication protocol providing proof of possession of the private key, for example TLS 1.3 <xref target="RFC8446"/>.
A future version of this draft may specify explicit proof of possession of the private key of PK_V in VREQ, e.g., by including a signature of the contents of the voucher request made with the private key corresponding to PK_V.</t>
      </section>
      <section anchor="authorization-server-w">
        <name>Authorization Server (W)</name>
        <t>W has the private DH key corresponding to G_W, which is used to secure the communication with U (see <xref target="U-W"/>).</t>
        <t>Authentication credentials and communication security used with V is out of scope, except for the need to verify the possession of the private key of PK_V as specified in <xref target="domain-auth"/>.</t>
        <t>W provides to U the authorization decision for enrollment with V in the form of a voucher, see <xref target="voucher"/>.
W may provide V with the authorization credential of U, CRED_I, after V has learnt the identity of U.</t>
        <t>W needs to be available during the execution of the protocol between U and V.</t>
      </section>
    </section>
    <section anchor="the-protocol">
      <name>The Protocol</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>Three security sessions are going on in parallel:</t>
        <ol spacing="normal" type="1"><li>EDHOC <xref target="I-D.ietf-lake-edhoc"/> between device (U) and (domain) authenticator (V)</li>
          <li>Voucher Request/Response between authenticator (V) and authorization server (W)</li>
          <li>An exchange of voucher-related information, including the voucher itself, between device (U) and authorization server (W), mediated by the authenticator (V).</li>
        </ol>
        <t><xref target="fig-protocol"/> provides an overview of the message flow detailed in this section, for more details see Section 3.1 of <xref target="I-D.ietf-lake-edhoc"/>.</t>
        <figure anchor="fig-protocol">
          <name>W-assisted authorization of U and V to each other: EDHOC between U and V (only selected message fields shown for simplicity), and Voucher Request/Response between V and W.</name>
          <artwork align="center"><![CDATA[
U                               V                                  W
|                               |                                  |
|       SUITES_I, G_X, EAD_1    |                                  |
+------------------------------>|                                  |
|         EDHOC message_1       |  H(m1), SS, G_X, ENC_ID, ?PoP_V  |
|                               +--------------------------------->|
|                               |     Voucher Request (VREQ)       |
|                               |                                  |
|                               |            H(m1), Voucher        |
|                               |<---------------------------------+
|                               |       Voucher Response (VRES)    |
|  Enc(ID_CRED_R, SM_2, EAD_2)  |                                  |
|<------------------------------+                                  |
|         EDHOC message_2       |                                  |
|                               |                                  |
|      Enc(ID_CRED_I, SM_3)     |                                  |
+------------------------------>|                                  |
|         EDHOC message_3       |        (Credential lookup:)      |
|                               |             ID_CRED_I            |
|                               |--------------------------------->|
|                               |<---------------------------------|
|                               |                 CRED_I           |
|                               |                                  |

where
H(m1) = H(message_1)
EAD_1 contains Voucher_Info: LOC_W, ENC_ID
EAD_2 contains Voucher: MAC(H(message_1), CRED_R)

]]></artwork>
        </figure>
      </section>
      <section anchor="reuse">
        <name>Reuse of EDHOC</name>
        <t>The protocol illustrated in <xref target="fig-protocol"/> reuses several components of EDHOC:</t>
        <ul spacing="normal">
          <li>G_X, the 'x' parameter of the ephemeral public Diffie-Hellman key of party U, is also used in the protocol between U and W.</li>
          <li>
            <t>SUITES_I, the cipher suites relevant to U, which includes the selected cipher suite - here denoted SS, also defines the algorithms used between U and W. In particular SS contains information about (see Section 3.6 of <xref target="I-D.ietf-lake-edhoc"/>):  </t>
            <ul spacing="normal">
              <li>EDHOC AEAD algorithm: used to encrypt the identity of U</li>
              <li>EDHOC hash algorithm: used for key derivation and to calculate the voucher</li>
              <li>EDHOC MAC length in bytes: length of the voucher</li>
              <li>EDHOC key exchange algorithm: used to calculate the shared secret between U and W</li>
            </ul>
          </li>
          <li>EAD_1, EAD_2 are the External Authorization Data message fields of message_1 and message_2, respectively, see Section 3.8 of <xref target="I-D.ietf-lake-edhoc"/>. This document specifies EAD items with ead_label = TBD1, see <xref target="iana-ead"/>).</li>
          <li>ID_CRED_I and ID_CRED_R are used to identify the authentication credentials of U and V. As shown at the bottom of <xref target="fig-protocol"/>, V may use W to obtain CRED_I, the authentication credential of U. The authentication credential of V, CRED_R, is transported in ID_CRED_R in message_2, see <xref target="V_2"/>.</li>
          <li>Signature_or_MAC_2 and Signature_or_MAC_3 (abbreviated SM_2 and SM_3 in <xref target="fig-protocol"/>), containing data generated using the private key of V and U, respectively, are shown here just to be able to reason about the use of credentials. The definition of these fields depend on EDHOC method, see Section 5 of <xref target="I-D.ietf-lake-edhoc"/>).</li>
        </ul>
        <t>The protocol also reuses the Extract and Expand key derivation from EDHOC (Section 4 of <xref target="I-D.ietf-lake-edhoc"/>).</t>
        <ul spacing="normal">
          <li>
            <t>The intermediate pseudo-random key PRK is derived using Extract():
            </t>
            <ul spacing="normal">
              <li>
                <t>PRK = Extract(salt, IKM)
                </t>
                <ul spacing="normal">
                  <li>where salt = 0x (the zero-length byte string)</li>
                  <li>IKM is the ECDH shared secret G_XW (calculated from G_X and W or G_W and X) as defined in Section 6.3.1 of <xref target="RFC9053"/>.</li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>The shared secret is derived using Expand() which is defined in terms of the EDHOC hash algorithm of the selected cipher suite, see Section 4.2. of <xref target="I-D.ietf-lake-edhoc"/>:</t>
        <ul spacing="normal">
          <li>
            <t>shared secret = Expand(PRK, info, length)  </t>
            <t>
where</t>
          </li>
        </ul>
        <artwork><![CDATA[
info = (
   label : int,
   context : bstr,
   length : uint,
)
]]></artwork>
      </section>
      <section anchor="U-W">
        <name>Device &lt;-&gt; Authorization Server (U &lt;-&gt; W)</name>
        <t>The protocol between U and W is carried out via V with certain data protected between the endpoints using the equivalent of a hybrid public key encryption scheme such as <xref target="RFC9180"/>.
U uses the public DH key of the W, G_W, together with the private DH key corresponding to ephemeral key G_X in EDHOC message_1, and vice versa for W.
The endpoints calculate a shared secret G_XW (see <xref target="reuse"/>), which is used to derive secret keys to protect data between U and W, as detailed in this section.</t>
        <t>The data exchanged between U and W is carried between U and V in message_1 and message_2 (<xref target="U-V"/>), and between V and W in the Voucher Request/Response (<xref target="V-W"/>).</t>
        <section anchor="voucher-info">
          <name>Voucher Info</name>
          <t>The external authorization data EAD_1 contains an EAD item with ead_label = TBD1 and ead_value = Voucher_Info, which is a CBOR byte string:</t>
          <artwork><![CDATA[
Voucher_Info = bstr .cbor Voucher_Info_Seq
]]></artwork>
          <artwork><![CDATA[
Voucher_Info_Seq = (
    LOC_W:      tstr,
    ENC_ID:     bstr
)
]]></artwork>
          <t>where</t>
          <ul spacing="normal">
            <li>LOC_W is location information of W, used by V</li>
            <li>ENC_ID is the encrypted blob carrying an identifier of U passed on from V to W, calculated as follows:</li>
          </ul>
          <t>ENC_ID is 'ciphertext' of COSE_Encrypt0 (Section 5.2-5.3 of <xref target="RFC9052"/>) computed from the following:</t>
          <ul spacing="normal">
            <li>The encryption key K_1 and nonce IV_1 are derived as specified below.</li>
            <li>'protected' is a byte string of size 0</li>
            <li>'plaintext and 'external_aad' as below:</li>
          </ul>
          <artwork><![CDATA[
plaintext = (
    ID_U:            bstr,
 )
]]></artwork>
          <artwork><![CDATA[
external_aad = (
    SS:              int,
 )
]]></artwork>
          <t>where</t>
          <ul spacing="normal">
            <li>ID_U is an identity of the device, for example a reference to the device authentication credential, see <xref target="device"/>.</li>
            <li>SS is the selected cipher suite in SUITES_I.</li>
          </ul>
          <t>The derivation of K_1 = Expand(PRK, info, length) uses the following input to the info struct (<xref target="reuse"/>):</t>
          <ul spacing="normal">
            <li>label = TBD1</li>
            <li>context  = h''</li>
            <li>length is length of key of the EDHOC AEAD algorithm in bytes</li>
          </ul>
          <t>The derivation of IV_1 = Expand(PRK, info, length) uses the following input to the info struct (<xref target="reuse"/>):</t>
          <ul spacing="normal">
            <li>label = TBD1</li>
            <li>context = h'00'</li>
            <li>length is length of nonce of the EDHOC AEAD algorithm in bytes</li>
          </ul>
        </section>
        <section anchor="voucher">
          <name>Voucher</name>
          <t>The voucher is an assertion for U that W has performed the relevant verifications and that U is authorized to continue the protocol with V. The voucher is essentially a message authentication code which binds the authentication credential of V to message_1 of EDHOC, integrity protected with the shared secret context between U and W.</t>
          <t>The external authorization data EAD_2 contains an EAD item with ead_label = TBD1 and ead_value = Voucher, which is a CBOR byte string:</t>
          <artwork><![CDATA[
Voucher = bstr .cbor Expand(PRK, info, length)
]]></artwork>
          <t>calculated with the following input to the info struct (<xref target="reuse"/>):</t>
          <ul spacing="normal">
            <li>label is TBD1</li>
            <li>context  = bstr .cbor voucher_input</li>
            <li>length is EDHOC MAC length in bytes</li>
          </ul>
          <t>where context is a CBOR bstr wrapping of the following CBOR sequence:</t>
          <artwork><![CDATA[
voucher_input = (
    H(message_1):  bstr,
    CRED_R:        bstr,
)
]]></artwork>
          <t>where</t>
          <ul spacing="normal">
            <li>H(message_1) is copied from the associated voucher request.</li>
            <li>CRED_R is a CWT Claims Set (CCS, <xref target="RFC8392"/>) containing the public authentication key of V, PK_V, see <xref target="V_2"/></li>
          </ul>
        </section>
      </section>
      <section anchor="U-V">
        <name>Device &lt;-&gt; Authenticator (U &lt;-&gt; V)</name>
        <t>This section describes the processing in U and V, which execute the EDHOC protocol using their respective authentication credentials, see <xref target="fig-protocol"/>. Normal EDHOC processing is omitted here.</t>
        <section anchor="m1">
          <name>Message 1</name>
          <section anchor="processing-in-u">
            <name>Processing in U</name>
            <t>U composes EDHOC message_1 using authentication method, identifiers, etc. according to an agreed application profile, see Section 3.9 of <xref target="I-D.ietf-lake-edhoc"/>. The selected cipher suite, in this document denoted SS, applies also to the interaction with W as detailed in <xref target="reuse"/>, in particular, to the key agreement algorithm which is used with the static public DH key G_W of W. As part of the normal EDHOC processing, U generates the ephemeral public key G_X which is reused in the interaction with W, see <xref target="U-W"/>.</t>
            <t>The device sends EDHOC message_1 with EAD item (-TBD1, Voucher_Info) included in EAD_1, where Voucher_Info is specified in <xref target="U-W"/>. The negative sign indicates that the EAD item is critical, see Section 3.8 in <xref target="I-D.ietf-lake-edhoc"/>.</t>
          </section>
          <section anchor="processing-in-v">
            <name>Processing in V</name>
            <t>V receives EDHOC message_1 from U and processes it as specified in Section 5.2.3 of <xref target="I-D.ietf-lake-edhoc"/>, with the additional step of processing the EAD item in EAD_1. Since the EAD item is critical, if V does not recognize it or it contains information that V cannot process, then V MUST discontinue EDHOC, see Section 3.8 in <xref target="I-D.ietf-lake-edhoc"/>. Otherwise, the ead_label = TBD1, triggers the voucher request to W as described in <xref target="V-W"/>. The exchange between V and W needs to be completed successfully for the EDHOC exchange to be continued.</t>
          </section>
        </section>
        <section anchor="m2">
          <name>Message 2</name>
          <section anchor="V_2">
            <name>Processing in V</name>
            <t>V receives the voucher response from W as described in <xref target="V-W"/>.</t>
            <t>V sends EDHOC message_2 to U with the critical EAD item (-TBD1, Voucher) included in EAD_2, where the Voucher is specified in <xref target="U-W"/>.</t>
            <t>CRED_R is a CWT Claims Set (CCS, <xref target="RFC8392"/>) containing the public authentication key of the authenticator PK_V encoded as a COSE_Key in the 'cnf' claim, see Section 3.5.2 of <xref target="I-D.ietf-lake-edhoc"/>.</t>
            <t>ID_CRED_R contains the CCS with 'kccs' as COSE header_map, see Section 9.6 of <xref target="I-D.ietf-lake-edhoc"/>. The Signature_or_MAC_2 field calculated using the private key corresponding to PK_V is either a signature or a MAC depending on EDHOC method.</t>
          </section>
          <section anchor="processing-in-u-1">
            <name>Processing in U</name>
            <t>U receives EDHOC message_2 from V and processes it as specified in Section 5.3.2 of <xref target="I-D.ietf-lake-edhoc"/>, with the additional step of processing the EAD item in EAD_2.</t>
            <t>If U does not recognize the EAD item or the EAD item contains information that U cannot process, then U MUST discontinue EDHOC, see Section 3.8 in <xref target="I-D.ietf-lake-edhoc"/>. Otherwise U MUST verify the Voucher by performing the same calculation as in <xref target="voucher"/> using H(message_1) and CRED_R received in ID_CRED_R of message_2. If the voucher calculated in this way is not identical to what was received in message_2, then U MUST discontinue the protocol.</t>
          </section>
        </section>
        <section anchor="message-3">
          <name>Message 3</name>
          <section anchor="processing-in-u-2">
            <name>Processing in U</name>
            <t>If all verifications are passed, then U sends EDHOC message_3.</t>
            <t>The Signature_or_MAC_3 field calculated using the private key corresponding to PK_U is either a signature or a MAC depending on EDHOC method.</t>
            <t>EAD_3 MAY contain a certificate enrollment request, see e.g. CSR specified in <xref target="I-D.mattsson-cose-cbor-cert-compress"/>, or other request which the device is now authorized to make.</t>
            <t>EDHOC message_3 may be combined with an OSCORE request, see <xref target="I-D.ietf-core-oscore-edhoc"/>.</t>
          </section>
          <section anchor="processing-in-v-1">
            <name>Processing in V</name>
            <t>V performs the normal EDHOC verifications of message_3. V may retrieve CRED_I from W, after V learnt ID_CRED_I from U.</t>
          </section>
        </section>
      </section>
      <section anchor="V-W">
        <name>Authenticator &lt;-&gt; Authorization Server (V &lt;-&gt; W)</name>
        <t>V and W are assumed to be able to authenticate and set up a secure connection, out of scope for this specification, for example TLS 1.3 authenticated with certificates. V is assumed to authenticate with the public key PK_V, see <xref target="domain-auth"/>.</t>
        <t>This secure connection protects the Voucher Request/Response Protocol (see protocol between V and W in <xref target="fig-protocol"/>).</t>
        <t>The hash of EDHOC message_1, H(message_1), acts as session identifier of the Voucher Request/Response protocol, and binds together instances of the two protocols (U&lt;-&gt;V and V&lt;-&gt;W).</t>
        <section anchor="voucher_request">
          <name>Voucher Request</name>
          <section anchor="processing-in-v-2">
            <name>Processing in V</name>
            <t>Unless already in place, V and W establish a secure connection. V uses H(message_1) as a session identifier associated to this connection with W. If the same value of H(message_1) is already used for a connection with this or other W, the protocol SHALL be discontinued.</t>
            <t>V sends the voucher request to W. The Voucher Request SHALL be a CBOR array as defined below:</t>
            <artwork><![CDATA[
Voucher_Request = [
    H(message_1):    bstr,
    SS:              int,
    G_X:             bstr,
    ENC_ID:          bstr,
  ? PoP_V:           bstr,
]
]]></artwork>
            <t>where the parameters are defined in <xref target="U-W"/>, except:</t>
            <ul spacing="normal">
              <li>PoP_V is a proof-of-possession of public key PK_V using the corresponding private key. PoP_V is optional.</li>
            </ul>
            <t>Editor's note: Define PoP_V (include G_X, ENC_ID in the calculation for binding to this EDHOC session). One case to study is when V authenticates to U with static DH and to W with signature.</t>
          </section>
          <section anchor="processing-in-w">
            <name>Processing in W</name>
            <t>W receives the voucher request, verifies and decrypts ENC_ID, and associates the session identifier H(message_1) to ID_U. If H(message_1) is not unique among session identifiers associated to this identity, the protocol SHALL be discontinued.</t>
            <t>W uses the identity of the device, ID_U, to look up and verify the associated authorization policies for U. This is out of scope for the specification.</t>
          </section>
        </section>
        <section anchor="voucher_response">
          <name>Voucher Response</name>
          <section anchor="processing-in-w-1">
            <name>Processing in W</name>
            <t>W retrieves the public key of V, PK_V, used to authenticate the secure connection with V, and constructs the CCS (see <xref target="V_2"/>) and the Voucher (see <xref target="voucher"/>).</t>
            <t>Editor's note: Make sure the CCS is defined to allow W generate it uniquely from PK_V.</t>
            <t>W generates the voucher response and sends it to V over the secure connection. The Voucher_Response SHALL be a CBOR array as defined below:</t>
            <artwork><![CDATA[
Voucher_Response = [
    H(message_1):   bstr,
    Voucher:        bstr
]
]]></artwork>
            <t>where</t>
            <ul spacing="normal">
              <li>H(message_1) is copied from the associated voucher request.</li>
              <li>The Voucher is defined in <xref target="voucher"/>.</li>
            </ul>
          </section>
          <section anchor="processing-in-v-3">
            <name>Processing in V</name>
            <t>V receives the voucher response from W over the secure connection. If the received session identifier does not match the session identifier H(message_1) associated to the secure connection, the protocol SHALL be discontinued.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="rest-interface-at-w">
      <name>REST Interface at W</name>
      <t>The interaction between V and W is enabled through a RESTful interface exposed by W.
V SHOULD access the resources exposed by W through the protocol indicated by the scheme in LOC_W URI.
In case the scheme indicates "https", V SHOULD perform a TLS handshake with W and use HTTP.
In case the scheme indicates "coaps", V SHOULD perform a DTLS handshake with W and access the same resources using CoAP.
In both cases, V MUST perform client authentication to authenticate to W, using a certificate containing the PK_V public key.</t>
      <section anchor="http-uris">
        <name>HTTP URIs</name>
        <t>W MUST support the use of the path-prefix "/.well-known/", as defined in <xref target="RFC8615"/>, and the registered name "lake-authz".
A valid URI thus begins with "https://www.example.com/.well-known/lake-authz".
Each operation specified in the following is indicated by a path-suffix.</t>
      </section>
      <section anchor="voucher-request-voucherrequest">
        <name>Voucher Request (/voucherrequest)</name>
        <t>To request a voucher, V MUST issue an HTTP request:</t>
        <ul spacing="normal">
          <li>Method is POST</li>
          <li>Payload is the serialization of the Voucher Request object, as specified in <xref target="voucher_request"/>.</li>
        </ul>
        <t>In case of successful processing at W, W MUST issue a 200 OK response with payload containing the serialized Voucher Response object, as specified in <xref target="voucher_response"/>.</t>
      </section>
      <section anchor="certificate-request-certrequest">
        <name>Certificate Request (/certrequest)</name>
        <t>V requests the public key certificate of U from W through the "/certrequest" path-suffix.
To request U's authentication credential, V MUST issue an HTTP request:</t>
        <ul spacing="normal">
          <li>Method is POST</li>
          <li>Payload is the serialization of the ID_CRED_I object, as received in EDHOC message_3.</li>
        </ul>
        <t>In case of a successful lookup of the authentication credential at W, W MUST issue 200 OK response with payload containing the serialized CRED_I.</t>
      </section>
    </section>
    <section anchor="sec-cons">
      <name>Security Considerations</name>
      <t>This specification builds on and reuses many of the security constructions of EDHOC, e.g. shared secret calculation and key derivation. The security considerations of EDHOC <xref target="I-D.ietf-lake-edhoc"/> apply with modifications discussed here.</t>
      <t>EDHOC provides identity protection of the Initiator, here the device. The encryption of the device identity in the first message should consider potential information leaking from the length of the identifier ID_U, either by making all identifiers having the same length or the use of a padding scheme.</t>
      <t>Although W learns about the identity of U after receiving VREQ, this information must not be disclosed to V, until U has revealed its identity to V with ID_CRED_I in message_3. W may be used for lookup of CRED_I from ID_CRED_I, or this credential lookup function may be separate from the authorization function of W. The trust model used here is that U decides to which V it reveals its identity. In an alternative trust model where U trusts W to decide to which V it reveal's U's identity, CRED_I could be sent in Voucher Response.</t>
      <t>As noted Section 8.2 of <xref target="I-D.ietf-lake-edhoc"/> an ephemeral key may be used to calculate several ECDH shared secrets. In this specification the ephemeral key G_X is also used to calculate G_XW, the shared secret with the authorization server.</t>
      <t>The private ephemeral key is thus used in the device for calculations of key material relating to both the authenticator and the authorization server. There are different options for where to implement these calculations, one option is as an addition to EDHOC, i.e., to extend the EDHOC API in the device with input of public key of W (G_W) and identifier of U (ID_U), and produce the encryption of ID_U which is included in Voucher_Info in EAD_1.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="iana-ead">
        <name>EDHOC External Authorization Data Registry</name>
        <t>IANA has registered the following entry in the "EDHOC External Authorization Data" registry under the group name "Ephemeral Diffie-
   Hellman Over COSE (EDHOC)".
The ead_label = TBD_1 corresponds to the ead_value Voucher_Info in EAD_1, and Voucher in EAD_2 with processing specified in <xref target="m1"/> and <xref target="m2"/>, respectively, of this document.</t>
        <artwork><![CDATA[
+-------+------------+-----------------+
| Label | Value Type | Description     |
+-------+------------+-----------------+
|  TBD1 |    bstr    | Voucher related |
|       |            | information     |
+-------+------------+-----------------+
]]></artwork>
      </section>
      <section anchor="the-well-known-uri-registry">
        <name>The Well-Known URI Registry</name>
        <t>IANA has registered the following entry in "The Well-Known URI Registry", using the template from <xref target="RFC8615"/>:</t>
        <ul spacing="normal">
          <li>URI suffix: lake-authz</li>
          <li>Change controller: IETF</li>
          <li>Specification document: [[this document]]</li>
          <li>Related information: None</li>
        </ul>
      </section>
      <section anchor="well-known-name-under-arpa-name-space">
        <name>Well-Known Name Under ".arpa" Name Space</name>
        <t>This document allocates a well-known name under the .arpa name space according to the rules given in <xref target="RFC3172"/> and <xref target="RFC6761"/>.
The name "lake-authz.arpa" is requested.
No subdomains are expected, and addition of any such subdomains requires the publication of an IETF Standards Track RFC.
No A, AAAA, or PTR record is requested.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8392" target="https://www.rfc-editor.org/info/rfc8392" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8392.xml">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <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="RFC8949" target="https://www.rfc-editor.org/info/rfc8949" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8949.xml">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <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="RFC9052" target="https://www.rfc-editor.org/info/rfc9052" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9052.xml">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053" target="https://www.rfc-editor.org/info/rfc9053" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9053.xml">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="I-D.ietf-lake-edhoc" target="https://www.ietf.org/archive/id/draft-ietf-lake-edhoc-17.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-edhoc.xml">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="12" month="October" year="2022"/>
            <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-17"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <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="RFC7228" target="https://www.rfc-editor.org/info/rfc7228" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7228.xml">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Ersue" initials="M." surname="Ersue"/>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>The Internet Protocol Suite is increasingly used on small devices with severe constraints on power, memory, and processing resources, creating constrained-node networks.  This document provides a number of basic terms that have been useful in the standardization work for constrained-node networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7228"/>
          <seriesInfo name="DOI" value="10.17487/RFC7228"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <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="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9031" target="https://www.rfc-editor.org/info/rfc9031" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9031.xml">
          <front>
            <title>Constrained Join Protocol (CoJP) for 6TiSCH</title>
            <author fullname="M. Vučinić" initials="M." role="editor" surname="Vučinić"/>
            <author fullname="J. Simon" initials="J." surname="Simon"/>
            <author fullname="K. Pister" initials="K." surname="Pister"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes the minimal framework required for a new device, called a "pledge", to securely join a 6TiSCH (IPv6 over the Time-Slotted Channel Hopping mode of IEEE 802.15.4) network.  The framework requires that the pledge and the JRC (Join Registrar/Coordinator, a central entity), share a symmetric key.  How this key is provisioned is out of scope of this document.  Through a single CoAP (Constrained Application Protocol) request-response exchange secured by OSCORE (Object Security for Constrained RESTful Environments), the pledge requests admission into the network, and the JRC configures it with link-layer keying material and other parameters.  The JRC may at any time update the parameters through another request-response exchange secured by OSCORE.  This specification defines the Constrained Join Protocol and its CBOR (Concise Binary Object Representation) data structures, and it describes how to configure the rest of the 6TiSCH communication stack for this join process to occur in a secure manner.  Additional security mechanisms may be added on top of this minimal framework.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9031"/>
          <seriesInfo name="DOI" value="10.17487/RFC9031"/>
        </reference>
        <reference anchor="RFC9180" target="https://www.rfc-editor.org/info/rfc9180" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9180.xml">
          <front>
            <title>Hybrid Public Key Encryption</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="K. Bhargavan" initials="K." surname="Bhargavan"/>
            <author fullname="B. Lipp" initials="B." surname="Lipp"/>
            <author fullname="C. Wood" initials="C." surname="Wood"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9180"/>
          <seriesInfo name="DOI" value="10.17487/RFC9180"/>
        </reference>
        <reference anchor="RFC8615" target="https://www.rfc-editor.org/info/rfc8615" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC3172" target="https://www.rfc-editor.org/info/rfc3172" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3172.xml">
          <front>
            <title>Management Guidelines &amp; Operational Requirements for the Address and Routing Parameter Area Domain ("arpa")</title>
            <author fullname="G. Huston" initials="G." role="editor" surname="Huston"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo describes the management and operational requirements for the address and routing parameter area ("arpa") domain.  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="52"/>
          <seriesInfo name="RFC" value="3172"/>
          <seriesInfo name="DOI" value="10.17487/RFC3172"/>
        </reference>
        <reference anchor="RFC6761" target="https://www.rfc-editor.org/info/rfc6761" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6761.xml">
          <front>
            <title>Special-Use Domain Names</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document describes what it means to say that a Domain Name (DNS name) is reserved for special use, when reserving such a name is appropriate, and the procedure for doing so.  It establishes an IANA registry for such domain names, and seeds it with entries for some of the already established special domain names.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6761"/>
          <seriesInfo name="DOI" value="10.17487/RFC6761"/>
        </reference>
        <reference anchor="I-D.ietf-lake-reqs" target="https://www.ietf.org/archive/id/draft-ietf-lake-reqs-04.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-reqs.xml">
          <front>
            <title>Requirements for a Lightweight AKE for OSCORE</title>
            <author fullname="Malisa Vucinic" surname="Malisa Vucinic">
              <organization>Inria</organization>
            </author>
            <author fullname="Goeran Selander" surname="Goeran Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuss Mattsson" surname="John Preuss Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Dan Garcia-Carrillo" surname="Dan Garcia-Carrillo">
              <organization>Odin Solutions S.L.</organization>
            </author>
            <date day="8" month="June" year="2020"/>
            <abstract>
              <t>This document compiles the requirements for a lightweight authenticated key exchange protocol for OSCORE. This draft has completed a working group last call (WGLC) in the LAKE working group. Post-WGLC, the requirements are considered sufficiently stable for the working group to proceed with its work. It is not currently planned to publish this draft as an RFC.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-reqs-04"/>
        </reference>
        <reference anchor="I-D.mattsson-cose-cbor-cert-compress" target="https://www.ietf.org/archive/id/draft-mattsson-cose-cbor-cert-compress-08.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.mattsson-cose-cbor-cert-compress.xml">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="Shahid Raza" surname="Shahid Raza">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund" surname="Joel Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Göran Selander" surname="Göran Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" surname="John Preuß Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Martin Furuhed" surname="Martin Furuhed">
              <organization>Nexus Group</organization>
            </author>
            <date day="22" month="February" year="2021"/>
            <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 significantly reduces the size of certificates compatible with e.g. RFC 7925, IEEE 802.1AR (DevID), CNSA, and CA/Browser Forum Baseline Requirements. 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 COSE headers as well as a TLS certificate type for C509 certificates. NOTE: "C509" is a placeholder, name to be decided by the COSE WG.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mattsson-cose-cbor-cert-compress-08"/>
        </reference>
        <reference anchor="I-D.ietf-core-oscore-edhoc" target="https://www.ietf.org/archive/id/draft-ietf-core-oscore-edhoc-04.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-oscore-edhoc.xml">
          <front>
            <title>Profiling EDHOC for CoAP and OSCORE</title>
            <author fullname="Francesca Palombini" surname="Francesca Palombini">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Marco Tiloca" surname="Marco Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Hoeglund" surname="Rikard Hoeglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Stefan Hristozov" surname="Stefan Hristozov">
              <organization>Fraunhofer AISEC</organization>
            </author>
            <author fullname="Goeran Selander" surname="Goeran Selander">
              <organization>Ericsson</organization>
            </author>
            <date day="11" month="July" year="2022"/>
            <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-edhoc-04"/>
        </reference>
        <reference anchor="IEEE802.15.4">
          <front>
            <title>IEEE Std 802.15.4 Standard for Low-Rate Wireless Networks</title>
            <author initials="" surname="IEEE standard for Information Technology">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="use-with-constrained-join-protocol-cojp">
      <name>Use with Constrained Join Protocol (CoJP)</name>
      <t>This section outlines how the protocol is used for network enrollment and parameter provisioning.
An IEEE 802.15.4 network is used as an example of how a new device (U) can be enrolled into the domain managed by the domain authenticator (V).</t>
      <figure anchor="fig-cojp">
        <name>Use of draft-selander-lake-authz with CoJP.</name>
        <artwork align="center"><![CDATA[
U                                    V                              W
|                                    |                              |
|                                    |                              |
+- - - - - - - - - - - - - - - - - ->|                              |
|    Optional network solicitation   |                              |
|<-----------------------------------+                              |
|          Network discovery         |                              |
|                                    |                              |
+----------------------------------->|                              |
|          EDHOC message_1           |                              |
|                                    +----------------------------->|
|                                    |    Voucher Request (VREQ)    |
|                                    |<-----------------------------+
|                                    |    Voucher Response (VRES)   |
|<-----------------------------------+                              |
|          EDHOC message_2           |                              |
|                                    |                              |
|                                    |                              |
+----------------------------------->|                              |
|   EDHOC message_3 + CoJP request   |                              |
|                                    |                              |
+<-----------------------------------|                              |
|            CoJP response           |                              |
|
]]></artwork>
      </figure>
      <section anchor="network-discovery">
        <name>Network discovery</name>
        <t>When a device first boots, it needs to discover the network it attempts to join.
The network discovery procedure is defined by the link-layer technology in use.
In case of Time-slotted Channel Hopping (TSCH) networks, a mode of <xref target="IEEE802.15.4"/>, the device scans the radio channels for Enhanced Beacon (EB) frames, a procedure known as passive scan.
EBs carry the information about the network, and particularly the network identifier.
Based on the EB, the network identifier, the information pre-configured into the device, the device makes the decision on whether it should join the network advertised by the received EB frame.
This process is described in Section 4.1. of <xref target="RFC9031"/>.
In case of other, non-TSCH modes of IEEE 802.15.4 it is possible to use the active scan procedure and send solicitation frames.
These solicitation frames trigger the nearest network coordinator to respond by emitting a beacon frame.
The network coordinator emitting beacons may be multiple link-layer hops away from the domain authenticator (V), in which case it plays the role of a Join Proxy (see <xref target="RFC9031"/>).
Join Proxy does not participate in the protocol and acts as a transparent router between the device and the domain authenticator.
For simplicity, <xref target="fig-cojp"/> illustrates the case when the device and the domain authenticator are a single hop away and can communicate directly.</t>
      </section>
      <section anchor="the-enrollment-protocol-with-parameter-provisioning">
        <name>The enrollment protocol with parameter provisioning</name>
        <section anchor="flight-1">
          <name>Flight 1</name>
          <t>Once the device has discovered the network it wants to join, it constructs the EDHOC message_1, as described in <xref target="U-V"/>.
The device SHALL map the message to a CoAP request:</t>
          <ul spacing="normal">
            <li>The request method is POST.</li>
            <li>The type is Confirmable (CON).</li>
            <li>The Proxy-Scheme option is set to "coap".</li>
            <li>The Uri-Host option is set to "lake-authz.arpa". This is an anycast type of identifier of the domain authenticator (V) that is resolved to its IPv6 address by the Join Proxy.</li>
            <li>The Uri-Path option is set to ".well-known/edhoc".</li>
            <li>The Content-Format option is set to "application/cid-edhoc+cbor-seq"</li>
            <li>The payload is the (true, EDHOC message_1) CBOR sequence, where EDHOC message_1 is constructed as defined in <xref target="U-V"/>.</li>
          </ul>
        </section>
        <section anchor="flight-2">
          <name>Flight 2</name>
          <t>The domain authenticator receives message_1 and processes it as described in <xref target="U-V"/>.
The message triggers the exchange with the authorization server, as described in <xref target="V-W"/>.
If the exchange between V and W completes successfully, the domain authenticator prepares EDHOC message_2, as described in <xref target="U-V"/>.
The authenticator SHALL map the message to a CoAP response:</t>
          <ul spacing="normal">
            <li>The response code is 2.04 Changed.</li>
            <li>The Content-Format option is set to "application/edhoc+cbor-seq"</li>
            <li>The payload is the EDHOC message_2, as defined in <xref target="U-V"/>.</li>
          </ul>
        </section>
        <section anchor="flight-3">
          <name>Flight 3</name>
          <t>The device receives EDHOC message_2 and processes it as described in <xref target="U-V"/>}.
Upon successful processing of message_2, the device prepares flight 3, which is an OSCORE-protected CoJP request containing an EDHOC message_3, as described in <xref target="I-D.ietf-core-oscore-edhoc"/>.
EDHOC message_3 is prepared as described in <xref target="U-V"/>.
The OSCORE-protected payload is the CoJP Join Request object specified in Section 8.4.1. of <xref target="RFC9031"/>.
OSCORE protection leverages the OSCORE Security Context derived from the EDHOC exchange, as specified in Appendix A of <xref target="I-D.ietf-lake-edhoc"/>.
To that end, <xref target="I-D.ietf-core-oscore-edhoc"/> specifies that the Sender ID of the client (device) must be set to the connection identifier selected by the domain authenticator, C_R.
OSCORE includes the Sender ID as the kid in the OSCORE option.
The network identifier in the CoJP Join Request object is set to the network identifier obtained from the network discovery phase.
In case of IEEE 802.15.4 networks, this is the PAN ID.</t>
          <t>The device SHALL map the message to a CoAP request:</t>
          <ul spacing="normal">
            <li>The request method is POST.</li>
            <li>The type is Confirmable (CON).</li>
            <li>The Proxy-Scheme option is set to "coap".</li>
            <li>The Uri-Host option is set to "lake-authz.arpa".</li>
            <li>The Uri-Path option is set to ".well-known/edhoc".</li>
            <li>The EDHOC option <xref target="I-D.ietf-core-oscore-edhoc"/> is set and is empty.</li>
            <li>The payload is prepared as described in Section 3.2. of <xref target="I-D.ietf-core-oscore-edhoc"/>, with EDHOC message_3 and the CoJP Join Request object as the OSCORE-protected payload.</li>
          </ul>
          <t>Note that the OSCORE Sender IDs are derived from the connection identifiers of the EDHOC exchange.
This is in contrast with <xref target="RFC9031"/> where ID Context of the OSCORE Security Context is set to the device identifier (pledge identifier).
Since the device identity is exchanged during the EDHOC handshake, and the certificate of the device is communicated to the authenticator as part of the Voucher Response message, there is no need to transport the device identity in OSCORE messages.
The authenticator playing the role of the <xref target="RFC9031"/> JRC obtains the device identity from the execution of the authorization protocol.</t>
        </section>
        <section anchor="flight-4">
          <name>Flight 4</name>
          <t>Flight 4 is the OSCORE response carrying CoJP response message.
The message is processed as specified in Section 8.4.2. of <xref target="RFC9031"/>.</t>
        </section>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
