<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" docName="draft-corcoran-cnsa-ipsec-profile-06" indexInclude="true" ipr="trust200902" number="9206" prepTime="2022-02-28T21:56:18" scripts="Common,Latin" sortRefs="true" submissionType="independent" symRefs="true" tocDepth="2" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-corcoran-cnsa-ipsec-profile-06" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9206" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="CNSA Suite IPsec Profile">Commercial National Security Algorithm (CNSA) Suite Cryptography for Internet Protocol Security (IPsec)</title>
    <seriesInfo name="RFC" value="9206" stream="independent"/>
    <author fullname="Laura Corcoran" initials="L." surname="Corcoran">
      <organization abbrev="NSA" showOnFrontPage="true">National Security Agency</organization>
      <address>
        <email>lscorco@nsa.gov</email>
      </address>
    </author>
    <author fullname="Michael Jenkins" initials="M." surname="Jenkins">
      <organization abbrev="NSA" showOnFrontPage="true">National Security Agency - Center for Cybersecurity Standards</organization>
      <address>
        <email>mjjenki@cyber.nsa.gov</email>
      </address>
    </author>
    <date month="02" year="2022"/>
    <keyword>post quantum</keyword>
    <keyword>quantum resistant</keyword>
    <keyword>NSA</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The United States Government has published the National Security Agency's Commercial National Security Algorithm (CNSA) Suite, which defines cryptographic algorithm policy for national security applications. This document specifies the conventions for using the United States National Security Agency's CNSA Suite algorithms in Internet Protocol Security (IPsec). It applies to the capabilities, configuration, and operation of all components of US National Security Systems (described in NIST Special Publication 800-59) that employ IPsec. This document is also appropriate for all other US Government systems that process high-value information. It is made publicly available for use by developers and operators of these and any other system deployments.
</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This is a contribution to the RFC Series, independently of any
            other RFC stream.  The RFC Editor has chosen to publish this
            document at its discretion and makes no statement about its value
            for implementation or deployment.  Documents approved for
            publication by the RFC Editor are not candidates for any level of
            Internet Standard; see Section 2 of RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9206" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-commercial-national-sec">The Commercial National Security Algorithm Suite</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cnsa-compliant-ipsec-overvi">CNSA-Compliant IPsec Overview</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ipsec-user-interface-suites">IPsec User Interface Suites</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-suite-cnsa-gcm-256-ecdh-384">Suite CNSA-GCM-256-ECDH-384</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-suite-cnsa-gcm-256-dh-3072">Suite CNSA-GCM-256-DH-3072</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-suite-cnsa-gcm-256-dh-4096">Suite CNSA-GCM-256-DH-4096</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ikev2-authentication">IKEv2 Authentication</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-certificates">Certificates</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ikev2-security-associations">IKEv2 Security Associations (SAs)</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-key-exchange-payload-in">The Key Exchange Payload in the IKE_SA_INIT Exchange</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-generating-key-material-for">Generating Key Material for the IKE SA</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-additional-requirements">Additional Requirements</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-guidance-for-applications-w">Guidance for Applications with Long Data-Protection Requirements</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="13" format="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="14" format="counter" sectionFormat="of" target="section-14"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="15" format="counter" sectionFormat="of" target="section-15"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.15.2">
              <li pn="section-toc.1-1.15.2.1">
                <t indent="0" pn="section-toc.1-1.15.2.1.1"><xref derivedContent="15.1" format="counter" sectionFormat="of" target="section-15.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.15.2.2">
                <t indent="0" pn="section-toc.1-1.15.2.2.1"><xref derivedContent="15.2" format="counter" sectionFormat="of" target="section-15.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.16">
            <t indent="0" pn="section-toc.1-1.16.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">This document specifies the conventions for using the United States National Security Agency's (NSA's) Commercial National Security Algorithm (CNSA) Suite algorithms <xref target="CNSA" format="default" sectionFormat="of" derivedContent="CNSA"/> in Internet Protocol Security (IPsec). It defines CNSA-based User Interface suites ("UI suites") describing sets of security configurations for Internet Key Exchange Protocol Version 2 (IKEv2) and IP Encapsulating Security Payload (ESP) protocol use, and specifies certain other constraints with respect to algorithm selection and configuration. It applies to the capabilities, configuration, and operation of all components of US National Security Systems (described in NIST Special Publication 800-59 <xref target="SP80059" format="default" sectionFormat="of" derivedContent="SP80059"/>) that employ IPsec. This document is also appropriate for all other US Government systems that process high-value information. It is made publicly available for use by developers and operators of these and any other system deployments.
</t>
      <t indent="0" pn="section-1-2">The reader is assumed to have familiarity with the following:

</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-3">
        <li pn="section-1-3.1">
        "<xref target="RFC4303" format="title" sectionFormat="of" derivedContent="IP Encapsulating Security Payload (ESP)"/>" <xref target="RFC4303" format="default" sectionFormat="of" derivedContent="RFC4303"/>
        </li>
        <li pn="section-1-3.2">
        "<xref target="RFC5280" format="title" sectionFormat="of" derivedContent="Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"/>" <xref target="RFC5280" format="default" sectionFormat="of" derivedContent="RFC5280"/>
        </li>
        <li pn="section-1-3.3">
        "<xref target="RFC7296" format="title" sectionFormat="of" derivedContent="Internet Key Exchange Protocol Version 2 (IKEv2)"/>" <xref target="RFC7296" format="default" sectionFormat="of" derivedContent="RFC7296"/>
        </li>
        <li pn="section-1-3.4">
        "<xref target="RFC8221" format="title" sectionFormat="of" derivedContent="Cryptographic Algorithm Implementation Requirements and Usage Guidance for Encapsulating Security Payload (ESP) and Authentication Header (AH)"/>" <xref target="RFC8221" format="default" sectionFormat="of" derivedContent="RFC8221"/>
        </li>
        <li pn="section-1-3.5">"<xref target="RFC8603" format="title" sectionFormat="of" derivedContent="Commercial National Security Algorithm (CNSA) Suite Certificate and Certificate Revocation List (CRL) Profile"/>" <xref target="RFC8603" format="default" sectionFormat="of" derivedContent="RFC8603"/></li>
      </ul>
    </section>
    <section anchor="terminology" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only
       when, they appear in all capitals, as shown here.</t>
      <t indent="0" pn="section-2-2">AES refers to the Advanced Encryption Standard. ECDSA and ECDH refer to the use of the Elliptic Curve Digital Signature Algorithm (ECDSA) and Elliptic Curve Diffie-Hellman (ECDH), respectively. DH refers to Diffie-Hellman key establishment. RSA refers to an RSA signature.
