<?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.7 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-coap-est-oscore-04" category="std" consensus="true" submissionType="IETF" tocDepth="2" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="EST-oscore">Protecting EST Payloads with OSCORE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ace-coap-est-oscore-04"/>
    <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="2024" month="March" day="04"/>
    <area>Security</area>
    <workgroup>ACE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 111?>

<t>This document specifies public-key certificate enrollment procedures protected with lightweight application-layer security protocols suitable for Internet of Things (IoT) deployments.
The protocols leverage payload formats defined in Enrollment over Secure Transport (EST) and existing IoT standards including the Constrained Application Protocol (CoAP), Concise Binary Object Representation (CBOR), and the CBOR Object Signing and Encryption (COSE) format.</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 117?>

<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 or HTTP 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.
Hence EST payloads can be protected end-to-end independent of the underlying transport and through proxies translating between 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>In order to protect certificate enrollment with OSCORE, the necessary keying material (notably, the OSCORE Master Secret, see <xref target="RFC8613"/>) needs to be established between the EST-oscore client and EST-oscore server.
For this purpose we assume by default the use of the lightweight authenticated key exchange protocol EDHOC <xref target="I-D.ietf-lake-edhoc"/>, although pre-shared OSCORE keying material would also be an option.</t>
      <t>Other ways to optimize the performance of certificate enrollment and certificate based authentication described in this draft include the use of:</t>
      <ul spacing="normal">
        <li>
          <t>Compact representations of X.509 certificates (see <xref target="I-D.ietf-cose-cbor-encoded-cert"/>)</t>
        </li>
        <li>
          <t>Certificates by reference (see <xref target="RFC9360"/>)</t>
        </li>
        <li>
          <t>Compact, CBOR representations of EST payloads (see <xref target="I-D.ietf-cose-cbor-encoded-cert"/>)</t>
        </li>
      </ul>
      <section anchor="operational">
        <name>Operational Differences with EST-coaps</name>
        <t>The protection of EST payloads defined in this document builds on EST-coaps <xref target="RFC9148"/> but transport layer security is replaced, or complemented, by protection of the transfer- and application layer data (i.e., CoAP message fields and payload).
This specification deviates from EST-coaps in the following respects:</t>
        <ul spacing="normal">
          <li>
            <t>The DTLS record layer is replaced by, or complemented with, OSCORE.</t>
          </li>
          <li>
            <t>The DTLS handshake is replaced by, or complemented with, the lightweight authenticated key exchange protocol EDHOC <xref target="I-D.ietf-lake-edhoc"/>, and makes use of the following features:
            </t>
            <ul spacing="normal">
              <li>
                <t>Authentication based on certificates is complemented with authentication based on raw public keys.</t>
              </li>
              <li>
                <t>Authentication based on signature keys is complemented with authentication based on static Diffie-Hellman keys, for certificates/raw public keys.</t>
              </li>
              <li>
                <t>Authentication based on certificate by value is complemented with authentication based on certificate/raw public keys by reference.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The EST payloads protected by OSCORE can be proxied between constrained networks supporting CoAP/CoAPs 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>
        <t>So, while the same authentication scheme (Diffie-Hellman key exchange authenticated with transported certificates) and the same EST payloads as EST-coaps also apply to EST-oscore, the latter specifies other authentication schemes.
The reason for these deviations is that a significant overhead can be removed in terms of message sizes and round trips by using a different handshake, public key type or transported credential, and those are independent of the actual enrollment procedure.</t>
      </section>
    </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 signature keys, this document also specifies how to enroll static DH keys.
Instead of signing, possession of the private static DH key may be proved by generating a MAC given the recipients public DH key.
Therefore this document extends the definition of the term "Trust Anchor" in a sense that its public key can also be used for MAC generation for static DH proof of possession procedures defined.</t>
    </section>
    <section anchor="authentication">
      <name>Authentication</name>
      <t>This specification replaces, or complements, the DTLS handshake in EST-coaps with the lightweight authenticated key exchange protocol EDHOC <xref target="I-D.ietf-lake-edhoc"/>.
During initial enrollment, the EST-oscore client and server run EDHOC <xref target="I-D.ietf-lake-edhoc"/> to authenticate and establish the OSCORE Security Context used to protect the messages conveying EST payloads.</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="I-D.ietf-lake-edhoc"/>.</t>
      <t>The server must also provide relevant information to the CA for decision about issuing a certificate.</t>
      <section anchor="edhoc">
        <name>EDHOC</name>
        <t>EDHOC supports authentication with certificates/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 to 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.
During the initial enrollment the client SHOULD populate its Explicit TA database and use it for subsequent authentications.</t>
        <t>The EST client 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"/>.</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>
        <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 enrolment request and response) in two round trips <xref target="I-D.ietf-core-oscore-edhoc"/>.</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 enrolment 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>
        </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 <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 complemented by or replaced with EDHOC <xref target="I-D.ietf-lake-edhoc"/>.
