RFC 6379 HISTORIC SECURITY · IPSEC · CRYPTOGRAPHY

Suite B Cryptographic Suites for IPsec

Four ready-made IPsec option bundles that line up with the NSA's Suite B algorithms.

On rfc-editor.org ↗
PUBLISHED
October 2011
AUTHORS
L. Law, J. Solinas
STREAM
IETF
BUILDS ON
RFC 4869 — Suite B for IPsec
SUITES DEFINED
4
GCM INTEGRITY CHECK VALUE
16 octets
128-BIT SUITES
HMAC-SHA-256, 256-bit ECP group
256-BIT SUITES
HMAC-SHA-384, 384-bit ECP group
DOI
10.17487/RFC6379

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                            L. Law
Request for Comments: 6379                                    J. Solinas
Obsoletes: 4869                                                      NSA
Category: Informational                                     October 2011
ISSN: 2070-1721


                 Suite B Cryptographic Suites for IPsec

Abstract

   This document proposes four cryptographic user interface suites
   ("UI suites") for IP Security (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.  This document obsoletes RFC 4869, which presented
   earlier versions of these suites.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6379.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) 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.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ....................................................2
   2. Requirements Terminology ........................................2
   3. New UI Suites ...................................................2
      3.1. Suite "Suite-B-GCM-128" ....................................3
      3.2. Suite "Suite-B-GCM-256" ....................................3
      3.3. Suite "Suite-B-GMAC-128" ...................................4
      3.4. Suite "Suite-B-GMAC-256" ...................................4
   4. Security Considerations .........................................4
   5. IANA Considerations .............................................5
   6. Changes from RFC 4869 ...........................................5
   7. References ......................................................5
      7.1. Normative References .......................................5
      7.2. Informative References .....................................6

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.  [RFC4869] proposed 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.

   This document reduces the scope of the suites in [RFC4869] while
   retaining the original suite names.  A detailed list of the changes
   is given in Section 6.  This document obsoletes RFC 4869.

2.  Requirements Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

3.  New UI Suites

   Each of the following UI suites provides choices for ESP (see
   [RFC4303]) and for Internet Key Exchange (IKEv2) (see [RFC5996]).
   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 MUST 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.

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

   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 [RFC5903]

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

   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 [RFC5903]

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]

   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 [RFC5903]

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]

   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 [RFC5903]

4.  Security Considerations

   This document inherits all of the security considerations of the
   IPsec and IKEv2 documents.

   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 maintains 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 suites in this document have been listed with this document
   as the RFC reference.  These entries will be updated upon approval of
   this document.

   The updated values for the registry are:

   Identifier              Defined in
   Suite-B-GCM-128         RFC 6379
   Suite-B-GCM-256         RFC 6379
   Suite-B-GMAC-128        RFC 6379
   Suite-B-GMAC-256        RFC 6379

6.  Changes from RFC 4869

   The changes from [RFC4869] are:

   1. Removed definitions of the suites for IKEv1.

   2. Removed IKE authentication methods from the suite definitions.
      These now appear in [RFC6380].

   3. Removed the requirements on rekeying in IKEv2.

7.  References

