ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
文書ファイルや電子メールなどで、暗号化や電子署名などを実現するためのソフトウェアの一つ。
各ソフトウェアの使い方については、その説明に譲るが、基本的な用法は、次の通りである。
PGPでできることは、次の通りである。
公開鍵暗号方式の前提は、次の通り。詳細は後述する。
誰の秘密鍵や公開鍵を使うかによって、暗号化するか署名するかを使い分けることが可能。
基本的には、次の通りである。詳細は後述する。
ある特定の人宛に文書を送りたい場合、それが第三者に見られてはならない。
この場合PGPでは、次のようにする。
公開鍵は広く公開され、誰でも入手できる。あらかじめ送信相手に受け取っておいてもらい、自分宛に送る場合に使ってもらうことになる。
公開鍵暗号方式の特徴として、「公開鍵で暗号化したものは、秘密鍵でしか複号できない」というものがあり、秘密鍵は自分自身しか持っていないため、こうして暗号化してもらった暗号化文書は、自分自身にしか複号できないのである。
署名とは、つまりサインである。紙なら自筆であったり捺印だったりする。
元の文書はそのまま見えて良い(むしろ見える必要がある)ため、暗号化する必要はない。本当にその本人が書いた文書なのかどうかが分かれば、それで良い。
この場合PGPでは、次のようにする。
公開鍵は広く公開され、誰でも入手できる。あらかじめ受信相手に受け取っておいてもらい、認証する場合に使ってもらうことになる。
公開鍵暗号方式の特徴として、「秘密鍵で暗号化したものは、公開鍵でしか複号できない」というものがある。公開鍵は皆が入手できるので、暗号化という意味では全く意味を成さないが、「その公開鍵で複号できる」という事実が、確かに当人の秘密鍵で暗号化されたという証拠になるわけである。
文書をPGPで署名すると、次のようになる。
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
(本文)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
(ハッシュ)
-----END PGP SIGNATURE-----
Hash:欄に書かれた内容で、実際のPGP SIGNATUREがどのハッシュアルゴリズムなのかを表わしている。
Version:欄はオプション。無くてもよい。UNIX用とWindows用で仕様が異なることがあったため、問題の切り分けに利用できる可能性がある。
PGPは、公開鍵暗号方式と慣用暗号方式を併用し、安全性と高速性を両立させている。
メッセージは、慣用暗号方式で暗号化する。メッセージ暗号化に使う「鍵」は、都度乱数として生成する。鍵長は暗号化アルゴリズムに依存する。この鍵をセッション鍵と呼ぶ。
次に、セッション鍵を暗号化する。アルゴリズムは公開鍵暗号方式であり、その鍵は受信者の公開鍵である。結果を先の暗号化メッセージに追加することで、暗号化は完成する。
なお電子メールはASCII文字しか扱えないので、作られた結果はradix-64変換によってASCII文字に符号化して送る。これは3バイトのバイナリデータを4文字のASCII文字にする単純な処理で、これ自体は暗号ではない。
メール受信者は、まず自分の秘密鍵でセッション鍵を取り出し、メッセージを復号する。これで、暗号化されたメッセージを相手に安全に送信することに成功したことになる。
メールは、ある一つを相手に一回、送るだけである。何度も相手とやり取りするような手間を取ることは、メールというシステムとしては事実上不可能である。このため、例えばIPsecやTLSなどのように、セッション鍵交換プロトコルを使って鍵交換をすることは出来ない。
そこでPGPでは、一回限りの送信で全てを終える。セッション鍵は乱数とし、使い捨てにすることとした。この鍵は小さいので、処理は遅いが強力な暗号である公開鍵暗号方式で暗号化し、メッセージ自体は高速な慣用暗号方式で暗号化する。
この方式は、公開鍵暗号方式が安全である限り安全である。但しメッセージ暗号化に用いた慣用暗号方式も充分に安全でなければ安全が維持されない。
セッション鍵の暗号化に公開鍵暗号方式を使うため、事前に公開鍵を互いに交換せねばならない。
いかなる方法で渡しても支障はないが、途中で万一改善されると都合が悪いため、その確認の方法が必要である。そこで、公開鍵のハッシュを作り、これを指紋として公開する。
公開鍵の本人の提示する指紋と、入手した公開鍵の指紋を確認し、一致していれば途中の改竄等がない公開鍵であると判断できる。
当時の米国では、暗号技術は核技術並の機密事項であり、輸出は厳しく規制されていた。当然、FBIはZimmermannに目を付ける事になり、米国の暗号輸出規制への違反容疑で司法当局に召喚された。
そこでZimmermannは、「PGP 5.0のソースコードを書籍にして出版」するという対抗措置を取った。全12巻、6000ページ以上というこの書籍の出版は米国憲法により認められた「権利」であり、何人もこれを侵すことはできない。これにより、FBIなどの捜査当局は暗号輸出を食い止める事が出来無くなってしまったのである。結果としてZimmermannは不起訴となり、PGP暗号輸出に関する結論は曖昧になってしまった。
こうして「合法的に」輸出されたPGP 5.0のソースコードは欧州でOCRにて読み取られ、初の合法的インターナショナル版PGP 5.0iが誕生した。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます