<?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.18 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-kwiatkowski-tls-ecdhe-mlkem-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.0 -->
  <front>
    <title abbrev="ECDHE-MLKEM">Post-quantum hybrid ECDHE-MLKEM Key Agreement for TLSv1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-kwiatkowski-tls-ecdhe-mlkem-01"/>
    <author initials="K." surname="Kwiatkowski" fullname="Kris Kwiatkowski">
      <organization>PQShield</organization>
      <address>
        <email>kris@amongbytes.com</email>
      </address>
    </author>
    <author initials="P." surname="Kampanakis" fullname="Panos Kampanakis">
      <organization>AWS</organization>
      <address>
        <email>kpanos@amazon.com</email>
      </address>
    </author>
    <author initials="B. E." surname="Westerbaan" fullname="Bas Westerbaan">
      <organization>Cloudflare</organization>
      <address>
        <email>bas@cloudflare.com</email>
      </address>
    </author>
    <author initials="D." surname="Stebila" fullname="Douglas Stebila">
      <organization>University of Waterloo</organization>
      <address>
        <email>dstebila@waterloo.ca</email>
      </address>
    </author>
    <date year="2024" month="August" day="26"/>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>ECDH</keyword>
    <keyword>hybrid</keyword>
    <keyword>ML-KEM</keyword>
    <keyword>post-quantum</keyword>
    <keyword>x25519</keyword>
    <abstract>
      <?line 64?>

<t>This draft defines two hybrid key agreements for TLS 1.3: X25519MLKEM768 and SecP256r1MLKEM768, which combine
a post-quantum KEM with an elliptic curve Diffie-Hellman (ECDHE).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://post-quantum-cryptography.github.io/draft-kwiatkowski-tls-ecdhe-mlkem/"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-kwiatkowski-tls-ecdhe-mlkem/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Layer Security Working Group mailing list (<eref target="mailto:tls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/post-quantum-cryptography/draft-kwiatkowski-tls-ecdhe-mlkem"/>.</t>
    </note>
  </front>
  <middle>
    <?line 69?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>ML-KEM is a key encapsulation method (KEM) defined in the <xref target="FIPS203"/>. It is designed to
withstand cryptanalytic attacks from quantum computers.</t>
        <t>This document introduces two new supported groups for hybrid post-quantum key
agreements in TLS 1.3: X25519MLKEM768 and SecP256r1MLKEM768. Both combine ML-KEM-768 with
ECDH in the manner of <xref target="hybrid"/>.</t>
        <t>The first one uses X25519 <xref target="rfc7748"/> and is an update to X25519Kyber768Draft00 <xref target="xyber"/>, the
most widely deployed PQ/T hybrid combiner for TLS v1.3 deployed in 2024.</t>
        <t>The second one uses secp256r1 (NIST P-256) <xref target="ECDSA"/> <xref target="DSS"/>. The
goal of this group is to support a use case that requires both shared secrets to be generated by
FIPS-approved mechanisms.</t>
        <t>Both constructions aim to provide a FIPS-approved key-establishment scheme (as per <xref target="SP56C"/>).</t>
      </section>
    </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?>

</section>
    <section anchor="negotiated-groups">
      <name>Negotiated Groups</name>
      <t>Both groups enable the derivation of TLS session keys using FIPS-approved schemes. NIST's
special publication 800-56Cr2 <xref target="SP56C"/> approves the usage of HKDF
<xref target="HKDF"/> with two distinct shared secrets, with the condition that the first one is computed by
a FIPS-approved key-establishment scheme. FIPS also requires a certified implementation
of the scheme, which will remain more ubiqutous for secp256r1 in the coming years.</t>
      <t>For this reason we put the ML-KEM-768 shared secret first in X25519MLKEM768,
and the secp256r1 shared secret first in SecP256r1MLKEM768.</t>
      <section anchor="construction">
        <name>Construction</name>
        <section anchor="client-share">
          <name>Client share</name>
          <t>When the X25519MLKEM768 group is negotiated, the client's key_exchange value
is the concatenation of the client's ML-KEM-768 encapsulation key
and the client's X25519 ephemeral share.
The size of the client share is 1216 bytes (1184 bytes for the ML-KEM part and 32 bytes for X25519).</t>
          <t>When the SecP256r1MLKEM768 group is negotiated, the client's key_exchange value
is the concatenation of the secp256r1 ephemeral share and ML-KEM-768 encapsulation key.
The ECDHE share is the serialized value of the uncompressed ECDH point representation as
defined  in Section 4.2.8.2 of <xref target="RFC8446"/>. The size of the client share is 1249 bytes
(65 bytes for the secp256r1 part and 1184 bytes for ML-KEM).</t>
        </section>
        <section anchor="server-share">
          <name>Server share</name>
          <t>When the X25519MLKEM768 group is negotiated, the server's key exchange
value is the concatenation of an ML-KEM ciphertext returned from encapsulation
to the client's encapsulation key, and the server's ephemeral X25519 share.
The size of the server share is 1120 bytes (1088 bytes for the ML-KEM part and 32 bytes for X25519).</t>
          <t>When the SecP256r1MLKEM768 group is negotiated, the server's key exchange
value is the concatenation of the server's ephemeral secp256r1 share encoded
in the same way as the client share and an ML-KEM ciphertext returned from encapsulation
to the client's encapsulation key. The size of the server share is 1153 bytes (1088 bytes
for the ML-KEM part and 65 bytes for secp256r1).</t>
          <t>For both groups, the server <bcp14>MUST</bcp14> perform the encapsulation key check
described in Section 7.3 of <xref target="FIPS203"/> on the client's encapsulation
key, and abort with an illegal_parameter alert if it fails.</t>
        </section>
        <section anchor="shared-secret">
          <name>Shared secret</name>
          <t>For X25519MLKEM768, the shared secret is the concatenation of the ML-KEM
shared secret and the X25519 shared secret. The shared secret is 64 bytes
(32 bytes for each part).</t>
          <t>For SecP256r1MLKEM768, the shared secret is the concatenation of the
ECDHE and ML-KEM shared secret. The ECDHE shared secret is the x-coordinate of the ECDH
shared secret elliptic curve point represented as an octet string as
defined in Section 7.4.2 of <xref target="RFC8446"/>.
The size of the shared secret is 64 bytes (32 bytes for each part).</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The same security considerations as those described in <xref target="hybrid"/> apply to the approach used by this document.
The security analysis relies crucially on the TLS 1.3 message transcript, and one cannot assume a similar
hybridisation is secure in other protocols.</t>
      <t>Implementers are encouraged to use implementations resistant to side-channel attacks,
