電子署名


 電子署名とは、ある情報に特別な情報を付加することによって、その情報をある特定の人が承認したことをあらわすための技術です。一般の署名は「ある人がそこにサインした」ことをあらわしますが、電子署名は「ある人がその内容について認めた」ことをあらわすことができます。

 通常の署名は追記はできてしまいますが、コピーはできません。電子署名は、コピーはいくらでもできますが、改変(追記)すると改変したという事実がわかるようになっており、1bitたりとも変更することはできません。

 この電子署名は、通常は公開鍵暗号を利用して実現されています。署名者の秘密鍵で文章を(正確には文章のメッセージダイジェストを)暗号化することによって署名が行われます。検証は署名者の公開鍵でその内容を復号することで行われます。内容が一致(方式によっては完全一致ではありませんが)すれば確かに秘密鍵で暗号化されたことがわかります。

 これは、公開鍵暗号が「秘密鍵暗号で暗号化したものは公開鍵でしか復号できない」という性質を持っているからです。

 電子署名は電子証明書と良く組み合わせて使用されます。この電子証明書自身も電子署名を応用した一つの利用方法です。



公開鍵暗号方式による署名の方法

doc.gif (1258 バイト)
署名するドキュメント


一方向ハッシュ関数を用いてハッシュを生成

hash.gif (1052 バイト)
ハッシュ


秘密鍵を用いて暗号化

chash.GIF (1203 バイト)
これが「署名」


署名するドキュメントと署名をセットにして
「署名されたドキュメント」のできあがり

doc.gif (1258 バイト)
chash.GIF (1203 バイト)


公開鍵暗号方式による署名の検証

doc.gif (1258 バイト)
chash.GIF (1203 バイト)
署名を検証するドキュメント

――――――→
署名を署名者の
公開鍵で復号

hash.gif (1052 バイト)


ドキュメントの本体部分に対して
一方向ハッシュ関数を用いてハッシュを生成




hash.gif (1052 バイト)
ハッシュ

――――――→ ハッシュ値が同一と見なせるか
どうかを確認(暗号方式により
単純に同一かどうかを見る場
合とそうでない場合がある)
同じなら署名は正しい
違うなら署名は正しくない

Copyright (C) Keiichiro Oguma / All rights reserved.

to home