付録:イメージ メッセージ ダイジェストの計算

いくつかの属性認証は、イメージの統合性を検証するために使われることが期待されています。つまり、属性認証は、特定のイメージ ファイルまたはそのイメージ ファイルの一部が、そのもとの形から改変されていないことを保証するために使用されます。これを行うために、これらの認証はメッセージ ダイジェストと呼ばれるものを含むことになります。

メッセージ ダイジェストは、ファイルの統合性を記述する小さな値を生成するという点で、ファイルのチェックサムに似ています。チェックサムは単純なアルゴリズムによって生成され、その主な用途はメモリ障害の検出です。つまり、これはディスク上の記憶ブロックが不良になったり、そこに格納されている値が破壊されたりしていないかどうかを検出するために使われます。メッセージ ダイジェストはファイルの破壊を検出するという点ではチェックサムに似ています。しかし、大部分のチェックサム アルゴリズムとは異なり、メッセージ ダイジェストには、元の(変更されていない)形態と同じメッセージ ダイジェストを持つようにファイルを変更するのが非常に困難であるという性質もあります。つまり、チェックサムは破壊を導く単純なメモリ障害を検出することを目的としていますが、メッセージ ダイジェストは、ビールス、クラッカー、あるいはトロイの木馬プログラムによってもたらされる、意図的な、そして巧妙なファイルに対する改変の検出を目的としています。

すべてのイメージ ファイル データをメッセージ ダイジェストの計算に含めることは望ましくありません。ある場合には、それは単に望ましくない特性をもたらすだけですが(認証を再生性しなければファイルをローカライズできないなど)、ある場合にはまったく不可能になります。たとえば、イメージ ファイル内のすべての情報をメッセージ ダイジェストに含め、そのメッセージ ダイジェストを含んでいる認証をファイルに含め、再び計算にすべてのイメージ ファイルデータを含めることによって同じメッセージ ダイジェストを生成できるようにすることは不可能です(ファイルには元は含まれていなかった認証が含まれているからです)。

この仕様は、何のためにそれぞれの属性認証が使われるか、あるいは、イメージ ファイルのどのフィールドやセクションがメッセージ ダイジェストに含まれるかを規定しようとするものではありません。しかし、本節では、メッセージ ダイジェストに含めたくない、あるいは含めないフィールドを示します。どのフィールドがメッセージ ダイジェストに含まれ、あるいは含まれないかを知るのに加えて、イメージの内容をダイジェスト アルゴリズムに渡す順序を知ることも重要です。本節ではその順序を示します。


戻る