</t>
    </section>
    <section anchor="cnsa" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-the-commercial-national-sec">The Commercial National Security Algorithm Suite</name>
      <t indent="0" pn="section-3-1">The NSA profiles commercial cryptographic algorithms and protocols as part of its mission to support secure, interoperable communications for US Government National Security Systems. To this end, it publishes guidance to both (1) assist with the US Government transition to new algorithms and (2) provide vendors -- and the Internet community in general -- with information concerning their proper use and configuration.
</t>
      <t indent="0" pn="section-3-2">Recently, cryptographic transition plans have become overshadowed by the prospect of the development of a cryptographically relevant quantum computer. The NSA has established the Commercial National Security Algorithm (CNSA) Suite to provide vendors and IT users near-term flexibility in meeting their information assurance interoperability requirements. The purpose behind this flexibility is to avoid vendors and customers making two major transitions in a relatively short timeframe, as we anticipate a need to shift to quantum-resistant cryptography in the near future.
</t>
      <t indent="0" pn="section-3-3">The NSA is authoring a set of RFCs, including this one, to provide updated guidance concerning the use of certain commonly available commercial algorithms in 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 US Government National Security Systems.
</t>
    </section>
    <section anchor="overview" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-cnsa-compliant-ipsec-overvi">CNSA-Compliant IPsec Overview</name>
      <t indent="0" pn="section-4-1">CNSA-compliant implementations for IPsec <bcp14>MUST</bcp14> use IKEv2 <xref target="RFC7296" format="default" sectionFormat="of" derivedContent="RFC7296"/>.
</t>
      <t indent="0" pn="section-4-2">Implementing a CNSA-compliant IPsec system requires cryptographic algorithm selection for both the IKEv2 and ESP protocols. The following CNSA requirements apply to IPsec:

</t>
      <t indent="0" pn="section-4-3">Encryption:</t>
      <ul empty="true" spacing="compact" bare="false" indent="3" pn="section-4-4">
        <li pn="section-4-4.1">AES <xref target="FIPS197" format="default" sectionFormat="of" derivedContent="FIPS197"/> (with key size 256 bits)</li>
      </ul>
      <t indent="0" pn="section-4-5">Digital Signature:</t>
      <ul empty="true" spacing="compact" bare="false" indent="3" pn="section-4-6">
        <li pn="section-4-6.1">ECDSA <xref target="FIPS186" format="default" sectionFormat="of" derivedContent="FIPS186"/> (using the NIST P-384 elliptic curve)</li>
        <li pn="section-4-6.2">RSA <xref target="FIPS186" format="default" sectionFormat="of" derivedContent="FIPS186"/> (with a modulus of 3072 bits or larger)</li>
      </ul>
      <t indent="0" pn="section-4-7">Key Establishment:</t>
      <ul empty="true" spacing="compact" bare="false" indent="3" pn="section-4-8">
        <li pn="section-4-8.1">ECDH <xref target="SP80056A" format="default" sectionFormat="of" derivedContent="SP80056A"/> (using the NIST P-384 elliptic curve)</li>
        <li pn="section-4-8.2">DH <xref target="RFC3526" format="default" sectionFormat="of" derivedContent="RFC3526"/> (with a prime modulus of 3072 or larger)</li>
      </ul>
      <t indent="0" pn="section-4-9">To facilitate selection of appropriate combinations of compliant algorithms, this document provides CNSA-compliant User Interface suites (UI suites) <xref target="RFC4308" format="default" sectionFormat="of" derivedContent="RFC4308"/> to implement IPsec on National Security Systems.
</t>
      <t indent="0" pn="section-4-10">The approved CNSA hash function for all purposes is SHA-384, as defined in <xref target="FIPS180" format="default" sectionFormat="of" derivedContent="FIPS180"/>. However, PRF_HMAC_SHA_512 is specified for the IKEv2 Pseudorandom Function (PRF) instead of PRF_HMAC_SHA_384, due to availability. See <xref target="sa" format="default" sectionFormat="of" derivedContent="Section 8"/> below.
</t>
      <t indent="0" pn="section-4-11">For CNSA Suite applications, public key certificates <bcp14>MUST</bcp14> be compliant with the CNSA Suite Certificate and CRL Profile specified in <xref target="RFC8603" format="default" sectionFormat="of" derivedContent="RFC8603"/>.
</t>
      <t indent="0" pn="section-4-12">Under certain conditions, such as applications having long-lived
data-protection requirements, systems that do not comply with the requirements of this document are acceptable; see <xref target="long-life" format="default" sectionFormat="of" derivedContent="Section 12"/>.
</t>
    </section>
    <section anchor="ui-suites" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-ipsec-user-interface-suites">IPsec User Interface Suites</name>
      <t indent="0" pn="section-5-1">User Interface (UI) suites <xref target="RFC4308" format="default" sectionFormat="of" derivedContent="RFC4308"/> are named suites that cover some typical security policy options for IPsec. Use of UI suites does not change the IPsec protocol in any way. The following UI suites provide cryptographic algorithm choices for ESP <xref target="RFC4303" format="default" sectionFormat="of" derivedContent="RFC4303"/> and for IKEv2 <xref target="RFC7296" format="default" sectionFormat="of" derivedContent="RFC7296"/>.
  The selection of a UI suite will depend on the key exchange algorithm.  The suite names indicate the Advanced Encryption Standard <xref target="FIPS197" format="default" sectionFormat="of" derivedContent="FIPS197"/> mode, AES key length specified for encryption, and the key exchange algorithm. 
</t>
      <t indent="0" pn="section-5-2">Although RSA is also a CNSA-approved key establishment algorithm, only DH and ECDH are specified for key exchange in IKEv2 <xref target="RFC7296" format="default" sectionFormat="of" derivedContent="RFC7296"/>.
 RSA in IPsec is used only for digital signatures. See <xref target="ikev2-authn" format="default" sectionFormat="of" derivedContent="Section 6"/>.
