<?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.7.24 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-coap-est-oscore-07" category="std" consensus="true" submissionType="IETF" tocDepth="2" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="EST-oscore">Protecting EST Payloads with OSCORE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ace-coap-est-oscore-07"/>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization>Ericsson AB</organization>
      <address>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <author initials="S." surname="Raza" fullname="Shahid Raza">
      <organization>RISE</organization>
      <address>
        <email>shahid.raza@ri.se</email>
      </address>
    </author>
    <author initials="M." surname="Furuhed" fullname="Martin Furuhed">
      <organization>Nexus</organization>
      <address>
        <email>martin.furuhed@nexusgroup.com</email>
      </address>
    </author>
    <author initials="M." surname="Vučinić" fullname="Mališa Vučinić">
      <organization>Inria</organization>
      <address>
        <email>malisa.vucinic@inria.fr</email>
      </address>
    </author>
    <author initials="T." surname="Claeys" fullname="Timothy Claeys">
      <organization/>
      <address>
        <email>timothy.claeys@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <area>Security</area>
    <workgroup>ACE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 105?>

<t>Enrollment over Secure Transport (EST) is a certificate provisioning protocol over HTTPS <xref target="RFC7030"/> or CoAPs <xref target="RFC9148"/>.
This document specifies how to carry EST over the Constrained Application Protocol (CoAP) protected with Object Security for Constrained RESTful Environments (OSCORE).
The specification builds on the EST-coaps <xref target="RFC9148"/> specification, but uses OSCORE and Ephemeral Diffie-Hellman over COSE (EDHOC) instead of DTLS.
The specification also leverages the certificate structures defined in <xref target="I-D.ietf-cose-cbor-encoded-cert"/>, which can be optionally used alongside X.509 certificates.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Authentication and Authorization for Constrained Environments Working Group mailing list (ace@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ace/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/EricssonResearch/EST-OSCORE"/>.</t>
    </note>
  </front>
  <middle>
    <?line 112?>

<section anchor="intro">
      <name>Introduction</name>
      <t>One of the challenges with deploying a Public Key Infrastructure (PKI) for the Internet of Things (IoT) is certificate enrollment, because existing enrollment protocols are not optimized for constrained environments <xref target="RFC7228"/>.</t>
      <t>One optimization of certificate enrollment targeting IoT deployments is specified in EST-coaps <xref target="RFC9148"/>, which defines a version of Enrollment over Secure Transport <xref target="RFC7030"/> for transporting EST payloads over CoAP <xref target="RFC7252"/> and DTLS <xref target="RFC9147"/>, instead of HTTP and TLS <xref target="RFC8446"/>.</t>
      <t>This document describes a method for protecting EST payloads over CoAP with OSCORE <xref target="RFC8613"/>.
OSCORE specifies an extension to CoAP which protects messages at the application layer and can be applied independently of how CoAP messages are transported.
OSCORE can also be applied to CoAP-mappable HTTP which enables end-to-end security for mixed CoAP and HTTP transfer of application layer data (see <xref section="11" sectionFormat="of" target="RFC8613"/>).
Hence EST payloads can be protected end-to-end independent of the underlying transport and through proxies translating between CoAP and HTTP.</t>
      <t>OSCORE is designed for constrained environments, building on IoT standards such as CoAP, CBOR <xref target="RFC8949"/>, and COSE <xref target="RFC9052"/> <xref target="RFC9053"/>, and has in particular gained traction in settings where message sizes and the number of exchanged messages need to be kept at a minimum, such as 6TiSCH <xref target="RFC9031"/>, or for securing CoAP group messages <xref target="I-D.ietf-core-oscore-groupcomm"/>.
Where OSCORE is implemented and used for communication security, the reuse of OSCORE for other purposes, such as enrollment, reduces the code footprint.</t>
      <t>Prior to running EST-oscore, the protocol defined in this specification, there must exist a trust relation between the EST-oscore client and the EST-oscore server.
This trust relation may be based on the pre-shared OSCORE security context, or based on the common root of trust.
In case there is a pre-shared OSCORE security context, the CoAP exchange carrying EST payloads can occur immediately.
In case there is a common root of trust, a security handshake based on the Ephemeral Diffie-Hellman over COSE (EDHOC, <xref target="RFC9528"/>) protocol needs to occur prior to running CoAP.
How this trust relation is established is out of scope of this document.</t>
      <t>How the EST-oscore server verifies the identity of the client prior to issuing a certificate is also out of scope of this specification.</t>
      <t>EST-oscore defines a number of optimizations with respect to EST-coaps:</t>
      <ul spacing="normal">
        <li>
          <t>The DTLS record layer is replaced by OSCORE.</t>
        </li>
        <li>
          <t>The DTLS handshake is replaced by the lightweight authenticated key exchange protocol EDHOC <xref target="RFC9528"/>.</t>
        </li>
        <li>
          <t>Compact CBOR representations of X.509 certificates and EST payloads (see <xref target="I-D.ietf-cose-cbor-encoded-cert"/>) are optionally used.</t>
        </li>
        <li>
          <t>Certificates by reference (see <xref target="RFC9360"/>) are optionally used.</t>
        </li>
        <li>
          <t>The EST payloads protected by OSCORE can be proxied between constrained networks supporting CoAP and non-constrained networks supporting HTTP/HTTPs with a CoAP-HTTP proxy protection without any security processing in the proxy (see <xref target="proxying"/>).
The concept "Registrar" and its required trust relation with the EST server as described in Section 5 of <xref target="RFC9148"/> is therefore not applicable.</t>
        </li>
      </ul>
    </section>
    <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.
<?line -6?>
      </t>
      <t>This document uses terminology from <xref target="RFC9148"/> which in turn is based on <xref target="RFC7030"/> and, in turn, on <xref target="RFC5272"/>.</t>
      <t>The term "Trust Anchor" follows the terminology of <xref target="RFC6024"/>:
"A trust anchor represents an authoritative entity via a public key and associated data.
The public key is used to verify digital signatures, and the associated data is used to constrain the types of information for which the trust anchor is authoritative."</t>
      <t>Apart from enrolling certificates with keys that are used for signing, this document also specifies how to enroll certificates with keys that are used for DH operations (static DH keys).
Instead of signing, possession of the private static DH key may be proved by generating a MAC given the recipient's public DH key.
Therefore this document extends the definition of the term "Trust Anchor": the corresponding public key can also be used for MAC generation for static DH proof of possession procedures.</t>
    </section>
    <section anchor="authentication">
      <name>Authentication</name>
      <t>This specification replaces the DTLS handshake in EST-coaps with the lightweight authenticated key exchange protocol EDHOC <xref target="RFC9528"/>.
The enrollment using EST-oscore is based on the existence of an OSCORE Security Context protecting the EST payloads.
This Security Context is typically established through an EDHOC session preceding the initial enrollment.
Re-enrollment does not require a new EDHOC session.</t>
      <t>The EST-oscore client MUST play the role of the EDHOC Initiator.
The EST-oscore server MUST play the role of the EDHOC Responder.</t>
      <t>The EST-oscore clients and servers must perform mutual authentication.
The EST server and EST client are responsible for ensuring that an acceptable cipher suite is negotiated.
The client must authenticate the server before accepting any server response.
The server must authenticate the client.
These requirements are fullfilled when using EDHOC <xref target="RFC9528"/>.</t>
      <t>The server must also provide relevant information to the CA to support its decision about issuing a certificate.</t>
      <section anchor="edhoc">
        <name>EDHOC</name>
        <t>EDHOC supports authentication with certificates or raw public keys (referred to as "credentials"), and the credentials may either be transported in the protocol, or referenced.
This is determined by the identifier of the credential of the endpoint, ID_CRED_x for x= Initiator/Responder, which is transported in an EDHOC message.
This identifier may be the credential itself (in which case the credential is transported), or a pointer such as a URI of the credential (e.g., x5u, see <xref target="RFC9360"/>) or some other identifier which enables the receiving endpoint to retrieve the credential.</t>
      </section>
      <section anchor="certificate-based-authentication">
        <name>Certificate-based Authentication</name>
        <t>EST-oscore, like EST-coaps, supports certificate-based authentication between the EST client and server.
The client MUST be configured with an Implicit or Explicit Trust Anchor (TA) <xref target="RFC7030"/> database, enabling the client to authenticate the server.
The requirements on managing the Implicit and Explicit TA databases are discussed in <xref section="9.1" sectionFormat="of" target="RFC9148"/> and <xref section="9.2" sectionFormat="of" target="RFC9148"/> and apply to EST-oscore.</t>
        <t>The EST client and EST server certificate SHOULD conform to <xref target="RFC7925"/>.
The EST client and/or EST server certificate MAY be a (natively signed) CBOR certificate <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.
The EST client indicates its preference for the type of the certificate it supports through the Accept option included in the request to the EST server.</t>
      </section>
      <section anchor="channel-binding">
        <name>Channel Binding</name>
        <t>The <xref target="RFC5272"/> specification describes proof-of-possession as the ability of a client to prove its possession of a private key which is linked to a certified public key.
In case of a signature key, a proof-of-possession is generated by the client when it signs the PKCS#10 Request during the enrollment phase.
In case of a static DH key, a proof-of-possession is generated by the client when it generates a MAC and includes it in the PKCS#10 request, as per <xref target="static-dh-keys"/>.</t>
        <t>Connection-based channel binding refers to the security binding between the PKCS#10 object and the underlying secure transport layer.
This is typically achieved by including the challengePassword attribute in the PKCS#10 object that is dependent on the underlying security session.
Connection-based proof-of-possession using the challengePassword attribute of the PKCS#10 object is OPTIONAL, see <xref target="security-considerations"/>.</t>
      </section>
      <section anchor="optimizations">
        <name>Optimizations</name>
        <t>This section contains optional behavior that may be used to reduce message sizes or round trips based on the application configuration.</t>
        <ul spacing="normal">
          <li>
            <t>The third message of the EDHOC protocol, message_3, MAY be combined with an OSCORE request, enabling authenticated Diffie-Hellman key exchange and a protected CoAP request/response (which may contain an enrollment request and response) in two round trips <xref target="RFC9668"/>.</t>
          </li>
          <li>
            <t>The enrolled certificates MAY be the CBOR-encoded certificates defined in <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</t>
          </li>
          <li>
            <t>The enrolled client certificate MAY be referenced instead of transported <xref target="RFC9360"/>.
The EST-oscore server MAY use information in the credential identifier field of the EDHOC message (ID_CRED_x) to access the EST-oscore client certificate, e.g., in a directory or database provided by the issuer.
In this case the certificate may not need to be transported over a constrained link between EST client and server.</t>
          </li>
          <li>
            <t>Conversely, the response to the PKCS#10 request MAY specify a reference to the enrolled certificate rather than the certificate itself.
The EST-oscore server MAY in the enrollment response to the EST-oscore client include a pointer to a directory or database where the certificate can be retrieved.</t>
          </li>
          <li>
            <t>The PKCS#10 object MAY request a certificate for a static DH key instead of a signature key.
This may result in a more compact request because the use of static DH keys may imply a proof-of-posession using a MAC, which is shorter than a signature.
Additionally, subsequent EDHOC sessions using static DH keys for authentication have less overhead than key exchange protocols using signature-based authentication credentials.</t>
          </li>
          <li>
            <t>When the EDHOC handshake precedes the enrollment request, it is RECOMMENDED for the EST-client to leverage the information from the EDHOC session on the negotiated cipher suite when making a decision on which type of credential to enroll.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="protocol-design-and-layering">
      <name>Protocol Design and Layering</name>
      <t>EST-oscore uses CoAP <xref target="RFC7252"/> and Block-Wise transfer <xref target="RFC7959"/> to transfer EST messages in the same way as <xref target="RFC9148"/>.
Instead of DTLS record layer, OSCORE <xref target="RFC8613"/> is used to protect the messages conveying the EST payloads.
External Authorization Data (EAD) fields of EDHOC are intentionally not used to carry EST payloads because EDHOC needs not be executed in the case of re-enrollment.
The DTLS handshake is replaced with EDHOC <xref target="RFC9528"/>.
<xref target="fig-stack"/> below shows the layered EST-oscore architecture.
Protocol design also allows that OSCORE and EDHOC messages are carried within the same CoAP message, as per <xref target="RFC9668"/>.</t>
      <figure anchor="fig-stack">
        <name>The stack diagram of EST protected with OSCORE.</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="144" width="256" viewBox="0 0 256 144" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,64 L 8,128" fill="none" stroke="black"/>
              <path d="M 112,32 L 112,96" fill="none" stroke="black"/>
              <path d="M 248,32 L 248,128" fill="none" stroke="black"/>
              <path d="M 112,32 L 248,32" fill="none" stroke="black"/>
              <path d="M 8,64 L 248,64" fill="none" stroke="black"/>
              <path d="M 8,96 L 248,96" fill="none" stroke="black"/>
              <path d="M 8,128 L 248,128" fill="none" stroke="black"/>
              <g class="text">
                <text x="144" y="52">EST</text>
                <text x="196" y="52">messages</text>
                <text x="64" y="84">EDHOC</text>
                <text x="172" y="84">OSCORE</text>
                <text x="92" y="116">CoAP</text>
                <text x="124" y="116">or</text>
                <text x="156" y="116">HTTP</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
             +----------------+
             |  EST messages  |
+------------+----------------+
|    EDHOC   |    OSCORE      |
+------------+----------------+
|        CoAP or HTTP         |
+-----------------------------+
]]></artwork>
        </artset>
      </figure>
      <t>EST-oscore follows much of the EST-coaps and EST design.