<xref target="fig-stack"/> below shows the layered EST-oscore architecture.
Note that <xref target="fig-stack"/> does not illustrate the potential use of DTLS.
Protocol design also allows that OSCORE and EDHOC messages are carried within the same CoAP message, as per <xref target="I-D.ietf-core-oscore-edhoc"/>.</t>
      <figure anchor="fig-stack">
        <name>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.</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.
In scenarios where OSCORE and DTLS are combined, the absence of the "osc" attribute might wrongly suggest that the EST server is actually using EST-coaps, because of the scheme "coaps", when it is using EST-oscore.</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 Explicit TA.</t>
          <t>A trust anchor is commonly a self-signed certificate of the CA public key.
In order to reduce transport overhead, the trust anchor could be just the CA public key and associated data (see <xref target="terminology"/>), e.g., the SubjectPublicKeyInfo, or a public key certificate without the signature.
In either case they can be compactly encoded, e.g. using CBOR encoding <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</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.</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>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.</t>
          <t>EDITOR NOTE: Specify the CDDL structure of /csrattrs and point to appropriate document for its semantics.</t>
          <t>In the case of CBOR-encoded request to /skg, the two parts of the response are also CBOR encoded.
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-key (Content-Format identifier 101).
EDITOR NOTE: Align the private key container with issue #150 in the c509 github page.
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">101</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</t>
          </li>
          <li>
            <t>The endpoints supports the following CoAP options: OSCORE, Uri-Host, Uri-Path, Uri-Port, Content-Format, Block1, Block2, and Accept.</t>
          </li>
          <li>
            <t>The EST URLs based on https:// are translated to coap://, but with mandatory use of the CoAP OSCORE option.
In case DTLS is additionally used, the translation target is the scheme "coaps", instead of "coap".</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="I-D.ietf-lake-edhoc"/>).
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 IP 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.
EST-oscore servers MUST implement Block1 and Block2.
EST-oscore clients MUST implement Block2 and MAY implement Block1.</t>
      </section>
      <section anchor="delayed-responses">
        <name>Delayed Responses</name>
        <t>See Section 4.7 in <xref target="RFC9148"/>.</t>
      </section>
      <section anchor="static-dh-keys">
        <name>Enrollment of 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 SHOULD 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>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="I-D.ietf-core-oscore-edhoc"/>, 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="I-D.ietf-core-oscore-edhoc"/>, the client has already in EDHOC message_2 obtained the ephemeral key G_Y of the server.</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>
      </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 Section 11 of <xref 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.
The additional use of TLS and DTLS is optional.
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="340" y="148">(DTLS)</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      |  (DTLS)  '-----------'   |
   '------'         '-----------------'                          |
                                   |                             |
       <------------------------------------------------>        |
                        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.
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.
In other cases, including pre-shared OSCORE contexts, this specification makes explicit channel binding based on the challengePassword attribute in PKCS#10 requests OPTIONAL.
The challengePassword attribute could be used for freshness in the case of pre-shared OSCORE contexts and a re-enrollment request.
How challengePassword is generated 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>
      <section anchor="edhoc-exporter-label-registry">
        <name>EDHOC Exporter Label Registry</name>
        <t>IANA is requested to register the following entry in the "EDHOC Exporter Label" registry under the group name "Ephemeral Diffie-Hellman Over COSE (EDHOC).</t>
        <table anchor="table_exporter_label">
          <name>EDHOC Exporter Label.</name>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Description</th>
              <th align="left">Response</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD4</td>
              <td align="left">EDHOC unique</td>
              <td align="left">[[this document]]</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Marco Tiloca and John Mattsson for providing a review of the document.</t>
    </section>
  </middle>
  <back>
    <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="RFC5869" target="https://www.rfc-editor.org/info/rfc5869" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5869.xml">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5869"/>
          <seriesInfo name="DOI" value="10.17487/RFC5869"/>
        </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="I-D.ietf-lake-edhoc" target="https://datatracker.ietf.org/doc/html/draft-ietf-lake-edhoc-23" 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="22" month="January" 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 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-23"/>
        </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="RFC2985" target="https://www.rfc-editor.org/info/rfc2985" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2985.xml">
          <front>
            <title>PKCS #9: Selected Object Classes and Attribute Types Version 2.0</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #9 v2.0 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from that specification. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2985"/>
          <seriesInfo name="DOI" value="10.17487/RFC2985"/>
        </reference>
        <reference anchor="RFC2986" target="https://www.rfc-editor.org/info/rfc2986" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2986.xml">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <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="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC5914" target="https://www.rfc-editor.org/info/rfc5914" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5914.xml">
          <front>
            <title>Trust Anchor Format</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="S. Ashmore" initials="S." surname="Ashmore"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document describes a structure for representing trust anchor information. A trust anchor is an authoritative entity represented by 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 or actions for which the trust anchor is authoritative. The structures defined in this document are intended to satisfy the format-related requirements defined in Trust Anchor Management Requirements. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5914"/>
          <seriesInfo name="DOI" value="10.17487/RFC5914"/>
        </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="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="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="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="RFC7627" target="https://www.rfc-editor.org/info/rfc7627" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7627.xml">
          <front>
            <title>Transport Layer Security (TLS) Session Hash and Extended Master Secret Extension</title>
            <author fullname="K. Bhargavan" initials="K." role="editor" surname="Bhargavan"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="A. Pironti" initials="A." surname="Pironti"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="M. Ray" initials="M." surname="Ray"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>The Transport Layer Security (TLS) master secret is not cryptographically bound to important session parameters such as the server certificate. Consequently, it is possible for an active attacker to set up two sessions, one with a client and another with a server, such that the master secrets on the two sessions are the same. Thereafter, any mechanism that relies on the master secret for authentication, including session resumption, becomes vulnerable to a man-in-the-middle attack, where the attacker can simply forward messages back and forth between the client and server. This specification defines a TLS extension that contextually binds the master secret to a log of the full handshake that computes it, thus preventing such attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7627"/>
          <seriesInfo name="DOI" value="10.17487/RFC7627"/>
        </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="I-D.ietf-core-oscore-groupcomm" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-oscore-groupcomm-20" 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="Jiye Park" initials="J." surname="Park">
              <organization>Universitaet Duisburg-Essen</organization>
            </author>
            <date day="2" month="September" year="2023"/>
            <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-20"/>
        </reference>
        <reference anchor="I-D.ietf-core-oscore-edhoc" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-oscore-edhoc-10" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-oscore-edhoc.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="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson</organization>
            </author>
            <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>
            <author fullname="Stefan Hristozov" initials="S." surname="Hristozov">
              <organization>Fraunhofer AISEC</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson</organization>
            </author>
            <date day="29" month="November" year="2023"/>
            <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. These especially include 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="Internet-Draft" value="draft-ietf-core-oscore-edhoc-10"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert" target="https://datatracker.ietf.org/api/v1/doc/document/draft-ietf-cose-cbor-encoded-cert/" 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"/>
            <author fullname="Göran Selander"/>
            <author fullname="Shahid Raza"/>
            <author fullname="Joel Höglund"/>
            <author fullname="Martin Furuhed"/>
            <date day="4" month="March" year="2024"/>
            <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-09"/>
        </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>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA91963YbSXLmfzxFLvWjSRsALxIpiTM902iSanFbF1pke9bH
