<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-selma-lake-additional-messages-00" category="std" consensus="true" submissionType="IETF" updates="9528" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="Additional Messages in LAKE">Additional Messages in Lightweight Authenticated Key Exchange (LAKE)</title>
    <seriesInfo name="Internet-Draft" value="draft-selma-lake-additional-messages-00"/>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <workgroup>Lightweight Authenticated Key Exchange</workgroup>
    <abstract>
      <?line 42?>

<t>The Lightweight Authenticated Key Exchange (LAKE) protocol supports methods with different numbers of messages and different security properties. The methods defined in the original specification, RFC 9528, consist of three mandatory messages and an optional fourth message. This document defines a generic mechanism for additional protected messages, message_n, where n is greater than the highest message number defined for the method in use. The format of each message_n is identical to that of message_4 in RFC 9528, except that its encryption key and initialization vector are derived using the LAKE_Exporter. This mechanism allows applications to include any number of additional protected messages in a LAKE session, for example, to carry additional External Authorization Data (EAD) and to convey protected success indications when required by a method or deployment, such as EAP-LAKE. This document updates RFC 9528.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-selma-lake-additional-messages/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Lightweight Authenticated Key Exchange Working Group mailing list (<eref target="mailto:lake@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/lake/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/lake/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 46?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Lightweight Authenticated Key Exchange (LAKE) <xref target="RFC9528"/>, previously known as Ephemeral Diffie-Hellman Over COSE (EDHOC), is a compact authenticated Diffie-Hellman key exchange designed for constrained environments.</t>
      <t>The methods specified in <xref target="RFC9528"/> consist of three mandatory messages (message_1, message_2, and message_3) and an optional fourth message (message_4). Each message can carry External Authorization Data (EAD) in its corresponding field (EAD_1, EAD_2, EAD_3, or EAD_4; see <xref section="3.8" sectionFormat="of" target="RFC9528"/>), allowing external security applications to be integrated into LAKE without additional round trips. For these methods, the optional message_4 (<xref section="5.5" sectionFormat="of" target="RFC9528"/>) provides key confirmation and a protected success indication to the Initiator. This is useful in deployments where the Responder does not send a protected application message to the Initiator, such as EAP-LAKE <xref target="I-D.ietf-emu-eap-edhoc"/>. The PSK-based method specified in <xref target="I-D.ietf-lake-edhoc-psk"/> requires four messages.</t>
      <t>Some applications require additional protected messages than are provided by a given LAKE method. Examples include security applications that use EAD and need to exchange multiple messages after mutual authentication, such as post-handshake remote attestation, applications needing a protected acknowledgement of EAD_4, and methods with five messages, such as <xref target="I-D.ietf-lake-authkem-edhoc"/>, where the Initiator needs a protected success indication when the method is used with EAP-LAKE <xref target="I-D.ietf-emu-eap-edhoc"/>. Using an application protocol such as OSCORE <xref target="RFC8613"/> to protect these messages is not always possible.</t>
      <t>This document defines message_n, a generic additional LAKE message where n is an integer greater than the highest message number defined for the method in use (i.e., n &gt;= 5 for the methods in <xref target="RFC9528"/> and <xref target="I-D.ietf-lake-edhoc-psk"/>). message_n looks and works like message_4 in <xref section="5.5" sectionFormat="of" target="RFC9528"/>. In contrast to message_4, for n &gt;= 5, the key K_n and the initialization vector IV_n are derived with the LAKE_Exporter (<xref section="4.2.1" sectionFormat="of" target="RFC9528"/>) using dedicated exporter labels and n as context, and the external_aad is empty. Using the exporter means that message_n does not change the LAKE key schedule of any method, that two registered exporter labels serve an unbounded number of messages, and that message_n can be implemented on top of any LAKE implementation.</t>
      <t>This document updates <xref target="RFC9528"/> by defining message_n for use with all LAKE methods, by requiring message_4 when message_n is used with the methods in <xref target="RFC9528"/> (<xref target="ordering"/>), and by specifying when a LAKE session in which message_n is used is completed (<xref target="errors"/>). This document does not change the use of message_4 in <xref target="RFC9528"/> when message_n is not used and does not update <xref target="I-D.ietf-emu-eap-edhoc"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>Readers are expected to be familiar with LAKE <xref target="RFC9528"/>, CBOR <xref target="RFC8949"/>, CBOR Sequences <xref target="RFC8742"/>, COSE <xref target="RFC9052"/>, and CDDL <xref target="RFC8610"/>. As in <xref target="RFC9528"/>, CBOR always refers to deterministically encoded CBOR.</t>
      <t>This document uses the terms, functions, and algorithm names defined in <xref target="RFC9528"/> with the protocol name replaced by LAKE, e.g., LAKE_Exporter, LAKE_KDF, LAKE_KeyUpdate, LAKE AEAD algorithm, and LAKE error message.</t>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t><xref target="fig-flow"/> shows a LAKE message flow for methods 0 to 3 <xref target="RFC9528"/> extended with message_5 and message_6. As for the handshake messages, the odd messages are sent by the Initiator and the even messages by the Responder. When message_n is used with these methods, message_4 is mandatory; see <xref target="ordering"/>.</t>
      <figure anchor="fig-flow">
        <name>LAKE Message Flow with message_5 and message_6</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="416" width="560" viewBox="0 0 560 416" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,48 L 8,400" fill="none" stroke="black"/>
              <path d="M 552,48 L 552,400" fill="none" stroke="black"/>
              <path d="M 8,64 L 544,64" fill="none" stroke="black"/>
              <path d="M 16,128 L 552,128" fill="none" stroke="black"/>
              <path d="M 8,192 L 544,192" fill="none" stroke="black"/>
              <path d="M 16,256 L 552,256" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="552,192 540,186.4 540,197.6" fill="black" transform="rotate(0,544,192)"/>
              <polygon class="arrowhead" points="552,64 540,58.4 540,69.6" fill="black" transform="rotate(0,544,64)"/>
              <polygon class="arrowhead" points="24,256 12,250.4 12,261.6" fill="black" transform="rotate(180,16,256)"/>
              <polygon class="arrowhead" points="24,128 12,122.4 12,133.6" fill="black" transform="rotate(180,16,128)"/>
              <g class="text">
                <text x="40" y="36">Initiator</text>
                <text x="520" y="36">Responder</text>
                <text x="176" y="52">METHOD,</text>
                <text x="248" y="52">SUITES_I,</text>
                <text x="308" y="52">G_X,</text>
                <text x="348" y="52">C_I,</text>
                <text x="392" y="52">EAD_1</text>
                <text x="280" y="84">message_1</text>
                <text x="84" y="116">G_Y,</text>
                <text x="124" y="116">Enc(</text>
                <text x="164" y="116">C_R,</text>
                <text x="228" y="116">ID_CRED_R,</text>
                <text x="352" y="116">Signature_or_MAC_2,</text>
                <text x="456" y="116">EAD_2</text>
                <text x="488" y="116">)</text>
                <text x="280" y="148">message_2</text>
                <text x="128" y="180">AEAD(</text>
                <text x="196" y="180">ID_CRED_I,</text>
                <text x="320" y="180">Signature_or_MAC_3,</text>
                <text x="424" y="180">EAD_3</text>
                <text x="456" y="180">)</text>
                <text x="280" y="212">message_3</text>
                <text x="248" y="244">AEAD(</text>
                <text x="296" y="244">EAD_4</text>
                <text x="328" y="244">)</text>
                <text x="280" y="276">message_4</text>
                <text x="248" y="308">AEAD(</text>
                <text x="296" y="308">EAD_5</text>
                <text x="328" y="308">)</text>
                <text x="24" y="324">-</text>
                <text x="40" y="324">-</text>
                <text x="56" y="324">-</text>
                <text x="72" y="324">-</text>
                <text x="88" y="324">-</text>
                <text x="104" y="324">-</text>
                <text x="120" y="324">-</text>
                <text x="136" y="324">-</text>
                <text x="152" y="324">-</text>
                <text x="168" y="324">-</text>
                <text x="184" y="324">-</text>
                <text x="200" y="324">-</text>
                <text x="216" y="324">-</text>
                <text x="232" y="324">-</text>
                <text x="248" y="324">-</text>
                <text x="264" y="324">-</text>
                <text x="280" y="324">-</text>
                <text x="296" y="324">-</text>
                <text x="312" y="324">-</text>
                <text x="328" y="324">-</text>
                <text x="344" y="324">-</text>
                <text x="360" y="324">-</text>
                <text x="376" y="324">-</text>
                <text x="392" y="324">-</text>
                <text x="408" y="324">-</text>
                <text x="424" y="324">-</text>
                <text x="440" y="324">-</text>
                <text x="456" y="324">-</text>
                <text x="472" y="324">-</text>
                <text x="488" y="324">-</text>
                <text x="504" y="324">-</text>
                <text x="520" y="324">-</text>
                <text x="540" y="324">-&gt;</text>
                <text x="280" y="340">message_5</text>
                <text x="248" y="372">AEAD(</text>
                <text x="296" y="372">EAD_6</text>
                <text x="328" y="372">)</text>
                <text x="20" y="388">&lt;-</text>
                <text x="40" y="388">-</text>
                <text x="56" y="388">-</text>
                <text x="72" y="388">-</text>
                <text x="88" y="388">-</text>
                <text x="104" y="388">-</text>
                <text x="120" y="388">-</text>
                <text x="136" y="388">-</text>
                <text x="152" y="388">-</text>
                <text x="168" y="388">-</text>
                <text x="184" y="388">-</text>
                <text x="200" y="388">-</text>
                <text x="216" y="388">-</text>
                <text x="232" y="388">-</text>
                <text x="248" y="388">-</text>
                <text x="264" y="388">-</text>
                <text x="280" y="388">-</text>
                <text x="296" y="388">-</text>
                <text x="312" y="388">-</text>
                <text x="328" y="388">-</text>
                <text x="344" y="388">-</text>
                <text x="360" y="388">-</text>
                <text x="376" y="388">-</text>
                <text x="392" y="388">-</text>
                <text x="408" y="388">-</text>
                <text x="424" y="388">-</text>
                <text x="440" y="388">-</text>
                <text x="456" y="388">-</text>
                <text x="472" y="388">-</text>
                <text x="488" y="388">-</text>
                <text x="504" y="388">-</text>
                <text x="520" y="388">-</text>
                <text x="536" y="388">-</text>
                <text x="280" y="404">message_6</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
Initiator                                                   Responder
|                 METHOD, SUITES_I, G_X, C_I, EAD_1                 |
+------------------------------------------------------------------>|
|                             message_1                             |
|                                                                   |
|       G_Y, Enc( C_R, ID_CRED_R, Signature_or_MAC_2, EAD_2 )       |
|<------------------------------------------------------------------+
|                             message_2                             |
|                                                                   |
|            AEAD( ID_CRED_I, Signature_or_MAC_3, EAD_3 )           |
+------------------------------------------------------------------>|
|                             message_3                             |
|                                                                   |
|                           AEAD( EAD_4 )                           |
|<------------------------------------------------------------------+
|                             message_4                             |
|                                                                   |
|                           AEAD( EAD_5 )                           |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->|
|                             message_5                             |
|                                                                   |
|                           AEAD( EAD_6 )                           |
|<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
|                             message_6                             |
]]></artwork>
        </artset>
      </figure>
      <t>The receiver does not learn n from the message itself; n is determined by the protocol state. Since K_n and IV_n depend on n, a message_n that is processed with the wrong value of n fails AEAD verification.</t>
    </section>
    <section anchor="message-n">
      <name>Specification of message_n</name>
      <t>This section specifies message_n, which is <bcp14>OPTIONAL</bcp14> to support. Whether message_n is used, and which values of n are sent and expected, is specified in the application profile; see <xref target="app-profile"/>.</t>
      <section anchor="ordering">
        <name>Numbering and Ordering</name>
        <t>Each LAKE method defines a number of messages. Denote by N the highest message number defined for a given method, e.g., N = 4 for the methods defined in <xref target="RFC9528"/> and <xref target="I-D.ietf-lake-edhoc-psk"/>).</t>
        <t>An additional message is denoted message_n, for n &gt; N. Additional messages <bcp14>MUST</bcp14> be numbered consecutively, starting with n = N + 1, and each value of n <bcp14>MUST</bcp14> be used at most once per LAKE session.</t>
        <t>Consistent with <xref section="3.1" sectionFormat="of" target="RFC9528"/>, the Initiator <bcp14>MUST</bcp14> send odd-numbered messages and the Responder <bcp14>MUST</bcp14> send even-numbered messages. Additional messages are exchanged in lockstep: a party <bcp14>MUST NOT</bcp14> send message_n until it has received and successfully processed message_(n-1).</t>
        <t>For methods where a message is optional, such as message_4 in methods 0 to 3 of <xref target="RFC9528"/>, that message <bcp14>MUST</bcp14> be sent when message_n is used. In particular, when message_n is used with methods 0 to 3, the Responder <bcp14>MUST</bcp14> send message_4, and the first additional message is message_5, sent by the Initiator.</t>
      </section>
      <section anchor="format">
        <name>Formatting of message_n</name>
        <t>message_n <bcp14>SHALL</bcp14> be a CBOR Sequence (see <xref section="C.1" sectionFormat="of" target="RFC9528"/>), as defined below.</t>
        <sourcecode type="cddl"><![CDATA[
message_n = (
  CIPHERTEXT_n : bstr,
)
]]></sourcecode>
        <t>CIPHERTEXT_n is the encryption of PLAINTEXT_n (see <xref target="compose"/>), which is a CBOR Sequence as defined below.</t>
        <artwork><![CDATA[
PLAINTEXT_n = (
  ? EAD_n,
)

EAD_n = 1* ead
]]></artwork>
        <t>where ead is an EAD item as defined in <xref section="3.8" sectionFormat="of" target="RFC9528"/>. The CDDL definitions used in this document are summarized in <xref target="cddl"/>.</t>
        <t>The format is identical to that of message_4. As with message_4, the first CBOR data item of message_n is a byte string, which allows the receiver to distinguish message_n from a LAKE error message, whose first CBOR data item is an integer (<xref section="6" sectionFormat="of" target="RFC9528"/>).</t>
      </section>
      <section anchor="keys">
        <name>Key Derivation</name>
        <t>K_n and IV_n are derived with the LAKE_Exporter defined in <xref section="4.2.1" sectionFormat="of" target="RFC9528"/> as follows:</t>
        <artwork><![CDATA[
K_n  = LAKE_Exporter( TBD1, context_n, key_length )
IV_n = LAKE_Exporter( TBD2, context_n, iv_length )
]]></artwork>
        <t>where:</t>
        <ul spacing="normal">
          <li>
            <t>TBD1 is the exporter label registered with the description "message_n key" and TBD2 is the exporter label registered with the description "message_n IV"; see <xref target="iana"/>.</t>
          </li>
          <li>
            <t>context_n is the byte string containing the CBOR encoding of n as an unsigned integer (major type 0), e.g., h'05' for n = 5 and h'17' for n = 23.</t>
          </li>
          <li>
            <t>key_length and iv_length are the lengths of the encryption key and the initialization vector of the LAKE AEAD algorithm of the selected cipher suite, as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9528"/>.</t>
          </li>
        </ul>
        <t>K_n and IV_n are bound to the LAKE session and the use of n as context makes them unique for each message_n within the session.</t>
      </section>
      <section anchor="compose">
        <name>Sender Composition of message_n</name>
        <t>The sender <bcp14>SHALL</bcp14> compose message_n as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Derive K_n and IV_n as specified in <xref target="keys"/>.</t>
          </li>
          <li>
            <t>Compute a COSE_Encrypt0 as defined in Sections 5.2 and 5.3 of <xref target="RFC9052"/>, with the LAKE AEAD algorithm of the selected cipher suite, using the encryption key K_n, the initialization vector IV_n (if used by the AEAD algorithm), the plaintext PLAINTEXT_n, and the following parameters as input (see <xref section="C.3" sectionFormat="of" target="RFC9528"/>):  </t>
            <ul spacing="normal">
              <li>
                <t>protected = h''</t>
              </li>
              <li>
                <t>external_aad = h''</t>
              </li>
              <li>
                <t>PLAINTEXT_n = ( ? EAD_n ), as defined in <xref target="format"/>      </t>
                <ul spacing="normal">
                  <li>
                    <t>EAD_n is external authorization data; see <xref section="3.8" sectionFormat="of" target="RFC9528"/> and <xref target="ead"/>.</t>
                  </li>
                </ul>
              </li>
            </ul>
            <t>
