<?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.35 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-selander-lake-cred-hash-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="EDHOC Credential Hash">Hashing Authentication Credentials in EDHOC</title>
    <seriesInfo name="Internet-Draft" value="draft-selander-lake-cred-hash-01"/>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization>Ericsson</organization>
      <address>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson</organization>
      <address>
        <email>john.mattsson@ericsson.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>
    <date year="2026" month="April" day="19"/>
    <area>Security</area>
    <workgroup>LAKE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 45?>

<t>This document defines a COSE header parameter which signals that an authentication credential is replaced by the hash of the authentication credential in the protocol message computations. This further relaxes the need for transporting authentication credentials in EDHOC, which reduces protocol message sizes and improves performance in constrained networks.</t>
    </abstract>
  </front>
  <middle>
    <?line 49?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The lightweight authenticated key exchange protocol Ephemeral Diffie-Hellman over COSE (EDHOC, <xref target="RFC9528"/>) supports a variety of authentication credentials and different options for identifying credentials during the protocol execution. The latter allows the protocol messages to carry, for example, references or unique identifiers instead of the authentication credentials, thereby reducing message size and improving performance in constrained networks.</t>
      <t>In this document we describe a new mode of processing authentication credentials in EDHOC which further relaxes the need for transporting them. This new mode is signalled with a new COSE header parameter using an existing protocol mechanism and does not require any changes to the message format.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
        </t>
        <t>Readers are expected to be familiar with EDHOC <xref target="RFC9528"/>.</t>
      </section>
    </section>
    <section anchor="back">
      <name>Background</name>
      <section anchor="back-edhoc">
        <name>Authentication Credentials in EDHOC</name>
        <t>Public key authentication credentials in EDHOC are described in <xref section="3.5" sectionFormat="of" target="RFC9528"/>. (Pre-shared keys are out of scope.)</t>
        <t>The authentication credentials for the Initiator (I) and the Responder (R) are denoted CRED_I and CRED_R, respectively. To allow more flexibility in identifying and obtaining the credential, the EDHOC protocol does not have dedicated message fields for CRED_I and CRED_R. Instead the fields ID_CRED_I and ID_CRED_R are intended to facilitate the retrieval of the authentication credentials and the authentication keys. ID_CRED_I and ID_CRED_R are of type COSE header_map and contain one or more COSE header parameters, see corresponding IANA register. Some examples below for the case when the authentication credential (here CRED_R, similar applies to CRED_I) is an X.509 certificate:</t>
        <ol spacing="normal" type="1"><li>
            <t>CRED_R may be referenced by including the COSE header parameter x5u in the ID_CRED_R field of EDHOC message 2. x5u contains a URI to the Responder's certificate, for example, at some certificate repository.</t>
          </li>
          <li>
            <t>If the certificate is already available to the Initiator, then it can be identified using the COSE header parameter x5t in ID_CRED_R. x5t contains the certificate hash.</t>
          </li>
          <li>
            <t>ID_CRED_R can contain both x5u and x5t, allowing retrival and/or verification of the X.509 certificate.</t>
          </li>
        </ol>
        <t>(Note that in case the certificate do need to be transported it can be included with the COSE header parameter x5chain in ID_CRED_R or ID_CRED_I.)</t>
      </section>
      <section anchor="est-oscore">
        <name>Lightweight Certificate Enrolment with EST-OSCORE</name>
        <t>EST-OSCORE <xref target="I-D.ietf-ace-coap-est-oscore"/> specifies a lightweight certificate enrolment protocol protecting EST payloads over CoAP with OSCORE <xref target="RFC8613"/>.</t>
        <t>In the same spirit as in <xref target="back-edhoc"/>, the EST-OSCORE enrolment request from the EST client may result in a response from the Certification Authority (CA) containing a reference to and/or hash of the issued certificate, rather than the certificate itself. In this case the certificate is not available to the client (= the subject of the certificate) but of course the public/private key pair is. Hence, the client should be able to authenticate using EDHOC to a peer by providing a reference and/or hash of the certificate as described <xref target="back-edhoc"/>. This could be favorable if the client is on a constrained network and the peer and CA is on a non-constrained network, since the certificate is only transported over the non-constrained network compared to twice over the constrained network.</t>
        <t>However, this doesn't work directly with the current message processing in <xref target="RFC9528"/> as we explain in <xref target="edhoc-proc"/>, followed by a straightforward fix that makes it work in <xref target="repl-cred"/>.</t>
      </section>
    </section>
    <section anchor="edhoc-proc">
      <name>Authentication Credentials in EDHOC Message Processing</name>
      <t>When the EDHOC protocol was designed it was assumed that each endpoint has access to its own credential, and that it obtained the other endpoint's credential at least the first time it was used. Hence it was feasible to include the authentication credentials in the protocol message computations:</t>
      <ul spacing="normal">
        <li>
          <t>CRED_R is used in the computation of the message field Signature_or_MAC_2 (see <xref section="5.3.2" sectionFormat="of" target="RFC9528"/>):
          </t>
          <ul spacing="normal">
            <li>
              <t>MAC_2 is computed with context_2 = &lt;&lt; C_R, ID_CRED_R, TH_2, CRED_R, ? EAD_2 &gt;&gt;.</t>
            </li>
            <li>
              <t>The 'signature' field of the COSE_Sign1 object is computed with external_aad = &lt;&lt; TH_2, CRED_R, ? EAD_2 &gt;&gt;.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>CRED_R is included in the transcript hash TH_3 which is used to calculate, e.g., keys for message 3:
          </t>
          <ul spacing="normal">
            <li>
              <t>TH_3 = H(TH_2, PLAINTEXT_2, CRED_R), where H() is the EDHOC hash algorithm of the selected cipher suite.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>CRED_I is used in the computation of the message field Signature_or_MAC_3 (see <xref section="5.4.2" sectionFormat="of" target="RFC9528"/>):
          </t>
          <ul spacing="normal">
            <li>
              <t>MAC_3 is computed with context_3 = &lt;&lt; ID_CRED_I, TH_3, CRED_I, ? EAD_3 &gt;&gt;.</t>
            </li>
            <li>
              <t>The 'signature' field of the COSE_Sign1 object is computed with external_aad = &lt;&lt; TH_3, CRED_I, ? EAD_3 &gt;&gt;.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>CRED_I is included in the transcript hash TH_4 which is used to calculate, e.g., keys for message 4 and the session key PRK_out:
          </t>
          <ul spacing="normal">
            <li>
              <t>TH_4 = H(TH_3, PLAINTEXT_3, CRED_I), where H() is the EDHOC hash algorithm of the selected cipher suite.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Since <xref target="RFC9528"/> requires the peers to use the authentication credentials to perform the protocol computations, and a client enrolling a certificate as described in the example in <xref target="est-oscore"/> only obtains a reference and/or a hash, it would not be able to use that certificate when authenticating to other peers.</t>
    </section>
    <section anchor="repl-cred">
      <name>Replacing Authentication Credential with Hash</name>
      <t>To ensure the integrity of the authentication credentials it is sufficient to include in the computation a digest of the relevant authentication credentials using a secure hash function.</t>
      <t>With this in mind we define a new mode of processing credentials in EDHOC where an authentication credential is replaced by a secure hash of that credential. The hash function used is the EDHOC hash function of the selected cipher suite, see <xref section="3.6" sectionFormat="of" target="RFC9528"/>.</t>
      <section anchor="new-cose-header-parameter">
        <name>New COSE Header Parameter</name>
        <t>The new processing mode is indicated with the COSE header parameter 'Hashed Credential', see <xref target="header-param"/>. The parameter has no value.</t>
      </section>
      <section anchor="new-processing">
        <name>New Processing</name>
        <t>The presence of the COSE header parameter 'Hashed Credential' in an ID_CRED_R indicates that CRED_R SHALL be replaced with H(CRED_R) in all EDHOC protocol computations, where H() is the EDHOC hash algorithm of the selected cipher suite. Analogously, the presence of the 'Hashed Credential' in an ID_CRED_I indicates that CRED_I SHALL be replaced with H(CRED_I) in all EDHOC protocol computations.</t>
        <t>Note that this parameter may be (typically is) present together with other COSE header parameters identifying the credential.</t>
        <t>The EDHOC processing described in <xref target="edhoc-proc"/> is thus replaced by the following:</t>
        <ul spacing="normal">
          <li>
            <t>H(CRED_R) is used in the computation of the message field Signature_or_MAC_2:
            </t>
            <ul spacing="normal">
              <li>
                <t>MAC_2 is computed with context_2 = &lt;&lt; C_R, ID_CRED_R, TH_2, H(CRED_R), ? EAD_2 &gt;&gt;.</t>
              </li>
              <li>
                <t>The 'signature' field of the COSE_Sign1 object is computed with external_aad = &lt;&lt; TH_2, H(CRED_R), ? EAD_2 &gt;&gt;.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>H(CRED_R) is included in the transcript hash TH_3:
            </t>
            <ul spacing="normal">
              <li>
                <t>TH_3 = H(TH_2, PLAINTEXT_2, H(CRED_R)).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>H(CRED_I) is used in the computation of the message field Signature_or_MAC_3:
            </t>
            <ul spacing="normal">
              <li>
                <t>MAC_3 is computed with context_3 = &lt;&lt; ID_CRED_I, TH_3, H(CRED_I), ? EAD_3 &gt;&gt;.</t>
              </li>
              <li>
                <t>The 'signature' field of the COSE_Sign1 object is computed with external_aad = &lt;&lt; TH_3, H(CRED_I), ? EAD_3 &gt;&gt;.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>H(CRED_I) is included in the transcript hash TH_4:
            </t>
            <ul spacing="normal">
              <li>
                <t>TH_4 = H(TH_3, PLAINTEXT_3, H(CRED_I)).</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Replacing the credential with the hash value from a secure hash function does not impact the integrity properties. But it must be the correct hash and computed over the correct credential.</t>
      <t>In case the Initiator's own credential is hashed without it having access to the credential, like the client in the example of <xref target="est-oscore"/>, then the Initiator needs to obtain the hash of the credential from a trusted source. Similar for the Responder.</t>
      <t>In case the Responder's credential is hashed, the then Initiator MUST verify that the credential hash is correct, and vice versa. Each peer typically needs access to the other peer's credential anyway, to be able to authenticate, verify credential and/or meta-data, etc.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>There are no privacy considerations.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="header-param">
        <name>COSE Header Parameters Registry</name>
        <t>IANA is requested to register the entry 'Hashed Credential' in the "COSE Header Parameters" registry under the registry group "CBOR Object Signing and Encryption (COSE)" (see <xref target="fig-header-params"/>). The parameter has no value. The Value Registry for this item is empty and omitted from the table below.</t>
        <figure anchor="fig-header-params">
          <name>COSE Header Parameter.</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="144" width="568" viewBox="0 0 568 144" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,128" fill="none" stroke="black"/>
                <path d="M 112,32 L 112,128" fill="none" stroke="black"/>
                <path d="M 176,32 L 176,128" fill="none" stroke="black"/>
                <path d="M 280,32 L 280,128" fill="none" stroke="black"/>
                <path d="M 560,32 L 560,128" fill="none" stroke="black"/>
                <path d="M 8,32 L 560,32" fill="none" stroke="black"/>
                <path d="M 8,62 L 560,62" fill="none" stroke="black"/>
                <path d="M 8,66 L 560,66" fill="none" stroke="black"/>
                <path d="M 8,128 L 560,128" fill="none" stroke="black"/>
                <g class="text">
                  <text x="36" y="52">Name</text>
                  <text x="144" y="52">Label</text>
                  <text x="208" y="52">Value</text>
                  <text x="252" y="52">Type</text>
                  <text x="336" y="52">Description</text>
                  <text x="44" y="84">Hashed</text>
                  <text x="136" y="84">TBD</text>
                  <text x="224" y="84">-</text>
                  <text x="304" y="84">The</text>
                  <text x="364" y="84">credential</text>
                  <text x="432" y="84">shall</text>
                  <text x="468" y="84">be</text>
                  <text x="516" y="84">replaced</text>
                  <text x="60" y="100">Credential</text>
                  <text x="308" y="100">with</text>
                  <text x="344" y="100">the</text>
                  <text x="380" y="100">hash</text>
                  <text x="412" y="100">of</text>
                  <text x="440" y="100">the</text>
                  <text x="500" y="100">credential</text>
                  <text x="300" y="116">in</text>
                  <text x="348" y="116">protocol</text>
                  <text x="440" y="116">computations.</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+------------+-------+------------+----------------------------------+
