The Use of HMAC-SHA-1-96 within ESP and AH (RFC2404)
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 SHA-1 algorithm [FIPS-180-1] as an authentication mechanism within the revised IPSEC Encapsulating Security Payload [ESP] and the revised IPSEC Authentication Header [AH]. HMAC with SHA-1 provides data origin authentication and integrity protection.
Network Working Group C. Madson
Request for Comments: 2404 Cisco Systems Inc.
Category: Standards Track R. Glenn
The Use of HMAC-SHA-1-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 SHA-1 algorithm [FIPS-180-1] as an
authentication mechanism within the revised IPSEC Encapsulating
Security Payload [ESP] and the revised IPSEC Authentication Header
[AH]. HMAC with SHA-1 provides data origin authentication and
Further information on the other components necessary for ESP and AH
implementations is provided by [Thayer97a].
This memo specifies the use of SHA-1 [FIPS-180-1] 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-SHA-1-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-SHA-1-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
[FIPS-180-1] describes the underlying SHA-1 algorithm, while [RFC-
2104] describes the HMAC algorithm. The HMAC algorithm provides a
framework for inserting various hashing algorithms such as SHA-1.
HMAC-SHA-1-96 operates on 64-byte blocks of data. Padding
requirements are specified in [FIPS-180-1] and are part of the SHA-1