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-sha196-00.txt < prev    next >
Text File  |  1997-07-02  |  11KB  |  310 lines

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