</t>
      <t indent="0" pn="section-5-3">ESP requires negotiation of both a confidentiality algorithm and an integrity algorithm. However, algorithms for Authenticated Encryption with Associated Data (AEAD) <xref target="RFC5116" format="default" sectionFormat="of" derivedContent="RFC5116"/> do not require a separate integrity algorithm to be negotiated.
 In particular, since AES-GCM is an AEAD algorithm, ESP implementing AES-GCM <bcp14>MUST</bcp14> either offer no integrity algorithm or indicate the single integrity algorithm NONE (see <xref target="RFC7296" sectionFormat="of" section="3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7296#section-3.3" derivedContent="RFC7296"/>).
</t>
      <t indent="0" pn="section-5-4">To be CNSA compliant, IPsec implementations that use the following UI suites <bcp14>MUST</bcp14> use the suite names listed below.  IPsec implementations <bcp14>SHOULD NOT</bcp14> use names different than those listed here for the suites that are described and <bcp14>MUST NOT</bcp14> use the names listed here for suites that do not match these values.  These requirements are necessary for interoperability.
</t>
      <t indent="0" pn="section-5-5">Transform names are as listed in the IANA "Internet Key Exchange Version 2 (IKEv2) Parameters" registry. Definitions of the transforms are contained in the references specified in that registry.
</t>
      <t indent="0" pn="section-5-6">Other UI suites may be acceptable for CNSA compliance. See <xref target="sa" format="default" sectionFormat="of" derivedContent="Section 8"/> for details.
</t>
      <section anchor="suite-ecdh" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-suite-cnsa-gcm-256-ecdh-384">Suite CNSA-GCM-256-ECDH-384</name>
        <dl newline="true" spacing="compact" indent="3" pn="section-5.1-1">
          <dt pn="section-5.1-1.1">ESP SA:</dt>
          <dd pn="section-5.1-1.2">
            <dl spacing="compact" indent="3" newline="false" pn="section-5.1-1.2.1">
              <dt pn="section-5.1-1.2.1.1">Encryption:</dt>
              <dd pn="section-5.1-1.2.1.2">ENCR_AES_GCM_16 (with key size 256 bits)</dd>
              <dt pn="section-5.1-1.2.1.3">Integrity:</dt>
              <dd pn="section-5.1-1.2.1.4">NONE</dd>
            </dl>
          </dd>
          <dt pn="section-5.1-1.3">IKEv2 SA:</dt>
          <dd pn="section-5.1-1.4">
            <dl spacing="compact" indent="3" newline="false" pn="section-5.1-1.4.1">
              <dt pn="section-5.1-1.4.1.1">Encryption:</dt>
              <dd pn="section-5.1-1.4.1.2">ENCR_AES_GCM_16 (with key size 256 bits)</dd>
              <dt pn="section-5.1-1.4.1.3">PRF:</dt>
              <dd pn="section-5.1-1.4.1.4">PRF_HMAC_SHA2_512</dd>
              <dt pn="section-5.1-1.4.1.5">Integrity:</dt>
              <dd pn="section-5.1-1.4.1.6">NONE</dd>
              <dt pn="section-5.1-1.4.1.7">Diffie-Hellman group:</dt>
              <dd pn="section-5.1-1.4.1.8">384-bit random ECP group</dd>
            </dl>
          </dd>
        </dl>
      </section>
      <section anchor="suite-dh3k" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-suite-cnsa-gcm-256-dh-3072">Suite CNSA-GCM-256-DH-3072</name>
        <dl newline="true" spacing="compact" indent="3" pn="section-5.2-1">
          <dt pn="section-5.2-1.1">ESP SA:</dt>
          <dd pn="section-5.2-1.2">
            <dl spacing="compact" indent="3" newline="false" pn="section-5.2-1.2.1">
              <dt pn="section-5.2-1.2.1.1">Encryption:</dt>
              <dd pn="section-5.2-1.2.1.2">ENCR_AES_GCM_16 (with key size 256 bits)</dd>
              <dt pn="section-5.2-1.2.1.3">Integrity:</dt>
              <dd pn="section-5.2-1.2.1.4">NONE</dd>
            </dl>
          </dd>
          <dt pn="section-5.2-1.3">IKEv2 SA:</dt>
          <dd pn="section-5.2-1.4">
            <dl spacing="compact" indent="3" newline="false" pn="section-5.2-1.4.1">
              <dt pn="section-5.2-1.4.1.1">Encryption:</dt>
              <dd pn="section-5.2-1.4.1.2">ENCR_AES_GCM_16 (with key size 256 bits)</dd>
              <dt pn="section-5.2-1.4.1.3">PRF:</dt>
              <dd pn="section-5.2-1.4.1.4">PRF_HMAC_SHA2_512</dd>
              <dt pn="section-5.2-1.4.1.5">Integrity:</dt>
              <dd pn="section-5.2-1.4.1.6">NONE</dd>
              <dt pn="section-5.2-1.4.1.7">Diffie-Hellman group:</dt>
              <dd pn="section-5.2-1.4.1.8">3072-bit MODP group</dd>
            </dl>
          </dd>
        </dl>
      </section>
      <section anchor="suite-dh4k" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-suite-cnsa-gcm-256-dh-4096">Suite CNSA-GCM-256-DH-4096</name>
        <dl newline="true" spacing="compact" indent="3" pn="section-5.3-1">
          <dt pn="section-5.3-1.1">ESP SA:</dt>
          <dd pn="section-5.3-1.2">
            <dl spacing="compact" indent="3" newline="false" pn="section-5.3-1.2.1">
              <dt pn="section-5.3-1.2.1.1">Encryption:</dt>
              <dd pn="section-5.3-1.2.1.2">ENCR_AES_GCM_16 (with key size 256 bits)</dd>
              <dt pn="section-5.3-1.2.1.3">Integrity:</dt>
              <dd pn="section-5.3-1.2.1.4">NONE</dd>
            </dl>
          </dd>
          <dt pn="section-5.3-1.3">IKEv2 SA:</dt>
          <dd pn="section-5.3-1.4">
            <dl spacing="compact" indent="3" newline="false" pn="section-5.3-1.4.1">
              <dt pn="section-5.3-1.4.1.1">Encryption:</dt>
              <dd pn="section-5.3-1.4.1.2">ENCR_AES_GCM_16 (with key size 256 bits)</dd>
              <dt pn="section-5.3-1.4.1.3">PRF:</dt>
              <dd pn="section-5.3-1.4.1.4">PRF_HMAC_SHA2_512</dd>
              <dt pn="section-5.3-1.4.1.5">Integrity:</dt>
              <dd pn="section-5.3-1.4.1.6">NONE</dd>
              <dt pn="section-5.3-1.4.1.7">Diffie-Hellman group:</dt>
              <dd pn="section-5.3-1.4.1.8">4096-bit MODP group</dd>
            </dl>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="ikev2-authn" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-ikev2-authentication">IKEv2 Authentication</name>
      <t indent="0" pn="section-6-1">Authentication of the IKEv2 Security Association (SA) requires computation of a digital signature.  To be CNSA compliant, digital signatures <bcp14>MUST</bcp14> be generated with SHA-384 as defined in <xref target="RFC8017" format="default" sectionFormat="of" derivedContent="RFC8017"/> together with either ECDSA-384 as defined in <xref target="RFC4754" format="default" sectionFormat="of" derivedContent="RFC4754"/> or RSA with 3072-bit or greater modulus.
 (For applications with long data-protection requirements, somewhat different rules apply; see <xref target="long-life" format="default" sectionFormat="of" derivedContent="Section 12"/>.)