46NTKCSAMgtVmMoCKQyl/etffgf7JfwAXu97bdzyVlUgKc3M2dnl6dMiUZWZ
kZmREV9cMjAYDHp1Vuf6WF1UZa3TOitm6uzySl0k67xMJkbdZvVcvb88ef/h
rJeMx5W+OcYXBqVJy0r3JmVaJAtoP6mSaT3IdD0dJKkepGWyHGhTy3uDvWe9
XrasjlVdrUx9sLf3cu+glyb1sTL1pGdW40VmTFYW9XoJnZ2fXb3qJZVOjtWl
TldVVq97t2V1PavK1fJYjU7O1O/gTyT2J/yod63X8HwCLYtaV4WuB6dITy8t
J/DSsVoBWS96y+xYPVFpUqiV0SqpqmSttrOpSvJcrbXZUWWl5omZq7mGqSlV
l+kxPoBfTVnVlZ4a9/d6Ef4Jb070sp4fq4NeL1nV87I6ho/xZyD/KpUV8P5P
Q5hSnhQTXbkHvII//a//qIC01tOyggmcVVlqTFmo0Y/ugV4kWX6sZiU0Gxpp
9oOWN4dpuegm4XKoPiR/TBrDX86TeTaJn9DQH84vz5pjGnp5WMHLP1QZDN49
0tuherWqVnM9aQz2NqmA1VoPabx3+tPKNAdcUIPhlBv8UOA7xA2bpwmD//3q
v/41K7L/+pfW8Hn2v/896XhOFJwXVZa0KcgzkwxvVim0SH/I8J3htOoe+2qo
TvJEr01j4KtsUdbzdfOhDFHz02FKT3+Y4ac0v16vKKtFUmc3+rgHrT68OjnY
3395zL8evjiyvx69PDyUX1+8fGY/fX5weGB/fXlw6H49tC+83HMvwK9PbQ9H
+087Xth/9gJ/PR+cDum458m1HujJHA4LnPFi2qL05Qs7JPx6ZIk+eH7gfn2x
Z3+F3u1U9g6e+SGfu6kcvLC/7j3dc+Q93bdEP3tmh3h+dGCbvXx6tBcRTUJJ
ZBPxESzzYuMbMrvoqQEhNy6rgS5AyOjJINVVbV+ps7xMk6iLNFkm41wPllX5
KdOGFufyYvBib29w+JxlRZ1UMw0ScV7XS3O8uzspsyHw4+7+3hAW48Xuu/PL
q+HlxZDbLOv96pDbsQT/oHEOupjA6oOggH1QP+s18HqRzDR8XtPLBuSDNrhN
VkBtYb9bx2rrcqnTLMnVxWqcZyn3wmNB3zcZimd1uEWt7hVxZ0P1Y1JdiwgD
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
qkC76VvLQ3YW8pWY03w1nfb+D/8M+44dfQAA

-->

</rfc>