especially those that can be applied by remote attackers.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests/registers two new entries to the TLS Supported Groups registry, according
to the procedures in <xref section="6" sectionFormat="of" target="tlsiana"/>. These identifiers are to be used with the final,
ratified by NIST, version of ML-KEM which is specified in <xref target="FIPS203"/>.</t>
      <section anchor="secp256r1mlkem768">
        <name>SecP256r1MLKEM768</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>4587 (0x11EB)</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>SecP256r1MLKEM768</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>Combining secp256r1 ECDH with ML-KEM-768</t>
          </dd>
        </dl>
      </section>
      <section anchor="x25519mlkem768">
        <name>X25519MLKEM768</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>4588 (0x11EC)</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>X25519MLKEM768</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>Combining X25519 ECDH with ML-KEM-768</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="rfc7748">
          <front>
            <title>Elliptic Curves for Security</title>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="M. Hamburg" initials="M." surname="Hamburg"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo specifies two elliptic curves over prime fields that offer a high level of practical security in cryptographic applications, including Transport Layer Security (TLS). These curves are intended to operate at the ~128-bit and ~224-bit security level, respectively, and are generated deterministically based on a list of required properties.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7748"/>
          <seriesInfo name="DOI" value="10.17487/RFC7748"/>
        </reference>
        <reference anchor="FIPS203">
          <front>
            <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization/>
            </author>
            <date month="August" year="2024"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.203"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
        <reference anchor="SP56C">
          <front>
            <title>Recommendation for Key-Derivation Methods in Key-Establishment Schemes</title>
            <author fullname="Elaine Barker" initials="E." surname="Barker">
              <organization/>
            </author>
            <author fullname="Lily Chen" initials="L." surname="Chen">
              <organization/>
            </author>
            <author fullname="Richard Davis" initials="R." surname="Davis">
              <organization/>
            </author>
            <date month="August" year="2020"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-56cr2"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
        <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="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>
        <reference anchor="RFC8446">
          <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="xyber">
          <front>
            <title>X25519Kyber768Draft00 hybrid post-quantum key agreement</title>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <date day="24" month="September" year="2023"/>
            <abstract>
              <t>   This memo defines X25519Kyber768Draft00, a hybrid post-quantum key
   exchange for TLS 1.3.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tls-westerbaan-xyber768d00-03"/>
        </reference>
        <reference anchor="hybrid">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shay Gueron" initials="S." surname="Gueron">
              <organization>University of Haifa</organization>
            </author>
            <date day="5" month="April" year="2024"/>
            <abstract>
              <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if all but one of the component algorithms is broken.
   It is motivated by transition to post-quantum cryptography.  This
   document provides a construction for hybrid key exchange in the
   Transport Layer Security (TLS) protocol version 1.3.

   Discussion of this work is encouraged to happen on the TLS IETF
   mailing list tls@ietf.org or on the GitHub repository which contains
   the draft: https://github.com/dstebila/draft-ietf-tls-hybrid-design.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-10"/>
        </reference>
        <reference anchor="tlsiana">
          <front>
            <title>IANA Registry Updates for TLS and DTLS</title>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Venafi</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <date day="30" month="April" year="2024"/>
            <abstract>
              <t>   This document updates the changes to TLS and DTLS IANA registries
   made in RFC 8447.  It adds a new value "D" for discouraged to the
   recommended column of the selected TLS registries.

   This document updates the following RFCs: 3749, 5077, 4680, 5246,
   5705, 5878, 6520, 7301, and 8447.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8447bis-09"/>
        </reference>
        <reference anchor="HKDF">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk">
              <organization/>
            </author>
            <author fullname="P. Eronen" initials="P." surname="Eronen">
              <organization/>
            </author>
            <date month="May" year="2010"/>
          </front>
          <seriesInfo name="DOI" value="10.17487/rfc5869"/>
          <refcontent>RFC Editor</refcontent>
        </reference>
        <reference anchor="ECDSA">
          <front>
            <title>Public Key Cryptography for the Financial Services Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA)</title>
            <author>
              <organization>American National Standards Institute</organization>
            </author>
            <date year="2005" month="November"/>
          </front>
          <seriesInfo name="ANSI" value="ANS X9.62-2005"/>
        </reference>
        <reference anchor="DSS">
          <front>
            <title>Recommendations for Discrete Logarithm-based Cryptography:: Elliptic Curve Domain Parameters</title>
            <author fullname="Lily Chen" initials="L." surname="Chen">
              <organization/>
            </author>
            <author fullname="Dustin Moody" initials="D." surname="Moody">
              <organization/>
            </author>
            <author fullname="Andrew Regenscheid" initials="A." surname="Regenscheid">
              <organization/>
            </author>
            <author fullname="Angela Robinson" initials="A." surname="Robinson">
              <organization/>
            </author>
            <author fullname="Karen Randall" initials="K." surname="Randall">
              <organization/>
            </author>
            <date month="February" year="2023"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-186"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
      </references>
    </references>
    <?line 222?>

<section anchor="change-log">
      <name>Change log</name>
      <ul spacing="normal">
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-mlkem-01:
          </t>
          <ul spacing="normal">
            <li>
              <t>Add X25519MLKEM768</t>
            </li>
          </ul>
        </li>
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-mlkem-00:
          </t>
          <ul spacing="normal">
            <li>
              <t>Change Kyber name to ML-KEM</t>
            </li>
            <li>
              <t>Swap reference to I-D.cfrg-schwabe-kyber with FIPS-203</t>
            </li>
            <li>
              <t>Change codepoint. New value is equal to old value + 1.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-kyber-01: Fix size of key shares generated by the client and the server</t>
        </li>
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-kyber-00: updates following IANA review</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
TrVpRss7JRfsv70tVBa/HQAA

-->

</rfc>