</t>
      <t indent="0" pn="section-6-2">Initiators and responders <bcp14>MUST</bcp14> be able to verify ECDSA-384 signatures and <bcp14>MUST</bcp14> be able to verify RSA with 3072-bit or 4096-bit modulus and SHA-384 signatures.
</t>
      <t indent="0" pn="section-6-3">For CNSA-compliant systems, authentication methods other than ECDSA-384 or RSA <bcp14>MUST NOT</bcp14> be accepted for IKEv2 authentication. A 3072-bit modulus or larger <bcp14>MUST</bcp14> be used for RSA. If the relying party receives a message signed with any authentication method other than an ECDSA-384 or RSA signature, it <bcp14>MUST</bcp14> return an AUTHENTICATION_FAILED notification and stop processing the message. If the relying party receives a message signed with RSA using less than a 3072-bit modulus, it <bcp14>MUST</bcp14> return an AUTHENTICATION_FAILED notification and stop processing the message.
</t>
    </section>
    <section anchor="certs" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-certificates">Certificates</name>
      <t indent="0" pn="section-7-1">To be CNSA compliant, the initiator and responder <bcp14>MUST</bcp14> use X.509 certificates that comply with <xref target="RFC8603" format="default" sectionFormat="of" derivedContent="RFC8603"/>. Peer authentication decisions must be based on the Subject or Subject Alternative Name from the certificate that contains the key used to validate the signature in the Authentication Payload as defined in <xref target="RFC7296" sectionFormat="of" section="3.8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7296#section-3.8" derivedContent="RFC7296"/>, rather than the Identification Data from the Identification Payload that is used to look up policy.
</t>
    </section>
    <section anchor="sa" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-ikev2-security-associations">IKEv2 Security Associations (SAs)</name>
      <t indent="0" pn="section-8-1"><xref target="ui-suites" format="default" sectionFormat="of" derivedContent="Section 5"/> specifies three UI suites for ESP and IKEv2 Security Associations. All three use AES-GCM for encryption but differ in the key exchange algorithm. Galois/Counter Mode (GCM) <xref target="RFC4106" format="default" sectionFormat="of" derivedContent="RFC4106"/>  combines counter (CTR) mode with a secure, parallelizable, and efficient authentication mechanism. Since AES-GCM is an AEAD algorithm, ESP implements AES-GCM with no additional integrity algorithm (see <xref target="RFC7296" sectionFormat="of" section="3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7296#section-3.3" derivedContent="RFC7296"/>). 
</t>
      <t indent="0" pn="section-8-2">An initiator proposal <bcp14>SHOULD</bcp14> be constructed from one or more of the following suites:
</t>
      <ul spacing="compact" bare="false" empty="false" indent="3" pn="section-8-3">
        <li pn="section-8-3.1">CNSA-GCM-256-ECDH-384</li>
        <li pn="section-8-3.2">CNSA-GCM-256-DH-3072</li>
        <li pn="section-8-3.3">CNSA-GCM-256-DH-4096</li>
      </ul>
      <t indent="0" pn="section-8-4">A responder <bcp14>SHOULD</bcp14> accept proposals constructed from at least one of the three named suites. Other UI suites may result in acceptable proposals (such as those based on PRF_HMAC_SHA2_384); however, these are provided to promote interoperability.
</t>
      <t indent="0" pn="section-8-5">Nonce construction for AES-GCM using a misuse-resistant technique <xref target="RFC8452" format="default" sectionFormat="of" derivedContent="RFC8452"/> conforms with the requirements of this document and <bcp14>MAY</bcp14> be used if a Federal Information Processing Standard (FIPS) validated implementation is available.
</t>
      <t indent="0" pn="section-8-6">The named UI suites specify PRF_HMAC_SHA2_512 for the IKEv2 SA PRF transform, as PRF_HMAC_SHA2_384 is not listed among required PRF transforms in <xref target="RFC8247" format="default" sectionFormat="of" derivedContent="RFC8247"/>; therefore, implementation of the latter is likely to be scarce. The security level of PRF_HMAC_SHA2_512 is comparable, and the difference in performance is negligible. However, SHA-384 is the official CNSA algorithm for computing a condensed representation of information. Therefore, the PRF_HMAC_SHA2_384 transform is CNSA compliant if it is available to the initiator and responder. Any PRF transform other than PRF_HMAC_SHA2_384 or PRF_HMAC_SHA2_512 <bcp14>MUST NOT</bcp14> be used.
</t>
      <t indent="0" pn="section-8-7">If none of the proposals offered by the initiator consist solely of transforms based on CNSA algorithms (such as those in the UI suites defined in <xref target="ui-suites" format="default" sectionFormat="of" derivedContent="Section 5"/>), the responder <bcp14>MUST</bcp14> return a Notify payload with the error NO_PROPOSAL_CHOSEN when operating in CNSA-compliant mode.
</t>
    </section>
    <section anchor="ike-sa-init" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-the-key-exchange-payload-in">The Key Exchange Payload in the IKE_SA_INIT Exchange</name>
      <t indent="0" pn="section-9-1">The key exchange payload is used to exchange Diffie-Hellman public numbers as part of a Diffie-Hellman key exchange. The CNSA-compliant initiator and responder <bcp14>MUST</bcp14> each generate an ephemeral key pair to be used in the key exchange. 
