デジタル署名

デジタル署名とは、文書に添付される数値です。例えば、公開鍵暗号を使用する認証システムでは、デジタル署名は証明書への署名のために使用されます。

この署名は以下の情報を設定します。

デジタル署名は 2 段階で作成されます。 最初の段階では、文書を大きな数値に抜き出します。 この数値はダイジェスト・コードまたはフィンガー・プリントと呼ばれます。 ダイジェスト・コードはその後暗号化され、デジタル署名になります。 デジタル署名はダイジェスト・コードの生成元の文書に追加されます。

ダイジェスト・コードの生成には、いくつかのオプションが使用可能です。 このプロセスは暗号化ではなく、極めて複雑なチェックサムです。 メッセージは結果のダイジェスト・コードから再生成することはできません。 文書を数値に抜き出すという側面から見て大変重要なのは、メッセージが変われば、それがわずかな変更であったとしても、 異なるダイジェスト・コードが生成される点です。 受信者がメッセージを受信し、再計算によりダイジェスト・コードを確認すると、文書に何らかの変更が加えられた場合、本来のダイジェスト・コードと計算されたダイジェスト・コードは異なるものになります。

第三者によるメッセージの代行受信、改ざん、ダイジェスト・コードの再計算、改ざんしたメッセージとコードの再送を避けるには、ダイジェスト・コードを検証する手段も必要です。 ダイジェスト・コードを検証するには、公開鍵と秘密鍵を逆に使用します。 私信の場合、秘密鍵を使ってメッセージを暗号化する意味はありません。 これらの鍵はユーザーの公開鍵さえあれば誰にでも復号できるためです。 この技術はメッセージの出どころが自分であることを証明するのに役立ちます。 秘密鍵は本人以外入手できないため、第三者がそれを作成することはできません。 他人の公開鍵を使用して文書を復号した結果として、何らかの意味のあるメッセージが得られたとしても、 復号処理によって、対応する秘密鍵の所有者がメッセージを暗号化した本人であるかどうかが確認されます。

デジタル署名作成の第 2 段階では、この公開鍵と秘密鍵のリバース・アプリケーションを活用します。 ある文書でダイジェスト・コードが計算された後、そのダイジェスト・コードは送信者の秘密鍵で暗号化されます。 その結果がデジタル署名であり、メッセージの最後に添付されます。

メッセージが受信されると、受信者は以下のステップに沿って、その署名を検証します。
  1. メッセージのダイジェスト・コードを再計算する。
  2. 送信者の公開鍵を使用して署名を復号する。 この復号により、メッセージのオリジナルのダイジェスト・コードが得られます。
  3. オリジナルと再計算されたダイジェスト・コードを比較する。 これらのコードが一致する場合は、メッセージは改ざんされたものではなく、本物であることがわかります。 一致しない場合は、何らかの変更が加わったことを示し、メッセージは信頼できません。
関連概念
公開鍵暗号方式
デジタル証明書
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. All Rights Reserved.
最終更新 : 2009-02-13 10:23:03

ac55190_