<?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.23 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-harrison-mlkem-ssh-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="TODO - Abbreviation">Module-Lattice Key Exchange in SSH</title>
    <seriesInfo name="Internet-Draft" value="draft-harrison-mlkem-ssh-01"/>
    <author fullname="Alexander Harrison">
      <organization>Cisco</organization>
      <address>
        <email>aleharri@cisco.com</email>
      </address>
    </author>
    <date year="2025" month="February" day="18"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 72?>

<t>This document defines Post-Quantum key exchange methods based on Module-lattice post-quantum key encapsulation schemes.  These methods are defined for use in the SSH Transport Layer Protocol.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://alharrison.github.io/ssh_mlkem_draft/draft-harrison-mlkem-ssh.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-harrison-mlkem-ssh/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/alharrison/ssh_mlkem_draft"/>.</t>
    </note>
  </front>
  <middle>
    <?line 76?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Secure Shell (SSH) <xref target="RFC4251"/> is a secure remote login protocol. The key exchange protocol described in <xref target="RFC4253"/> supports an extensible set of methods. The security of traditional key exchange methods used in Secure Shell (SSH) <xref target="RFC4251"/> relies on the algorithms being too computationally complex to be broken. The development of quantum computers poses a threat to the complexity of these algorithms. Given sufficiently powerful quantum computers, these traditional algorithms would be vulnerable to attack.</t>
      <t>Additionally, the threat of "harvest-now-decrypt-later" attacks could creates a risk in the current landscape before sufficiently powerful quantum computers are available. In this attack, the data would be collected and decrypted by these quantum computers at a later date.</t>
      <t>This document addresses the problem by proposing the use of post-quantum key encapsulation mechanisms (KEMs) to extend the SSH <xref target="RFC4253"/> key exchange. In the context of the [NIST_PQ], key exchange algorithms are formulated as key encapsulation mechanisms (KEMs), which consist of three algorithms:</t>
      <ul spacing="normal">
        <li>
          <t>'KeyGen() -&gt; (pk, sk)': A probabilistic key generation algorithm, which generates a public key 'pk' and a secret key 'sk'.</t>
        </li>
        <li>
          <t>'Encaps(pk) -&gt; (ct, ss)': A probabilistic encapsulation algorithm, which takes as input a public key 'pk' and outputs a ciphertext 'ct' and shared secret 'ss'.</t>
        </li>
        <li>
          <t>'Decaps(sk, ct) -&gt; ss': A decapsulation algorithm, which takes as input a secret key 'sk' and ciphertext 'ct' and outputs a shared secret 'ss', or in some cases a distinguished error value.</t>
        </li>
      </ul>
      <t>The main security property for KEMs is indistinguishability under adaptive chosen ciphertext attack (IND-CCA2), which means that shared secret values should be indistinguishable from random strings even
given the ability to have arbitrary ciphertexts decapsulated.  IND-CCA2 corresponds to security against an active attacker, and the public key / secret key pair can be treated as a long-term key or reused.  A weaker security notion is indistinguishability under chosen plaintext attack (IND-CPA), which means that the shared secret values should be indistinguishable from random strings given a copy of the public key.  IND-CPA roughly corresponds to security against a passive attacker, and sometimes corresponds to one-time key exchange.</t>
      <t>The post-quantum KEM discussed in this document is ML-KEM which is based on CRYSTALS-KYBER. <xref target="FIPS203"/> standardized the ML-KEM scheme in 2024 with three parameter variants, ML-KEM-512, ML-KEM-768, ML-KEM-1024. ML-KEM is a NIST approved mechanism that is believed to be secure against an attacker with a quantum computer.</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="key-exchange-method-ml-kem">
      <name>Key Exchange Method: ML-KEM</name>
      <t>The client sends SSH_MSG_KEXDH_INIT <xref target="RFC4253"/> or SSH_MSG_KEX_ECDH_INIT <xref target="RFC5656"/>. With this, the client sends the ephemeral client public key, C_PK. C_PK represents the 'pk' output of the post-quantum KEM's 'KeyGen' at the client.</t>
      <t>The server sends SSH_MSG_KEXDH_REPLY <xref target="RFC4253"/> or SSH_MSG_KEX_ECDH_REPLY <xref target="RFC5656"/>. With this, the server sends S_REPLY which is the concatenation of S_CT and S_PK. S_PK represents the ephemeral server public key. S_CT is the ciphertext 'ct' output of the 'Encaps' algorithm generated by the server which encapsulates a secret to the client public key C_PK. Before producing S_CT, the server <bcp14>MUST</bcp14> perform the encapsulation key checks defined in Section 6.2 of <xref target="FIPS203"/>, and abort using a disconnect message (SSH_MSG_DISCONNECT) with a SSH_DISCONNECT_KEY_EXCHANGE_FAILED as the reason, if they fail.</t>
      <t>C_PK and S_CT are used to establish the shared secret, K_PQ. K_PQ is the post-quantum shared secret decapsulated from S_CT.  Before decapsulating, the client <bcp14>MUST</bcp14> check if the ciphertext S_CT length matches the selected ML-KEM variant. The client <bcp14>MUST</bcp14> abort using a disconnect message (SSH_MSG_DISCONNECT)