This includes the need to authenticate the EST-server before performing any request on the different EST endpoints specified in this document.</t>
      <section anchor="discovery">
        <name>Discovery and URI</name>
        <t>The discovery of EST resources and the definition of the short EST-coaps URI paths specified in Section 4.1 of <xref target="RFC9148"/>, as well as the new Resource Type defined in Section 8.2 of <xref target="RFC9148"/> apply to EST-oscore.
Support for OSCORE is indicated by the "osc" attribute defined in Section 9 of <xref target="RFC8613"/>.</t>
        <t>Example:</t>
        <artwork><![CDATA[
     REQ: GET /.well-known/core?rt=ace.est.sen

     RES: 2.05 Content
   </est>; rt="ace.est.sen";osc

]]></artwork>
        <t>The use of the "osc" attribute is REQUIRED.</t>
      </section>
      <section anchor="est-functions">
        <name>Mandatory/optional EST Functions</name>
        <t>The EST-oscore specification has the same set of required-to-implement functions as EST-coaps.
The content of <xref target="table_functions"/> is adapted from Section 4.2 in <xref target="RFC9148"/> and uses the updated URI paths (see <xref target="discovery"/>).</t>
        <table anchor="table_functions">
          <name>Mandatory and optional EST-oscore functions.</name>
          <thead>
            <tr>
              <th align="left">EST functions</th>
              <th align="left">EST-oscore implementation</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">/crts</td>
              <td align="left">MUST</td>
            </tr>
            <tr>
              <td align="left">/sen</td>
              <td align="left">MUST</td>
            </tr>
            <tr>
              <td align="left">/sren</td>
              <td align="left">MUST</td>
            </tr>
            <tr>
              <td align="left">/skg</td>
              <td align="left">OPTIONAL</td>
            </tr>
            <tr>
              <td align="left">/skc</td>
              <td align="left">OPTIONAL</td>
            </tr>
            <tr>
              <td align="left">/att</td>
              <td align="left">OPTIONAL</td>
            </tr>
          </tbody>
        </table>
        <section anchor="crts">
          <name>/crts</name>
          <t>EST-coaps provides the /crts operation.