7.1.  Normative References

   [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.

   [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.

   [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.

   [RFC4868]     Kelly, S. and S. Frankel, "Using HMAC-SHA-256, HMAC-
                 SHA-384, and HMAC-SHA-512 with IPsec", RFC 4868, May
                 2007.

   [RFC4869]     Law, L. and J. Solinas, "Suite B Cryptographic Suites
                 for IPsec", RFC 4869, May 2007.

   [RFC5903]     Fu, D. and J. Solinas, "Elliptic Curve Groups modulo a
                 Prime (ECP Groups) for IKE and IKEv2", RFC 5903, June
                 2010.

   [RFC5996]     Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen,
                 "Internet Key Exchange Protocol Version 2 (IKEv2)", RFC
                 5996, September 2010.

7.2.  Informative References

   [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>.

   [RFC6380]     Burgin, K. and M. Peck, "Suite B Profile for Internet
                 Protocol Security (IPsec)", RFC 6380, October 2011.

   [SuiteB]      U.S. National Security Agency, "NSA Suite B
                 Cryptography", January 2009, <http://www.nsa.gov/
                 ia/programs/suiteb_cryptography/>.

Authors' Addresses

   Laurie E. Law
   National Security Agency

   EMail: lelaw@orion.ncsc.mil


   Jerome A. Solinas
   National Security Agency

   EMail: jasolin@orion.ncsc.mil

AI ELI5

On this page
PROBLEMIPsec has many cryptographic options, and two peers need to agree on a matching set. Users who want the algorithms of the US National Security Agency's Suite B need a simple, named way to ask for them.
MECHANISMThe RFC defines four named user interface suites, Suite-B-GCM-128, Suite-B-GCM-256, Suite-B-GMAC-128 and Suite-B-GMAC-256. Each fixes the algorithms for ESP and for IKEv2.
STATUS TODAYIt obsoletes RFC 4869 and is now Historic. The suites are only collections of option values and do not change the IPsec protocols.

§1Introduction and Purpose

RFC 4308 proposed two optional cryptographic user interface suites (UI suites) for IPsec, named VPN-A and VPN-B. RFC 4869 then proposed four suites based on the United States National Security Agency's Suite B algorithms.

As with the VPN suites, these are simply collections of values for some options in IPsec. Using a UI suite does not change the IPsec protocols in any way. This document reduces the scope of the suites in RFC 4869 while keeping the original suite names, and it obsoletes RFC 4869.

A suite is a menu combo: instead of ordering each dish separately, you pick one set. The combo does not change how the kitchen cooks.

§3The Four Suites

Each suite gives choices for ESP (the Encapsulating Security Payload) and for the Internet Key Exchange, IKEv2. The four suites differ in two ways: the strength of the algorithms, and whether ESP provides both confidentiality and integrity or integrity only. The names come from the AES mode and AES key length chosen for ESP.

  • Suite-B-GCM-128 and Suite-B-GCM-256 give ESP integrity protection and confidentiality using AES-GCM with 128-bit or 256-bit keys. They are for when both are needed.
  • Suite-B-GMAC-128 and Suite-B-GMAC-256 give ESP integrity protection only, using AES-GMAC, with no confidentiality. They should be used only when there is no need for ESP encryption.

Implementations that use these suites MUST use these names. They SHOULD NOT use different names for the suites described here, and MUST NOT use these names for suites that do not match these values. This is needed for interoperability.

There are four combos: two that lock the message and check it, and two that only check it was not changed. Each comes in a medium-strong and a stronger size.

§3.1Algorithm Choices in Each Suite

The 128-bit suites use AES with 128-bit keys. For IKEv2 they use AES in CBC mode, HMAC-SHA-256 as the pseudo-random function, HMAC-SHA-256-128 for integrity, and a 256-bit random ECP Diffie-Hellman group.

The 256-bit suites use AES with 256-bit keys, HMAC-SHA-384 as the pseudo-random function, HMAC-SHA-384-192 for integrity and a 384-bit random ECP group.

For ESP, the GCM suites use AES-GCM with a 16-octet integrity check value and NULL as the separate integrity algorithm. The GMAC suites use NULL encryption and AES in GMAC mode for integrity.

Each combo lists exactly which lock, which fingerprint check and which secret-handshake size to use, so both sides pick the same ones.

THE FOUR SUITES SIDE BY SIDE (RFC 6379)
SuiteESPIKEv2 PRFIKEv2 DH group
Suite-B-GCM-128AES-GCM, 128-bit keyHMAC-SHA-256256-bit random ECP
Suite-B-GCM-256AES-GCM, 256-bit keyHMAC-SHA-384384-bit random ECP
Suite-B-GMAC-128AES-GMAC, 128-bit key, no encryptionHMAC-SHA-256256-bit random ECP
Suite-B-GMAC-256AES-GMAC, 256-bit key, no encryptionHMAC-SHA-384384-bit random ECP

§4Security and IANA Considerations

The document inherits all of the security considerations of the IPsec and IKEv2 documents. It also warns that some of the security options in these suites may in the future be found to have properties significantly weaker than those believed at the time of writing.

IANA keeps a registry called "Cryptographic Suites for IKEv1, IKEv2, and IPsec". The four suite identifiers are listed with RFC 6379 as the reference.

Today's strong lock might turn out weaker later, so the authors say so. The four combo names are written in an official list.

§6Changes from RFC 4869

Compared with RFC 4869 there are three changes:

  • The definitions of the suites for IKEv1 were removed.
  • The IKE authentication methods were removed from the suite definitions. They now appear in RFC 6380.
  • The requirements on rekeying in IKEv2 were removed.

The new version trimmed the old menu: it dropped some items that now live in another document.

§6References