<?xml version='1.0' encoding='utf-8'?>

<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="std"
      docName="draft-becker-cnsa2-tls-profile-00"
      ipr="trust200902"
      obsoletes=""
      updates=""
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3"
	  consensus="true">

<front>

   <title abbrev="CNSA2 TLS Profile">Commercial National Security Algorithm (CNSA) Suite Profile for TLS 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-becker-cnsa2-tls-profile-00"/>

    <author fullname="Alison Becker" initials="A." surname="Becker">
      <organization abbrev="National Security Agency">National Security Agency</organization>
      <address>
        <email>aebecke@uwe.nsa.gov</email>
      </address>
    </author>
 
    <date year="2024"/>

    <abstract>
      <t>This document defines a base profile of TLS 1.3 for use with the U.S. Commercial National Security Algorithm (CNSA) 2.0 Suite, a cybersecurity advisory published by the United States Government which outlines quantum-resistant cryptographic algorithm policy for U.S. national security applications.</t>
	  
	  <t>This profile applies to the capabilities, configuration, and operation of all components of U.S. National Security Systems that employ TLS 1.3. It is also appropriate for all other U.S. Government systems that process high-value information.</t>
	  
	  <t>This profile is made publicly available for use by developers and operators of these and any other system deployments.</t>
     </abstract>
	
</front>
  