A successful request from the client to this resource will be answered with a bag of certificates which is subsequently installed in the TA database, resulting in Explicit TAs.</t>
          <t>A trust anchor is commonly a self-signed certificate of the CA public key, of the format indicated by the CoAP Accept option present in the request.
In order to reduce transport overhead, the trust anchor could be a CBOR encoding of an X.509 certificate <xref target="I-D.ietf-cose-cbor-encoded-cert"/>, or a CWT Claims Set (CCS) <xref target="RFC8392"/>, containing the CA public key and associated data without a signature.</t>
        </section>
      </section>
      <section anchor="payload-formats">
        <name>Payload formats</name>
        <t>Similar to EST-coaps, EST-oscore allows transport of DER-encoded objects of a given Media-Type.
When transporting DER-encoded objects, EST-oscore uses the same CoAP Content-Format identifiers as EST-coaps when transferring EST requests and responses.
In addition, EST-oscore allows the transport of CBOR-encoded objects, signaled via their corresponding Media-Type.</t>
        <t>EST-oscore servers MUST support both the DER-encoded ASN.1 objects and the CBOR-encoded objects.
This means supporting formats detailed in <xref target="der"/> and <xref target="cbor"/>.
It is up to the client to support only DER-encoded ASN.1, CBOR encoding, or both.
As a reminder, Content-Format negotiation happens through CoAP's Accept option present in the requests.</t>
        <section anchor="der">
          <name>DER-encoded ASN.1 Objects</name>
          <t><xref target="table_mediatype_asn1"/> summarizes the information from Section 4.3 in <xref target="RFC9148"/> in what concerns the transport of DER-encoded ASN.1 objects.</t>
          <table anchor="table_mediatype_asn1">
            <name>EST functions and the associated ASN.1 CoAP Content-Format identifiers.</name>
            <thead>
              <tr>
                <th align="left">URI</th>
                <th align="left">Media Type</th>
                <th align="left">Type</th>
                <th align="left">#IANA</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">/crts</td>
                <td align="left">N/A</td>
                <td align="left">req</td>
                <td align="left">-</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/pkix-cert</td>
                <td align="left">res</td>
                <td align="left">287</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/pkcs7-mime;smime-type=certs-only</td>
                <td align="left">res</td>
                <td align="left">281</td>
              </tr>
              <tr>
                <td align="left">/sen</td>
                <td align="left">application/pkcs10</td>
                <td align="left">req</td>
                <td align="left">286</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/pkix-cert</td>
                <td align="left">res</td>
                <td align="left">287</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/pkcs7-mime;smime-type=certs-only</td>
                <td align="left">res</td>
                <td align="left">281</td>
              </tr>
              <tr>
                <td align="left">/sren</td>
                <td align="left">application/pkcs10</td>
                <td align="left">req</td>
                <td align="left">286</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/pkix-cert</td>
                <td align="left">res</td>
                <td align="left">287</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/pkcs7-mime;smime-type=certs-only</td>
                <td align="left">res</td>
                <td align="left">281</td>
              </tr>
              <tr>
                <td align="left">/skg</td>
                <td align="left">application/pkcs10</td>
                <td align="left">req</td>
                <td align="left">286</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/multipart-core</td>
                <td align="left">res</td>
                <td align="left">62</td>
              </tr>
              <tr>
                <td align="left">/skc</td>
                <td align="left">application/pkcs10</td>
                <td align="left">req</td>
                <td align="left">286</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/multipart-core</td>
                <td align="left">res</td>
                <td align="left">62</td>
              </tr>
              <tr>
                <td align="left">/att</td>
                <td align="left">N/A</td>
                <td align="left">req</td>
                <td align="left">-</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/csrattrs</td>
                <td align="left">res</td>
                <td align="left">285</td>
              </tr>
            </tbody>
          </table>
          <t>Content-Format 281 and Content-Format 287 MUST be supported by EST-oscore servers.
