rfc-4307

Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

J. Schiller
date2005-12 streamIETF areasec wgipsec statusPROPOSED STANDARD pages6 canonicalhttps://www.rfc-editor.org/rfc/rfc4307 doi10.17487/RFC4307 errataview
The IPsec series of protocols makes use of various cryptographic algorithms in order to provide security services. The Internet Key Exchange (IKE (RFC 2409) and IKEv2) provide a mechanism to negotiate which algorithms should be used in any given association. However, to ensure interoperability between disparate implementations, it is necessary to specify a set of mandatory-to-implement algorithms to ensure that there is at least one algorithm that all implementations will have available. This document defines the current set of algorithms that are mandatory to implement as part of IKEv2, as well as algorithms that should be implemented because they may be promoted to mandatory at some future time. [STANDARDS-TRACK]

obsoleted by

Extracted elements (17)

design-rationale §2

Custom requirement levels SHOULD+, SHOULD-, and MUST- are introduced to signal the likely trajectory of algorithm status, allowing implementers to anticipate future mandatory or deprecated algorithms before formal updates.

ipsec, crypto, process

design-rationale §1

The choice of mandatory-to-implement algorithms should be conservative to minimize the likelihood of compromise, while also considering performance for environments where it is a concern. Algorithms marked SHOULD+ are pre-identified as likely future mandatory algorithms so implementations can adopt them proactively.

ipsec, crypto, security

design-rationale §1

The selection of mandatory-to-implement algorithms was removed from the main IKEv2 specification and placed in this separate document so that as algorithm choices change, only this document needs to be updated rather than the base IKEv2 specification.

ipsec, crypto, process

interoperability-note §3.1.2

Any Diffie-Hellman MODP groups not listed in Section 3.1.2 are considered 'MAY be implemented', meaning implementations need not support them but may do so for interoperability with peers that prefer those groups.

ipsec, crypto

normative-requirement §3.1.5 SHOULD

AUTH_AES_XCBC_96 (Transform Type 3, number 5) SHOULD+ be implemented and may be promoted to MUST in a future revision.

ipsec, crypto

normative-requirement §3.1.5 MUST

AUTH_HMAC_SHA1_96 (Transform Type 3, number 2) MUST be implemented for IKEv2 integrity protection.

ipsec, crypto, security

normative-requirement §3.1.2 SHOULD

Diffie-Hellman Group 14 (2048-bit MODP, RFC 3526) has SHOULD+ status and is likely to be promoted to MUST in a future revision.

ipsec, crypto

normative-requirement §3.1.2 MUST

Diffie-Hellman Group 2 (1024-bit MODP) has MUST- status for IKEv2, meaning it is currently required but expected to be downgraded in a future revision.

ipsec, crypto

normative-requirement §3.1.3 MUST

ENCR_3DES (Transform Type 1, number 3) MUST- be implemented; ENCR_AES_CBC (number 12) SHOULD+ be implemented for IKEv2 encryption.

ipsec, crypto, security

normative-requirement §3.1.1 MUST

For IKEv2 Encrypted Payload confidentiality, implementations MUST- implement 3DES-CBC and SHOULD+ implement AES-128-CBC.

ipsec, crypto, security

normative-requirement §3.1.1 MUST

For IKEv2 Encrypted Payload integrity, HMAC-SHA1 MUST be implemented.

ipsec, crypto, security

normative-requirement §3.1.4 SHOULD

PRF_AES128_CBC (Transform Type 2, number 4) SHOULD+ be implemented and is likely to become MUST in a future revision.

ipsec, crypto

normative-requirement §3.1.4 MUST

PRF_HMAC_SHA1 (Transform Type 2, number 2) MUST be implemented as the pseudo-random function for IKEv2.

ipsec, crypto

protocol-element §3.1.3

IKEv2 Transform Type 1 (encryption) algorithm table: ENCR_3DES (number 3) is MUST-, ENCR_NULL (11) is MAY, ENCR_AES_CBC (12) is SHOULD+, ENCR_AES_CTR (13) is SHOULD.

ipsec, crypto

protocol-element §3.1.4

IKEv2 Transform Type 2 (pseudo-random functions): PRF_HMAC_MD5 (1) is MAY, PRF_HMAC_SHA1 (2) is MUST, PRF_AES128_CBC (4) is SHOULD+.

ipsec, crypto

protocol-element §3.1.5

IKEv2 Transform Type 3 (integrity algorithms): AUTH_HMAC_MD5_96 (1) is MAY, AUTH_HMAC_SHA1_96 (2) is MUST, AUTH_AES_XCBC_96 (5) is SHOULD+.

ipsec, crypto

security-consideration §4

Security depends on both the strength of the chosen cryptographic algorithms and the strength of the keys used; algorithms currently identified as MUST or SHOULD implement are not known to be broken but may become compromised in the future, necessitating periodic revision of this document.

ipsec, crypto, security