Network Working Group                                          P Metzger
Internet Draft                                               W A Simpson
expires in six months                                         March 1995


                   IP Authentication using Keyed MD5
                     draft-ietf-ipsec-ah-md5-02.txt                       |



Status of this Memo

   This document is a submission to the IP Security Working Group of the
   Internet Engineering Task Force (IETF).  Comments should be submitted
   to the ipsec@ans.net mailing list.

   Distribution of this memo is unlimited.

   This document is an Internet-Draft.  Internet Drafts are working
   documents of the Internet Engineering Task Force (IETF), its Areas,
   and its Working Groups.  Note that other groups may also distribute
   working documents as Internet Drafts.

   Internet Drafts are draft documents valid for a maximum of six
   months, and may be updated, replaced, or obsoleted by other documents
   at any time.  It is not appropriate to use Internet Drafts as
   reference material, or to cite them other than as a ``working draft''
   or ``work in progress.''

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the internet-drafts Shadow
   Directories on:

      ftp.is.co.za (Africa)
      nic.nordu.net (Europe)
      ds.internic.net (US East Coast)
      ftp.isi.edu (US West Coast)
      munnari.oz.au (Pacific Rim)



Abstract

   This document describes the use of keyed MD5 with the IP
   Authentication Header.






Metzger & Simpson        expires in six months                  [Page i]


DRAFT                            AH MD5                       March 1995


1.  Introduction

   The Authentication Header (AH) [A-AH] provides integrity and
   authentication for IP datagrams.

   This specification describes the AH use of Message Digest 5 (MD5)
   [RFC-1321].

   All implementations that claim conformance or compliance with the
   Authentication Header specification MUST implement this MD5
   mechanism.

   Implementors should consult the most recent version of the IAB
   Standards [RFC-1610] for further guidance on the status of this
   document.

   This document assumes that the reader is familiar with the related
   document "Security Architecture for the Internet Protocol" [A-SA],
   which defines the overall security plan for IP, and provides
   important background for this specification.



1.1.  Keys

   The secret authentication key shared between the communicating
   parties SHOULD be a pseudo-random number, not a guessable string of
   any sort.



1.2.  Data Size

   MD5's 128-bit output is naturally 64-bit aligned.  Typically, there
   is no further padding of the Authentication Data field.



1.3.  Performance

   MD5 reportedly has a throughput of about 60 Mbps on a fast 64-bit
   RISC processor with slightly tuned MD5 code [Touch94].

      Nota Bene: This is possibly too slow.  Suggestions are sought on
      alternative authentication algorithms that have significantly
      faster throughput, are not patent-encumbered, and still retain
      adequate cryptographic strength.




Metzger & Simpson        expires in six months                  [Page 1]


DRAFT                            AH MD5                       March 1995


2.  Calculation

   The 128-bit digest is calculated as described in [RFC-1321].  The
   specification of MD5 includes a portable 'C' programming language
   description of the MD5 algorithm.

   The invariant fields of the entire IP datagram are hashed first.  The
   variable length secret authentication key is concatenated with
   (immediately followed by) this initial 128-bit digest, and the
   combination is hashed again.  This final 128-bit digest is inserted
   into the Authentication Data field.

   The MD5 algorithm requires a particular format of padding after the    *
   end of the authenticated data.  This padding is not sent over the
   link.                                                                  *



Security Considerations

   Users need to understand that the quality of the security provided by
   this specification depends completely on the strength of the MD5 hash
   function, the correctness of that algorithm's implementation, the
   security of the key management mechanism and its implementation, the
   strength of the key [CN94], and upon the correctness of the
   implementations in all of the participating nodes.

   Among other considerations, applications may wish to take care not to
   select weak keys, although the odds of picking one at random are low
   [Schneier94, p 233].

   At the time of writing of this document, it is known to be possible
   to produce collisions in the compression function of MD5 [BB93].
   There is not yet a known method to exploit these collisions to attack
   MD5 in practice, but this fact is disturbing to some authors
   [Schneier94].

   It has also recently been determined [OW94] that it is possible to
   build a machine for $10 Million that could find messages that hash to
   an arbitrary given MD5 hash.  This attack requires approximately 24
   days.  Although this is not a substantial weakness for most IP
   security applications, it should be recognized that current
   technology is catching up to the 128-bit hash length used by MD5.
   Applications requiring extremely high levels of security may wish to
   move in the near future to algorithms with longer hash lengths.






Metzger & Simpson        expires in six months                  [Page 2]


DRAFT                            AH MD5                       March 1995


Acknowledgements

   Some of the text of this specification was derived from work by
   Randall Atkinson for the SIP, SIPP, and IPv6 Working Groups.

   The basic concept and use of MD5 is derived in large part from the
   work done for SNMPv2 [RFC-1446].

   Burt Kaliski suggested the two step keyed-MD5 technique.

   Steve Bellovin, Steve Deering, Frank Kastenholz, Charles Lynn, and
   Dave Mihelcic provided useful critiques of earlier versions of this
   draft.



References

   [A-SA]   Randall Atkinson, "Security Architecture for the Internet
            Protocol", work in progress.

   [A-AH]   Randall Atkinson, "IP Authentication Header", work in
            progress.

   [BB93]   B. den Boer and A. Bosselaers, "Collisions for the
            Compression function of MD5", Advances in Cryptology --
            Eurocrypt '93 Proceedings, Berlin: Springer-Verlag 1994

   [CN94]   Carroll, J.M., and Nudiati, S., "On Weak Keys and Weak Data:
            Foiling the Two Nemeses", Cryptologia, Vol. 18 No. 23 pp.
            253-280, July 1994.

   [RFC-1321]
            Ronald Rivest, "The MD5 Message-Digest Algorithm", RFC-1321,
            DDN Network Information Center, April 1992.

   [RFC-1446]
            Galvin, J., and McCloghrie, K., "Security Protocols for
            Version 2 of the Simple Network Management Protocol
            (SNMPv2)", RFC-1446, DDN Network Information Center, April
            1993.

   [RFC-1610]
            Postel, J., "Internet Official Protocol Standards", STD 1,
            RFC 1610, USC/Information Sciences Institute, July 1994.

   [RFC-1700]
            Reynolds, J., and Postel, J., "Assigned Numbers", STD 2, RFC



Metzger & Simpson        expires in six months                  [Page 3]


DRAFT                            AH MD5                       March 1995


            1700, USC/Information Sciences Institute, October 1994.

   [OW94]   Paul C. van Oorschot & Michael J. Wiener, "Parallel
            Collision Search with Application to Hash Functions and
            Discrete Logarithms", Proceedings of the 2nd ACM Conf.
            Computer and Communications Security, Fairfax, VA, Nov 3-5
            1994.

   [Schneier94]
            Schneier, B., "Applied Cryptography", John Wiley & Sons, New
            York, NY, 1994.  ISBN 0-471-59756-2

   [Touch94]
            Touch, J., "Report on MD5 Performance", work in progress,
            December 1994.



Author's Address

   Questions about this memo can also be directed to:

      Perry Metzger
      Piermont Information Systems Inc.
      160 Cabrini Blvd., Suite #2
      New York, NY  10033

      perry@piermont.com


      William Allen Simpson
      Daydreamer
      Computer Systems Consulting Services
      1384 Fontaine
      Madison Heights, Michigan  48071

      Bill.Simpson@um.cc.umich.edu
          bsimpson@MorningStar.com













Metzger & Simpson        expires in six months                  [Page 4]

DRAFT                            AH MD5                       March 1995


                           Table of Contents


     1.     Introduction ..........................................    1
        1.1       Keys ............................................    1
        1.2       Data Size .......................................    1
        1.3       Performance .....................................    1

     2.     Calculation ...........................................    2

     SECURITY CONSIDERATIONS ......................................    2

     ACKNOWLEDGEMENTS .............................................    2

     REFERENCES ...................................................    3

     AUTHOR'S ADDRESS .............................................    4