It is up to the client to support only Content-Format 281, 287 or both.
As indicated in <xref section="4.3" sectionFormat="of" target="RFC9148"/>, the client will use a CoAP Accept Option in the request to express the preferred response Content-Format.
If an Accept Option is not included in the request, the client is not expressing any preference and the server SHOULD choose format 281.
An exception to this "SHOULD" is in the case when the request contains a CBOR-encoded object (e.g. application/cose-c509-pkcs10), when the server SHOULD respond with a CBOR-encoded object (see <xref target="cbor"/>).</t>
          <t>The generated response for /skg and /skc requests contains two parts: certificate and the corresponding private key.
<xref section="4.8" sectionFormat="of" target="RFC9148"/> specifies that the private key in response to /skc request may be either an encrypted (PKCS #7) or unencrypted (PKCS #8) key, depending on whether the CSR request included SMIMECapabilities.</t>
          <t>Due to the use of OSCORE, which protects the communication between the EST client and the EST server end-to-end, it is possible to return the private key to /skc or /skg as an unencrypted PKCS #8 object (Content-Format identifier 284).
Therefore, when making the CSR to /skc or /skg, the EST client MUST NOT include SMIMECapabilities.
As a consequence, the private key part of the response to /skc or /skg is an unencrypted PKCS #8 object.</t>
          <table anchor="table_cft_skg_skc">
            <name>Response Content-Format identifiers for /skg and /skc in case of DER-encoded ASN.1 objects.</name>
            <thead>
              <tr>
                <th align="left">Function</th>
                <th align="left">DER-encoded ASN.1 Response, Part 1</th>
                <th align="left">DER-encoded ASN.1 Response, Part 2</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">/skg</td>
                <td align="left">284</td>
                <td align="left">281</td>
              </tr>
              <tr>
                <td align="left">/skc</td>
                <td align="left">284</td>
                <td align="left">287</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="cbor">
          <name>CBOR-encoded Objects</name>
          <t><xref target="table_mediatype_cbor"/> presents the equivalent information to <xref target="der"/> when CBOR-encoded objects are in use.</t>
          <table anchor="table_mediatype_cbor">
            <name>EST functions and the associated CBOR CoAP Content-Format identifiers.</name>
            <thead>
              <tr>
                <th align="left">URI</th>
                <th align="left">Media Type</th>
                <th align="left">Type</th>
                <th align="left">#IANA</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">/crts</td>
                <td align="left">N/A</td>
                <td align="left">req</td>
                <td align="left">-</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/cose-c509-cert</td>
                <td align="left">res</td>
                <td align="left">TBD6</td>
              </tr>
              <tr>
                <td align="left">/sen</td>
                <td align="left">application/cose-c509-pkcs10</td>
                <td align="left">req</td>
                <td align="left">TBD7</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/cose-c509-cert</td>
                <td align="left">res</td>
                <td align="left">TBD6</td>
              </tr>
              <tr>
                <td align="left">/sren</td>
                <td align="left">application/cose-c509-pkcs10</td>
                <td align="left">req</td>
                <td align="left">TBD7</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/cose-c509-cert</td>
                <td align="left">res</td>
                <td align="left">TBD6</td>
              </tr>
              <tr>
                <td align="left">/skg</td>
                <td align="left">application/cose-c509-pkcs10</td>
                <td align="left">req</td>
                <td align="left">TBD7</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/multipart-core</td>
                <td align="left">res</td>
                <td align="left">62</td>
              </tr>
              <tr>
                <td align="left">/skc</td>
                <td align="left">N/A</td>
                <td align="left">req</td>
                <td align="left">-</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">N/A</td>
                <td align="left">res</td>
                <td align="left">-</td>
              </tr>
              <tr>
                <td align="left">/att</td>
                <td align="left">N/A</td>
                <td align="left">req</td>
                <td align="left">-</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">application/csrattrs</td>
                <td align="left">res</td>
                <td align="left">TBD5</td>
              </tr>
            </tbody>
          </table>
          <t>EDITOR NOTE: Specify the CDDL structure of /csrattrs and point to appropriate document for its semantics.</t>
          <t>In case of CBOR-encoded objects, there is a single Content-Format, TBD6, that MUST be supported by both the EST-oscore servers and clients.
The EST-client indicates its preference for a CBOR-encoded object through the Accept option of CoAP (see <xref section="4.3" sectionFormat="of" target="RFC9148"/>).
A preference for any future Content-Format is to be expressed by the EST-client through the Accept option.
If an Accept Option is not included in the request, the client is not expressing any preference and the server SHOULD choose format TBD6.
An exception to this "SHOULD" is in the case when the request contains a DER-encoded ASN.1 object (e.g. application/pkcs10), when the server SHOULD respond with an appropriate ASN.1 object (see <xref target="der"/>).</t>
          <t>In the case of a request to /skg, the response contains two parts: certificate and the corresponding private key.
The certificate part is encoded as the application/cose-c509-cert object (Content-Format identifier TBD6), while the corresponding private key is encoded as application/cose-c509-privkey (Content-Format identifier TBD10).
The function /skc is not available when using CBOR-encoded objects, and for server-side generated keys, clients MUST use the /skg function.</t>
          <t><xref target="table_cft_skg_cbor"/> summarizes the Content-Format identifiers used in responses to the /skg function.</t>
          <table anchor="table_cft_skg_cbor">
            <name>Response Content-Format identifiers for /skg in case of CBOR-encoded objects.</name>
            <thead>
              <tr>
                <th align="left">Function</th>
                <th align="left">CBOR Response, Part 1</th>
                <th align="left">CBOR Response Part 2</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">/skg</td>
                <td align="left">TBD10</td>
                <td align="left">TBD6</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="message-bindings">
        <name>Message Bindings</name>
        <t>Note that the EST-oscore message characteristics are identical to those specified in Section 4.4 of <xref target="RFC9148"/>.
It is therefore required that</t>
        <ul spacing="normal">
          <li>
            <t>The EST-oscore endpoints support delayed responses (see <xref section="4.7" sectionFormat="of" target="RFC9148"/>)</t>
          </li>
          <li>
            <t>The endpoints supports the following CoAP options: OSCORE, Uri-Host, Uri-Path, Uri-Port, Content-Format, Block1, Block2, and Accept.
EST-oscore servers MUST implement Block1 and Block2.
EST-oscore clients MUST implement Block2 and MAY implement Block1.</t>
          </li>
          <li>
            <t>The EST-coaps URLs based on coaps:// are translated to coap://, but with mandatory use of the CoAP OSCORE option.</t>
          </li>
        </ul>
      </section>
      <section anchor="coap-response-codes">
        <name>CoAP response codes</name>
        <t>See Section 4.5 in <xref target="RFC9148"/>.</t>
      </section>
      <section anchor="message-fragmentation">
        <name>Message Fragmentation</name>
        <t>The EDHOC key exchange is optimized for message overhead, in particular the use of static DH keys instead of signature keys for authentication (e.g., method 3 of <xref target="RFC9528"/>).
Together with various measures listed in this document such as CBOR-encoded payloads <xref target="RFC8949"/>, CBOR certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>, certificates by reference (<xref target="optimizations"/>), and trust anchors without signature (<xref target="crts"/>), a significant reduction of message sizes can be achieved.</t>
        <t>Nevertheless, depending on the application, the protocol messages may become larger than the available frame size thus resulting in fragmentation and, in resource constrained networks such as IEEE 802.15.4 where throughput is limited, fragment loss can trigger costly retransmissions.</t>
        <t>It is recommended to prevent 6LoWPAN fragmentation, since it involves an error-prone datagram reassembly.
To limit the size of the CoAP payload, this document specifies the requirements on implementing CoAP options Block1 and Block2 (see <xref target="message-bindings"/>).</t>
      </section>
      <section anchor="delayed-responses">
        <name>Delayed Responses</name>
        <t>See <xref section="4.7" sectionFormat="of" target="RFC9148"/>.</t>
      </section>
      <section anchor="static-dh-keys">
        <name>Enrollment of Certificates with Static DH Keys</name>
        <t>This section specifies how the EST client enrolls a static DH key.
In general, a given key pair should only be used for a single purpose, such as key establishment, digital signature, key transport.</t>
        <t>The EST client attempting to enroll a DH key for a key usage operation other than digital signature can use an alternative proof-of-possession algorithm:
The EST client SHOULD prepare the PKCS#10 object and compute a MAC, replacing the signature, over the certification request information by following the steps in <xref section="6" sectionFormat="of" target="RFC6955"/>.
The Key Derivation Function (KDF) and the MAC MUST be set to the HDKF and HMAC algorithms used by OSCORE.
The KDF and MAC is thus defined by the hash algorithm used by OSCORE in HKDF and HMAC, which by default is SHA-256.
When EDHOC is used, then the hash algorithm is the application hash algorithm of the selected cipher suite.</t>
        <t>In some cases, it may be beneficial to exceptionally use the static DH private key associated to the public key used in enrollment for a one-time signing operation of the CSR.
While a key pair should only be used for a single purpose (e.g. key establishment or signing), this exceptional use for one-time signing of the CSR is allowed, as discussed in Section 5.6.3.2 of <xref target="SP-800-56A"/> and Section 5.2 of <xref target="SP-800-57"/>.</t>
        <t>To generate a MAC according to the algorithm outlined in <xref section="6" sectionFormat="of" target="RFC6955"/>, the client needs to know the public DH key of the proof-of-possession recipient/verifier, i.e. the EST server.
In the general case, the EST client MAY obtain the CA certs including the CA's DH certificate using the /crts function using an explicit request/response flow.
The obtained certificate indicates the DH group parameters which MUST be respected by the EST client when generating its own DH key pair.</t>
        <t>As an optimization, when EDHOC precedes the enrollment and combined OSCORE-EDHOC flow is being used in EDHOC message_3 and message_4 per <xref target="RFC9668"/>, the client MUST use the public ephemeral key of the EDHOC Responder, G_Y, as the recipient public key in the algorithm outlined in <xref section="6" sectionFormat="of" target="RFC6955"/>.
When generating its DH key pair, the client uses the group parameters as indicated by the EDHOC cipher suite in use in the EDHOC session.
Because the combined delivery is used per <xref target="RFC9668"/>, the client has already in EDHOC message_2 obtained the ephemeral key G_Y of the server.</t>
      </section>
    </section>
    <section anchor="proxying">
      <name>HTTP-CoAP Proxy</name>
      <t>As noted in Section 5 of <xref target="RFC9148"/>, in real-world deployments, the EST server will not always reside within the CoAP boundary.
The EST-server can exist outside the constrained network in a non-constrained network that supports HTTP but not CoAP, thus requiring an intermediary CoAP-to-HTTP proxy.</t>
      <t>Since OSCORE is applicable to CoAP-mappable HTTP (see <xref section="11" sectionFormat="of" target="RFC8613"/>) the messages conveying the EST payloads can be protected end-to-end between the EST client and EST server, irrespective of transport protocol or potential transport layer security which may need to be terminated in the proxy, see <xref target="fig-proxy"/>.
Therefore the concept "Registrar" and its required trust relation with EST server as described in Section 5 of <xref target="RFC9148"/> is not applicable.</t>
      <t>The mappings between CoAP and HTTP referred to in Section 8.1 of <xref target="RFC9148"/> apply, and additional mappings resulting from the use of OSCORE are specified in Section 11 of <xref target="RFC8613"/>.</t>
      <t>OSCORE provides end-to-end security between EST Server and EST Client.
If a secure association is needed between the EST Client and the CoAP-to-HTTP Proxy, this may also rely on OSCORE <xref target="I-D.tiloca-core-oscore-capable-proxies"/>.</t>
      <figure anchor="fig-proxy">
        <name>CoAP-to-HTTP proxy at the CoAP boundary.</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="520" viewBox="0 0 520 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,48 L 8,80" fill="none" stroke="black"/>
              <path d="M 16,112 L 16,160" fill="none" stroke="black"/>
              <path d="M 72,112 L 72,160" fill="none" stroke="black"/>
              <path d="M 88,48 L 88,80" fill="none" stroke="black"/>
              <path d="M 152,112 L 152,160" fill="none" stroke="black"/>
              <path d="M 272,48 L 272,104" fill="none" stroke="black"/>
              <path d="M 272,200 L 272,240" fill="none" stroke="black"/>
              <path d="M 296,112 L 296,160" fill="none" stroke="black"/>
              <path d="M 384,112 L 384,144" fill="none" stroke="black"/>
              <path d="M 480,112 L 480,144" fill="none" stroke="black"/>
              <path d="M 512,48 L 512,240" fill="none" stroke="black"/>
              <path d="M 8,48 L 88,48" fill="none" stroke="black"/>
              <path d="M 272,48 L 512,48" fill="none" stroke="black"/>
              <path d="M 8,80 L 88,80" fill="none" stroke="black"/>
              <path d="M 16,112 L 72,112" fill="none" stroke="black"/>
              <path d="M 152,112 L 296,112" fill="none" stroke="black"/>
              <path d="M 384,112 L 480,112" fill="none" stroke="black"/>
              <path d="M 80,128 L 144,128" fill="none" stroke="black"/>
              <path d="M 304,128 L 376,128" fill="none" stroke="black"/>
              <path d="M 384,144 L 480,144" fill="none" stroke="black"/>
              <path d="M 16,160 L 72,160" fill="none" stroke="black"/>
              <path d="M 152,160 L 296,160" fill="none" stroke="black"/>
              <path d="M 48,192 L 440,192" fill="none" stroke="black"/>
              <path d="M 272,240 L 512,240" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="448,192 436,186.4 436,197.6" fill="black" transform="rotate(0,440,192)"/>
              <polygon class="arrowhead" points="384,128 372,122.4 372,133.6" fill="black" transform="rotate(0,376,128)"/>
              <polygon class="arrowhead" points="312,128 300,122.4 300,133.6" fill="black" transform="rotate(180,304,128)"/>
              <polygon class="arrowhead" points="152,128 140,122.4 140,133.6" fill="black" transform="rotate(0,144,128)"/>
              <polygon class="arrowhead" points="88,128 76,122.4 76,133.6" fill="black" transform="rotate(180,80,128)"/>
              <polygon class="arrowhead" points="56,192 44,186.4 44,197.6" fill="black" transform="rotate(180,48,192)"/>
              <g class="text">
                <text x="364" y="36">Constrained-Node</text>
                <text x="464" y="36">Network</text>
                <text x="44" y="68">CA</text>
                <text x="48" y="100">|</text>
                <text x="108" y="116">HTTP</text>
                <text x="340" y="116">CoAP</text>
                <text x="40" y="132">EST</text>
                <text x="220" y="132">CoAP-to-HTTP</text>
                <text x="408" y="132">EST</text>
                <text x="452" y="132">Client</text>
                <text x="44" y="148">Server</text>
                <text x="112" y="148">(TLS)</text>
                <text x="224" y="148">Proxy</text>
                <text x="272" y="180">|</text>
                <text x="204" y="212">OSCORE</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
                                       Constrained-Node Network
  .---------.                      .-----------------------------.
  |   CA    |                      |                             |
  '---------'                      |                             |
       |                           |                             |
   .------.  HTTP   .-----------------.   CoAP   .-----------.   |
   | EST  |<------->|  CoAP-to-HTTP   |<-------->| EST Client|   |
   |Server|  (TLS)  |      Proxy      |          '-----------'   |
   '------'         '-----------------'                          |
                                   |                             |
       <------------------------------------------------>        |
                        OSCORE     |                             |
                                   |                             |
                                   '-----------------------------'
]]></artwork>
        </artset>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="server-generated-private-keys">
        <name>Server-generated Private Keys</name>
        <t>This document enables the EST client to request generation of private keys and the enrollment of the corresponding public key through /skg and /skc functions.
