RFC 1864

RFC 1864

The Content-MD5 Header Field (Content-MD5 頭欄)

訳注: Content-MD5: 欄を定義する RFC は、 RFC 1544 が廃止され RFC 1864 になりました。ここでは両者を同時に (訳文も含めて) 示しています。1864 での追加分, 1864 での削除分にご注意下さい。

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.

Abstract 概要

This memo specifies an optional header field, Content-MD5, for use with MIME-conformant messages.

このメモは、 MIME 適合メッセージで使う省略可能な頭欄、 Content-MD5 を規定します。

Table of Contents 目次

   1. Introduction ..........................................    1
   2. Generation of the Content-MD5 Field ...................    2
   3. Processing the Content-MD5 field ......................    23
   4. Security Considerations ...............................    3
   5. Acknowledgements ......................................    3
   6. References ............................................    3
   7. Author's Address ......................................    34
*1.  Introduction はじめに
>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.

電子メイル転送の経路での損傷からデータを護るあらゆる方法が MIME で提供されていますが、それでも一度復号されたデータが手を加えられていないか確認する方法があるのが望ましいです。この理由から、 このメモは省略可能な頭欄 Content-MD5 を定義します。 これは、メッセージ完全性確認 (MIC) として、復号したデータが最初に送られたのと同じデータかを確認するのに使うことが出来ます。 (1864 追加) Content-MD5 頭は message/external-body 型の物体のカプセル化された頭に置いて、取り出して復号したデータが最初に参照されたのと同じデータであるか検証するのに使っても構いません。

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 algorithm itself is defined in [2]. This memo specifies how the algorithm may be used as an integrity check for MIME mail.

MD5 は、任意の長さのデータの128ビットの「要約」を、 データの変更が要約の変更となって反映される、 高い信頼性を持った計算算法です。 MD5 算法は [2] で定義されています。このメモは、 MIME メイルの完全性確認にこの算法をどう使うことが出来るかを規定します。

2. Generation of the Content-MD5 Field Content-MD5 欄の生成

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.

Content-MD5 欄は原利用者エージェントによってのみ生成されます。 メッセージ中継者及び関門が Content-MD5 欄を作ることは明白に禁止します。

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.

Content-MD5 欄の使用は完全に任意でありますが、 データの完全性が望まれ、しかし高度秘密 (Privacy-Enhanced) メイル・サービスが利用できない時には常に使うことを推奨します。 (詳しくは第4章を御覧下さい。) Content-MD5 欄は「葉っぱ」性の MIME 実体にのみ加えることが出来ます。つまり、 Content-MD5 欄は複数部分や message/rfc822 を除く内容型と共に使うことが出来ます。

[4] 訳注: HTTP は、複数部分や message/rfc822 にも使って良いと規定しています。

To generate the value of the Content-MD5 field, the MD5 algorithm is computed on the canonical form of the dataMIME entity's object. In particular, this means that the sender applies the MD5 algorithm on the raw data immediately after conversion to canonical form, before applying any content-transfer-encoding, and that the receiver also applies the MD5 algorithm on the raw datacanonical 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].

Content-MD5 欄の値を生成するには、 MD5 算法でデータMIME 実体の物体の正規形を計算します。 すなわち、送信者は MD5 算法を 正規形に変換したすぐ後で、内容転送符号化を適用する前のデータに対して使用し、また受信者も内容転送符号化を解いた後の生データに対して MD5 算法を使います。 文字データの場合、 MD5 算法において改行の正規形、つまり改行が CR-LF 組で表される状態のデータで計算しなければなりませんらないということですMIME の正規符号化モデルについては 1 の附属書Gで説明されています。

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

MD5 算法の出力は 128 ビット要約です。ネットワーク・バイト順 (大エンディアン順) で、16オクテットの2進データの列と見なせます。この16ビットを、 Content-MD5 欄に入れる値にするため、 Base64 算法で符号化します。このようにして、 MIME 実体の生データの MD5 算法の応用が (ありそうもないですが) 「Check Integrity!」 (完全か確認!) という値の要約を出したとすると、 MIME 実体の頭にはこのような欄が入ります。

               Content-MD5:  Q2hlY2sgSW50ZWdyaXR5IQ==

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.

最後に、 [1] の附属書 B で議論しているように、 文字データはメイルの通常の配送で規則的に改められます。末尾の空白間隔の追加や削除により要約が違ってくるので、 Content-MD5 欄を使うときは Quoted-Printable または base64 算法を使うのが良いでしょう。

3. Processing the Content-MD5 field Content-MD5 欄の処理

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 its 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.

Content-MD5 欄があった場合、受信した利用者エージェントはこれを MIME 実体の内容が転送中に改竄されなかったか確認するために使っても構いません。メッセージ中継者及び関門が Content-MD5 欄の有無により処理を変えることは明確に禁止します。しかし、メッセージ関門は対応する MIME 実体が違う content-type (内容型) に変換された場合に、 Content-MD5 欄を削除しても構いません。

4. Security Considerations 安全性に関して

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.

この文書は、送信者から受信者への転送中の偶発的変更からデータを護るデータ正当性サービスを規定します。高度秘密メイル (PEM) が提供するような安全データ正当性サービスはあらゆる変更からデータを護ると推測されます。

5. Acknowledgements 謝辞

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.

このメモは、ほとんど全てを、 Bellcore の Nathaniel Borenstein が最初書いた文章をもとにしています。また、幾つかの改良を University of Tennessee, Knoxville の Keith Moore が提案してくれました。

6. References 参考文献

[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.

[2] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT Laboratory for Computer Science and RSA Data Security, Inc., April 1992.

[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.

7. Author's Address 著者の連絡先

   John G. Myers
   Carnegie Mellon University
   EMail: jgm+@cmu.edu
   Marshall T. Rose
   Dover Beach Consulting, Inc.
   420 Whisman Court
   Mountain View, CA 94043-2112
   Phone: (415) 968-1052
   EMail: mrose@dbc.mtview.ca.us