</t>
      <t indent="0" pn="section-9-2">If the Elliptic Curve Diffie-Hellman (ECDH) key exchange is selected for the SA, the initiator and responder both <bcp14>MUST</bcp14> generate an elliptic curve (EC) key pair using the P-384 elliptic curve. The ephemeral public keys <bcp14>MUST</bcp14> be stored in the key exchange payload as described in <xref target="RFC5903" format="default" sectionFormat="of" derivedContent="RFC5903"/>.
</t>
      <t indent="0" pn="section-9-3">If the Diffie-Hellman (DH) key exchange is selected for the SA, the initiator and responder both <bcp14>MUST</bcp14> generate a key pair using the appropriately sized MODP group as described in <xref target="RFC3526" format="default" sectionFormat="of" derivedContent="RFC3526"/>. The size of the MODP group will be determined by the selection of either a 3072-bit or greater modulus for the SA.
</t>
    </section>
    <section anchor="ikesa-keygen" numbered="true" toc="include" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-generating-key-material-for">Generating Key Material for the IKE SA</name>
      <t indent="0" pn="section-10-1">As noted in <xref target="RFC5903" sectionFormat="of" section="7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5903#section-7" derivedContent="RFC5903"/>, the shared secret result of an ECDH key exchange is the 384-bit x value of the ECDH common value. The shared secret result of a DH key exchange is the number of octets needed to accommodate the prime (e.g., 384 octets for 3072-bit MODP group) with leading zeros as necessary, as described in <xref target="RFC2631" sectionFormat="of" section="2.1.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc2631#section-2.1.2" derivedContent="RFC2631"/>.
</t>
      <t indent="0" pn="section-10-2">IKEv2 allows for the reuse of Diffie-Hellman private keys; see <xref target="RFC7296" sectionFormat="of" section="2.12" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7296#section-2.12" derivedContent="RFC7296"/>.  However, there are security concerns related to this practice. Section 5.6.3.3 of <xref target="SP80056A" format="default" sectionFormat="of" derivedContent="SP80056A"/> states that an ephemeral private key <bcp14>MUST</bcp14> be used in exactly one key establishment transaction and <bcp14>MUST</bcp14> be destroyed (zeroized) as soon as possible. Section 5.8 of <xref target="SP80056A" format="default" sectionFormat="of" derivedContent="SP80056A"/> states that any shared secret derived from key establishment <bcp14>MUST</bcp14> be destroyed (zeroized) immediately after its use.
 CNSA-compliant IPsec systems <bcp14>MUST</bcp14> follow the mandates in <xref target="SP80056A" format="default" sectionFormat="of" derivedContent="SP80056A"/>.
</t>
    </section>
    <section anchor="addl-reqt" numbered="true" toc="include" removeInRFC="false" pn="section-11">
      <name slugifiedName="name-additional-requirements">Additional Requirements</name>
      <t indent="0" pn="section-11-1">The IPsec protocol AH <bcp14>MUST NOT</bcp14> be used in CNSA-compliant implementations.
</t>
      <t indent="0" pn="section-11-2">A Diffie-Hellman group <bcp14>MAY</bcp14> be negotiated for a Child SA as described in <xref target="RFC7296" sectionFormat="of" section="1.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7296#section-1.3" derivedContent="RFC7296"/>,
allowing peers to employ Diffie-Hellman in the CREATE_CHILD_SA exchange. If a transform of type 4 is specified for an SA for ESP, the value of that transform <bcp14>MUST</bcp14> match the value of the transform used by the IKEv2 SA. 
</t>
      <t indent="0" pn="section-11-3">Per <xref target="RFC7296" format="default" sectionFormat="of" derivedContent="RFC7296"/>, if a CREATE_CHILD_SA exchange includes a KEi payload, at least one of the SA offers <bcp14>MUST</bcp14> include the Diffie-Hellman group of the KEi. For CNSA-compliant IPsec implementations, the Diffie-Hellman group of the KEi <bcp14>MUST</bcp14> use the same group used in the IKE_INIT_SA.
</t>
      <t indent="0" pn="section-11-4">For IKEv2, rekeying of the CREATE_CHILD_SA <bcp14>MUST</bcp14> be supported by both parties. The initiator of this exchange <bcp14>MAY</bcp14> include a new Diffie-Hellman key; if it is included, it <bcp14>MUST</bcp14> use the same group used in the IKE_INIT_SA. If the initiator of the exchange includes a Diffie-Hellman key, the responder <bcp14>MUST</bcp14> include a Diffie-Hellman key, and it <bcp14>MUST</bcp14> use the same group.
</t>
      <t indent="0" pn="section-11-5">For CNSA-compliant systems, the IKEv2 authentication method <bcp14>MUST</bcp14> use an end-entity certificate provided by the authenticating party. Identification Payloads (IDi and IDr) in the IKE_AUTH exchanges <bcp14>MUST NOT</bcp14> be used for the IKEv2 authentication method but may be used for policy lookup.
</t>
      <t indent="0" pn="section-11-6">The administrative User Interface (UI) for a system that conforms to this profile <bcp14>MUST</bcp14> allow the operator to specify a single suite.  If only one suite is specified in the administrative UI, the IKEv2 implementation <bcp14>MUST</bcp14> only offer algorithms for that one suite.
</t>
      <t indent="0" pn="section-11-7">The administrative UI <bcp14>MAY</bcp14> allow the operator to specify more than one suite; if it allows this, it <bcp14>MUST</bcp14> allow the operator to specify a preferred order for the suites that are to be offered or accepted.  If more than one suite is specified in the administrative UI, the IKEv2 implementation <bcp14>MUST</bcp14> only offer algorithms of those suites. (Note that although this document does not define a UI suite specifying PRF_HMAC_SHA2_384, a proposal containing such a transform is CNSA compliant.)
</t>
    </section>
    <section anchor="long-life" numbered="true" toc="include" removeInRFC="false" pn="section-12">
      <name slugifiedName="name-guidance-for-applications-w">Guidance for Applications with Long Data-Protection Requirements</name>
      <t indent="0" pn="section-12-1">The CNSA mandate is to continue to use current algorithms with increased security parameters, then transition to approved post-quantum resilient algorithms when they are identified. However, some applications have data-in-transit-protection requirements that are long enough that post-quantum resilient protection must be provided now. Lacking approved asymmetric post-quantum resilient confidentiality algorithms, that means approved symmetric techniques must be used as described in this section until approved post-quantum resilient asymmetric algorithms are identified.
