<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.36 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-coap-est-oscore-02" category="std" consensus="true" submissionType="IETF" tocDepth="2" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="EST-oscore">Protecting EST Payloads with OSCORE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ace-coap-est-oscore-02"/>
    <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="2023" month="July" day="09"/>
    <area>Security</area>
    <workgroup>ACE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 87?>

<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 93?>

<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="RFC6347"/> <xref target="RFC9147"/>, instead of HTTP <xref target="RFC9110"/> <xref target="RFC9112"/> 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>Compact representations of X.509 certificates (see <xref target="I-D.ietf-cose-cbor-encoded-cert"/>)</li>
        <li>Certificates by reference (see <xref target="I-D.ietf-cose-x509"/>)</li>
        <li>Compact, CBOR representations of EST payloads (see <xref target="I-D.ietf-cose-cbor-encoded-cert"/>)</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>The DTLS record layer is replaced by, or complemented with, OSCORE.</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>Authentication based on certificates is complemented with  authentication based on raw public keys.</li>
              <li>Authentication based on signature keys is complemented with authentication based on static Diffie-Hellman keys, for certificates/raw public keys.</li>
              <li>Authentication based on certificate by value is complemented with authentication based on certificate/raw public keys by reference.</li>
            </ul>
          </li>
          <li>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.</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 and a new matching EST function.
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", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/>.
These words may also appear in this document in lowercase, absent their normative meanings.</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."
One example of specifying more compact alternatives to X.509 certificates for exchanging trust anchor information is provided by the TrustAnchorInfo structure of <xref target="RFC5914"/>, the mandatory parts of which essentially is the SubjectPublicKeyInfo structure <xref target="RFC5280"/>, i.e., an algorithm identifier followed by a public key.</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="I-D.ietf-cose-x509"/>) 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.
In this case 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 signature key, a proof-of-possession is generated by the client when it signs the PKCS#10 Request during the enrollment phase.
Connection-based proof-of-possession is OPTIONAL for EST-oscore clients and servers, and it is supported when EDHOC is executed prior to enrollment.
Connection-based proof-of-possession is not supported when pre-shared OSCORE context is used.</t>
        <t>When EDHOC is executed prior to enrollment, the client can use the EDHOC_Exporter API to extract channel-binding information and provide a connection-based proof-of possession.
Channel-binding information is obtained as follows</t>
        <t>edhoc-unique = EDHOC_Exporter(TBD1, "EDHOC Unique", length),</t>
        <t>where TBD1 is a registered label from the EDHOC Exporter Label registry, length equals the desired length of the edhoc-unique byte string.
Unless otherwise indicated by an application profile, the length SHOULD be set to 32 bytes.
The client then adds the edhoc-unique byte string as a challengePassword (see Section 5.4.1 of <xref target="RFC2985"/>) in the attributes section of the PKCS#10 Request <xref target="RFC2986"/> to prove to the server that the authenticated EDHOC client is in possession of the private key associated with the certification request, and signed the certification request after the EDHOC session was established.</t>
      </section>
      <section anchor="optimizations">
        <name>Optimizations</name>
        <ul spacing="normal">
          <li>The last 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"/>.</li>
          <li>The certificates MAY be compressed, e.g., using the CBOR encoding defined in <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</li>
          <li>The client certificate MAY be referenced instead of transported <xref target="I-D.ietf-cose-x509"/>.
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.</li>
          <li>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.</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.</t>
      <figure anchor="fig-stack">
        <name>EST protected with OSCORE.</name>
        <artwork align="center"><![CDATA[
             +----------------+
             |  EST messages  |
+------------+----------------+
|    EDHOC   |    OSCORE      |
+------------+----------------+
|       CoAP or HTTP          |
+-----------------------------+
|        UDP or TCP           |
+-----------------------------+

]]></artwork>
      </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 the ASN.1 structure of a given Media-Type in binary format.
