XML署名(4)  電子署名と公開鍵暗号方式

2004年10月03日(日)更新


■電子署名

たけち: 前回は公開鍵暗号ってどんなものかを簡単にみたね。

さらら: えぇ、データの暗号化と復号とで違う鍵を使うんだっだわね。

たけち: そうだったね。で、今回は、電子署名について学んでみよう。

さらら: はい。。。ところで、電子署名ってなぁに? メールなんかにつける署名のこと?

たけち: あっ、ここで学ぶ電子署名は、電子メールの最後に自分の名前や連絡先なんかを書いておく「署名」のことではないんだよ。

さらら: そうなんだぁ。。じゃあ、どんなの?

たけち: ここで学ぶ電子署名は、自分が書いたメールの内容や文書の内容について、「たしかに自分が書きました。」ってことを示すものなんだ。

さらら: あっ、そうなのね。


■電子署名に公開鍵暗号方式を使う

さらら: それで、その電子署名と公開鍵暗号方式とどう関係があるの?

たけち: うん。電子署名には公開鍵暗号方式を使うんだよ。

さらら: そうなの・・・でも、前回は公開鍵暗号方式はデータが他の人に読まれないようにするのに使ってたじゃない?

たけち: うん。電子署名では、データを読まれないようにする使い方とは公開鍵と秘密鍵を逆に使うんだよ。

さらら: えっ。どういうこと?

たけち: 一言で言ってしまうと次のようにするんだ。

  • 署名: 秘密鍵を使って署名する。
  • 署名の確認(検証): 公開鍵を使って署名を確認する。


■電子署名の一方法

さらら: う〜ん。。。。

たけち: 秘密鍵は、鍵を作った人だけが持っているとすると、秘密鍵を持っている人が暗号化した情報は、公開鍵で復号できるよね。

さらら: そっか。。秘密鍵とペアになっている公開鍵で確認できるということは、秘密鍵を持っている人が暗号化したと考えていいということなのね。それを、署名情報として使おうってことなのね。

たけち: そうだね。もう少し詳しく描いてみるとつぎの図のようになるね。

電子署名のための準備

さらら: まずは、秘密鍵と公開鍵のペアを作ってから、公開鍵を必要な人に渡すのね。

たけち: そうだね。ある文書に署名をして必要な人に渡し、受け取った人がその署名を確認するには、たとえば、次のようなやり方があるね。

文書への電子署名と署名の確認

さらら: そっか。どの文書に署名したかが分からないといけないわね。なんとなく分かったわ。

たけち: 今の例だと、署名をする対象となる文書そのものを暗号化したけど、他の方法もあんるだよ。

さらら: えっ、そうなの。

たけち: じゃあ、次回、その話をしようね。

さらら: はい。

→次回はハッシュ値を使うです。。 (^ ^;


■(注) 今回は、文書データをまるごと暗号化する方法について紹介しました。次回は、文書データのハッシュ値を暗号化する方法について紹介いたします。