</t>
      <t indent="0" pn="section-12-2">For new applications, confidentiality and integrity requirements from the sections above <bcp14>MUST</bcp14> be followed, with the addition of a Pre-Shared Key (PSK) mixed in as defined in <xref target="RFC8784" format="default" sectionFormat="of" derivedContent="RFC8784"/>. 
</t>
      <t indent="0" pn="section-12-3">Installations currently using IKEv1 with PSKs <bcp14>MUST</bcp14> (1) use AES in cipher block chaining mode (AES-CBC) in conjunction with a CNSA-compliant integrity algorithm (e.g., AUTH_HMAC_SHA2_384_192) and (2) transition to IKEv2 with PSKs <xref target="RFC8784" format="default" sectionFormat="of" derivedContent="RFC8784"/> as soon as implementations become available.
</t>
      <t indent="0" pn="section-12-4">Specific guidance for systems not compliant with the requirements of this document, including non-GCM modes and PSK length, and PSK randomness, will be defined in
solution-specific requirements appropriate to the application.
 Details of those requirements will depend on the program under which the commercial National Security Systems solution is developed (e.g., an NSA Commercial Solutions for Classified Capability Package).
</t>
    </section>
    <section anchor="sec-considerations" numbered="true" toc="include" removeInRFC="false" pn="section-13">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-13-1">This document inherits all of the security considerations of the IPsec and IKEv2 documents, including <xref target="RFC7296" format="default" sectionFormat="of" derivedContent="RFC7296"/>, <xref target="RFC4303" format="default" sectionFormat="of" derivedContent="RFC4303"/>, <xref target="RFC4754" format="default" sectionFormat="of" derivedContent="RFC4754"/>, and <xref target="RFC8221" format="default" sectionFormat="of" derivedContent="RFC8221"/>.
</t>
      <t indent="0" pn="section-13-2">The security of a system that uses cryptography depends on both the strength of the cryptographic algorithms chosen and the strength of the keys used with those algorithms. The security also depends on the engineering and administration of the protocol used by the system to ensure that there are no non-cryptographic ways to bypass the security of the overall system.
</t>
      <t indent="0" pn="section-13-3">When selecting a mode for the AES encryption <xref target="RFC5116" format="default" sectionFormat="of" derivedContent="RFC5116"/>, be aware that nonce reuse can result in a loss of confidentiality. Nonce reuse is catastrophic for GCM, since it also results in a loss of integrity. 
</t>
    </section>
    <section anchor="iana" numbered="true" toc="include" removeInRFC="false" pn="section-14">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-14-1">IANA has added the UI suites defined in this document to the "Cryptographic Suites for IKEv1, IKEv2, and IPsec" registry located at <eref target="https://www.iana.org/assignments/crypto-suites" brackets="angle"/>:
