GnuPG について (10) なぜメールアドレスを入力するのか

GnuPG を初めて使ったとき、困惑したのがこれだった。
コマンドラインから、gpg --gen-key を実行し、鍵の種類、長さなどを指定したあとに、なぜか「本名」「メールアドレス」「コメント」の入力を求められる。
「本名」だとか「メールアドレス」だとかは、公開鍵暗号とは本来無関係ではないか。

実は未だにこの仕様の正式な理由は私には分からない。説明している文書にも出会ったことがない。
PGP がこういった設計になっているため、それと互換性を維持するために、GnuPG もこうせざるを得なかったのだろう。
では、なぜ PGP がこういった設計になっていたのか。

まずは、自分がプログラマになって公開鍵暗号ソフトを作ろうとした場合のことを考えてみてほしい。
誰かから受け取った公開鍵をどうやって整理・管理すると効率がいいだろうか。

拙作 JanusDG では、公開鍵を一つ一つのファイルのまま保存するという方法を採用した。これは、暗号を利用する相手が数十人規模までで、電子署名を活用しないという前提ならば、かなり有効だ。
逆に言うと、公開鍵を一つ一つばらばらのファイルのままで管理していると、相手が何百人もいる場合(PGP の作者が反核運動家だったことを思い出して欲しい。暗号で連絡を取りたい仲間は百人ではすまないはずだ)や、効率よく電子署名を扱いたい場合には、ものすごく不便な思いをするということだ。
何らかの形で鍵をデータベース化して管理したほうがいいと、すぐに考え付くと思う。

データベース化するなら、公開鍵に何か、人間の理解しやすい名前をつけておいたほうが後から検索しやすいだろう。公開鍵は単なるバイナリデータでしかないのだ。誰々と連絡を取るときに使う公開鍵ということで、人の名前を鍵につけてしまうというのは、それほど悪いアイデアではない。

PGP が開発された時代(厳密には PGP の最盛期と言うべきか)、ネット上での主な連絡手段といえば、BBS そして電子メールだった。
インターネット上で相手を特定するには、単に人の名前ではなく、電子メールアドレスを使ったほうが、重複の心配がないので便利だ。
というわけで、PGP では、公開鍵と電子メールアドレスをセットにしたデータベースを作成するという方針を採用したのだ。

以上、大半が私の推理で成り立っているのであるが、それほど大きく外していることはないはずだ。
ただし、公開鍵をデータベース化したほうがなぜ便利なのかという部分で話を少しごまかしてしまったので、この部分を次回以降に掘り下げていくことにする。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック