home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-ipsec-auth-hmac-md5-96-00.txt < prev    next >
Text File  |  1997-10-07  |  12KB  |  311 lines

  1.  
  2.  
  3.  
  4. Network Working Group                                IPsec Working Group
  5. INTERNET DRAFT                                                 C. Madson
  6. Expire in six months                                  Cisco Systems Inc.
  7.                                                                 R. Glenn
  8.                                                                     NIST
  9.                                                                July 1997
  10.  
  11.  
  12.                 The Use of HMAC-MD5-96 within ESP and AH
  13.                <draft-ietf-ipsec-auth-hmac-md5-96-00.txt>
  14.  
  15.  
  16.  
  17.  
  18. Status of this Memo
  19.  
  20.    This document is a submission to the IETF Internet Protocol Security
  21.    (IPSEC) Working Group. Comments are solicited and should be addressed
  22.    to the working group mailing list (ipsec@tis.com) or to the editor.
  23.  
  24.    This document is an Internet-Draft.  Internet Drafts are working
  25.    documents of the Internet Engineering Task Force (IETF), its areas,
  26.    and its working Groups. Note that other groups may also distribute
  27.    working documents as Internet Drafts.
  28.  
  29.    Internet-Drafts draft documents are valid for a maximum of six months
  30.    and may be updated, replaced, or obsoleted by other documents at any
  31.    time. It is inappropriate to use Internet-Drafts as reference
  32.    material or to cite them other than as "work in progress."
  33.  
  34.    To learn the current status of any Internet-Draft, please check the
  35.    "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
  36.    Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  37.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  38.    ftp.isi.edu (US West Coast).
  39.  
  40.    Distribution of this memo is unlimited.
  41.  
  42. Abstract
  43.  
  44.    This draft describes the use of the HMAC algorithm [RFC-2104] in
  45.    conjunction with the MD5 algorithm [RFC-1321] as an authentication
  46.    mechanism within the revised IPSEC Encapsulating Security Payload
  47.    [ESP] and the revised IPSEC Authentication Header [AH]. HMAC with MD5
  48.    provides data origin authentication and integrity protection.
  49.  
  50.    Further information on the other components necessary for ESP and AH
  51.    implementations is provided by [Thayer97a].
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. Madson, Glenn                                                   [Page 1]
  62.  
  63. INTERNET DRAFT                  July 1997           Expires January 1998
  64.  
  65.  
  66. 1.  Introduction
  67.  
  68.    This draft specifies a the use of MD5 [RFC-1321] combined with HMAC
  69.    [RFC-2104] as a keyed authentication mechanism within the context of
  70.    the Encapsulating Security Payload and the Authentication Header.
  71.    The goal of HMAC-MD5-96 is to ensure that the packet is authentic and
  72.    cannot be modified in transit.
  73.  
  74.    HMAC is a secret key authentication algorithm. Data integrity and
  75.    data origin authentication as provided by HMAC are dependent upon the
  76.    scope of the distribution of the secret key. If only the source and
  77.    destination know the HMAC key, this provides both data origin
  78.    authentication and data integrity for packets sent between the two
  79.    parties; if the HMAC is correct, this proves that it must have been
  80.    added by the source.
  81.  
  82.    In this draft, HMAC-MD5-96 is used within the context of ESP and AH.
  83.    For further information on how the various pieces of ESP - including
  84.    the confidentiality mechanism -- fit together to provide security
  85.    services, refer to [ESP] and [Thayer97a]. For further information on
  86.    AH, refer to [AH] and [Thayer97a].
  87.  
  88.    In this document, the key words "MAY", "MUST", "optional",
  89.    "recommended", "required", "SHOULD", and "SHOULD NOT", are to be
  90.    interpreted as described in [RFC-2119].
  91.  
  92. 2. Algorithm and Mode
  93.  
  94.    [RFC-1321] describes the underlying MD5 algorithm, while [RFC-2104]
  95.    describes the HMAC algorithm. The HMAC algorithm provides a framework
  96.    for inserting various hashing algorithms such as MD5.
  97.  
  98.    HMAC-MD5-96 operates on 64-byte blocks of data and produces a 128-bit
  99.    authenticator value.  This 128-bit value can be truncated as
  100.    described in RFC2104.  For use with either ESP or AH, a truncated
  101.    value using the first 96 bits MUST be supported.  Upon sending, the
  102.    truncated value is stored within the authenticator field.  Upon
  103.    receipt, the entire 128-bit value is computed and the first 96 bits
  104.    are compared to the value stored in the authenticator field.  No
  105.    other authenticator value lengths are supported by HMAC-MD5-96.
  106.  
  107.    The length of 96 bits was selected because it is the default
  108.    authenticator length as specified in [AH] and meets the security
  109.    requirements described in [RFC-2104].
  110.  
  111. 2.1  Performance
  112.  
  113.    [Bellare96a] states that "(HMAC) performance is essentially that of
  114.    the underlying hash function".  [RFC-1810] provides some performance
  115.    analysis and recommendations of the use of MD5 with Internet
  116.    protocols.  As of this writing no performance analysis has been done
  117.    of HMAC or HMAC combined with MD5.
  118.  
  119.    [RFC-2104] outlines an implementation modification which can improve
  120.  
  121.  
  122.  
  123. Madson, Glenn                                                   [Page 2]
  124.  
  125. INTERNET DRAFT                  July 1997           Expires January 1998
  126.  
  127.  
  128.    per-packet performance without affecting interoperability.
  129.  
  130. 3. Keying Material
  131.  
  132.    HMAC-MD5-96 is a secret key algorithm. While no fixed key length is
  133.    specified in [RFC-2104], for use with either ESP or AH a fixed key
  134.    length of 128-bits MUST be supported.  A key length of 128-bits was
  135.    chosen based on the recommendations in [RFC-2104] (i.e. key lengths
  136.    less than the authenticator length decrease security strength and
  137.    keys longer than the authenticator length do not significantly
  138.    increase security strength).
  139.  
  140.    [RFC-2104] discusses requirements for key material, which includes a
  141.    discussion on requirements for strong randomness.  A strong pseudo-
  142.    random function MUST be used to generate the required 128-bit key.
  143.  
  144.    At the time of this writing there are no specified weak keys for use
  145.    with HMAC.  This does not mean to imply that weak keys do not exist.
  146.    If, at some point, a set of weak keys for HMAC are identified, the
  147.    use of these weak keys must be rejected followed by a request for
  148.    replacement keys or a newly negotiated Security Association.
  149.  
  150.    [ESP] describes the general mechanism to obtain keying material for
  151.    the ESP transform. The derivation of the key from some amount of
  152.    keying material does not differ between the manual and automatic key
  153.    management mechanisms.
  154.  
  155.    In order to provide data origin authentication, the key distribution
  156.    mechanism must ensure that unique keys are allocated and that they
  157.    are distributed only to the parties participating in the
  158.    communication.
  159.  
  160.    [RFC-2104] states that for "minimally reasonable hash functions" the
  161.    "birthday attack" is impractical. For a 64-byte block hash such as
  162.    HMAC-MD5-96, an attack involving the successful processing of 2**64
  163.    blocks would be infeasible unless it were discovered that the
  164.    underlying hash had collisions after processing 2**30 blocks.  (A
  165.    hash with such weak collision-resistance characteristics would
  166.    generally be considered to be unusable.) No time-based attacks are
  167.    discussed in the document.
  168.  
  169.    As it it still cryptographically prudent to perform frequent
  170.    rekeying, the recommended key lifetimes are 2**32 blocks and ????
  171.    seconds.
  172.  
  173. 4.  Interaction with the ESP Cipher Mechanism
  174.  
  175.    As of this writing, there are no known issues which preclude the use
  176.    of the HMAC-MD5-96 algorithm with any specific cipher algorithm.
  177.  
  178. 5.  Security Considerations
  179.  
  180.    The security provided by HMAC-MD5-96 is based upon the strength of
  181.    HMAC, and to a lesser degree, the strength of MD5. [RFC-2104] claims
  182.  
  183.  
  184.  
  185. Madson, Glenn                                                   [Page 3]
  186.  
  187. INTERNET DRAFT                  July 1997           Expires January 1998
  188.  
  189.  
  190.    that HMAC does not depend upon the property of strong collision
  191.    resistance, which is important to consider when evaluating the use of
  192.    MD5, an algorithm which has, under recent scrutiny, been shown to be
  193.    much less collision-resistant than was first thought.
  194.  
  195.    It is also important to consider that while MD5 was never developed
  196.    to be used as a keyed hash algorithm, HMAC had that criteria from the
  197.    onset. While the use of MD5 in the context of data security is
  198.    undergoing reevaluation, the combined HMAC with MD5 algorithm has
  199.    held up to cryptographic scrutiny.
  200.  
  201.    [RFC-2104] also discusses the potential additional security which is
  202.    provided by the truncation of the resulting hash. Specifications
  203.    which include HMAC are strongly encouraged to perform this hash
  204.    truncation.
  205.  
  206.    As [RFC-2104] provides a framework for incorporating various hash
  207.    algorithms with HMAC, it is possible to replace MD5 with other
  208.    algorithms such as SHA-1. [RFC-2104] contains a detailed discussion
  209.    on the strengths and weaknesses of HMAC algorithms.
  210.  
  211.    As is true with any cryptographic algorithm, part of its strength
  212.    lies in the correctness of the algorithm implementation, the security
  213.    of the key management mechanism and its implementation, the strength
  214.    of the associated secret key, and upon the correctness of the
  215.    implementation in all of the participating systems.  [HMAC-TESTS]
  216.    contains test vectors and example code to assist in verifying the
  217.    correctness of HMAC-MD5-96 code.
  218.  
  219. 6.  Acknowledgments
  220.  
  221.    This document is derived in part from previous works by Jim Hughes,
  222.    those people that worked with Jim on the combined DES/CBC+HMAC-MD5
  223.    ESP transforms, the ANX bakeoff participants, and the members of the
  224.    IPsec working group.
  225.  
  226. 7.  References
  227.  
  228.    [RFC-1321]   Rivest, R., "MD5 Digest Algorithm", RFC-1321, April 1992
  229.  
  230.    [RFC-2104]   Krawczyk, H., Bellare, M., Canetti, R., "HMAC: Keyed-
  231.                 Hashing for Message Authentication", RFC-2104,
  232.                 February, 1997
  233.  
  234.    [RFC-1810]   Touch, J. "Report on MD5 Performance", RFC-1810,
  235.                 June 1995.
  236.  
  237.    [Bellare96a] Bellare, M., Canetti, R., Krawczyk, H., "Keying
  238.                 Hash Functions for Message Authentication", Advances in
  239.                 Cryptography, Crypto96 Proceeding, June 1996.
  240.  
  241.    [ESP]        Kent, S., Atkinson, R., "IP Encapsulating Security
  242.                 Payload", draft-ietf-ipsec-esp-04.txt, work in progress,
  243.                 March 26, 1997
  244.  
  245.  
  246.  
  247. Madson, Glenn                                                   [Page 4]
  248.  
  249. INTERNET DRAFT                  July 1997           Expires January 1998
  250.  
  251.  
  252.    [AH]         Kent, S., Atkinson, R., "IP Authentication Header",
  253.                 draft-ietf-ipsec-auth-05.txt, work in progress,
  254.                 March 26, 1997
  255.  
  256.    [Thayer97a]  Thayer, R., Doraswamy, N., Glenn, R., "IP Security
  257.                 Document Framework",
  258.                 draft-ietf-ipsec-ff-Doc-Framework-00.txt, work in progress,
  259.                 June 1997.
  260.  
  261.    [HMAC-TESTS] Cheng, P., Glenn, R., "Test Cases for HMAC-MD5 and
  262.                 HMAC-SHA-1", draft-cheng-hmac-test-cases-00.txt, work
  263.                 in progress, March 1997.
  264.  
  265. 8.  Editors' Address
  266.  
  267.         Cheryl Madson
  268.         <cmadson@cisco.com>
  269.         Cisco Systems, Inc.
  270.  
  271.         Rob Glenn
  272.         <rob.glenn@nist.gov>
  273.         NIST
  274.  
  275.    The IPsec working group can be contacted through the chairs:
  276.  
  277.         Robert Moskowitz
  278.         <rgm3@chrysler.com>
  279.         Chrysler Corporation
  280.  
  281.         Ted T'so
  282.         tytso@mit.edu
  283.         Massachusetts Institute of Technology
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309. Madson, Glenn                                                   [Page 5]
  310.  
  311.