As discussed in <xref section="9" sectionFormat="of" target="RFC9148"/>, the transport of private keys generated at EST-server is inherently risky.
The use of server-generated private keys may lead to the increased probability of digital identity theft.
Therefore, implementations SHOULD NOT use server-generated private key EST functions.</t>
        <t>A cryptographically secure pseudo-random number generator is required to be available to generate good quality private keys on EST-clients.
A cryptographically secure pseudo-random number generator is also a dependency of many security protocols.
This includes the EDHOC protocol, which EST-oscore uses for the mutual authentication of EST-client and EST-server.
If EDHOC is used and a secure pseudo-random number generator is available, the EST-client MUST NOT use server-generated private key EST functions.
However, EST-oscore also allows pre-shared OSCORE contexts to be used for authentication, meaning that EDHOC may not necessarily be required in the protocol stack of an EST-client.
If EDHOC is not used for authentication, and the EST-client device does not have a cryptographically secure pseudo-random number generator, then the EST-client MAY use the server-generated private key functions.</t>
        <t>Although hardware random number generators are becoming dominantly present in modern IoT devices, it has been shown that many available hardware modules contain vulnerabilities and do not produce cryptographically secure random numbers.
It is therefore important to use multiple randomness sources to seed the cryptographically secure pseudo-random number generator.</t>
      </section>
      <section anchor="considerations-on-channel-binding">
        <name>Considerations on Channel Binding</name>
        <t><xref section="3" sectionFormat="of" target="RFC9148"/> specifies that the use of connection-based channel binding is optional, and achieves it by including the tls-unique value in the CSR.