CIPHERTEXT_n is the 'ciphertext' of COSE_Encrypt0.</t>
          </li>
          <li>
            <t>Encode message_n as a CBOR Sequence as specified in <xref target="format"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="process">
        <name>Receiver Processing of message_n</name>
        <t>The receiver <bcp14>SHALL</bcp14> process message_n as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Decode message_n (see <xref section="C.1" sectionFormat="of" target="RFC9528"/>).</t>
          </li>
          <li>
            <t>Retrieve the protocol state using available message correlation (e.g., the CoAP Token, the 5-tuple, or a prepended connection identifier; see <xref section="3.4.1" sectionFormat="of" target="RFC9528"/>), and determine the expected value of n from the protocol state.</t>
          </li>
          <li>
            <t>Derive K_n and IV_n as specified in <xref target="keys"/>.</t>
          </li>
          <li>
            <t>Decrypt and verify the COSE_Encrypt0 as defined in Sections 5.2 and 5.3 of <xref target="RFC9052"/>, with the LAKE AEAD algorithm of the selected cipher suite and the parameters defined in <xref target="compose"/>.</t>
          </li>
          <li>
            <t>Make (if present) EAD_n available to the application for EAD processing.</t>
          </li>
        </ul>
        <t>If any processing step fails, then the receiver <bcp14>MUST</bcp14> send a LAKE error message back as defined in <xref section="6" sectionFormat="of" target="RFC9528"/>, and the LAKE session <bcp14>MUST</bcp14> be aborted; see <xref target="errors"/>.</t>
      </section>
      <section anchor="ead">
        <name>External Authorization Data in message_n</name>
        <t>EAD_n follows the format and processing rules of <xref section="3.8" sectionFormat="of" target="RFC9528"/>, including the rules for critical and non-critical EAD items and the use of ead_label = 0 for padding (<xref section="3.8.1" sectionFormat="of" target="RFC9528"/>). The EAD_n field is a CBOR sequence of one or more EAD items.</t>
        <t>A specification of an EAD item that is intended to be used in message_n needs to specify in which message or messages the EAD item is used, e.g., "the first message_n sent by the Responder" or "message_6", and the processing at the sender and the receiver.</t>
        <t>EAD_n is protected between the authenticated Initiator and Responder, with confidentiality and integrity against active attackers.</t>
      </section>
      <section anchor="errors">
        <name>Error Handling and Session Completion</name>
        <t><xref section="5.1" sectionFormat="of" target="RFC9528"/> states that the LAKE session is completed after the last message (message_3 or message_4, depending on the application profile) has been successfully processed, after which no error messages are sent. When message_n is used, the LAKE session is instead completed after the last message_n specified by the application profile has been successfully processed, and error messages <bcp14>MAY</bcp14> be sent up to that point.</t>
        <t>When a LAKE session in which message_n is used is aborted, the endpoints <bcp14>MUST NOT</bcp14> persistently store PRK_out or derived keying material, and the application <bcp14>MUST</bcp14> be informed. Unless the application profile specifies otherwise, keying material derived with the LAKE_Exporter for the aborted session, including application keys already in use, <bcp14>SHOULD</bcp14> be discarded.</t>
        <t>Note that the abort of the session after a failed message_n cannot be signaled in a protected way. An on-path attacker can always drop the last message_n; see <xref target="sec-truncation"/>.</t>
      </section>
      <section anchor="dedup">
        <name>Retransmission and Deduplication</name>
        <t>Message deduplication follows <xref section="7" sectionFormat="of" target="RFC9528"/>. In particular, since K_n and IV_n are deterministic for a given LAKE session and n, an implementation <bcp14>MUST NOT</bcp14> regenerate message_n with a different PLAINTEXT_n. An endpoint that needs to retransmit message_n <bcp14>MUST</bcp14> resend the identical message_n, either by storing it or by deterministically regenerating identical plaintext. This is particularly important when EAD_n contains randomized content, such as non-deterministic signatures, nonces, or random padding.</t>
        <t>Since the receiver determines n from the protocol state, which advances after each successfully processed message, a retransmission of an already processed message would be processed with the wrong value of n and fail AEAD verification. An endpoint that does not rely on the transport for deduplication <bcp14>SHOULD</bcp14> therefore, before AEAD processing, check whether a received message is byte-identical to the last message it received in the LAKE session. If it is, the endpoint <bcp14>SHOULD</bcp14> resend its stored reply to that message, if any, or otherwise discard the duplicate, instead of processing it as a new message and aborting the session.</t>
      </section>
      <section anchor="transport">
        <name>Transport</name>
        <t>message_n is transported in the same way as the handshake messages, as specified in the application profile.</t>
        <t>When LAKE is transported over CoAP <xref target="RFC7252"/> as in <xref section="A.2" sectionFormat="of" target="RFC9528"/>, the following applies in the forward message flow, where the Initiator acts as CoAP client:</t>
        <ul spacing="normal">
          <li>
            <t>message_n with odd n is sent in the payload of a POST request to the LAKE resource, prepended with the connection identifier C_R encoded as in <xref section="3.3" sectionFormat="of" target="RFC9528"/>, in the same way as message_3.</t>
          </li>
          <li>
            <t>message_n with even n is sent in the payload of the CoAP response to the request carrying message_(n-1), with the same Content-Format as message_4.</t>
          </li>
        </ul>
        <t>In the reverse message flow, where the Responder acts as CoAP client, the roles of requests and responses are swapped and the connection identifier C_I is prepended to messages sent in requests.</t>
        <t>The use of message_n with EAP is not specified in this document and is left to EAP method specifications.</t>
      </section>
    </section>
    <section anchor="app-profile">
      <name>Application Profile Considerations</name>
      <t>The application profile (<xref section="3.9" sectionFormat="of" target="RFC9528"/>) is extended with the following information:</t>
      <ul spacing="normal">
        <li>
          <t>Whether message_n is used, and if so, which values of n are allowed and expected, or how this is determined (e.g., by the EAD items in a previous message). From this it should be possible to derive the maximum value of n, see <xref target="DoS"/>.</t>
        </li>
        <li>
          <t>The EAD items that can be present in each message_n. From this it should be possible to derive the maximum size of each message_n, see <xref target="DoS"/>.</t>
        </li>
        <li>
          <t>Whether a failure to process a message_n invalidates keying material derived with the LAKE_Exporter that is already in use; see <xref target="errors"/>.</t>
        </li>
      </ul>
      <t>When message_n is used with methods 0 to 3 of <xref target="RFC9528"/>, message_4 <bcp14>MUST</bcp14> be sent; see <xref target="ordering"/>. message_n does not replace message_4, and the use of message_n does not otherwise change the requirements on message_4 in <xref section="5.5" sectionFormat="of" target="RFC9528"/>.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC9528"/> and <xref target="I-D.ietf-lake-edhoc-psk"/> apply. This section discusses additional considerations for message_n.</t>
      <section anchor="key-separation">
        <name>Key Separation</name>
        <t>K_n and IV_n are derived with the LAKE_Exporter using exporter labels dedicated to message_n and a context unique for each n. By the PRF security of LAKE_KDF, K_n is computationally independent of the keys for the handshake messages (including K_4), of IV_n, of other K_m with m != n, and of keying material derived with the LAKE_Exporter with other labels, such as the OSCORE Master Secret and Master Salt (<xref section="A.1" sectionFormat="of" target="RFC9528"/>). Compromise of keys derived with other exporter labels does not compromise K_n. Compromise of PRK_out or PRK_exporter compromises all K_n, as it does all other exporter output.</t>
        <t>The exporter labels TBD1 and TBD2 <bcp14>MUST NOT</bcp14> be used for any other purpose. In implementations where the LAKE_Exporter is exposed to application code that is less trusted than the LAKE implementation, for example when the LAKE implementation runs in a Trusted Execution Environment, any component able to invoke the LAKE_Exporter with label TBD1 can forge and decrypt message_n. Such implementations <bcp14>SHOULD</bcp14> restrict the use of labels TBD1 and TBD2 to the component implementing message_n.</t>
      </section>
      <section anchor="nonce-uniqueness">
        <name>Nonce Uniqueness</name>
        <t>Each (K_n, IV_n) pair <bcp14>MUST</bcp14> be used to encrypt at most one plaintext. This follows from the requirement that each value of n is used at most once per LAKE session (<xref target="ordering"/>), and that retransmissions are identical (<xref target="dedup"/>). Reusing a key and nonce with different plaintexts can compromise the confidentiality of both plaintexts and, for many AEAD algorithms, the integrity of all messages protected with that key.</t>
      </section>
      <section anchor="key-update">
        <name>Key Update</name>
        <t>The LAKE_KeyUpdate function (<xref section="H" sectionFormat="of" target="RFC9528"/>) changes PRK_out and thereby PRK_exporter. To avoid the endpoints deriving different K_n, endpoints <bcp14>MUST NOT</bcp14> invoke LAKE_KeyUpdate before the LAKE session, including all message_n, is completed.</t>
      </section>
      <section anchor="sec-truncation">
        <name>Replay, Reordering, Reflection, and Truncation</name>
        <t>Since K_n depends on PRK_out, which is unique per LAKE session, a message_n from one LAKE session cannot be replayed in another. Within a session, each message_n is protected with a distinct key and messages are processed in lockstep, so replayed, reordered, or reflected messages fail AEAD verification. Since the sender of message_n only sends it after having received and successfully processed message_(n-1), the successful verification of message_n also implies that the sender has received and accepted all previous messages in the session.</t>
        <t>message_n is not chained to the previous message_n via a transcript hash; external_aad is empty for all n. This is sufficient because each message_n is itself authenticated, its key is bound to the full handshake transcript, and the lockstep processing ensures that each message has been verified before the next is sent. Specifications of EAD items whose semantics depend on the content of several messages need to take into account that the binding between messages is provided by the lockstep processing and not by a hash chain.</t>
        <t>As for any protocol, an on-path attacker can drop the last message of the exchange. The sender of the last message_n does not learn whether it was received. Applications that need this assurance need to define a further message_n (e.g., an empty acknowledgement), and they need to take into account that the last message is always unacknowledged. When message_n is used as a protected success indication, the receiver <bcp14>MUST NOT</bcp14> consider the authentication successful before it has verified that message_n.</t>
      </section>
      <section anchor="authentication-strength">
        <name>Authentication Strength</name>
        <t>As discussed in <xref section="9.1" sectionFormat="of" target="RFC9528"/>, the security of LAKE against online forgery attacks is given by the sum of the strength of the verified signatures and MACs, including the AEAD tags. Each verified message_n adds the strength of the AEAD tag of the LAKE AEAD algorithm to the authentication of its sender. For example, with cipher suite 2 and method 3, receiving message_5 in addition to message_3 gives the Responder 128-bit security against online attacks on the authentication of the Initiator.</t>
      </section>
      <section anchor="security-of-ead-in-messagen">
        <name>Security of EAD in message_n</name>
        <t>The security considerations for EAD in <xref section="9.1" sectionFormat="of" target="RFC9528"/> apply. In contrast to EAD_1 and EAD_2, EAD_n is always sent after both endpoints have been authenticated and is protected against active attackers. Note that an EAD item in message_n is not covered by any signature in the handshake; its integrity relies on the AEAD protection with K_n. Applications that need non-repudiable or third-party verifiable statements, such as attestation Evidence, need to provide such protection within the EAD item itself. Designing a secure mechanism that uses EAD is not necessarily straightforward, and new uses of EAD in message_n should be subject to careful review.</t>
      </section>
      <section anchor="DoS">
        <name>Denial of Service and Resource Exhaustion</name>
        <t>message_n extends the lifetime of the LAKE protocol state, which an attacker that has completed the handshake could use to exhaust resources at the peer. The maximum value of n and the maximum size of each message_n <bcp14>SHOULD</bcp14> be limited by the application profile, and endpoints <bcp14>SHOULD</bcp14> apply timeouts to the exchange of message_n.</t>
      </section>
      <section anchor="privacy">
        <name>Privacy</name>
        <t>message_n is encrypted, but its length, timing, and number are visible to observers, and may reveal which use case or EAD items are in use. EAD padding (<xref section="3.8.1" sectionFormat="of" target="RFC9528"/>) can be used in EAD_n to hide the length of the plaintext. An application concerned about traffic analysis can also use a fixed number of message_n regardless of the content.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following entries in the "LAKE Exporter Labels" registry within the "Lightweight Authenticated Key Exchange (LAKE)" registry group. The registry is defined in <xref section="10.1" sectionFormat="of" target="RFC9528"/> and renamed in <xref target="I-D.spm-lake-pqsuites"/>.</t>
      <table>
        <name>New LAKE Exporter Labels</name>
        <thead>
          <tr>
            <th align="left">Label</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">message_n key</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">message_n IV</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9528" target="https://www.rfc-editor.org/info/rfc9528" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9528.xml">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a very compact and lightweight authenticated Diffie-Hellman key exchange with ephemeral keys. EDHOC provides mutual authentication, forward secrecy, and identity protection. EDHOC is intended for usage in constrained scenarios, and a main use case is to establish an Object Security for Constrained RESTful Environments (OSCORE) security context. By reusing CBOR Object Signing and Encryption (COSE) for cryptography, Concise Binary Object Representation (CBOR) for encoding, and Constrained Application Protocol (CoAP) for transport, the additional code size can be kept very low.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9528"/>
          <seriesInfo name="DOI" value="10.17487/RFC9528"/>
        </reference>
        <reference anchor="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="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="RFC8610" target="https://www.rfc-editor.org/info/rfc8610" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8742" target="https://www.rfc-editor.org/info/rfc8742" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8742.xml">
          <front>
            <title>Concise Binary Object Representation (CBOR) Sequences</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes the Concise Binary Object Representation (CBOR) Sequence format and associated media type "application/cbor-seq". A CBOR Sequence consists of any number of encoded CBOR data items, simply concatenated in sequence.</t>
              <t>Structured syntax suffixes for media types allow other media types to build on them and make it explicit that they are built on an existing media type as their foundation. This specification defines and registers "+cbor-seq" as a structured syntax suffix for CBOR Sequences.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8742"/>
          <seriesInfo name="DOI" value="10.17487/RFC8742"/>
        </reference>
        <reference anchor="I-D.ietf-lake-edhoc-psk" target="https://datatracker.ietf.org/doc/html/draft-ietf-lake-edhoc-psk-10" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-edhoc-psk.xml">
          <front>
            <title>LAKE Authenticated with Pre-Shared Keys (PSKs)</title>
            <author fullname="Elsa Lopez-Perez" initials="" surname="Lopez-Perez">
              <organization>Inria</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Rafael Marin-Lopez" initials="R." surname="Marin-Lopez">
              <organization>University of Murcia</organization>
            </author>
            <author fullname="Francisco Lopez-Gomez" initials="F." surname="Lopez-Gomez">
              <organization>University of Murcia</organization>
            </author>
            <date day="5" month="October" year="2026"/>
            <abstract>
              <t>This document specifies a Pre-Shared Key (PSK) authentication method for the Lightweight Authenticated Key Exchange (LAKE) protocol. The PSK method provides mutual authentication, ephemeral key exchange, identity protection, and quantum resistance while incurring lower computational costs than the public-key authentication methods specified for LAKE. It is suited for systems where nodes share a PSK provided out-of-band (external PSK) and enables efficient session resumption with less computational overhead when the PSK is provided from a previous LAKE session (resumption PSK). This document details the PSK message flow, key derivation changes, message formatting, processing, and security considerations.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-edhoc-psk-10"/>
        </reference>
        <reference anchor="I-D.spm-lake-pqsuites" target="https://datatracker.ietf.org/doc/html/draft-spm-lake-pqsuites-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.spm-lake-pqsuites.xml">
          <front>
            <title>Quantum-Resistant Cipher Suites for EDHOC</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <date day="19" month="April" year="2026"/>
            <abstract>
              <t>The Lightweight Authenticated Key Exchange (LAKE) protocol, Ephemeral Diffie-Hellman over COSE (EDHOC), achieves post-quantum security by adding new cipher suites with quantum-resistant algorithms, such as ML-DSA for digital signatures and ML-KEM for key exchange. This document specifies how EDHOC operates in a post-quantum setting using both signature-based and PSK-based authentication methods, and defines corresponding cipher suites.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-spm-lake-pqsuites-02"/>
        </reference>
        <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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="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="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="I-D.ietf-emu-eap-edhoc" target="https://datatracker.ietf.org/doc/html/draft-ietf-emu-eap-edhoc-12" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-emu-eap-edhoc.xml">
          <front>
            <title>Using the Extensible Authentication Protocol (EAP) with Ephemeral Diffie-Hellman over COSE (EDHOC)</title>
            <author fullname="Dan Garcia-Carrillo" initials="D." surname="Garcia-Carrillo">
              <organization>University of Oviedo</organization>
            </author>
            <author fullname="Rafael Marin-Lopez" initials="R." surname="Marin-Lopez">
              <organization>University of Murcia</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Francisco Lopez-Gomez" initials="F." surname="Lopez-Gomez">
              <organization>University of Murcia</organization>
            </author>
            <date day="29" month="July" year="2026"/>
            <abstract>
              <t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, provides a standard mechanism for support of multiple authentication methods. This document specifies the EAP authentication method EAP- EDHOC, based on Ephemeral Diffie-Hellman Over COSE (EDHOC). EDHOC is a lightweight security handshake protocol, enabling authentication and establishment of shared secret keys suitable in constrained settings. This document also provides guidance on authentication and authorization for EAP-EDHOC.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-emu-eap-edhoc-12"/>
        </reference>
        <reference anchor="I-D.ietf-lake-authkem-edhoc" target="https://datatracker.ietf.org/doc/html/draft-ietf-lake-authkem-edhoc-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-authkem-edhoc.xml">
          <front>
            <title>KEM-based Authentication for EDHOC</title>
            <author fullname="Lidia Pocero Fraile" initials="L. P." surname="Fraile">
              <organization>ISI, R.C. ATHENA</organization>
            </author>
            <author fullname="Christos Koulamas" initials="C." surname="Koulamas">
              <organization>ISI, R.C. ATHENA</organization>
            </author>
            <author fullname="Apostolos Fournaris" initials="A." surname="Fournaris">
              <organization>ISI, R.C. ATHENA</organization>
            </author>
            <author fullname="Evangelos Haleplidis" initials="E." surname="Haleplidis">
              <organization>ISI, R.C. ATHENA</organization>
            </author>
            <date day="28" month="September" year="2026"/>
            <abstract>
              <t>This document specifies extensions to the Lightweight Authenticated Key Exchange (LAKE) protocol, formerly known as Ephemeral Diffie- Hellman over COSE (EDHOC), to provide resistance against quantum computer adversaries by incorporating Post-Quantum Cryptography (PQC) Key Encapsulation Mechanisms (KEMs) for both key exchange and authentication. It defines a new signature-free KEM-based authentication method in which both parties authenticate using KEMs, enabling quantum-resistant authentication without relying on digital signatures when PQC KEMs, such as the NIST-standardized ML-KEM, are used.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-authkem-edhoc-01"/>
        </reference>
      </references>
    </references>
    <?line 313?>

<section anchor="cddl">
      <name>CDDL Definitions</name>
      <t>This section compiles the CDDL definitions for message_n for ease of reference. The definition of ead is copied from <xref section="C.2" sectionFormat="of" target="RFC9528"/> and the definition of context_n follows <xref target="keys"/>.</t>
      <sourcecode type="cddl"><![CDATA[
message_n = (
  CIPHERTEXT_n : bstr,
)

PLAINTEXT_n = (
  ? EAD_n,
)

EAD_n = 1* ead

ead = (
  ead_label : int,
  ? ead_value : bstr,
)

context_n = bstr .cbor uint
]]></sourcecode>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors thank Jim Schaad for his work on COSE as well as his invaluable comments and feedback on CBOR, OSCORE, and LAKE; without him, this draft would not exist.</t>
      <t>This work was supported partially by Vinnova - the Swedish Agency for Innovation Systems - through the EUREKA CELTIC-NEXT project CYPRESS.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
djbs/S9BhXxqN18AAA==

-->

</rfc>