| Name       | Label | Value Type | Description                      |
+============+=======+============+==================================+
| Hashed     | TBD   |     -      | The credential shall be replaced |
| Credential |       |            | with the hash of the credential  |
|            |       |            | in protocol computations.        |
+------------+-------+------------+----------------------------------+
]]></artwork>
          </artset>
        </figure>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <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="RFC9528">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a very compact and lightweight authenticated Diffie-Hellman key exchange with ephemeral keys. EDHOC provides mutual authentication, forward secrecy, and identity protection. EDHOC is intended for usage in constrained scenarios, and a main use case is to establish an Object Security for Constrained RESTful Environments (OSCORE) security context. By reusing CBOR Object Signing and Encryption (COSE) for cryptography, Concise Binary Object Representation (CBOR) for encoding, and Constrained Application Protocol (CoAP) for transport, the additional code size can be kept very low.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9528"/>
          <seriesInfo name="DOI" value="10.17487/RFC9528"/>
        </reference>
        <reference anchor="RFC8174">
          <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="RFC8613">
          <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="I-D.ietf-ace-coap-est-oscore">
          <front>
            <title>Protecting EST Payloads with OSCORE</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza" initials="S." surname="Raza">
              <organization>RISE</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>Nexus</organization>
            </author>
            <author fullname="Mališa Vučinić" initials="M." surname="Vučinić">
              <organization>Inria</organization>
            </author>
            <author fullname="Timothy Claeys" initials="T." surname="Claeys">
         </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   Enrollment over Secure Transport (EST) is a certificate provisioning
   protocol over HTTPS [RFC7030] or CoAPs [RFC9148].  This document
   specifies how to carry EST over the Constrained Application Protocol
   (CoAP) protected with Object Security for Constrained RESTful
   Environments (OSCORE).  The specification builds on the EST-coaps
   [RFC9148] specification, but uses OSCORE and Ephemeral Diffie-Hellman
   over COSE (EDHOC) instead of DTLS.  The specification also leverages
   the certificate structures defined in
   [I-D.ietf-cose-cbor-encoded-cert], which can be optionally used
   alongside X.509 certificates.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-coap-est-oscore-10"/>
        </reference>
      </references>
    </references>
    <?line 177?>

<section numbered="false" anchor="acknowledgment">
      <name>Acknowledgments</name>
    </section>
  </back>
  <!-- ##markdown-source:
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
MhmgOAzfrKQZ7fFfOPVn9DEqAAA=

-->

</rfc>
