The Use of HMAC-MD5-96 within ESP and AH (RFC2403)
Original Publication Date: 1998-Nov-01
Included in the Prior Art Database: 2000-Sep-13
Internet Society Requests For Comment (RFCs)
C. Madson: AUTHOR [+2]
This memo describes the use of the HMAC algorithm [RFC-2104] in conjunction with the MD5 algorithm [RFC-1321] as an authentication mechanism within the revised IPSEC Encapsulating Security Payload [ESP] and the revised IPSEC Authentication Header [AH]. HMAC with MD5 provides data origin authentication and integrity protection.
Network Working Group C. Madson
Request for Comments: 2403 Cisco Systems Inc.
Category: Standards Track R. Glenn
The Use of HMAC-MD5-96 within ESP and AH
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright (C) The Internet Society (1998). All Rights Reserved.
This memo describes the use of the HMAC algorithm [RFC-2104] in
conjunction with the MD5 algorithm [RFC-1321] as an authentication
mechanism within the revised IPSEC Encapsulating Security Payload
[ESP] and the revised IPSEC Authentication Header [AH]. HMAC with MD5
provides data origin authentication and integrity protection.
Further information on the other components necessary for ESP and AH
implementations is provided by [Thayer97a].
This memo specifies the use of MD5 [RFC-1321] combined with HMAC
[RFC-2104] as a keyed authentication mechanism within the context of
the Encapsulating Security Payload and the Authentication Header.
The goal of HMAC-MD5-96 is to ensure that the packet is authentic and
cannot be modified in transit.
HMAC is a secret key authentication algorithm. Data integrity and
data origin authentication as provided by HMAC are dependent upon the
scope of the distribution of the secret key. If only the source and
destination know the HMAC key, this provides both data origin
authentication and data integrity for packets sent between the two
parties; if the HMAC is correct, this proves that it must have been
added by the source.
In this memo, HMAC-MD5-96 is used within the context of ESP and AH.
For further information on how the various pieces of ESP - including
the confidentiality mechanism -- fit together to provide security
services, refer to [ESP] and [Thayer97a]. For further information on
AH, refer to [AH] and [Thayer97a].
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 [RFC-2119].
2. Algorithm and Mode
[RFC-1321] describes the underlying MD5 algorithm, while [RFC-2104]
describes the HMAC algorithm. The HMAC algorithm provides a framework
for inserting various hashing algorithms such as MD5.
HMAC-MD5-96 operates on 64-byte blocks of data. Padding requirements
are specified in [RFC-1321] and are part of the MD5 algorithm. If
MD5 is built according t...