As a special case, this specification when used with EDHOC for the enrollment of static DH keys achieves connection-based channel binding by using the EDHOC ephemeral key of the responder as the public key in the proof-of-possession algorithm which generates a PKCS#10 MAC.
Therefore, connection-based channel binding is in this case achieved without any additional overhead.</t>
        <t>Other cases include pre-shared OSCORE contexts and the case where the signature key used for signing the CSR is different from the key used in the EDHOC run.
In these other cases, this specification makes explicit channel binding based on the challengePassword attribute in PKCS#10 requests OPTIONAL.
For example, the challengePassword attribute could be used for freshness in the case of pre-shared OSCORE contexts and a re-enrollment request.</t>
        <t>EST-servers MUST support the challengePassword attribute in PKCS#10 requests.
How challengePassword is processed is outside of the scope of this specification and can be specified by an application profile.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document does not require any IANA registrations.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative 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="RFC6955" target="https://www.rfc-editor.org/info/rfc6955" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6955.xml">
          <front>
            <title>Diffie-Hellman Proof-of-Possession Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="H. Prafullchandra" initials="H." surname="Prafullchandra"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>This document describes two methods for producing an integrity check value from a Diffie-Hellman key pair and one method for producing an integrity check value from an Elliptic Curve key pair. This behavior is needed for such operations as creating the signature of a Public-Key Cryptography Standards (PKCS) #10 Certification Request. These algorithms are designed to provide a Proof-of-Possession of the private key and not to be a general purpose signing algorithm.</t>
              <t>This document obsoletes RFC 2875.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6955"/>
          <seriesInfo name="DOI" value="10.17487/RFC6955"/>
        </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="RFC7252" target="https://www.rfc-editor.org/info/rfc7252" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7252.xml">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <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="RFC7925" target="https://www.rfc-editor.org/info/rfc7925" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7925.xml">
          <front>
            <title>Transport Layer Security (TLS) / Datagram Transport Layer Security (DTLS) Profiles for the Internet of Things</title>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>A common design pattern in Internet of Things (IoT) deployments is the use of a constrained device that collects data via sensors or controls actuators for use in home automation, industrial control systems, smart cities, and other IoT deployments.</t>
              <t>This document defines a Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) 1.2 profile that offers communications security for this data exchange thereby preventing eavesdropping, tampering, and message forgery. The lack of communication security is a common vulnerability in IoT products that can easily be solved by using these well-researched and widely deployed Internet security protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7925"/>
          <seriesInfo name="DOI" value="10.17487/RFC7925"/>
        </reference>
        <reference anchor="RFC7959" target="https://www.rfc-editor.org/info/rfc7959" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7959.xml">
          <front>
            <title>Block-Wise Transfers in the Constrained Application Protocol (CoAP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="Z. Shelby" initials="Z." role="editor" surname="Shelby"/>
            <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="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="RFC8613" target="https://www.rfc-editor.org/info/rfc8613" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8613.xml">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <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="RFC9148" target="https://www.rfc-editor.org/info/rfc9148" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9148.xml">
          <front>
            <title>EST-coaps: Enrollment over Secure Transport with the Secure Constrained Application Protocol</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Raza" initials="S." surname="Raza"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>Enrollment over Secure Transport (EST) is used as a certificate provisioning protocol over HTTPS. Low-resource devices often use the lightweight Constrained Application Protocol (CoAP) for message exchanges. This document defines how to transport EST payloads over secure CoAP (EST-coaps), which allows constrained devices to use existing EST functionality for provisioning certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9148"/>
          <seriesInfo name="DOI" value="10.17487/RFC9148"/>
        </reference>
        <reference anchor="RFC9528" target="https://www.rfc-editor.org/info/rfc9528" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9528.xml">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <date month="March" year="2024"/>
            <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 Object Security for Constrained RESTful Environments (OSCORE) security context. By reusing CBOR Object Signing and Encryption (COSE) for cryptography, Concise Binary Object Representation (CBOR) for encoding, and Constrained Application Protocol (CoAP) for transport, the additional code size can be kept very low.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9528"/>
          <seriesInfo name="DOI" value="10.17487/RFC9528"/>
        </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="RFC9147" target="https://www.rfc-editor.org/info/rfc9147" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9147.xml">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="RFC9360" target="https://www.rfc-editor.org/info/rfc9360" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9360.xml">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
        <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="RFC9668" target="https://www.rfc-editor.org/info/rfc9668" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9668.xml">
          <front>
            <title>Using Ephemeral Diffie-Hellman Over COSE (EDHOC) with the Constrained Application Protocol (CoAP) and Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="M. Tiloca" initials="M." surname="Tiloca"/>
            <author fullname="R. Höglund" initials="R." surname="Höglund"/>
            <author fullname="S. Hristozov" initials="S." surname="Hristozov"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <date month="November" year="2024"/>
            <abstract>
              <t>The lightweight authenticated key exchange protocol Ephemeral Diffie-Hellman Over COSE (EDHOC) can be run over the Constrained Application Protocol (CoAP) and used by two peers to establish a Security Context for the security protocol Object Security for Constrained RESTful Environments (OSCORE). This document details this use of the EDHOC protocol by specifying a number of additional and optional mechanisms, including an optimization approach for combining the execution of EDHOC with the first 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="RFC" value="9668"/>
          <seriesInfo name="DOI" value="10.17487/RFC9668"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert" target="https://datatracker.ietf.org/doc/html/draft-ietf-cose-cbor-encoded-cert-12" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cose-cbor-encoded-cert.xml">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza" initials="S." surname="Raza">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund" initials="J." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>Nexus Group</organization>
            </author>
            <date day="8" month="January" year="2025"/>
            <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% while also significantly reducing memory and code size compared to ASN.1. 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 Certificate Signing Requests, 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-12"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5272" target="https://www.rfc-editor.org/info/rfc5272" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5272.xml">
          <front>
            <title>Certificate Management over CMS (CMC)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>This document defines the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This protocol addresses two immediate needs within the Internet Public Key Infrastructure (PKI) community:</t>
              <t>1. The need for an interface to public key certification products and services based on CMS and PKCS #10 (Public Key Cryptography Standard), and</t>
              <t>2. The need for a PKI enrollment protocol for encryption only keys due to algorithm or hardware design.</t>
              <t>CMC also requires the use of the transport document and the requirements usage document along with this document for a full definition. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5272"/>
          <seriesInfo name="DOI" value="10.17487/RFC5272"/>
        </reference>
        <reference anchor="RFC6024" target="https://www.rfc-editor.org/info/rfc6024" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6024.xml">
          <front>
            <title>Trust Anchor Management Requirements</title>
            <author fullname="R. Reddy" initials="R." surname="Reddy"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>A trust anchor represents an authoritative entity via a public key and associated data. The public key is used to verify digital signatures, and the associated data is used to constrain the types of information for which the trust anchor is authoritative. A relying party uses trust anchors to determine if a digitally signed object is valid by verifying a digital signature using the trust anchor's public key, and by enforcing the constraints expressed in the associated data for the trust anchor. This document describes some of the problems associated with the lack of a standard trust anchor management mechanism and defines requirements for data formats and push-based protocols designed to address these problems. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6024"/>
          <seriesInfo name="DOI" value="10.17487/RFC6024"/>
        </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="RFC7030" target="https://www.rfc-editor.org/info/rfc7030" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7030.xml">
          <front>
            <title>Enrollment over Secure Transport</title>
            <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin"/>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport. This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates. It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7030"/>
          <seriesInfo name="DOI" value="10.17487/RFC7030"/>
        </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="I-D.ietf-core-oscore-groupcomm" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-oscore-groupcomm-24" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-oscore-groupcomm.xml">
          <front>
            <title>Group Object Security for Constrained RESTful Environments (Group OSCORE)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="8" month="February" year="2025"/>
            <abstract>
              <t>This document defines the security protocol Group Object Security for Constrained RESTful Environments (Group OSCORE), providing end-to-end security of CoAP messages exchanged between members of a group, e.g., sent over IP multicast. In particular, the described protocol defines how OSCORE is used in a group communication setting to provide source authentication for CoAP group requests, sent by a client to multiple servers, and for protection of the corresponding CoAP responses. Group OSCORE also defines a pairwise mode where each member of the group can efficiently derive a symmetric pairwise key with any other member of the group for pairwise OSCORE communication. Group OSCORE can be used between endpoints communicating with CoAP or CoAP-mappable HTTP.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-groupcomm-24"/>
        </reference>
        <reference anchor="I-D.tiloca-core-oscore-capable-proxies" target="https://datatracker.ietf.org/doc/html/draft-tiloca-core-oscore-capable-proxies-07" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.tiloca-core-oscore-capable-proxies.xml">
          <front>
            <title>OSCORE-capable Proxies</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>Object Security for Constrained RESTful Environments (OSCORE) can be used to protect CoAP messages end-to-end between two endpoints at the application layer, also in the presence of intermediaries such as proxies. This document defines how to use OSCORE for protecting CoAP messages also between an origin application endpoint and an intermediary, or between two intermediaries. Also, it defines how to secure a CoAP message by applying multiple, nested OSCORE protections, e.g., both end-to-end between origin application endpoints, as well as between an application endpoint and an intermediary or between two intermediaries. Thus, this document updates RFC 8613. The same approach can be seamlessly used with Group OSCORE, for protecting CoAP messages when group communication with intermediaries is used.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tiloca-core-oscore-capable-proxies-07"/>
        </reference>
        <reference anchor="SP-800-57" target="https://doi.org/10.6028/NIST.SP.800-57pt1r5">
          <front>
            <title>Recommendation for Key Management</title>
            <author initials="E." surname="Barker">
              <organization/>
            </author>
            <date year="2020" month="May"/>
          </front>
          <seriesInfo name="NIST" value="Special Publication 800-57 Revision 5"/>
        </reference>
        <reference anchor="SP-800-56A" target="https://doi.org/10.6028/NIST.SP.800-56Ar3">
          <front>
            <title>Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography</title>
            <author initials="E." surname="Barker">
              <organization/>
            </author>
            <author initials="L." surname="Chen">
              <organization/>
            </author>
            <author initials="A." surname="Roginsky">
              <organization/>
            </author>
            <author initials="A." surname="Vassilev">
              <organization/>
            </author>
            <author initials="R." surname="Davis">
              <organization/>
            </author>
            <date year="2018" month="April"/>
          </front>
          <seriesInfo name="NIST" value="Special Publication 800-56A Revision 3"/>
        </reference>
      </references>
    </references>
    <?line 502?>

<section anchor="example-enrollment-with-optimizations">
      <name>Example Enrollment With Optimizations</name>
      <t>The message flow starts with the EST client sending EDHOC message_1.
The EDHOC handshake follows and concludes with the EDHOC message_3.
EDHOC message_3 is carried in the same message as the OSCORE enrollment request, as specified in <xref target="RFC9668"/>.
The OSCORE enrollment request contains a CoAP POST to the /sen endpoint.
This POST request includes the Content-Format option set to the value application/cose-c509-pkcs10, and the Accept option set to the value application/cose-c509-cert, indicating the support for CBOR-encoded objects.
In response, the client receives the application/cose-c509-cert object which contains the certificate.</t>
      <figure anchor="fig-sen-optimizations">
        <name>Enrollment EST-oscore flow with optimizations.</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="320" viewBox="0 0 320 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,48 L 8,336" fill="none" stroke="black"/>
              <path d="M 312,48 L 312,336" fill="none" stroke="black"/>
              <path d="M 8,80 L 304,80" fill="none" stroke="black"/>
              <path d="M 16,112 L 312,112" fill="none" stroke="black"/>
              <path d="M 8,176 L 304,176" fill="none" stroke="black"/>
              <path d="M 16,288 L 312,288" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
              <polygon class="arrowhead" points="312,80 300,74.4 300,85.6" fill="black" transform="rotate(0,304,80)"/>
              <polygon class="arrowhead" points="24,288 12,282.4 12,293.6" fill="black" transform="rotate(180,16,288)"/>
              <polygon class="arrowhead" points="24,112 12,106.4 12,117.6" fill="black" transform="rotate(180,16,112)"/>
              <g class="text">
                <text x="16" y="36">EST</text>
                <text x="60" y="36">Client</text>
                <text x="248" y="36">EST</text>
                <text x="292" y="36">Server</text>
                <text x="72" y="68">EDHOC</text>
                <text x="136" y="68">message_1</text>
                <text x="72" y="100">EDHOC</text>
                <text x="136" y="100">message_2</text>
                <text x="72" y="132">EDHOC</text>
                <text x="136" y="132">message_3</text>
                <text x="112" y="148">+</text>
                <text x="76" y="164">OSCORE</text>
                <text x="136" y="164">request</text>
                <text x="180" y="164">to</text>
                <text x="212" y="164">/sen</text>
                <text x="116" y="196">POST</text>
                <text x="220" y="196">/.well-known/est/sen</text>
                <text x="128" y="212">Accept:</text>
                <text x="180" y="212">TBD6</text>
                <text x="160" y="228">Content-Format:</text>
                <text x="244" y="228">TBD7</text>
                <text x="132" y="244">Payload:</text>
                <text x="212" y="244">Serialized</text>
                <text x="276" y="244">TBD7</text>
                <text x="76" y="276">OSCORE</text>
                <text x="140" y="276">response</text>
                <text x="116" y="308">2.04</text>
                <text x="168" y="308">Changed</text>
                <text x="160" y="324">Content-Format:</text>
                <text x="244" y="324">TBD6</text>
                <text x="132" y="340">Payload:</text>
                <text x="212" y="340">Serialized</text>
                <text x="276" y="340">TBD6</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
EST Client                   EST Server
|                                     |
|     EDHOC message_1                 |
+------------------------------------>|
|     EDHOC message_2                 |
|<------------------------------------+
|     EDHOC message_3                 |
|            +                        |
|     OSCORE request to /sen          |
+------------------------------------>|
|           POST /.well-known/est/sen |
|           Accept: TBD6              |
|           Content-Format: TBD7      |
|           Payload: Serialized TBD7  |
|                                     |
|     OSCORE response                 |
|<------------------------------------+
|           2.04 Changed              |
|           Content-Format: TBD6      |
|           Payload: Serialized TBD6  |

]]></artwork>
        </artset>
      </figure>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank
<contact fullname="Marco Tiloca"/>, and
<contact fullname="John Mattsson"/>
for providing a review of the document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
LYQAAA==

-->

</rfc>
