The Content-MD5 Header Field

Takami Torao
  • このエントリーをはてなブックマークに追加
Network Working Group                                           J. Myers
Request For Comments: 1864                               Carnegie Mellon
Obsoletes: 1544                                                  M. Rose
                                            Dover Beach Consulting, Inc.
                                                            October 1995


                      The Content-MD5 Header Field

【この記述の位置付け】

   このドキュメントはインターネットコミュニティのためのインターネット
   標準トラックを記述し、改善のための論議と提案を要求するものである。
   標準化の状況とこのプロトコルの状態は "Internet Official Protocol
   Standards" (STD 1) を参照のこと。この記述の配布は無制限である。

【概要】

   この記述は MIME 準拠メッセージで使用されるオプションヘッダ Content-MD5
   に関する記述である。

【目次】

   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

【1. イントロダクション】

   電子メールの配信過程で受けるダメージからデータの保護を試みる MIME [1]
   の仕組みに加えて、一旦解読したデータが無傷であることを検証する仕組みが
   あるのが望ましい。このような理由で、この記述は、解読されたデータが送り
   元のものと同一データであることを検証するために、メッセージ完全性チェッ
   ク (MIC) に使用さているオプションヘッダフィールド Content-MD5 の使用方
   法を定義する。Content-MD5 ヘッダは、取得・解読したデータが最初に参照さ
   れたデータと同一であることを検証するために使用される
   message/external-body 型のオブジェクトのカプセル化されたヘッダとして置
   くことも出来る。

   データ上のどんな変更でもダイジェストの変更に反映されるという高度な信頼
   性の元、MD5 は任意長データの 128bit "ダイジェスト" を計算するためのア
   ルゴリズムである。MD5 アルゴリズム自身は [2] において定義されている。
   この記述では、このアルゴリズムをどのように MIME メールの完全性チェック
   として使用するかについて記述する。

【2. Content-MD5 フィールドの生成】

   Content-MD5 フィールドは源となるユーザエージェントによってのみ生成さ
   れる。メッセージリレーとゲートウェイが Content-MD5 フィールドを生成
   することは明確に禁止されている。

   Content-MD5 フィールドの仕様は完全にオプションであるが、データ完全性
   が望まれる状況での使用は推奨される。ただし Privacy-Enhanced Mail サー
   ビス [3] では利用できない (詳細はセクション4)。Content-MD5 フィールド
   は `leaf' nature の MIME エンティティにのみ加えることも出来る。例えば
   Content-MD5 フィールドが multipart や message/rfc822 以外のどのような
   content type ででも使用することが出来る。

   Content-MD5 フィールド値を生成するために、MD5 アルゴリズムは MIME エン
   ティティオブジェクトの標準形式上で計算される。特にこれは、送信元が標準
   形式へ変換直後で全ての Content-Transfer-Encoding を施す前に MD5 アルゴ
   リズムを適用するという事と、受信先も全ての Content-Transfer-Encoding
   を解除した後の標準形式上で MD5 アルゴリズムを適用するという事を意味する。
   テキスト形式のデータに対して、MD5 アルゴリズムは改行文字の標準形式、
   つまり CR-LF ペアによって表現される個々の改行が適用されるデータ上で計
   算されなければならない事を意味する。MIME の標準エンコーディングモデル
   は [1] の Appendix G で詳述される。

   MD5 アルゴリズムの出力は 128bit ダイジェストである。ネットワークバイト
   順序 (ビッグエディアン順序) で表される場合、これはバイナリデータの 16
   オクテットのシーケンスを与える。これらの 16 オクテットは Content-MD5
   フィールドに設定される値を得るため、Base64 アルゴリズムによって符号化
   される。従って、アプリケーションが MIME エンティティ上の生データに
   MD5 アルゴリズムを適用し、ダイジェストの値が "Check Integrity!" になっ
   たなら (ありえそうもないが)、この MIME エンティティのヘッダは以下の
   ようなフィールドを持つことが出来る。

        Content-MD5:  Q2hlY2sgSW50ZWdyaXR5IQ==

   最後に、[1] の Appendix B で論議されているように、テキストデータは
   メールの通常配信において普通に変更されている。行末/文末空白の追加と
   削除は異なるダイジェスト値をもたらすだろうし、Content-MD5 が使用され
   る場合の quoted-printable や Base64 アルゴリズムは Content-Transfer-
   Encoding として使用されるべきである。

【3. Content-MD5 フィールドの処理】

   もし Content-MD5 フィールドが提供された場合、受信側ユーザエージェン
   トは MIME エンティティの内容が転送中に破損していないかを検証するため
   にそれを使うかもしれない。メッセージリレーやゲートウェイは Content-
   MD5 フィールドの存在に基づいてそれらを処理することは明確に禁じられて
   いる。しかしながら、対応する MIME エンティティが異なる Content-Type
   に変換されるならば、メッセージゲートウェイが Content-MD5 フィールド
   を削除しても良い。

【4. セキュリティ考察】

   このドキュメントは送信者から受信者への転送過程で予期せぬ破損からデー
   タを保護するデータ完全性サービスを記述する。Privacy Enhanced Mail [3]
   が提供するような秘匿データ完全性サービスは、全ての破損からデータを保
   護する事が推測される。

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.

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. Authors' Addresses

   John G. Myers
   Carnegie Mellon University

   EMail: jgm+@cmu.edu


   Marshall T. Rose
   Dover Beach Consulting, Inc.

   EMail: mrose@dbc.mtview.ca.us