In addition, EST-oscore uses the same CoAP Content-Format identifiers when transferring EST requests and responses.
<xref target="table_mediatypes"/> summarizes the information from Section 4.3 in <xref target="RFC9148"/>.</t>
        <table anchor="table_mediatypes">
          <name>EST functions and the associated CoAP Content-Format identifiers</name>
          <thead>
            <tr>
              <th align="left">URI</th>
              <th align="left">Content-Format</th>
              <th align="left">#IANA</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">/crts</td>
              <td align="left">N/A                                            (req)</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">application/pkix-cert                          (res)</td>
              <td align="left">287</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">application/pkcs-7-mime;smime-type=certs-only  (res)</td>
              <td align="left">281</td>
            </tr>
            <tr>
              <td align="left">/sen</td>
              <td align="left">application/pkcs10                             (req)</td>
              <td align="left">286</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">application/pkix-cert                          (res)</td>
              <td align="left">287</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">application/pkcs-7-mime;smime-type=certs-only  (res)</td>
              <td align="left">281</td>
            </tr>
            <tr>
              <td align="left">/sren</td>
              <td align="left">application/pkcs10                             (req)</td>
              <td align="left">286</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">application/pkix-cert                          (res)</td>
              <td align="left">287</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">application/pkcs-7-mime;smime-type=certs-only  (res)</td>
              <td align="left">281</td>
            </tr>
            <tr>
              <td align="left">/skg</td>
              <td align="left">application/pkcs10                             (req)</td>
              <td align="left">286</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">application/multipart-core                     (res)</td>
              <td align="left">62</td>
            </tr>
            <tr>
              <td align="left">/skc</td>
              <td align="left">application/pkcs10                             (req)</td>
              <td align="left">286</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">application/multipart-core                     (res)</td>
              <td align="left">62</td>
            </tr>
            <tr>
              <td align="left">/att</td>
              <td align="left">N/A                                            (req)</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">application/csrattrs                           (res)</td>
              <td align="left">285</td>
            </tr>
          </tbody>
        </table>
        <t>Content-Format 281 MUST be supported by EST-oscore servers.
Servers MAY also support Content-Format 287.
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>
        <t><xref target="table_cft_skg_skc"/> summarizes the Content-Format identifiers used in responses to /skg and /skc.</t>
        <table anchor="table_cft_skg_skc">
          <name>Response Content-Format identifiers for /skg and /skc</name>
          <thead>
            <tr>
              <th align="left">Function</th>
              <th align="left">Response, Part 1</th>
              <th align="left">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="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>The EST-oscore endpoints support delayed responses</li>
          <li>The endpoints supports the following CoAP options: OSCORE, Uri-Host, Uri-Path, Uri-Port, Content-Format, Block1, Block2, and Accept.</li>
          <li>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".</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="enrollment-of-static-dh-keys">
        <name>Enrollment of Static DH Keys</name>
        <t>This section specifies how the EST client enrolls a static DH key.
Because a DH key pair cannot be used for signing operations, the EST client attempting to enroll a DH key must use an alternative proof-of-possesion algorithm.
The EST client obtained the CA certs including the CA's DH certificate using the /crts function.
The certificate indicates the DH group parameters which MUST be respected by the EST client when generating its own DH key pair.
The EST client prepares the PKCS #10 object and computes a MAC by following the steps in Section 4 of <xref target="RFC6955"/>.
The Key Derivation Function (KDF) and the MAC MUST be set to the HDKF and HMAC algorithms used by OSCORE.
As per <xref target="RFC8613"/>, the HKDF MUST be one of the HMAC-based HKDF <xref target="RFC5869"/> algorithms defined for COSE <xref target="RFC9052"/>.
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>
      </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>
        <artwork align="center"><![CDATA[
                                       Constrained-Node Network
  .---------.                       .----------------------------.
  |   CA    |                       |.--------------------------.|
  '---------'                       ||                          ||
       |                            ||                          ||
   .------.  HTTP   .-----------------.   CoAP   .-----------.  ||
   | EST  |<------->|  CoAP-to-HTTP   |<-------->| EST Client|  ||
   |Server|  (TLS)  |      Proxy      |  (DTLS)  '-----------'  ||
   '------'         '-----------------'                         ||
                                    ||                          ||
       <------------------------------------------------>       ||
                        OSCORE      ||                          ||
                                    |'--------------------------'|
                                    '----------------------------'
]]></artwork>
      </figure>
    </section>
    <section anchor="sec-cons">
      <name>Security Considerations</name>
      <t>TBD: Compare with RFC9148</t>
      <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 channel binding is optional, and achieves it by including the tls-unique value in the CSR.
