home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1864.txt < prev    next >
Text File  |  1996-05-07  |  7KB  |  142 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                           J. Myers Request For Comments: 1864                               Carnegie Mellon Obsoletes: 1544                                                  M. Rose                                             Dover Beach Consulting, Inc.                                                             October 1995 
  8.  
  9.                        The Content-MD5 Header Field 
  10.  
  11. Status of this Memo 
  12.  
  13.    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. 
  14.  
  15. Abstract 
  16.  
  17.    This memo specifies an optional header field, Content-MD5, for use    with MIME-conformant messages. 
  18.  
  19. Table of Contents 
  20.  
  21.    1. Introduction ..............................................    1    2. Generation of the Content-MD5 Field .......................    2    3. Processing the Content-MD5 field ..........................    3    4. Security Considerations ...................................    3    5. Acknowledgements ..........................................    3    6. References ................................................    3    7. Authors' Addresses ........................................    4 
  22.  
  23. 1. Introduction 
  24.  
  25.    Despite all of the mechanisms provided by MIME [1] which attempt to    protect data from being damaged in the course of email transport, it    is still desirable to have a mechanism for verifying that the data,    once decoded, are intact.  For this reason, this memo defines the use    of an optional header field, Content-MD5, which may be used as a    message integrity check (MIC), to verify that the decoded data are    the same data that were initially sent.  The Content-MD5 header may    also be placed in the encapsulated headers of an object of type    message/external-body, to be used to verify that the retreived and    decoded data are the same data that were initially referenced. 
  26.  
  27.    MD5 is an algorithm for computing a 128 bit "digest" of arbitrary-    length data, with a high degree of confidence that any alterations in    the data will be reflected in alterations in the digest.  The MD5 
  28.  
  29.  
  30.  
  31. Myers & Rose                Standards Track                     [Page 1] 
  32.  RFC 1864                Content-MD5 Header Field            October 1995 
  33.  
  34.     algorithm itself is defined in [2]. This memo specifies how the    algorithm may be used as an integrity check for MIME mail. 
  35.  
  36. 2. Generation of the Content-MD5 Field 
  37.  
  38.    The Content-MD5 field is generated by only an originating user agent.    Message relays and gateways are expressly forbidden from generating a    Content-MD5 field. 
  39.  
  40.    Use of the Content-MD5 field is completely optional, but its use is    recommended whenever data integrity is desired, but Privacy-Enhanced    Mail services [3] are not available.  (Consult Section 4 for further    details.) The Content-MD5 field may only be added to MIME entities of    a `leaf' nature, i.e., the Content-MD5 field may be used with any    content type other than multipart or message/rfc822. 
  41.  
  42.    To generate the value of the Content-MD5 field, the MD5 algorithm is    computed on the canonical form of the MIME entity's object.  In    particular, this means that the sender applies the MD5 algorithm on    the data immediately after conversion to canonical form, before    applying any content-transfer-encoding, and that the receiver also    applies the MD5 algorithm on the canonical form, after undoing any    content-transfer-encoding.  For textual data, this means the MD5    algorithm must be computed on data in which the canonical form for    newlines applies, that is, in which each newline is represented by a    CR-LF pair.  The canonical encoding model of MIME is described in    Appendix G of [1]. 
  43.  
  44.    The output of the MD5 algorithm is a 128 bit digest.  When viewed in    network byte order (big-endian order), this yields a sequence of 16    octets of binary data.  These 16 octets are then encoded according to    the base64 algorithm in order to obtain the value that is placed in    the Content-MD5 field.  Thus, if the application of the MD5 algorithm    over the raw data of a MIME entity results in a digest having the    (unlikely) value of "Check Integrity!", then that MIME entity's    header could contain the field 
  45.  
  46.         Content-MD5:  Q2hlY2sgSW50ZWdyaXR5IQ== 
  47.  
  48.    Finally, as discussed in Appendix B of [1], textual data is regularly    altered in the normal delivery of mail.  Because the addition or    deletion of trailing white space will result in a different digest,    either the quoted-printable or base64 algorithm should be employed as    a content-transfer-encoding when the Content-MD5 field is used. 
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56. Myers & Rose                Standards Track                     [Page 2] 
  57.  RFC 1864                Content-MD5 Header Field            October 1995 
  58.  
  59.  3. Processing the Content-MD5 field 
  60.  
  61.    If the Content-MD5 field is present, a recipient user agent may    choose to use it to verify that the contents of a MIME entity have    not been modified during transport.  Message relays and gateways are    expressly forbidden to alter their processing based on the presence    of the Content-MD5 field.  However, a message gateway is allowed to    remove the Content-MD5 field if the corresponding MIME entity is    translated into a different content-type. 
  62.  
  63. 4. Security Considerations 
  64.  
  65.    This document specifies a data integrity service that protects data    from accidental modification while in transit from the sender to the    recipient.  A secure data integrity service, such as that provided by    Privacy Enhanced Mail [3], is conjectured to protect data from all    modifications. 
  66.  
  67. 5. Acknowledgements 
  68.  
  69.    This memo is based almost entirely on text originally written by    Nathaniel Borenstein of Bellcore.  In addition, several improvements    were suggested by Keith Moore of the University of Tennessee,    Knoxville. 
  70.  
  71. 6. References 
  72.  
  73.    [1] Borenstein, N., and N. Freed, "MIME (Multipurpose Internet Mail        Extensions) Part One: Mechanisms for Specifying and Describing        the Format of Internet Message Bodies", RFC 1521, Bellcore,        Innosoft, September 1993. 
  74.  
  75.    [2] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT        Laboratory for Computer Science and RSA Data Security, Inc.,        April 1992. 
  76.  
  77.    [3] Linn, J., "Privacy Enhancement for Internet Electronic Mail, Part        I: Message Encryption and Authentication Procedures", RFC 1421,        IAB IRTF PSRG, IETF PEM WG, February 1993. 
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  Myers & Rose                Standards Track                     [Page 3] 
  90.  RFC 1864                Content-MD5 Header Field            October 1995 
  91.  
  92.  7. Authors' Addresses 
  93.  
  94.    John G. Myers    Carnegie Mellon University 
  95.  
  96.    EMail: jgm+@cmu.edu 
  97.  
  98.     Marshall T. Rose    Dover Beach Consulting, Inc. 
  99.  
  100.    EMail: mrose@dbc.mtview.ca.us 
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140. Myers & Rose                Standards Track                     [Page 4] 
  141.  
  142.