MDC はどのように使用されるのか
メッセージが送信されると、アプリケーション・プログラムは、MDC 生成呼び出し可能サービス を使用して、 そのメッセージに対して変更検出コードを生成できます。 このサービスでは、片方向暗号機能とメッセージ・テキスト (それ自体は非暗号化形式の場合もあれば暗号化形式の場合もある) を使用して、変更検出コード (128 ビット値) が計算されます。 メッセージの発信元は、意図したメッセージ受信側に MDC を完全な状態で確実に伝送します。 例えば、信頼できる公開情報源において MDC を公開できます。
受信側がメッセージを受け取ると、アプリケーション・プログラムは MDC 呼び出し可能サービス を呼び出します。 この呼び出し可能サービスにより、同じ片方向暗号機能およびメッセージ・テキストを使用して MDC が生成されます。 アプリケーション・プログラムは、新しい MDC を、メッセージの発信元によって生成された MDC と比較できます。 MDC 同士が一致する場合、受信側はメッセージが改ざんされていないと判断します。
同様に、MDC は、システムまたは取り外し可能メディア (テープなど) 上に保管されているデータの保全性を保証するために使用できます。
MDC を使用すると、以下のような利点があります。
- 秘密鍵が共用されないロケーション間でネットワークを使用して伝送されるデータに関しては、データが 伝送時に改ざんされなかったことを保証できます。 特定のデータに対して MDC を計算することは容易ですが、指定の MDC になるデータを見つけることは困難です。 実際には、大きなファイルの保全性を保証しなければならなかったのが、128 ビット値の保全性を保証するだけですみます。
- テープまたは DASD に保管されるデータに関しては、システム上に読み戻されたデータが、 テープまたは DASD 上に書き込まれたデータと同じであったことを保証できます。 ファイルに対して MDC が確立された後は、そのファイルに対して MDC 生成呼び出し可能サービスを後からいつでも実行できます。 結果として生成された MDC は、意図的な改ざんや不注意による変更を検出するために、保管されている MDC と比較できます。
DSS に必要となる FIPS 標準は SHA-1 です。 デジタル署名アプリケーションでメッセージ・ダイジェストを導出するために使用されるハッシュ・アルゴリズムは MD5 です。