As a rationale, <xref section="9" sectionFormat="of" target="RFC9148"/> discusses the Triple SHAKE attack: the attack relies on the absence of the server certificate as a dependency in the tls-unique value in case of TLS 1.2.
This was mitigated in TLS 1.2 with <xref target="RFC7627"/>, and in TLS 1.3 through the tls-exporter API, which computes the value by taking into account the full handshake transcript.
Similarly, this specification when used with EDHOC achieves channel binding through the EDHOC-Exporter interface, which also relies on the full handshake transcript.
Therefore, authentication based on EDHOC is not susceptible to the same attack as the one considered in <xref target="RFC9148"/>.
At the time of the writing, it seems to be safe not to require channel binding and the inclusion of EDHOC-Exporter value in CSR.
However, this specification makes channel binding OPTIONAL, as a mitigation against any other attacks that might be discovered in future.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>TBD</t>
    </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>
        <figure anchor="fig-exporter-label">
          <name>EDHOC Exporter Label</name>
          <artwork><![CDATA[
+-------------+------------------------------+-------------------+
| Label       | Description                  | Reference         |
+=============+==============================+===================+
| TBD1        | EDHOC unique                 | [[this document]] |
+-------------+------------------------------+-------------------+

]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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-19" 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="3" month="February" year="2023"/>
            <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-19"/>
        </reference>
      </references>
      <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="RFC6347" target="https://www.rfc-editor.org/info/rfc6347" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6347.xml">
          <front>
            <title>Datagram Transport Layer Security Version 1.2</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="January" year="2012"/>
            <abstract>
              <t>This document specifies version 1.2 of the Datagram Transport Layer Security (DTLS) protocol. The DTLS protocol provides communications privacy for datagram protocols. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. The DTLS protocol is based on the Transport Layer Security (TLS) protocol and provides equivalent security guarantees. Datagram semantics of the underlying transport are preserved by the DTLS protocol. This document updates DTLS 1.0 to work with TLS version 1.2. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6347"/>
          <seriesInfo name="DOI" value="10.17487/RFC6347"/>
        </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="RFC8392" target="https://www.rfc-editor.org/info/rfc8392" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8392.xml">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="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="RFC9110" target="https://www.rfc-editor.org/info/rfc9110" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9110.xml">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9112" target="https://www.rfc-editor.org/info/rfc9112" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9112.xml">
          <front>
            <title>HTTP/1.1</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document specifies the HTTP/1.1 message syntax, message parsing, connection management, and related security concerns.</t>
              <t>This document obsoletes portions of RFC 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="99"/>
          <seriesInfo name="RFC" value="9112"/>
          <seriesInfo name="DOI" value="10.17487/RFC9112"/>
        </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="I-D.ietf-core-oscore-groupcomm" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-oscore-groupcomm-18" 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="22" month="June" 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-18"/>
        </reference>
        <reference anchor="I-D.ietf-core-oscore-edhoc" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-oscore-edhoc-07" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-oscore-edhoc.xml">
          <front>
            <title>Using EDHOC with CoAP and 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="13" month="March" year="2023"/>
            <abstract>
              <t>The lightweight authenticated key exchange protocol EDHOC can be run over CoAP and used by two peers to establish an OSCORE Security Context. This document 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-07"/>
        </reference>
        <reference anchor="I-D.ietf-cose-x509" target="https://datatracker.ietf.org/doc/html/draft-ietf-cose-x509-09" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cose-x509.xml">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="Jim Schaad" initials="J." surname="Schaad">
              <organization>August Cellars</organization>
            </author>
            <date day="13" month="October" year="2022"/>
            <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="Internet-Draft" value="draft-ietf-cose-x509-09"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert" target="https://datatracker.ietf.org/doc/html/draft-ietf-cose-cbor-encoded-cert-05" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cose-cbor-encoded-cert.xml">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza" initials="S." surname="Raza">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund" initials="J." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>Nexus Group</organization>
            </author>
            <date day="10" month="January" year="2023"/>
            <abstract>
              <t>This document specifies a CBOR encoding of X.509 certificates. The resulting certificates are called C509 Certificates. The CBOR encoding supports a large subset of RFC 5280 and all certificates compatible with the RFC 7925, IEEE 802.1AR (DevID), CNSA, RPKI, GSMA eUICC, and CA/Browser Forum Baseline Requirements profiles. When used to re-encode DER encoded X.509 certificates, the CBOR encoding can in many cases reduce the size of RFC 7925 profiled certificates with over 50%. The CBOR encoded structure can alternatively be signed directly ("natively signed"), which does not require re- encoding for the signature to be verified. The document also specifies C509 COSE headers, a C509 TLS certificate type, and a C509 file format.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-05"/>
        </reference>
        <reference anchor="I-D.tiloca-core-oscore-capable-proxies" target="https://datatracker.ietf.org/doc/html/draft-tiloca-core-oscore-capable-proxies-06" 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="5" month="April" 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-06"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA91d63IbyXX+j6foon4saQPgRaJE0ZazFEmtWLqQJqlsUi7X
1mDQAMYazMDTMySxEvM3v/IQeYm8QJz3yrn1bQaguJu4KhWWLYKY6e7Tp0+f
851L9w4Gg16d1bk+VBdVWeu0zoqpOr26VhfJMi+TsVG3WT1T51fH55envWQ0
qvTNIb4wKE1aVro3LtMimUP7cZVM6kGm68kgSfUgLZPFQJta3hvs7PV62aI6
VHXVmHpvZ+clfJMm9aEy9bhnmtE8MyYri3q5gM7OTq/f9JJKJ4fqSqdNldXL
3m1ZfZ5WZbM4VEfHp+pH+BOJ/QG/6n3WS3g+hpZFratC14MTpKeXlmN46VA1
QNZBb5EdqicqTQrVGK2SqkqWajObqCTP1VKbLVVWapaYmZppmJpSdZke4gP4
aMqqrvTEuL+X8/BPeHOsF/XsUME8k6aeldUhfI0/A/mtVFbA+z8MYUp5Uox1
5R4wB3/4z/+ogLTO07KCCZxWWWpMWaij1+6BnidZfqimJTQbGmn2vZY3h2k5
X03C1VBdJj8nreGvZsksG8dPaOjLs6vT9piGXh5W8PL3VQaDrx7pw1C9aapm
psetwT4kFYha5yGN91HfNaY94JwaDCfc4PsC3yFpWD9NGPwfm7/9W1Zkf/vX
zvB59l//nqx4ThScFVWWdCnIM5MMb5oUWqTfZ/jOcFKtHvt6qI7zRC9Na+Dr
bF7Ws2X7oQxR89NhSk+/n+K3NL9eryireVJnN/qwB60u3xzv7e6+POSP+wfP
7cfnL/f35ePBy2f22xd7+3v248u9ffdx377wcse9AB+f2h6e7z5d8cLuswP8
eDY4GdJ2z5PPeqDHM9gssMeLSYfSlwd2SPj43BK992LPfTzYsR+hdzuVnT33
8emzF370F25Wewf2485T28PB05d+Kk93XbPdHf/RvnDw7Jkl58XzvRfRrEhr
ifIiQYN1mK99Q6YfPTV6cLe/87L7bToqq4EuQDfp8SDVVW1fqbO8TJOo4zRZ
JKNcDxZVeZdpAzztDQYDlYxMXSVpDX9ezzKjQA03c13Uyix0mk3gTbVoRnmW
DkAzKhwDvgR1q5UuqjLP6V3oM9XjpsKXWfvrMev7PJvO6luN/6pkscixKShn
WOqlrpQRlUytyrTMjTJNViOdClbf6WBVThRQV0yN2jwrr7cUqMi8XOLYZgh0
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
AZKeY3RuawAA

-->

</rfc>
