Tips: 署名と署名

署名(signature)の2つの意味

メール関係で署名(signature)という用語は実は2つの意味で使われている。

  1. メール本文の最後につける2〜3行の定型の自己紹介文(名刺みたいなもの)
  2. メールを誰が作成したかを明らかにするために、公開鍵暗号を使って作成したデータ(人間が読んでも訳がわからない)

この2つは全く異なる概念であるが、日本語でも英語でも「署名」「signature」と呼ばれている(後者は電子署名とかデジタル署名と呼ばれることもある)。慣れれば文脈で判断可能なのだが、初心者は特に注意。経済情報処理の範囲では1の意味でしか出てこないが、例えば「情報経済論」のような授業では主に後者の意味で使われる。

Outlookで言えば、前者は「ツール」-「オプション」から[メール形式]タブを選んだ時に設定画面が出てくる「署名」であり、後者は「ツール」-「セキュリティセンター」から「電子メールのセキュリティ」を選択した際に出てくる「署名」である。

名刺みたいな署名(意味1)

名刺みたいな署名は、電子メールというツールが使われ出したごく初期から存在する。つまりこちらが本家。どんなことを書いたらいいかは、「 署名は必要なのか?」を参照。

メールの作成者を明らかにするための署名(意味2)

なぜメールの作成者を明らかにしないといけないのか?

電子メールを「誰が作成したのか」を判断するのは簡単ではない。電子メール送受信の設定作業をやった後なら当然分かっていると思うが、差出人情報として名前やメールアドレスを設定するのはユーザーである。つまり、その段階でユーザーがウソ情報を入れて「なりすまし」を行うことはとても簡単。電子メールで表示されているアドレスとか名前を鵜呑みにするのは、昨今のインターネット状況では極めて愚かなことである。

商取引などで電子メールを使おうとすると、この状況がとても難しくなる。例えば商談をして取引がまとまった……と思ったら、「私はそんなメール出してない」と相手が言い出すかもしれない。「誰がメールを書いたか確認できない」というのはそういうこと。書類に押すハンコやサインのような機能がないととてもこまる。この問題を解決するために開発されたのが意味2の署名。

今のところ、コスト的にかなり高いのでそれほど普及しているわけではないが、顧客からの信頼が重要な業種、例えば銀行などは顧客向けのメールに自社の署名をつけている。Outlookだと、署名付きのメールにはマークが表示される。

署名(電子署名、デジタル署名)のシカケ

詳細については電子メールのセキュリティ(IPA)」を参照のこと。以下では概略だけ説明する。

ハンコはどうして証明としての意味を持つのだろうか? これは、「本物のハンコを持っている人は本人である」という仮定に基づいている。○○さんのハンコを持っている人は○○さんだけであるから、○○さんのハンコが押してある書類は○○さんが作成したもの。ということ。手書きのサインとか花押のようなものも同じである。

電子署名でも、同じように「本人しか知らないはずの情報」というのを使ってメッセージにマークを付ける。このような情報を「私用鍵(private key)」と呼ぶ。私用鍵は本人だけしか使えないようになっているハズなので、これが流出したりした場合は大変なことになる。

署名に使われている私用鍵が本物かどうか確認するためには、証明書(certificate)を使う。証明書には、私用鍵と割り印のような感じでペアになっている公開鍵が含まれており、「○○さんの公開鍵と対応している私用鍵を持っている人は○○さん」という方式で署名の確認を行う。