<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-mldsa-04" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Use of ML-DSA in TLS 1.3">Use of ML-DSA in TLS 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-mldsa-04"/>
    <author fullname="Tim Hollebeek">
      <organization>DigiCert</organization>
      <address>
        <email>tim.hollebeek@digicert.com</email>
      </address>
    </author>
    <author fullname="Sophie Schmieg">
      <organization>Google</organization>
      <address>
        <email>sschmieg@google.com</email>
      </address>
    </author>
    <author initials="B. E." surname="Westerbaan" fullname="Bas Westerbaan">
      <organization>Cloudflare</organization>
      <address>
        <email>bas@cloudflare.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="18"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>ML-DSA</keyword>
    <keyword>FIPS204</keyword>
    <abstract>
      <?line 50?>

<t>This memo specifies how the post-quantum signature scheme ML-DSA (FIPS 204)
is used for authentication in TLS 1.3.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://tlswg.github.io/tls-mldsa/draft-ietf-tls-mldsa.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-tls-mldsa/"/>.
      </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/tlswg/tls-mldsa"/>.</t>
    </note>
  </front>
  <middle>
    <?line 56?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Module-Lattice-Based Digital Signature Algorithm (ML-DSA) is a
post-quantum digital signature algorithm
standardised by the US National Institute of Standards and Technology (NIST)
in <xref target="FIPS204"/>.</t>
      <t>This memo specifies how ML-DSA can be negotiated for authentication in TLS 1.3
via the <tt>signature_algorithms</tt> and <tt>signature_algorithms_cert</tt> extensions.</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?>

</section>
    <section anchor="ml-dsa-signaturescheme-values">
      <name>ML-DSA SignatureScheme Values</name>
      <aside>
        <t>Note to RFC editor: References to RFC 8446 are to be updated
to reference RFC 9846 (RFC 8446bis) once it is published.
Section references need to be updated accordingly.
PR: <eref target="https://github.com/tlswg/tls-mldsa/pull/25">https://github.com/tlswg/tls-mldsa/pull/25</eref></t>
      </aside>
      <t>As defined in <xref target="RFC8446"/>, the SignatureScheme namespace is used for
the negotiation of signature scheme for authentication via the
<tt>signature_algorithms</tt> and <tt>signature_algorithms_cert</tt> extensions.
This document maps three new SignatureScheme values for the three
ML-DSA parameter sets listed in Section 4, Table 1 of <xref target="FIPS204"/>
to the SignatureAlgorithmIdentifiers from <xref target="RFC9881"/> as follows.</t>
      <table anchor="schemes">
        <name>SignatureSchemes for ML-DSA</name>
        <thead>
          <tr>
            <th align="left">SignatureScheme</th>
            <th align="left">FIPS 204</th>
            <th align="left">Signature AlgorithmIdentifier</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">mldsa44(0x0904)</td>
            <td align="left">ML-DSA-44</td>
            <td align="left">id-ML-DSA-44 (2.16.840.1.101.3.4.3.17)</td>
          </tr>
          <tr>
            <td align="left">mldsa65(0x0905)</td>
            <td align="left">ML-DSA-65</td>
            <td align="left">id-ML-DSA-65 (2.16.840.1.101.3.4.3.18)</td>
          </tr>
          <tr>
            <td align="left">mldsa87(0x0906)</td>
            <td align="left">ML-DSA-87</td>
            <td align="left">id-ML-DSA-87 (2.16.840.1.101.3.4.3.19)</td>
          </tr>
        </tbody>
      </table>
      <t>Note that these are different from the HashML-DSA pre-hashed
variants defined in Section 5.4 of <xref target="FIPS204"/>,
which are not used here
because of the reasons laid out in <xref section="8.3" sectionFormat="of" target="RFC9881"/>.</t>
      <section anchor="certificate-chain">
        <name>Certificate Chain</name>
        <t>For the purpose of signalling support for signatures on certificates
as per <xref section="4.2.3" sectionFormat="of" target="RFC8446"/>, these values indicate support
for signing using the given AlgorithmIdentifier shown in <xref target="schemes"/>
as defined in <xref target="RFC9881"/>.</t>
      </section>
      <section anchor="handshake-signature">
        <name>Handshake Signature</name>
        <t>When one of those SignatureScheme values is used in a CertificateVerify message,
then the signature <bcp14>MUST</bcp14> be computed and verified as specified in
<xref section="4.4.3" sectionFormat="of" target="RFC8446"/>, using
Algorithm 2 (ML-DSA.Sign) and Algorithm 3 (ML-DSA.Verify)
of <xref target="FIPS204"/> respectively. The context (ctx) parameter
<bcp14>MUST</bcp14> be the empty string. Note that the context parameter of FIPS 204
is different from the context string of <xref section="4.4.3" sectionFormat="of" target="RFC8446"/>.</t>
        <t>The corresponding end-entity