with a SSH_DISCONNECT_KEY_EXCHANGE_FAILED as the reason if the S_CT length does not match the ML-KEM variant or decapsulation fails for any other reason.</t>
      <section anchor="ml-kem-key-exchange-message-numbers">
        <name>ML-KEM Key Exchange Message Numbers</name>
        <t>When using ML-KEM as the Key Exchange Method, the following existing namespace message numbers <bcp14>MAY</bcp14> be used:</t>
        <artwork><![CDATA[
#define SSH_MSG_KEX_ECDH_INIT               30
#define SSH_MSG_KEX_ECDH_REPLY              31
]]></artwork>
      </section>
      <section anchor="ml-kem-key-exchange-method-names">
        <name>ML-KEM Key Exchange Method Names</name>
        <t>The ML-KEM key exchange method names defined in this document (to be used in SSH_MSG_KEXINIT <xref target="RFC4253"/>) are</t>
        <artwork><![CDATA[
ml-kem-512-sha256
ml-kem-768-sha256
ml-kem-1024-sha384
]]></artwork>
        <section anchor="ml-kem-512-sha256">
          <name>ml-kem-512-sha256</name>
          <t>ml-kem-512-sha256 defines the ml-kem-512 C_PK public key and ciphertext S_CT from the client and server respectively which are encoded as octet strings. The K_PQ shared secret is decapsulated from the ciphertext S_CT using the client post-quantum KEM private key as defined in <xref target="FIPS203"/>.</t>
          <t>The HASH function used in this key exchange <xref target="RFC4253"/> is SHA-256 <xref target="RFC6234">nist-sha2</xref></t>
        </section>
        <section anchor="ml-kem-768-sha256">
          <name>ml-kem-768-sha256</name>
          <t>ml-kem-768-sha256 defines the ml-kem-768 C_PK public key and ciphertext S_CT from the client and server respectively which are encoded as octet strings. The K_PQ shared secret is decapsulated from the ciphertext S_CT using the client post-quantum KEM private key as defined in <xref target="FIPS203"/>.</t>
          <t>The HASH function used in this key exchange <xref target="RFC4253"/> is SHA-256 <xref target="RFC6234">nist-sha2</xref></t>
        </section>
        <section anchor="ml-kem-1024-sha384">
          <name>ml-kem-1024-sha384</name>
          <t>ml-kem-1024-sha384 defines the ml-kem-1024 C_PK public key and ciphertext S_CT from the client and server respectively which are encoded as octet strings. The K_PQ shared secret is decapsulated from the ciphertext S_CT using the client post-quantum KEM private key as defined in <xref target="FIPS203"/>.</t>
          <t>The HASH function used in this key exchange <xref target="RFC4253"/> is SHA-384 <xref target="RFC6234">nist-sha2</xref></t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security of ML-KEM is based on the presumed difficulty of solving the Module Learning With Errors (MLWE) problem, based on the computational problems in module lattices. <xref target="FIPS203"/></t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register new method names "mlkem512-sha256", "mlkem768-sha256", "mlkem1024-sha384", and to be registered by IANA in the "Key Exchange Method Names" registry for SSH <xref target="IANA-SSH"/> with a reference field to this RFC and the "OK to implement" field of "May".</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC4251">
          <front>
            <title>The Secure Shell (SSH) Protocol Architecture</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell (SSH) Protocol is a protocol for secure remote login and other secure network services over an insecure network. This document describes the architecture of the SSH protocol, as well as the notation and terminology used in SSH protocol documents. It also discusses the SSH algorithm naming system that allows local extensions. The SSH protocol consists of three major components: The Transport Layer Protocol provides server authentication, confidentiality, and integrity with perfect forward secrecy. The User Authentication Protocol authenticates the client to the server. The Connection Protocol multiplexes the encrypted tunnel into several logical channels. Details of these protocols are described in separate documents. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4251"/>
          <seriesInfo name="DOI" value="10.17487/RFC4251"/>
        </reference>
        <reference anchor="RFC4253">
          <front>
            <title>The Secure Shell (SSH) Transport Layer Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell (SSH) is a protocol for secure remote login and other secure network services over an insecure network.</t>
              <t>This document describes the SSH transport layer protocol, which typically runs on top of TCP/IP. The protocol can be used as a basis for a number of secure network services. It provides strong encryption, server authentication, and integrity protection. It may also provide compression.</t>
              <t>Key exchange method, public key algorithm, symmetric encryption algorithm, message authentication algorithm, and hash algorithm are all negotiated.</t>
              <t>This document also describes the Diffie-Hellman key exchange method and the minimal set of algorithms that are needed to implement the SSH transport layer protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4253"/>
          <seriesInfo name="DOI" value="10.17487/RFC4253"/>
        </reference>
        <reference anchor="RFC6234">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </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="IANA-SSH" target="https://www.iana.org/assignments/ssh-parameters/ssh-parameters.xhtml">
          <front>
            <title>Secure Shell (SSH) Protocol Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2021"/>
          </front>
        </reference>
        <reference anchor="FIPS203" target="https://doi.org/10.6028/NIST.FIPS.203">
          <front>
            <title>Module-Lattice-based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="FIPS PUB" value="203"/>
        </reference>
        <reference anchor="RFC5656" target="https://www.rfc-editor.org/info/rfc5656">
          <front>
            <title>Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer</title>
            <author initials="D." surname="Stebila" fullname="D. Stebila">
              <organization/>
            </author>
            <author initials="J." surname="Green" fullname="J. Green">
              <organization/>
            </author>
            <date year="2009" month="December"/>
          </front>
          <seriesInfo name="DOI" value="10.17487/RFC5656"/>
        </reference>
      </references>
    </references>
    <?line 168?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Open Quantum Safe has an existing implementation of ML-KEM based key encapsulation methods in all three parameter variants. Their fork of OpenSSH (OQS-SSH) contains an implementation using these algorithms for SSH key exchange algorithms. The authors would like thank Open Quantum Safe for their example implementations of postquantum algorithms.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