<middle>

    <section numbered="true" toc="default">
      <name>Introduction</name>
	  
		<t>This document specifies a profile of TLS 1.3 <xref target="RFC8446" format="default"/> to comply with the National Security Agency's (NSA) Commercial National Security Algorithm (CNSA) 2.0 Suite <xref target="annccnsa" format="default"/>. This profile applies to the capabilities, configuration, and operation of all components of U.S. National Security Systems (NSS) that employ TLS 1.3. U.S. National Security Systems are described in NIST Special Publication 800-59 <xref target="SP80059" format="default"/>. This profile is also appropriate for all other U.S. Government systems that process high-value information, and is made publicly available for use by developers and operators of these and any other system deployments.  
	    </t>
		
	    <t>This document does not define any cryptographic algorithm, and does not specify how to use any cryptographic algorithm not currently supported by TLS 1.3; instead, it profiles CNSA 2.0-compliant conventions for TLS 1.3, and uses algorithms already specified for use in TLS 1.3 that are also allowed by the CNSA Suite 2.0. This document applies to all CNSA Suite solutions that make use of TLS 1.3. 
		</t>
		
		<t>The reader is assumed to have familiarity with <xref target="RFC8446" format="default"/>, <xref target="I-D.connolly-tls-mlkem-key-agreement" format="default"/>, <xref target="I-D.ietf-tls-8773bis" format="default"/>. 
		</t>
		
		<t>[ED NOTE: This document uses guidance from <xref target="I-D.connolly-tls-mlkem-key-agreement"/> to specify use of ML-KEM in TLS 1.3. We note that the draft is not yet an RFC, and we may need to adjust this text accordingly based on the progress of that document.]
		</t>
    
		<t>[ED NOTE: This document will likely change to use guidance from work specifying the use of ML-DSA in TLS 1.3.</t>
	</section>


    <section numbered="true" toc="default">
      <name>Terminology</name>
      
	  <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14<xref target="RFC2119" format="default"/> <xref target="RFC8174" format ="default"/> if and only if they appear in all capitals, as shown here. 
	  </t>
	  
	  <t> All MUST-level requirements of <xref target="RFC8446" format="default"/>, <xref target="I-D.connolly-tls-mlkem-key-agreement" format="default"/>, <xref target="I-D.ietf-tls-8773bis" format="default"/> apply throughout this profile; they are generally not repeated. In cases where a MUST-level requirement is repeated for clarity, the source document prevails. This profile contains changes that elevate some SHOULD-level options to MUST-level; this profile also contains changes that elevate some MAY-level options to SHOULD-level or MUST-level. All options from <xref target="RFC8446" format="default"/>, <xref target="I-D.connolly-tls-mlkem-key-agreement" format="default"/>, <xref target="I-D.ietf-tls-8773bis" format="default"/> that are not mentioned in this profile remain at the requirement level of the reference. 
	  </t>
	  
	  <t>All references to "CNSA" in this document refer to CNSA 2.0 <xref target="annccnsa" format="default"/>, unless stated otherwise. </t>
	  
    </section>
	
    <section numbered="true" toc="default">
      <name>The Commercial National Security Algorithm Suite</name>
	  
		<t>The National Security Agency (NSA) profiles commercial cryptographic algorithms and protocols as part of its mission to support secure, interoperable communications for U.S. Government National Security Systems (NSS). To this end, it publishes guidance both to assist with the U.S. Government transition to new algorithms and to provide vendors - and the internet community in general - with information concerning their proper use and configuration within the scope of U.S. Government National Security Systems. 
	    </t>
		
	    <t>The Commercial National Security Algorithm (CNSA) Suite is the set of approved commercial algorithms that can be used by vendors and IT users to meet cybersecurity and interoperability requirements for NSS. The initial suite of CNSA Suite algorithms, Suite B, established a baseline for use of commercial algorithms to protect classified information. The following suite, CNSA 1.0, served as a bridge between the original set and a fully quantum-resistant cryptographic capability. The current suite, CNSA 2.0, establishes fully quantum-resistant protection <xref target="annccnsa" format="default"/>. 
		</t>
		
		<t>Pursuant to the National Security Memorandum on Promoting United States Leadership in Quantum Computing While Mitigating Risks to Vulnerable Cryptographic Systems <xref target="NSM-10" format="default"/>, the National Institute for Standards and Technology (NIST) selected several quantum-resistant, or post-quantum, asymmetric algorithms for standardization. From these, NSA has included two in CNSA 2.0: ML-DSA-87 <xref target="FIPS204" format="default"/> for signing, and ML-KEM-1024 <xref target="FIPS203" format="default"/> for key establishment. ML-DSA-87 and ML-KEM-1024 together with SHA384, SHA512, AES-256, LMS, and XMSS comprise the CNSA Suite 2.0. 
		</t>
		
		<t>The NSA is authoring a set of RFCs, including this one, to provide updated guidance for using the CNSA 2.0 Suite in certain IETF protocols. These RFCs can be used in conjunction with other RFCs and cryptographic guidance (e.g., NIST Special Publications) to properly protect Internet traffic and data-at-rest for U.S. Government National Security Systems. 
		</t>
    </section>
	
    <section numbered="true" toc="default">
      <name>CNSA 2.0 Compliance and Interoperability</name>
	  
	  <t>As stated in Section 2, all references to "CNSA" in this document refer to CNSA 2.0 <xref target="annccnsa" format="default"/>, unless stated otherwise.</t>
	  
	  <t>In some situations, servers or clients normally configured for CNSA compliance may have to interoperate with non-compliant clients and servers. Such servers and clients MUST be configured such that CNSA compliance is preferred even if it is not intended or expected. CNSA-compliant implementations MUST present CNSA compliant algorithms first in the appropriate extensions, and CNSA-compliant algorithms MUST be used when supported by the peer. If any aspect of CNSA compliance is not achieved, the connection is not CNSA compliant. 
	  </t>
	  
	  <t>If interoperability with non-CNSA-compliant clients or servers is not intended, then the session MUST fail if any aspect of CNSA compliance is not achieved. 
	  </t>
		
	  <t> If TLS version 1.2 or lower is negotiated, the connection can not be CNSA compliant (Section 4.2).  
	  </t>
	  
	<section numbered="true" toc="default">
	  <name>CNSA 2.0 Suite</name>
	  
	    <t> CNSA requires the following algorithms for use in TLS 1.3: 
		</t>
		
		<t> Encryption: 
		</t>
		
		<t indent="3"> AES <xref target="AES" format="default"/> with 256-bit keys, operating in Galois Counter Mode (GCM) <xref target="GCM" format="default"/>
		</t>
		
	    <t> Key Establishment: 
		</t>
		
		<t indent="3">ML-KEM-1024 <xref target="FIPS203" format="default"/> id-alg-ml-kem-1024 OBJECT IDENTIFIER ::= { kems 3 }
		</t>
		
		<t>Digital Signature
		</t>
		
		<t indent="3">ML-DSA-87 <xref target="FIPS204" format="default"/> id-ml-dsa-87 OBJECT IDENTIFIER ::= { sigAlgs 19 }
		</t>
		
		<t> [ED NOTE: NIST OIDs are written above as placeholders until the TLS registry is updated with identifiers.]
		</t>
		
		<t>CNSA requires the use of SHA-384 <xref target="SHS" format="default"/> for the HMAC-based Key Derivation Function (HKDF) in TLS 1.3. 
		</t>
		
		<t>[ED NOTE: CNSA 2.0 also allows SHA-512 to be used in HKDFs, but at the time of writing, only SHA-384 is supported by TLS 1.3. If SHA-512 becomes available as an option in the TLS registry, CNSA allows such a cipher suite using SHA-512 to be compliant.]
		</t>
		
	</section>
	 
	<section numbered="true" toc="default">
	  <name>TLS Version</name>
	  
		 <t> CNSA TLS servers and clients MUST negotiate TLS version 1.3 <xref target="RFC8446" format="default"/> when establishing a CNSA-compliant connection. CNSA TLS clients and CNSA TLS servers MUST NOT negotiate TLS versions prior to TLS 1.3 in a CNSA-compliant mode.   
		 </t>
		 
		 <t> [ED NOTE: No new features will be approved for TLS 1.2 by IETF, including support for quantum-resistant cryptography.]
		 </t>
		 
	    <section numbered="true" toc="default"> 
		   <name>"supported_versions" Extension</name>
		   <t>CNSA TLS clients connecting to CNSA TLS servers MUST include the “supported_versions” extension in the ClientHello (Section 4.2.1 of <xref target="RFC8446" format="default"/>) and list TLS 1.3 version value (0x0304) first in the extension. CNSA servers establishing a CNSA-compliant connection MUST select TLS 1.3. 
		   </t>
		   
		</section>
		 
	</section>
	</section>
	
	<section numbered="true" toc="default">
	  <name>Key Exchange Messages</name>
	  
	    <t>This section details requirements for CNSA 2.0-compliant algorithm negotiation in TLS 1.3.  
		</t>
	 
	  <section numbered="true" toc="default">
	    <name>Cipher Suite Negotiation</name>
	  
	      <t>The CNSA TLS client MUST offer the following cipher suite in the ClientHello:  
		  </t>
		  
		  <t indent="3">TLS_AES_256_GCM_SHA384 {0x13, 0x02} (Appendix B.4 <xref target="RFC8847" format="default"/>
		  </t>
		  
		  <t>This CNSA cipher suite MUST be the first (most preferred) cipher suite in the ClientHello message and in the extensions.  
		  </t>
		  
		  <t>A CNSA TLS server MUST select this cipher suite if offered by the client.
		  </t>
		  
		  <t>Any cipher suite other than TLS_AES_256_GCM_SHA384 offered by the client MUST NOT be accepted by a CNSA TLS server establishing a CNSA-compliant connection.
		  </t>
		  
		<t>[ED NOTE: CNSA 2.0 also allows SHA-512 to be used in HKDFs, but at the time of writing, only SHA-384 is supported by TLS 1.3. If SHA-512 becomes available as an option in the TLS registry, CNSA allows such a cipher suite using SHA-512 to be compliant.]
		</t>		  
		  
	  </section> 
	  
	  <section numbered="true" toc="default">
	    <name>KEM Requirements</name>
	  
	      <t>CNSA 2.0 requires the use of ML-KEM-1024 for key establishment in TLS.  
		  </t>
		  
		<section numbered="true" toc="default">
	      <name>"supported_groups" Extension</name>
	  
	        <t>The CNSA TLS client MUST offer the following value in named_group_list of the “supported_groups” extension (Section 4.2.7 <xref target="RFC8446" format="default"/> of the ClientHello:
		    </t>
			
			<t indent="3">ML-KEM-1024</t>
			
			<t> [ED NOTE: -draft8447bis will replace "Elliptic curve groups" in the registry with "unallocated" to allow for KEMs. We await draft-connolly-tls-mlkem-key-agreement to assign an identifier for ML-KEM-1024.]
			</t>
			
			<t>ML-KEM-1024 MUST be the first (most preferred) item in named_group_list. 
			</t>
			
			<t>The CNSA TLS server MUST select ML-KEM-1024 if it is included in the “supported_groups” extension sent by the CNSA TLS client in the ClientHello.  
			</t>
			
			<t>Any algorithm other than ML-KEM-1024 offered by the client MUST NOT be accepted by a CNSA TLS server establishing a CNSA-compliant connection. 
			</t>
	    </section>  
		
		<section numbered="true" toc="default">
	      <name>"key_share" Extension</name>
	  
	        <t>In order to facilitate use of a KEM, the public key and ciphertext are sent via the “key_share” extension in the ClientHello and ServerHello, respectively <xref target="I-D.connolly-tls-mlkem-key-agreement" format="default"/>. Specifically, the public key, generated from the ML-KEM-1024 KeyGen algorithm is sent by the client in the KeyShareClientHello value of the extension_data field in the “key_share” extension. The KEM ciphertext generated from ML-KEM-1024 Encaps algorithm is then transmitted from the server back to the client via the KeyShareServerHello value of the extension_data field of the extension.
		    </t>
			
			<t> [ED NOTE: Much of this guidance is written in <xref target="I-D.connolly-tls-mlkem-key-agreement" format="default"/> but as it's in draft form, we rewrite here for clarity.]
			</t>
			
			<t>The “key_share” extension in the CNSA TLS client ClientHello MUST contain the ML-KEM-1024 public key (Section 4.2, <xref target="I-D.connolly-tls-mlkem-key-agreement" format="default"/>).
			</t>
			
			<t>The ML-KEM-1024 public key must be the first (most preferred) key in the list of key shares.  
			</t>
			
			<t>The CNSA TLS server MUST select the ML-KEM-1024 key share for key establishment, and the “key_share” extension in the CNSA TLS server ServerHello MUST contain the ML-KEM-1024 ciphertext associated to the public key provided in the ClientHello (Section 4.2, <xref target="I-D.connolly-tls-mlkem-key-agreement" format="default"/>). 
			</t>
			
	    </section>
		
	  </section>	  
	
	</section> 
	 
	<section numbered="true" toc="default">
	  <name>Authentication Messages</name>
	  
	    <t>CNSA TLS clients MUST require the server to authenticate itself. In all cases, the CNSA TLS client MUST authenticate the server using X.509 certificates; PSK-based authentication may be used in addition to certificate-based authentication as detailed in Section 7.
		</t>
		
		<t>The CNSA TLS server MAY also authenticate the client as needed by the specific application. If mutual authentication is desired, X.509 certificates MUST be used in all cases.
		</t>
		
	  <section numbered="true" toc="default">
	    <name>"signature_algorithms" Extension</name>
	  
	      <t>A CNSA TLS client MUST offer the following value in the “signature_algorithms” extension of the ClientHello:
		  </t>
		  
		  <t indent="3">ML-DSA-87
		  </t>
		  
		  <t>The ML-DSA-87 algorithm must be the first (most preferred) value in the extension. 
		  </t>
		  
		  <t>Any signature algorithm values offered other than ML-DSA-87 MUST NOT be accepted by a CNSA TLS server establishing a CNSA-compliant connection.
		  </t>
		  
	  </section>

	  <section numbered="true" toc="default">
	    <name>"signature_algorithms_cert" Extension</name>
	  
	      <t>The “signature_algorithms_cert” extension is not required for a CNSA-compliant connection, as ML-DSA-87 is the only allowed signature algorithm that can be used for both signatures in the certificate and in the CertificateVerify message under CNSA compliance.
		  </t>
		  
		  <t>If the “signature_algorithms_cert” extension is included, the CNSA TLS client MUST offer the following value first in the “supported_signature_algorithms” field of the extension:
		  </t>		  
		  
		  <t indent="3">ML-DSA-87
		  </t>		  
		  
		  <t>Any signature algorithm offered other than ML-DSA-87 MUST NOT be accepted by a CNSA TLS server establishing a CNSA-compliant connection.
		  </t>		  
		  
		    
	  </section>
	  
	  <section numbered="true" toc="default">
	    <name>CertificateRequest Message</name>
	      
		  <t>The CNSA TLS server MAY authenticate the client as needed by the specific application.  
		  </t>
		  
		  <t>If the CNSA TLS server requires mutual authentication, it MUST authenticate the client using X.509 certificates.
		  </t>
		  
		  <t>The “signature_algorithms” extension sent by the CNSA TLS server in the CertificateRequest message MUST include: 
		  </t>

		  <t indent="3">ML-DSA-87
		  </t>		  

		  <t>The “signature_algorithms_cert” extension is not required, but if it is included by the CNSA TLS server in the CertificateRequest message, then it MUST include:
		  </t>		  

		  <t indent="3">ML-DSA-87
		  </t>		  
		  
		  <t>ML-DSA-87 MUST be the first (most preferred) algorithm in the “signature_algorithms” and “signature_algorithms_cert” extensions.  
		  </t>

		  
	  </section>

	  <section numbered="true" toc="default">
	    <name>Certificate Selection</name>
		  
		  <t>Certificates sent by the CNSA TLS server (and CNSA TLS client, when required) MUST be signed by ML-DSA-87.
		  </t>
		  
		  <t>If the CNSA TLS server sends a CertificateRequest message to the client, the client MUST respond with a valid X.509 certificate suitable for authenticating the client. If the CNSA TLS client sends an empty Certificate message, the CNSA TLS server MUST abort the handshake (Section 4.4.2.4 of <xref target="RFC8446" format="default"/>). Also, if some aspect of the certificate chain was unacceptable (e.g., it was not signed by a known, trusted CA), the server MUST abort the handshake.  
		  </t>
		  
	  </section>	  

	  <section numbered="true" toc="default">
	    <name>CertificateVerify Message</name>
	  
	      <t>A CNSA TLS client or CNSA TLS server MUST use ML-DSA-87 when sending the CertificateVerify message. CNSA TLS clients or servers MUST only accept ML-DSA-87 in the CertificateVerify message when establishing a CNSA-compliant connection.
		  </t>
	  </section>

	</section>

	<section numbered="true" toc="default">
	  <name>External Pre-Shared Keys</name>
	  
	    <t>RFC 8773 <xref target="I-D.ietf-tls-8773bis" format="default"/> specifies an extension that allows an external PSK to be used for authentication in addition to (and not in lieu of) certificate-based authentication during the initial handshake. The PSK also contributes to the TLS 1.3 key schedule (Section 7.1, <xref target="RFC8446" format="default"/>).
		</t>
		
		<t>A CNSA TLS client that supports RFC 8773 MUST include the “tls_cert_with_extern_psk” extension (Section 4, <xref target="I-D.ietf-tls-8773bis" format="default"/>) in the ClientHello message if it desires an external PSK to be used for authentication with certificate-based authentication. This extension is accompanied by the “key_share”, “psk_key_exchange_modes”, and “pre_shared_key” extensions defined in (Section 4.2.9 and 4.2.11, respectively, of <xref target="RFC8446" format="default"/>).  
		</t>
		
		<t>The “psk_key_exchange_modes” extension MUST NOT include psk_ke mode. The “psk_key_exchange_modes” extension MUST be psk_dhe_key using ML-KEM-1024.
		</t>
		
		<t>[Ed Note: psk_dhe_key is defined in Section 4.2.9 of RFC 8446 as PSK with (EC)DHE key establishment. We require use of ML-KEM-1024 in the “key_share” extension, as detailed in Section 5.2.2., but must still use psk_dhe_key.] 
		</t>
		
		<t>PSKs shall be at least 256 bits in length, and generated from a NIST approved random bit generator that supports 256-bits of entropy <xref target="SP800-90c" format="default"/>. 
		</t>
		
		<t>If the CNSA TLS server recognizes the “tls_cert_with _extern_psk” extension and possesses at least one of the external PSKs offered by the client in the “pre_shared_key” extension in the ClientHello, then the CNSA TLS server MUST select a CNSA compliant PSK and respond with the “tls_cert_with_extern_psk”, “key_share”, and “pre_shared_key” extensions in the ServerHello message (Section 4, <xref target="I-D.ietf-tls-8773bis" format="default"/>).  
		</t>
		
		
	</section>
	  
    <section numbered="true" toc="default">
	  <name>Resumption</name>
	  
	    <t>A CNSA TLS server MAY send a CNSA TLS client a NewSessionTicket message to enable resumption. A CNSA TLS client MUST request “psk_dhe_ke” via the “psk_key_exchange_modes” extension in the ClientHello to resume a session. The “supported_groups” and “key_share” extensions MUST comply with those detailed in Section 5.2.1 and Section 5.2.2 of this document, respectively.  
	    </t>
	</section>

    <section numbered="true" toc="default">
	  <name>Certificate Status</name>
	  
	    <t>A CNSA TLS server (and CNSA TLS client, if client authentication is required) MUST provide certificate status information either via a Certificate Revocation List (CRL) distribution points or by the Online Certificate Status Protocol (OCSP) (with or without stapling) For details on CNSA requirements for these methods, see  <xref target="I-D.jenkins-cnsa2-pkix-profile" format="default"/>. 
	    </t>
	</section>
	 
    <section numbered="true" toc="default">
	  <name>"early_data" Extension</name>
	  
	    <t>A CNSA TLS client or server MUST NOT include the “early_data” extension.  
	    </t>
	</section>
	
    <section numbered="true" toc="default">
	  <name>Security Considerations</name>
	  
	    <t>Most of the security considerations for this document are described in <xref target="RFC8446" format="default"/>, <xref target="I-D.ietf-tls-8773bis" format="default"/>. Additional security considerations for the use of ML-KEM in TLS 1.3 can be found in <xref target="I-D.connolly-tls-mlkem-key-agreement" format="default"/>. 
	    </t>
		
		<t>In order to meet the goal of a consistent security level for the entire cipher suite, CNSA TLS implementations MUST only use the algorithms listed in this document. If this is not the case, security may be weaker than is required.  
		</t>
		
		<t>As noted in TLS version 1.3 <xref target="RFC8446" format="default"/>, TLS does not provide inherent replay protections for early data. For this reason, this profile forbids the use of early data.  
		</t>
		
	</section>
	
    <section numbered="true" toc="default">
	  <name>IANA Considerations</name>
	  
	    <t>This document has no IANA considerations.
	    </t>
	</section>
	 
  </middle>
  
  
  <!--  *****BACK MATTER ***** -->

 <back>
    <!-- References split into informative and normative -->

   <references>
      <name>References</name>

		<!--  ***** RFC terms ***** -->
		<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
		
		<!--  ***** RFC terms2 ***** -->
		<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>		

	   	
		<!--  ***** AES ***** -->
		<reference anchor="AES" target="https://nvlpubs.nist.gov/nistpubs/fips/NIST.FIPS.197.pdf" quoteTitle="true" derivedAnchor="AES">
          <front>
            <title>Announcing the ADVANCED ENCRYPTION STANDARD (AES)</title>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
            </author>
            <date month="November" year="2001"/>
          </front>
          <seriesInfo name="FIPS" value="197"/>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.197"/>
        </reference>
		
		<!--  ***** GCM ***** -->		
		<reference anchor="GCM" target="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf" quoteTitle="true" derivedAnchor="GCM">
          <front>
            <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC</title>
            <author fullname="Morris Dworkin" initials="M" surname="Dworkin"/>
            <date month="November" year="2007"/>
          </front>
          <seriesInfo name="NIST Special Publication" value="800-38D"/>
          <seriesInfo name="DOI" value="10.6028/NIST.SP.800-38D"/>
        </reference>

		<!--  ***** TLS 1.3 8446 ***** -->
		<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>


		<!--  ***** RFC 8847 ***** -->
		<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8847.xml"/>

		<!--  ***** SHA ***** -->
		<reference anchor="SHS" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf" quoteTitle="true" derivedAnchor="SHS">
          <front>
            <title>Secure Hash Standard (SHS)</title>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date month="August" year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.180-4"/>
          <seriesInfo name="FIPS PUB" value="180-4"/>
        </reference>

		<!--  ***** ML-KEM FIPS ***** -->
		<reference anchor="FIPS203" target="https://doi.org/10.6028/NIST.FIPS.203" quoteTitle="true" derivedAnchor="FIPS203">
          <front>
            <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
			<seriesInfo name="(Department of Commerce, Washington, D.C.)," value="Federal Information Processing Standards Publication (FIPS)"/>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology (2024)</organization>
            </author>
          </front>
          <seriesInfo name="NIST FIPS" value="203"/>
        </reference>		
		
		<!--  ***** ML-DSA FIPS ***** -->
		<reference anchor="FIPS204" target="https://doi.org/10.6028/NIST.FIPS.204" quoteTitle="true" derivedAnchor="FIPS204">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
			<seriesInfo name="(Department of Commerce, Washington, D.C.)," value="Federal Information Processing Standards Publication (FIPS)"/>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology (2024)</organization>
            </author>
          </front>
          <seriesInfo name="NIST FIPS" value="204"/>
        </reference>

		<!--  ***** ML-KEM TLS ***** -->
		<reference anchor="I-D.connolly-tls-mlkem-key-agreement" target="https://datatracker.ietf.org/doc/draft-connolly-tls-mlkem-key-agreement/01/">
         <front>
            <title>ML-KEM Post-Quantum Key Agreement for TLS 1.3</title>
            <author initials="D." surname="Connolly" fullname="D. Connolly">
              <organization/>
            </author>
            <date month="March" year="2024"/>
         </front>
		</reference>

		<!--  ***** CNSA2 PKIX ***** -->
		<reference anchor="I-D.jenkins-cnsa2-pkix-profile" target="https://datatracker.ietf.org/doc/draft-jenkins-cnsa2-pkix-profile/">
         <front>
            <title>Commercial National Security Algorithm Suite Certificate and Certificate Revocation List Profile</title>
            <author initials="M." surname="Jenkins" fullname="M. Jenkins">
              <organization/>
            </author>
			<author initials="A." surname="Becker" fullname="A. Becker">
              <organization/>
            </author>
            <date month="January" year="2025"/>
         </front>
		</reference>


		<!--  ***** CNSA ***** -->
		<reference anchor="annccnsa" target="https://media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF" quoteTitle="true" derivedAnchor="annccnsa">
          <front>
            <title>Announcing the Commercial National Security Algorithm Suite 2.0</title>
			<seriesInfo name="September" value="2022"/>
            <author>
              <organization showOnFrontPage="true">National Security Agency</organization>
            </author>
          </front>
        </reference>

		<!--  ***** SP 800-59 ***** -->
		<reference anchor="SP80059" target="https://csrc.nist.gov/publications/detail/sp/800-59/final" quoteTitle="true" derivedAnchor="SP80059">
          <front>
            <title>Guideline for Identifying an Information System as a National Security System</title>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
            </author>
          </front>
		  <seriesInfo name="Special Publication 59," value="DOI 10.6028/NIST.SP.800-59"/>
          <seriesInfo name="August" value="2003"/>
        </reference>

		<!--  ***** SP 800-90c ***** -->
		<reference anchor="SP800-90c" target="https://doi.org/10.6028/NIST.SP.800-90C.4pd" quoteTitle="true" derivedAnchor="SP80059">
          <front>
            <title>Recommendation for Random Bit Generator (RBG) Constructions.</title>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
            </author>
          </front>
		  <seriesInfo name="NIST SP" value="800-90C 4pd"/>
        </reference>


		<!--  ***** TLS PSK ***** -->
		<reference anchor="I-D.ietf-tls-8773bis" target="https://datatracker.ietf.org/doc/draft-ietf-tls-8773bis/02/">
         <front>
            <title>TLS 1.3 Extension for Using Certificates with an External Pre-Shared Key</title>
            <author initials="R." surname="Housley" fullname="R. Housley">
              <organization/>
            </author>
            <date month="July" year="2024"/>
         </front>
		</reference>

		<!--  ***** NSM-10 ***** -->
		<reference anchor="NSM-10" target="https://www.whitehouse.gov/briefing-room/statements-
              releases/2022/05/04/national-security-memorandum-on-
              promoting-united-states-leadership-in-quantum-computing-
              while-mitigating-risks-to-vulnerable-cryptographic-
              systems/" quoteTitle="true" derivedAnchor="NSM-10">
          <front>
            <title>National Security Memorandum on Promoting United States Leadership in Quantum Computing While Mitigating Risks to Vulnerable Cryptographic Systems</title>
            <author>
              <organization showOnFrontPage="true">United States, The White House</organization>
            </author>
          </front>
		  <seriesInfo name="NSM" value="10"/>
          <seriesInfo name="May" value="2022"/>
        </reference>


   </references>
			 
 </back>
</rfc>
