The Use of HMAC-RIPEMD-160-96 within ESP and AH
RFC 2857

Document Type RFC - Proposed Standard (June 2000; No errata)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 2857 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                        A. Keromytis
Request for Comments: 2857                     University of Pennsylvania
Category: Standards Track                                       N. Provos
                            Center for Information Technology Integration
                                                                June 2000

            The Use of HMAC-RIPEMD-160-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 Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

Abstract

   This memo describes the use of the HMAC algorithm [RFC 2104] in
   conjunction with the RIPEMD-160 algorithm [RIPEMD-160] as an
   authentication mechanism within the revised IPSEC Encapsulating
   Security Payload [ESP] and the revised IPSEC Authentication Header
   [AH].  HMAC with RIPEMD-160 provides data origin authentication and
   integrity protection.

   Further information on the other components necessary for ESP and AH
   implementations is provided by [Thayer97a].

1.  Introduction

   This memo specifies the use of RIPEMD-160 [RIPEMD-160] 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-RIPEMD-160-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.

Keromytis & Provos          Standards Track                     [Page 1]
RFC 2857          HMAC-RIPEMD-160-96 within ESP and AH         June 2000

   In this memo, HMAC-RIPEMD-160-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

   [RIPEMD-160] describes the underlying RIPEMD-160 algorithm, while
   [RFC 2104] describes the HMAC algorithm.  The HMAC algorithm provides
   a framework for inserting various hashing algorithms such as RIPEMD-
   160.

   HMAC-RIPEMD-160-96 operates on 64-byte blocks of data.  Padding
   requirements are specified in [RIPEMD-160] and are part of the
   RIPEMD-160 algorithm.  Padding bits are only necessary in computing
   the HMAC-RIPEMD-160 authenticator value and MUST NOT be included in
   the packet.

   HMAC-RIPEMD-160-96 produces a 160-bit authenticator value.  This
   160-bit value can be truncated as described in RFC2104.  For use with
   either ESP or AH, a truncated value using the first 96 bits MUST be
   supported.  Upon sending, the truncated value is stored within the
   authenticator field.  Upon receipt, the entire 160-bit value is
   computed and the first 96 bits are compared to the value stored in
   the authenticator field.  No other authenticator value lengths are
   supported by HMAC-RIPEMD-160-96.

   The length of 96 bits was selected because it is the default
   authenticator length as specified in [AH] and meets the security
   requirements described in [RFC 2104].

2.1  Performance

   [Bellare96a] states that "(HMAC) performance is essentially that of
   the underlying hash function".  [RIPEMD-160] provides some
   performance analysis.  As of this writing no detailed performance
   analysis has been done of HMAC or HMAC combined with RIPEMD-160.

   [RFC 2104] outlines an implementation modification which can improve
   per-packet performance without affecting interoperability.

Keromytis & Provos          Standards Track                     [Page 2]
RFC 2857          HMAC-RIPEMD-160-96 within ESP and AH         June 2000

3. Keying Material

   HMAC-RIPEMD-160-96 is a secret key algorithm.  While no fixed key
   length is specified in [RFC 2104], for use with either ESP or AH a
   fixed key length of 160-bits MUST be supported.  Key lengths other
   than 160-bits SHALL NOT be supported.  A key length of 160-bits was
Show full document text