<?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.19 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-kwiatkowski-tls-ecdhe-mlkem-02" 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-02"/>
    <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="September" day="10"/>
    <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.2 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 anchor="obsoleted-supported-groups">
        <name>Obsoleted Supported Groups</name>
        <t>This document obsoletes 25497 and 25498 in the TLS Supported Groups registry.</t>
      </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 226?>

<section anchor="change-log">
      <name>Change log</name>
      <ul spacing="normal">
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-mlkem-02:
          </t>
          <ul spacing="normal">
            <li>
              <t>Adds section that mentions supported groups that this document obsoletes.</t>
            </li>
            <li>
              <t>Fix a reference to encapsulation in the FIPS 203.</t>
            </li>
          </ul>
        </li>
        <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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

-->

</rfc>