certificate <bcp14>MUST</bcp14> use the corresponding AlgorithmIdentifier
from <xref target="schemes"/> in its SubjectPublicKeyInfo.</t>
        <t>The context parameter defined in <xref target="FIPS204"/> Algorithm 2 and 3
<bcp14>MUST</bcp14> be the empty string. Note that the context parameter of FIPS 204
is different from the context string of <xref section="4.4.3" sectionFormat="of" target="RFC8446"/>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations described in Appendices <xref target="RFC8446" section="C.2" sectionFormat="bare"/> and <xref target="RFC8446" section="E.1" sectionFormat="bare"/> of <xref target="RFC8446"/>
and <xref section="4.4.3" sectionFormat="of" target="RFC8446"/> apply. In particular, signature-based modes of
TLS depend on the signature scheme being secure against chosen message
attacks <xref target="SIGMA"/>. Per Section 3.1 of
<xref target="FIPS204"/>, ML-DSA is designed to meet this property.</t>
      <t>Implementation failures, such as side channels, in cryptographic primitives can
also compromise the primitive and thus a TLS connection depending on it.
Sections 3.4 and 3.6 of <xref target="FIPS204"/> discuss additional considerations for
implementing ML-DSA, including guidance on the choice of hedged vs deterministic
variants. These considerations apply when ML-DSA is used for TLS.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests new entries to the TLS SignatureScheme registry,
according to the procedures in <xref section="6" sectionFormat="of" target="RFC9847"/>.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Recommended</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0x0904</td>
            <td align="left">mldsa44</td>
            <td align="left">N</td>
            <td align="left">This document.</td>
          </tr>
          <tr>
            <td align="left">0x0905</td>
            <td align="left">mldsa65</td>
            <td align="left">N</td>
            <td align="left">This document.</td>
          </tr>
          <tr>
            <td align="left">0x0906</td>
            <td align="left">mldsa87</td>
            <td align="left">N</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="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>
        <reference anchor="RFC9881">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)</title>
            <author fullname="J. Massimo" initials="J." surname="Massimo"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="B. E. Westerbaan" initials="B. E." surname="Westerbaan"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>Digital signatures are used within X.509 certificates and Certificate Revocation Lists (CRLs), and to sign messages. This document specifies the conventions for using FIPS 204, the Module-Lattice-Based Digital Signature Algorithm (ML-DSA) in Internet X.509 certificates and CRLs. The conventions for the associated signatures, subject public keys, and private key are also described.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9881"/>
          <seriesInfo name="DOI" value="10.17487/RFC9881"/>
        </reference>
        <reference anchor="FIPS204">
          <front>
            <title>Module-lattice-based digital signature standard</title>
            <author>
              <organization/>
            </author>
            <date month="August" year="2024"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.204"/>
          <refcontent>National Institute of Standards and Technology (U.S.)</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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9847">
          <front>
            <title>IANA Registry Updates for TLS and DTLS</title>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="December" year="2025"/>
            <abstract>
              <t>This document updates the changes to the 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 and adds a "Comment" column to all active registries that do not already have a "Comment" column. Finally, it updates the registration request instructions.</t>
              <t>This document updates RFC 8447.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9847"/>
          <seriesInfo name="DOI" value="10.17487/RFC9847"/>
        </reference>
        <reference anchor="SIGMA">
          <front>
            <title>SIGMA: The ‘SIGn-and-MAc’ Approach to Authenticated Diffie-Hellman and Its Use in the IKE Protocols</title>
            <author fullname="Hugo Krawczyk" initials="H." surname="Krawczyk">
              <organization/>
            </author>
            <date year="2003"/>
          </front>
          <seriesInfo name="Lecture Notes in Computer Science" value="pp. 400-425"/>
          <seriesInfo name="DOI" value="10.1007/978-3-540-45146-4_24"/>
          <seriesInfo name="ISBN" value="[&quot;9783540406747&quot;, &quot;9783540451464&quot;]"/>
          <refcontent>Springer Berlin Heidelberg</refcontent>
        </reference>
      </references>
    </references>
    <?line 166?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to
    Alicja Kario,
    John Mattsson,
    Rebecca Guthrie,
    Alexander Bokovoy,
    Niklas Block,
    Ryan Appel,
    Loganaden Velvindron,
    David Benjamin,
    Viktor Dukhovni,
    Rob Sayre,
    Daniel Van Geest,
    Martin Thomson,
    Wang Guilin,
    and Nick Sullivan
    for their review and feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
SZ4O2b8AUXkk5w4XAAA=

-->

</rfc>