</t>
      <table align="center" pn="table-1">
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Identifier</th>
            <th align="center" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">CNSA-GCM-256-ECDH-384</td>
            <td align="left" colspan="1" rowspan="1">RFC 9206</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">CNSA-GCM-256-DH-3072</td>
            <td align="left" colspan="1" rowspan="1">RFC 9206</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">CNSA-GCM-256-DH-4096</td>
            <td align="left" colspan="1" rowspan="1">RFC 9206</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references pn="section-15">
      <name slugifiedName="name-references">References</name>
      <references pn="section-15.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="CNSA" target="https://www.cnss.gov/CNSS/Issuances/Policies.htm" quoteTitle="true" derivedAnchor="CNSA">
          <front>
            <title>Use of Public Standards for Secure Information Sharing</title>
            <author>
              <organization showOnFrontPage="true">Committee for National Security Systems</organization>
            </author>
            <date month="October" year="2016"/>
          </front>
          <refcontent>CNSSP 15</refcontent>
        </reference>
        <reference anchor="FIPS180" target="https://csrc.nist.gov/publications/detail/fips/180/4/final" quoteTitle="true" derivedAnchor="FIPS180">
          <front>
            <title>Secure Hash Standard (SHS)</title>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
            </author>
            <date month="August" year="2015"/>
          </front>
          <refcontent>Federal Information Processing Standard 180-4</refcontent>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.180-4"/>
        </reference>
        <reference anchor="FIPS186" target="https://csrc.nist.gov/publications/detail/fips/186/4/final" quoteTitle="true" derivedAnchor="FIPS186">
          <front>
            <title>Digital Signature Standard (DSS)</title>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
            </author>
            <date month="July" year="2013"/>
          </front>
          <refcontent>NIST Federal Information Processing Standard 186-4</refcontent>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.186-4"/>
        </reference>
        <reference anchor="FIPS197" target="https://csrc.nist.gov/publications/detail/fips/197/final" quoteTitle="true" derivedAnchor="FIPS197">
          <front>
            <title>Advanced Encryption Standard (AES)</title>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
            </author>
            <date month="November" year="2001"/>
          </front>
          <refcontent>Federal Information Processing Standard 197</refcontent>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.197"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">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="RFC2631" target="https://www.rfc-editor.org/info/rfc2631" quoteTitle="true" derivedAnchor="RFC2631">
          <front>
            <title>Diffie-Hellman Key Agreement Method</title>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1999" month="June"/>
            <abstract>
              <t indent="0">This document standardizes one particular Diffie-Hellman variant, based on the ANSI X9.42 draft, developed by the ANSI X9F1 working group. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2631"/>
          <seriesInfo name="DOI" value="10.17487/RFC2631"/>
        </reference>
        <reference anchor="RFC3526" target="https://www.rfc-editor.org/info/rfc3526" quoteTitle="true" derivedAnchor="RFC3526">
          <front>
            <title>More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)</title>
            <author initials="T." surname="Kivinen" fullname="T. Kivinen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Kojo" fullname="M. Kojo">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2003" month="May"/>
            <abstract>
              <t indent="0">This document defines new Modular Exponential (MODP) Groups for the Internet Key Exchange (IKE) protocol.  It documents the well known and used 1536 bit group 5, and also defines new 2048, 3072, 4096, 6144, and 8192 bit Diffie-Hellman groups numbered starting at 14.  The selection of the primes for theses groups follows the criteria established by Richard Schroeppel.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3526"/>
          <seriesInfo name="DOI" value="10.17487/RFC3526"/>
        </reference>
        <reference anchor="RFC4106" target="https://www.rfc-editor.org/info/rfc4106" quoteTitle="true" derivedAnchor="RFC4106">
          <front>
            <title>The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)</title>
            <author initials="J." surname="Viega" fullname="J. Viega">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="McGrew" fullname="D. McGrew">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005" month="June"/>
            <abstract>
              <t indent="0">This memo describes the use of the Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM) as an IPsec Encapsulating Security Payload (ESP) mechanism to provide confidentiality and data origin authentication.  This method can be efficiently implemented in hardware for speeds of 10 gigabits per second and above, and is also well-suited to software implementations.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4106"/>
          <seriesInfo name="DOI" value="10.17487/RFC4106"/>
        </reference>
        <reference anchor="RFC4303" target="https://www.rfc-editor.org/info/rfc4303" quoteTitle="true" derivedAnchor="RFC4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author initials="S." surname="Kent" fullname="S. Kent">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005" month="December"/>
            <abstract>
              <t indent="0">This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6.  ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality.  This document obsoletes RFC 2406 (November 1998).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC4308" target="https://www.rfc-editor.org/info/rfc4308" quoteTitle="true" derivedAnchor="RFC4308">
          <front>
            <title>Cryptographic Suites for IPsec</title>
            <author initials="P." surname="Hoffman" fullname="P. Hoffman">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005" month="December"/>
            <abstract>
              <t indent="0">The IPsec, Internet Key Exchange (IKE), and IKEv2 protocols rely on security algorithms to provide privacy and authentication between the initiator and responder.  There are many such algorithms available, and two IPsec systems cannot interoperate unless they are using the same algorithms.  This document specifies optional suites of algorithms and attributes that can be used to simplify the administration of IPsec when used in manual keying mode, with IKEv1 or with IKEv2.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4308"/>
          <seriesInfo name="DOI" value="10.17487/RFC4308"/>
        </reference>
        <reference anchor="RFC4754" target="https://www.rfc-editor.org/info/rfc4754" quoteTitle="true" derivedAnchor="RFC4754">
          <front>
            <title>IKE and IKEv2 Authentication Using the Elliptic Curve Digital Signature Algorithm (ECDSA)</title>
            <author initials="D." surname="Fu" fullname="D. Fu">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Solinas" fullname="J. Solinas">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="January"/>
            <abstract>
              <t indent="0">This document describes how the Elliptic Curve Digital Signature Algorithm (ECDSA) may be used as the authentication method within the Internet Key Exchange (IKE) and Internet Key Exchange version 2 (IKEv2) protocols.  ECDSA may provide benefits including computational efficiency, small signature sizes, and minimal bandwidth compared to other available digital signature methods. This document adds ECDSA capability to IKE and IKEv2 without introducing any changes to existing IKE operation.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4754"/>
          <seriesInfo name="DOI" value="10.17487/RFC4754"/>
        </reference>
        <reference anchor="RFC5116" target="https://www.rfc-editor.org/info/rfc5116" quoteTitle="true" derivedAnchor="RFC5116">
          <front>
            <title>An Interface and Algorithms for Authenticated Encryption</title>
            <author initials="D." surname="McGrew" fullname="D. McGrew">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="January"/>
            <abstract>
              <t indent="0">This document defines algorithms for Authenticated Encryption with Associated Data (AEAD), and defines a uniform interface and a registry for such algorithms.  The interface and registry can be used as an application-independent set of cryptoalgorithm suites.  This approach provides advantages in efficiency and security, and promotes the reuse of crypto implementations.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5116"/>
          <seriesInfo name="DOI" value="10.17487/RFC5116"/>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" quoteTitle="true" derivedAnchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author initials="D." surname="Cooper" fullname="D. Cooper">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Santesson" fullname="S. Santesson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Farrell" fullname="S. Farrell">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Boeyen" fullname="S. Boeyen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Housley" fullname="R. Housley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Polk" fullname="W. Polk">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="May"/>
            <abstract>
              <t indent="0">This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC5903" target="https://www.rfc-editor.org/info/rfc5903" quoteTitle="true" derivedAnchor="RFC5903">
          <front>
            <title>Elliptic Curve Groups modulo a Prime (ECP Groups) for IKE and IKEv2</title>
            <author initials="D." surname="Fu" fullname="D. Fu">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Solinas" fullname="J. Solinas">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="June"/>
            <abstract>
              <t indent="0">This document describes three Elliptic Curve Cryptography (ECC) groups for use in the Internet Key Exchange (IKE) and Internet Key Exchange version 2 (IKEv2) protocols in addition to previously defined groups. These groups are based on modular arithmetic rather than binary arithmetic.  These groups are defined to align IKE and IKEv2 with other ECC implementations and standards, particularly NIST standards. In addition, the curves defined here can provide more efficient implementation than previously defined ECC groups.  This document obsoletes RFC 4753.  This document is not an Internet Standards Track  specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5903"/>
          <seriesInfo name="DOI" value="10.17487/RFC5903"/>
        </reference>
        <reference anchor="RFC7296" target="https://www.rfc-editor.org/info/rfc7296" quoteTitle="true" derivedAnchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author initials="C." surname="Kaufman" fullname="C. Kaufman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Hoffman" fullname="P. Hoffman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Nir" fullname="Y. Nir">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Eronen" fullname="P. Eronen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Kivinen" fullname="T. Kivinen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="October"/>
            <abstract>
              <t indent="0">This document describes version 2 of the Internet Key Exchange (IKE) protocol.  IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs).  This document obsoletes RFC 5996, and includes all of the errata for it.  It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
        <reference anchor="RFC8017" target="https://www.rfc-editor.org/info/rfc8017" quoteTitle="true" derivedAnchor="RFC8017">
          <front>
            <title>PKCS #1: RSA Cryptography Specifications Version 2.2</title>
            <author initials="K." surname="Moriarty" fullname="K. Moriarty" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Kaliski" fullname="B. Kaliski">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Jonsson" fullname="J. Jonsson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Rusch" fullname="A. Rusch">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="November"/>
            <abstract>
              <t indent="0">This document provides recommendations for the implementation of public-key cryptography based on the RSA algorithm, covering cryptographic primitives, encryption schemes, signature schemes with appendix, and ASN.1 syntax for representing keys and for identifying the schemes.</t>
              <t indent="0">This document represents a republication of PKCS #1 v2.2 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series.  By publishing this RFC, change control is transferred to the IETF.</t>
              <t indent="0">This document also obsoletes RFC 3447.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8017"/>
          <seriesInfo name="DOI" value="10.17487/RFC8017"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">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="RFC8221" target="https://www.rfc-editor.org/info/rfc8221" quoteTitle="true" derivedAnchor="RFC8221">
          <front>
            <title>Cryptographic Algorithm Implementation Requirements and Usage Guidance for Encapsulating Security Payload (ESP) and Authentication Header (AH)</title>
            <author initials="P." surname="Wouters" fullname="P. Wouters">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Migault" fullname="D. Migault">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Mattsson" fullname="J. Mattsson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Nir" fullname="Y. Nir">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Kivinen" fullname="T. Kivinen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="October"/>
            <abstract>
              <t indent="0">This document replaces RFC 7321, "Cryptographic Algorithm Implementation         Requirements and Usage Guidance for Encapsulating Security Payload               (ESP) and Authentication Header (AH)".  The goal of this document is to enable ESP and AH to benefit from cryptography that is up to date while making IPsec interoperable.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8221"/>
          <seriesInfo name="DOI" value="10.17487/RFC8221"/>
        </reference>
        <reference anchor="RFC8247" target="https://www.rfc-editor.org/info/rfc8247" quoteTitle="true" derivedAnchor="RFC8247">
          <front>
            <title>Algorithm Implementation Requirements and Usage Guidance for the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author initials="Y." surname="Nir" fullname="Y. Nir">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Kivinen" fullname="T. Kivinen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Wouters" fullname="P. Wouters">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Migault" fullname="D. Migault">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="September"/>
            <abstract>
              <t indent="0">The IPsec series of protocols makes use of various cryptographic algorithms in order to provide security services.  The Internet Key Exchange (IKE) protocol is used to negotiate the IPsec Security Association (IPsec SA) parameters, such as which algorithms should be used.  To ensure interoperability between different implementations, it is necessary to specify a set of algorithm implementation requirements and usage guidance to ensure that there is at least one algorithm that all implementations support.  This document updates RFC 7296 and obsoletes RFC 4307 in defining the current algorithm implementation requirements and usage guidance for IKEv2, and does minor cleaning up of the IKEv2 IANA registry.  This document does not update the algorithms used for packet encryption using IPsec Encapsulating Security Payload (ESP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8247"/>
          <seriesInfo name="DOI" value="10.17487/RFC8247"/>
        </reference>
        <reference anchor="RFC8603" target="https://www.rfc-editor.org/info/rfc8603" quoteTitle="true" derivedAnchor="RFC8603">
          <front>
            <title>Commercial National Security Algorithm (CNSA) Suite Certificate and Certificate Revocation List (CRL) Profile</title>
            <author initials="M." surname="Jenkins" fullname="M. Jenkins">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Zieglar" fullname="L. Zieglar">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="May"/>
            <abstract>
              <t indent="0">This document specifies a base profile for X.509 v3 Certificates and X.509 v2 Certificate Revocation Lists (CRLs) for use with the United States National Security Agency's Commercial National Security Algorithm (CNSA) Suite.  The profile applies to the capabilities, configuration, and operation of all components of US National Security Systems that employ such X.509 certificates.  US National Security Systems are described in NIST Special Publication 800-59. It is also appropriate for all other US Government systems that process high-value information.  It is made publicly available for use by developers and operators of these and any other system deployments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8603"/>
          <seriesInfo name="DOI" value="10.17487/RFC8603"/>
        </reference>
        <reference anchor="RFC8784" target="https://www.rfc-editor.org/info/rfc8784" quoteTitle="true" derivedAnchor="RFC8784">
          <front>
            <title>Mixing Preshared Keys in the Internet Key Exchange Protocol Version 2 (IKEv2) for Post-quantum Security</title>
            <author initials="S." surname="Fluhrer" fullname="S. Fluhrer">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Kampanakis" fullname="P. Kampanakis">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="McGrew" fullname="D. McGrew">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Smyslov" fullname="V. Smyslov">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="June"/>
            <abstract>
              <t indent="0">The possibility of quantum computers poses a serious challenge to cryptographic algorithms deployed widely today.  The Internet Key Exchange Protocol Version 2 (IKEv2) is one example of a cryptosystem that could be broken; someone storing VPN communications today could decrypt them at a later time when a quantum computer is available.  It is anticipated that IKEv2 will be extended to support quantum-secure key exchange algorithms; however, that is not likely to happen in the near term.  To address this problem before then, this document describes an extension of IKEv2 to allow it to be resistant to a quantum computer by using preshared keys.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8784"/>
          <seriesInfo name="DOI" value="10.17487/RFC8784"/>
        </reference>
        <reference anchor="SP80056A" target="https://csrc.nist.gov/publications/detail/sp/800-56a/rev-3/final" quoteTitle="true" derivedAnchor="SP80056A">
          <front>
            <title>Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography</title>
            <author>
              <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
            </author>
            <date month="April" year="2018"/>
          </front>
          <refcontent>NIST Special Publication 800-56A, Revision 3</refcontent>
          <seriesInfo name="DOI" value="10.6028/NIST.SP.800-56Ar3"/>
        </reference>
      </references>
      <references pn="section-15.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC8452" target="https://www.rfc-editor.org/info/rfc8452" quoteTitle="true" derivedAnchor="RFC8452">
          <front>
            <title>AES-GCM-SIV: Nonce Misuse-Resistant Authenticated Encryption</title>
            <author initials="S." surname="Gueron" fullname="S. Gueron">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Langley" fullname="A. Langley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Lindell" fullname="Y. Lindell">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="April"/>
            <abstract>
              <t indent="0">This memo specifies two authenticated encryption algorithms that are nonce misuse resistant -- that is, they do not fail catastrophically if a nonce is repeated.</t>
              <t indent="0">This document is the product of the Crypto Forum Research Group.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8452"/>
          <seriesInfo name="DOI" value="10.17487/RFC8452"/>
        </reference>
        <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>
            <date month="August" year="2003"/>
          </front>
          <refcontent>Special Publication 800-59</refcontent>
          <seriesInfo name="DOI" value="10.6028/NIST.SP.800-59"/>
        </reference>
      </references>
    </references>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Laura Corcoran" initials="L." surname="Corcoran">
        <organization abbrev="NSA" showOnFrontPage="true">National Security Agency</organization>
        <address>
          <email>lscorco@nsa.gov</email>
        </address>
      </author>
      <author fullname="Michael Jenkins" initials="M." surname="Jenkins">
        <organization abbrev="NSA" showOnFrontPage="true">National Security Agency - Center for Cybersecurity Standards</organization>
        <address>
          <email>mjjenki@cyber.nsa.gov</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
