rfc-4835

Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authentication Header (AH)

V. Manral
date2007-04 streamIETF wgnon working group statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc4835 doi10.17487/RFC4835
The IPsec series of protocols makes use of various cryptographic algorithms in order to provide security services. The Encapsulating Security Payload (ESP) and the Authentication Header (AH) provide two mechanisms for protecting data being sent over an IPsec Security Association (SA). 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 mandatory-to-implement algorithms for ESP and AH as well as specifying algorithms that should be implemented because they may be promoted to mandatory at some future time. [STANDARDS-TRACK]

obsoleted by

obsoletes

Extracted elements (21)

design-rationale §7

AES-CBC encryption for ESP was promoted from SHOULD+ (RFC 4305) to MUST in this document, reflecting its maturation as a widely deployed and well-understood algorithm appropriate for mandatory status.

ipsec, crypto, security

design-rationale §1

Mandatory-to-implement algorithm selection is placed in a separate document (this one) rather than the main IPsec, ESP, or AH specifications so that only this document needs updating as the choice of algorithms changes over time.

ipsec, crypto, security, process

design-rationale §7

NULL Authentication for ESP was downgraded from MUST (RFC 4305) to MAY in this document to align with RFC 4301, which already permitted omitting authentication when using combined-mode algorithms.

ipsec, crypto, security

design-rationale §1

The choice of mandatory-to-implement algorithms should be conservative to minimize the likelihood of compromise, while also considering performance in environments where it matters. Algorithms believed secure today may be demonstrated weak tomorrow.

ipsec, crypto, security

interoperability-note §6

DES-CBC was formerly MUST in RFC 2406 but is now SHOULD NOT; TripleDES-CBC remains MUST- pending future deprecation. HMAC-MD5-96 was formerly MUST in both RFC 2402 and RFC 2406 but is now MAY.

ipsec, crypto, security

interoperability-note §3

The security algorithms used for any particular ESP or AH SA are determined by a negotiation mechanism such as IKE (RFC 2409, RFC 4306) or pre-establishment; the mandatory algorithms ensure at least one common algorithm across all conformant implementations.

ipsec, crypto, security

normative-requirement §3.2 MAY

AH implementations MAY support HMAC-MD5-96 [RFC2403]; while MD5 collision weaknesses are known, these do not affect its use within HMAC.

ipsec, crypto, security

normative-requirement §3.2 MUST

AH implementations MUST support HMAC-SHA1-96 [RFC2404] as the mandatory authentication algorithm.

ipsec, crypto, security

normative-requirement §3.2 SHOULD

AH implementations SHOULD+ support AES-XCBC-MAC-96 [RFC3566], which is likely to be promoted to MUST in a future revision.

ipsec, crypto, security

normative-requirement §3.1.1 MAY

ESP implementations MAY support NULL authentication and MAY support HMAC-MD5-96 [RFC2403], but both encryption and authentication MUST NOT simultaneously be NULL [RFC4301].

ipsec, crypto, security

normative-requirement §3.1.1 MUST

ESP implementations MUST support AES-CBC with 128-bit keys [RFC3602] as a mandatory encryption algorithm.

ipsec, crypto, security

normative-requirement §3.1.1 MUST

ESP implementations MUST support HMAC-SHA1-96 [RFC2404] as the mandatory authentication algorithm.

ipsec, crypto, security

normative-requirement §3.1.1 MUST

ESP implementations MUST support the NULL encryption algorithm [RFC2410] to maintain consistency with service negotiation, since ESP encryption is optional.

ipsec, crypto, security

normative-requirement §3.1.1 MUST

ESP implementations MUST- support TripleDES-CBC [RFC2451]; this algorithm is currently mandatory but is expected to be demoted in the future.

ipsec, crypto, security

normative-requirement §3.1.1 SHOULD NOT

ESP implementations SHOULD NOT use DES-CBC [RFC2405] due to its small key size and publicly demonstrated vulnerability to special-purpose cracking hardware.

ipsec, crypto, security

normative-requirement §3.1.1 SHOULD

ESP implementations SHOULD support AES-CTR [RFC3686] for encryption, as it may be promoted to MUST in the future.

ipsec, crypto, security

normative-requirement §3.1.1 SHOULD

ESP implementations SHOULD+ support AES-XCBC-MAC-96 [RFC3566] for authentication; this algorithm is likely to be promoted to MUST in a future revision.

ipsec, crypto, security

protocol-element §3.1.2

ESP combined mode algorithms provide both confidentiality and authentication in a single pass. AES-CCM [RFC4309] and AES-GCM [RFC4106] are identified as algorithms of interest, adopted as preferred modes in IEEE 802.11i and IEEE 802.1ae respectively.

ipsec, crypto, security

security-consideration §3.1.1

DES-CBC is of questionable security due to its small key size and the existence of publicly demonstrated, open-design special-purpose cracking hardware; implementations SHOULD NOT provide single DES.

ipsec, crypto, security

security-consideration §3.1.1

Known collision weaknesses in SHA-1 and MD5 do not affect their use within HMAC constructions (HMAC-SHA1-96 and HMAC-MD5-96), but implementations should track cryptographic developments as these algorithms may be further weakened.

ipsec, crypto, security

security-consideration §4

The security of cryptography-based systems depends on both the strength of chosen algorithms and the keys used with them, as well as proper engineering and administration to prevent non-cryptographic bypass. Algorithms identified as MUST or SHOULD implement are not known to be broken but may be broken in the future, necessitating periodic revision of this document.

ipsec, crypto, security