RFC 4869
Suite B Cryptographic Suites for IPsec
RFC 4869 π Suite B Cryptographic Suites for IPsec π
Okay bestie, this one is RFC 4869, and it's titled Suite B Cryptographic Suites for IPsec β¨. It was written by L. Law and J. Solinas from the NSA π , it's filed as Informational (so it's sharing info, not setting a formal internet standard πΈ), and it's dated May 2007 π . Its title block doesn't list anything it obsoletes or updates, so it's standing on its own π.
Status of This Memo β¨
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
Copyright Notice π
Copyright (C) The IETF Trust (2007).
Abstract π
This document proposes four optional cryptographic user interface suites ("UI suites") for IPsec, similar to the two suites specified in RFC 4308. The four new suites provide compatibility with the United States National Security Agency's Suite B specifications. Basically, four new bundles of IPsec settings, all built to play nicely with Suite B π¦.
Table of Contents π§
1. Introduction ....................................................2
2. Requirements Terminology ........................................2
3. New UI Suites ...................................................2
3.1. Suite "Suite-B-GCM-128" ....................................2
3.2. Suite "Suite-B-GCM-256" ....................................3
3.3. Suite "Suite-B-GMAC-128" ...................................4
3.4. Suite "Suite-B-GMAC-256" ...................................5
4. Security Considerations .........................................5
5. IANA Considerations .............................................6
6. References ......................................................6
6.1. Normative References .......................................6
6.2. Informative References .....................................7
1. Introduction π
[RFC4308] proposes two optional cryptographic user interface suites ("UI suites") for IPsec. The two suites, VPN-A and VPN-B, represent commonly used present-day corporate VPN security choices and anticipated future choices, respectively. This document proposes four new UI suites based on implementations of the United States National Security Agency's Suite B algorithms (see [SuiteB]) π .
As with the VPN suites, the Suite B suites are simply collections of values for some options in IPsec. Use of UI suites does not change the IPsec protocols in any way π«Ά. Nothing about the protocol itself is changing, just the settings you pick from the menu β¨.
2. Requirements Terminology π
The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" in this document are to be interpreted as described in [RFC2119]. So when you see those capitalised words, they're doing the heavy lifting π₯.
3. New UI Suites πΈ
Each of the following UI suites provides choices for ESP (see [RFC4303]) and for IKEv1 and IKEv2 (see [RFC2409] and [RFC4306]). The four suites are differentiated by the choice of cryptographic algorithm strengths and a choice of whether the Encapsulating Security Payload (ESP) is to provide both confidentiality and integrity or integrity only. The suite names are based on the Advanced Encryption Standard [AES] mode and AES key length specified for ESP π§.
IPsec implementations that use these UI suites SHOULD use the suite names listed here. IPsec implementations SHOULD NOT use names different than those listed here for the suites that are described, and MUST NOT use the names listed here for suites that do not match these values. These requirements are necessary for interoperability π«Ά. So: same names, same meaning, or everyone gets confused, periodt π.
3.1. Suite "Suite-B-GCM-128" π
This suite provides ESP integrity protection and confidentiality using 128-bit AES-GCM (see [RFC4106]). This suite or the following suite should be used when ESP integrity protection and encryption are both needed π.
ESP:
Encryption AES with 128-bit keys and 16-octet Integrity
Check Value (ICV) in GCM mode [RFC4106]
Integrity NULL
IKEv1:
Encryption AES with 128-bit keys in CBC mode
[RFC3602]
Pseudo-random function HMAC-SHA-256 [RFC4868]
Hash SHA-256 [FIPS-180-2] [RFC4634]
Diffie-Hellman group 256-bit random ECP group [RFC4753]
Group Type ECP
IKEv2:
Encryption AES with 128-bit keys in CBC mode
[RFC3602]
Pseudo-random function HMAC-SHA-256 [RFC4868]
Integrity HMAC-SHA-256-128 [RFC4868]
Diffie-Hellman group 256-bit random ECP group [RFC4753]
Authentication ECDSA-256 [RFC4754]
For IKEv1, Phase 1 SHOULD use Main mode. IKEv1 implementations MUST support pre-shared key authentication [RFC2409] for interoperability. The authentication method used with IKEv1 MAY be either pre-shared key [RFC2409] or ECDSA-256 [RFC4754] π₯.
Rekeying of Phase 2 (for IKEv1) or the CREATE_CHILD_SA (for IKEv2) MUST be supported by both parties in this suite β¨.
3.2. Suite "Suite-B-GCM-256" π
This suite provides ESP integrity protection and confidentiality using 256-bit AES-GCM (see [RFC4106]). This suite or the preceding suite should be used when ESP integrity protection and encryption are both needed π¦.
ESP:
Encryption AES with 256-bit keys and 16-octet ICV in GCM mode
[RFC4106]
Integrity NULL
IKEv1:
Encryption AES with 256-bit keys in CBC mode
[RFC3602]
Pseudo-random function HMAC-SHA-384 [RFC4868]
Hash SHA-384 [FIPS-180-2] [RFC4634]
Diffie-Hellman group 384-bit random ECP group [RFC4753]
Group Type ECP
IKEv2:
Encryption AES with 256-bit keys in CBC mode
[RFC3602]
Pseudo-random function HMAC-SHA-384 [RFC4868]
Integrity HMAC-SHA-384-192 [RFC4868]
Diffie-Hellman group 384-bit random ECP group [RFC4753]
Authentication ECDSA-384 [RFC4754]
For IKEv1, Phase 1 SHOULD use Main mode. IKEv1 implementations MUST support pre-shared key authentication [RFC2409] for interoperability. The authentication method used with IKEv1 MAY be either pre-shared key [RFC2409] or ECDSA-384 [RFC4754] π.
Rekeying of Phase 2 (for IKEv1) or the CREATE_CHILD_SA (for IKEv2) MUST be supported by both parties in this suite πΈ.
3.3. Suite "Suite-B-GMAC-128" π
This suite provides ESP integrity protection using 128-bit AES-GMAC (see [RFC4543]) but does not provide confidentiality. This suite or the following suite should be used only when there is no need for ESP encryption π.
ESP:
Encryption NULL
Integrity AES with 128-bit keys in GMAC mode [RFC4543]
IKEv1:
Encryption AES with 128-bit keys in CBC mode
[RFC3602]
Pseudo-random function HMAC-SHA-256 [RFC4868]
Hash SHA-256 [FIPS-180-2] [RFC4634]
Diffie-Hellman group 256-bit random ECP group [RFC4753]
Group Type ECP
IKEv2:
Encryption AES with 128-bit keys in CBC mode
[RFC3602]
Pseudo-random function HMAC-SHA-256 [RFC4868]
Integrity HMAC-SHA-256-128 [RFC4868]
Diffie-Hellman group 256-bit random ECP group [RFC4753]
Authentication ECDSA-256 [RFC4754]
For IKEv1, Phase 1 SHOULD use Main mode. IKEv1 implementations MUST support pre-shared key authentication [RFC2409] for interoperability. The authentication method used with IKEv1 MAY be either pre-shared key [RFC2409] or ECDSA-256 [RFC4754] π.
Rekeying of Phase 2 (for IKEv1) or the CREATE_CHILD_SA (for IKEv2) MUST be supported by both parties in this suite π§.
3.4. Suite "Suite-B-GMAC-256" π¦
This suite provides ESP integrity protection using 256-bit AES-GMAC (see [RFC4543]) but does not provide confidentiality. This suite or the preceding suite should be used only when there is no need for ESP encryption π.
ESP:
Encryption NULL
Integrity AES with 256-bit keys in GMAC mode [RFC4543]
IKEv1:
Encryption AES with 256-bit keys in CBC mode
[RFC3602]
Pseudo-random function HMAC-SHA-384 [RFC4868]
Hash SHA-384 [FIPS-180-2] [RFC4634]
Diffie-Hellman group 384-bit random ECP group [RFC4753]
Group Type ECP
IKEv2:
Encryption AES with 256-bit keys in CBC mode
[RFC3602]
Pseudo-random function HMAC-SHA-384 [RFC4868]
Integrity HMAC-SHA-384-192 [RFC4868]
Diffie-Hellman group 384-bit random ECP group [RFC4753]
Authentication ECDSA-384 [RFC4754]
For IKEv1, Phase 1 SHOULD use Main mode. IKEv1 implementations MUST support pre-shared key authentication [RFC2409] for interoperability. The authentication method used with IKEv1 MAY be either pre-shared key [RFC2409] or ECDSA-384 [RFC4754] β.
Rekeying of Phase 2 (for IKEv1) or the CREATE_CHILD_SA (for IKEv2) MUST be supported by both parties in this suite π«Ά.
4. Security Considerations π₯
This is the serious bit, bestie. Read it properly π.
This document inherits all of the security considerations of the IPsec, IKEv1, and IKEv2 documents. See [CNSSP-15] for guidance on the use of AES in these suites for the protection of U.S. Government information.
Some of the security options specified in these suites may be found in the future to have properties significantly weaker than those that were believed at the time this document was produced π.
5. IANA Considerations πΈ
IANA has created and will maintain a registry called "Cryptographic Suites for IKEv1, IKEv2, and IPsec" (see [IANA-Suites]). The registry consists of a text string and an RFC number that lists the associated transforms. The four new suites in this document have been added to this registry after approval by an expert designated by the IESG π§.
The new values for the registry are:
Identifier Defined in
Suite-B-GCM-128 RFC 4869
Suite-B-GCM-256 RFC 4869
Suite-B-GMAC-128 RFC 4869
Suite-B-GMAC-256 RFC 4869
6. References π
The reference lists for this document continue in the next part, so stay tuned, bestie π«Άπ
6.1. Normative References β¨
okay so these are the docs this spec literally can't work without π you need them to implement it, no cap
[FIPS-180-2]FIPS 180-2 with change notice, "Secure Hash Standard", National Institute of Standards and Technology, February 2004.[IANA-Suites]Internet Assigned Numbers Authority, "Cryptographic Suites for IKEv1, IKEv2, and IPsec", <http://www.iana.org/assignments/crypto-suites>.[RFC2119]Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. π«Ά[RFC2409]Harkins, D. and D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409, November 1998.[RFC3602]Frankel, S., Glenn, R., and S. Kelly, "The AES-CBC Cipher Algorithm and Its Use with IPsec", RFC 3602, September 2003.[RFC4106]Viega, J. and D. McGrew, "The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)", RFC 4106, June 2005.[RFC4303]Kent, S., "IP Encapsulating Security Payload (ESP)", RFC 4303, December 2005.[RFC4306]Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", RFC 4306, December 2005.[RFC4308]Hoffman, P., "Cryptographic Suites for IPsec", RFC 4308, December 2005.[RFC4543]McGrew, D. and J. Viega, "The Use of Galois Message Authentication Code (GMAC) in IPsec ESP and AH", RFC 4543, May 2006. π[RFC4753]Fu, D. and J. Solinas, "ECP Groups for IKE and IKEv2", RFC 4753, November 2006.[RFC4754]Fu, D. and J. Solinas, "IKE and IKEv2 Authentication Using ECDSA", RFC 4754, November 2006.[RFC4868]Kelly, S. and S. Frankel, "Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec", RFC 4868, May 2007.
6.2. Informative References πΈ
these ones aren't required reading, but they're super good for background and context, bestie π§
[AES]U.S. Department of Commerce/National Institute of Standards and Technology, "Advanced Encryption Standard (AES)", FIPS PUB 197, November 2001, <http://csrc.nist.gov/publications/fips/index.html>.[CNSSP-15]Committee on National Security Systems, "National Policy on the Use of the Advanced Encryption Standard (AES) to Protect National Security Systems and National Security Information", June 2003, <http://www.cnss.gov/Assets/pdf/cnssp_15_fs.pdf>.[RFC4634]Eastlake 3rd, D. and T. Hansen, "US Secure Hash Algorithms (SHA and HMAC-SHA)", RFC 4634, July 2006.[SuiteB]U.S. National Security Agency, "Fact Sheet NSA Suite B Cryptography", July 2005, <http://www.nsa.gov/ia/industry/crypto_Suite_b.cfm?MenuID=10.2.7>.
Authors' Addresses π
the two people who wrote this, and how to reach them π
Laurie E. Law
National Information Assurance Research Laboratory
National Security Agency
EMail: lelaw@orion.ncsc.mil
Jerome A. Solinas
National Information Assurance Research Laboratory
National Security Agency
EMail: jasolin@orion.ncsc.mil
Full Copyright Statement β
the legal bit, but make it cute π₯Ή the IETF Trust holds the 2007 copyright here. This document is subject to the rights, licenses and restrictions in BCP 78, and apart from what's set out there, the authors keep all their own rights.
Heads up: this whole document (and the info in it) is handed over "AS IS". The contributor, the organization they represent or are sponsored by (if any), the Internet Society, the IETF Trust, and the Internet Engineering Task Force all disclaim every warranty, express or implied. That includes, but isn't limited to, any promise that using the info won't infringe rights, and any implied warranty of merchantability or fitness for a particular purpose. π
Intellectual Property π₯
the IETF doesn't take a side on whether any IPR or other rights claimed about this tech are valid or how far they go, and it doesn't say whether licenses are available. It also doesn't claim it has searched for any rights itself. Info on how RFC rights work lives in BCP 78 and BCP 79 π
if you have IPR disclosures, they go to the IETF Secretariat, and any licensing assurances, or the outcome of trying to get a general license for implementers or users, can be found in the IETF online IPR repository at http://www.ietf.org/ipr.
the IETF also invites anyone to flag copyrights, patents, patent applications, or other proprietary rights that might cover technology needed to implement this standard. send those to ietf-ipr@ietf.org π
Acknowledgement π
funding for the RFC Editor function is currently provided by the Internet Society. thank you, legends π«Ά
π¦ where this page comes from
- ietf: rfc4869 2007-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms