鍵を管理する
=============
ユリウス・カエサル(ジュリアス・シーザー)の時代から、鍵管理は暗号法のなかでも最も困難な部分であった。PGPの顕著な特徴は、その洗練された鍵管理にある。
RSA鍵生成
------------------
あなただけの指定されたサイズの公開鍵・秘密鍵のペアを作るには、こう入力。
pgp -kg
PGPは推奨鍵サイズ(商業用低級、商業用高級、「軍事」級)のメニューを示し、あなたは1000ビット以上の必要な鍵サイズを入力する。鍵が大きくなるほどセキュリティも確実になるが、時間がかかるようになる。
それからユーザーIDを聞いてくるが、これはあなたの名前だ。あなたのフルネームをユーザーIDに使うのはいい考えだ。誰かがあなたへのメッセージを暗号化するのに、間違った公開鍵を使う危険が減るからだ。スペースや句読点もユーザーIDに使っていい。名前のあとで、<山形カッコ>内にあなたの電子メールアドレスを入れるのもいいだろう。たとえば、
Robert M. Smith <rms@xyzcorp.com>
もし電子メールアドレスを持っていないなら、電話番号か、あなたのユーザーIDが唯一のものであることを確実にするようなその他の独自な情報を使えばいい。
PGPはそれから「パスフレーズ」を聞いてくる。これは誤って誰かの手に落ちたときに秘密鍵を守るためである。このパスフレーズがなければ、だれもあなたの秘密鍵を使うことはできない。パスフレーズはパスワードのようなものだが、数語、スペース、句読点、その他が含まれたフレーズや文全体となっている。このパスフレーズを忘れないように。もし忘れたら、復旧手段はない。このパスフレーズは、あとであなたの秘密鍵を使うときには毎回必要となる。パスフレーズは大文字・小文字を気にしない。また、想像できるくらい短かったり易しすぎたりしてもいけない。画面に表示してはならない。それを誰かが読めるようなところに書いておいてもいけないし、コンピューターに保存してもならない。パスフレーズが必要ないというなら(それはバカだ!)リターン(またはエンター)キーをパスフレーズ・プロンプトで押せばいい。
公開鍵・秘密鍵のペアは、あなたのキー入力の間隔を高速タイマーで測った結果から主に作った巨大な真の乱数から作られる。ソフトは、あなたにいくつかのランダムな文字を入力するように言ってくる。これは鍵のためのランダム・ビットを蓄えるためである。要求されたら、適当にランダムなタイミングでいくつかのキーを叩けばいい。それは内容もでたらめでいいので、実際に何かの文字である必要もない。乱雑さのいくぶんかは、あなたの入力した内容のでたらめさから作られる。同じ文字の繰り返しを入力しないように。
RSA鍵生成は長いプロセスであることに注意。高速プロセッサでも短い鍵を作るのに数秒かかる。旧式IBM PC/XT互換機で大きな鍵を作るには数分かかるだろう。PGPは鍵生成中に視覚的に進行状況を示す。
作られた鍵のペアは、あなたの公開鍵束・秘密鍵束に置かれる。あとで -kx コマンドオプションを使えば、あなたの公開鍵束から新しい公開鍵を抽出(コピー)して、友人に配布するためにちょうどよい公開鍵ファイルを独自に作る。公開鍵ファイルは、友人たちの公開鍵束に入れてもらうために送信してよい。もちろん、あなたは秘密鍵ファイルは自分用に持っており、それは秘密鍵束に入れてあるはずである。鍵束のそれぞれの秘密鍵はそれぞれ独自のパスフレーズで守られている。秘密鍵はだれかに渡してはならない。同じ理由で、鍵のペアを友人のために作ってはならない。だれもが自分自身の鍵のペアをつくるべきである。秘密鍵の物理的統制を保ち、それを遠隔操作共用コンピューターに保存するような危険にさらしてはならない。それは自分のパソコンに保存すべきだ。
もしPGPユーザーズ・ガイドがあなたのコンピューターに見つからないから、それがなければ鍵のペアを作らない、とPGPが文句を言ってきても、うろたえてはならない。PGPユーザーズガイドの特殊事項の巻の「コンフィグ・パラメーター設定」の節の「NOMANUAL」パラメーターの説明を読むこと。
鍵をあなたの鍵束に追加する
-----------------------------
だれかから鍵ファイルの形で提供された鍵を、鍵束に追加したいときがあるだろう。
公開鍵ファイル・秘密鍵ファイルの内容をあなたの公開鍵束・秘密鍵束に追加するには([カッコ]はオプションを示す)
pgp -ka 鍵ファイル [鍵束]
鍵ファイル拡張子のデフォルトは".pgp"である。オプションの鍵束ファイル名のデフォルトは、"pubring.pgp"か"secring.pgp"であり、その鍵ファイルが公開鍵なのか秘密鍵なのかによって決まる。あなたは別の鍵束ファイル名を指定してもいい。その拡張子のデフォルトは".pgp"である。
もし鍵が既に鍵束にあるなら、PGPは再び付加することはない。鍵ファイルの鍵は、だぶっていない限り鍵束にすべて追加される。
マニュアルのあとのほうで、署名によって鍵を保証する概念を説明することにする。もし追された鍵にそれを証明する署名がついていれば、署名が鍵に追加される。鍵がすでにあなたの鍵束にあれば、PGPはそれを新しく証明された署名を、まだ鍵束に持っていない鍵に追加することになる。
PGPはもともと、小さな個人的鍵束を扱うように作られていた。大きな鍵束を扱いたいなら、特殊事項の巻の「巨大な公開鍵束を扱う」の節を参照のこと。
鍵束から、鍵やユーザーIDを削除する
--------------------------------------------
鍵やユーザーIDを公開鍵束から削除するには
pgp -kr ユーザーID [鍵束]
これは、あなたの鍵束の指定ユーザーIDを検索し、一致すればそれを削除する。ユーザーIDのどの一部分でも一致すればいいということを忘れてはならない。オプションの鍵束ファイル名は、やはり"pubring.pgp"となっている。それは省略してもいいし、もし秘密鍵を削除したければ"secring.pgp"と指定してもいい。また、別の鍵束ファイル名を指定してもいい。鍵束のデフォルトの拡張子は".pgp"である。
もし複数のユーザーIDがこの鍵についていれば、指定したユーザーIDだけを削除して鍵とその他のユーザーIDを残しておくかどうかを尋ねられる。
鍵束から鍵を抽出(コピー)する
---------------------------------------------
公開鍵束・秘密鍵束から鍵を抽出(コピー)するには、
pgp -kx ユーザーID 鍵ファイル [鍵束]
これはあなたの公開鍵束・秘密鍵束から、指定した鍵ファイルに、ユーザーIDで指定された鍵を、ファイルを壊すことなくコピーする。これは、あなたの公開鍵のコピーを誰かにあげたいときに特に役立つ。
鍵が鍵束につけられた署名で証明されているなら、それは鍵と別にコピーされる。
電子メールのために、表示可能なアスキー文字で抽出鍵を表示したいなら、-kxaオプションを使う。
鍵束の内容を見る
-------------------------------------
公開鍵束の内容を見るには、
pgp -kv[v] [ユーザーID] [鍵束]
これは、指定したユーザーIDの一部と合致するような鍵束内の鍵を一覧する。もしユーザーIDを指定しなければ、鍵束内のすべての鍵が一覧される。オプションの鍵束ファイル名は"pubring.pgp"である。それは指定しなくてもいいし、もし秘密鍵のリストが必要なら"secring.pgp"と指定してもいい。また、別の鍵束ファイル名を指定してもかまわない。デフォルトの鍵束拡張子は".pgp"である。
マニュアルのあとのほうで、署名で鍵を保証するという考え方について解説する。各鍵につけられた保証署名をすべて見るには、-kvv オプションを使う。
pgp -kvv [ユーザーID] [鍵束]
特別な鍵束ファイル名を指定して、そのすべての鍵を見たいときには、このようにしてもいい。
pgp keyfile
コマンドオプション指定がなければ、PGPは、keyfile.pgpのすべての鍵をリストアップし、もし鍵束に追加されていなければ、追加しようとする。
改変から公開鍵を守る方法
-----------------------------------------
公開鍵暗号システムで、あなたは公開鍵を露出しないようにする必要はない。実際、広く頒布されたほうがいい。しかし、公開鍵を改変から守ること、公開鍵が本当にその持ち主のものであることを確かめることは重要である。これが公開鍵暗号システムの最も重要な弱点かもしれない。最初に潜在的な問題点を見て、それからPGPでどのようにそれを避けるのかを見ていこう。
まず、あなたがプライベートなメッセージをアリスに送信するとしよう。まず、電子掲示板(BBS)からアリスの公開鍵証明書をダウンロードする。それから、アリスへの手紙をこの公開鍵で暗号化し、BBSの電子メール機能を使って送信する。
不幸にも、あなたもアリスも知らない間に、チャーリーという名の別のユーザーがBBSに侵入していて、アリスのユーザーIDで自分の公開鍵を作っていた。彼はアリスの本当の公開鍵の代わりに彼の偽物の鍵を置く。あなたは、知らない内に、アリスの公開鍵ではなく、チャーリーの偽鍵を使ってしまう。この偽鍵はアリスのユーザーIDなのだから、正常に見える。対応する秘密鍵を持っているチャーリーは、いまや、アリスの代わりにメッセージを復号化できる。彼はまた復号化されたメッセージを再度アリスの本当の公開鍵で暗号化して、悪事が疑われないようにアリスに転送する。さらに、彼はこの秘密鍵で、一見アリスの署名にみえるものを作ることもできる。だれもがアリスの署名をチェックするために、この偽の公開鍵を使うからだ。
この災難を防ぐための唯一の方法は、だれも公開鍵を改変できないようにすることである。もしあなたがアリスから直接アリスの公開鍵を手に入れたのなら、問題はない。しかし、アリスが数千マイルもの彼方にいるのなら、あるいは現在会えないなら、それはむずかしい。
おそらく、あなたはアリスの公開鍵を信頼できる共通の友人から得ることもできよう。デヴィッドはアリスの公開鍵の正しいコピーを持っているとわかっている。デヴィッドはアリスの公開鍵に署名し、アリスの鍵が正しいことを保証する。デヴィッドは、この署名を自分の秘密鍵で作る。
これは署名された公開鍵証明書を作ることになり、アリスの鍵が改変されていないことを明らかにする。これは、あなたがデヴィッドの署名をチェックするために、その公開鍵の正しいコピーを知っている必要がある。おそらく、デヴィッドはアリスにも、署名されたあなたの公開鍵を送っていることだろう。デヴィッドはあなたとアリスの間の「紹介者」の役目を果たしているのである。
アリスのために署名されたこの公開鍵証明書は、デヴィッドかアリスによってBBSにアップロードされ、あなたはそれをあとでダウンロードできる。それからデヴィッドの公開鍵を使って署名を確認し、こうしてアリスの公開鍵が本物であることを確信した。ほかの誰も、デヴィッドの作った署名を偽造することはできないので、どんな詐欺師もアリスのふりをして自分の偽の鍵を渡そうとだますことはできないのである。
広く信頼された人物は、公開鍵証明書に署名することによって、ユーザーを互いに「紹介」する役目に専念することもできる。この信頼された人物は「キーサーバー(key
server)」あるいは「保証当局(Certifying Authority)」とみなされる。キーサーバーの署名のついたいかなる公開鍵証明書も、その持ち主の本当の鍵であることを証明している。参加したいすべてのユーザーは、キーサーバーの署名が正しいかどうかを確かめるために、キーサーバーの公開鍵のまさに正しいコピーであると知られているものを必要とすることになろう。
信頼できる中央集権化キーサーバーあるいは保証当局は、大規模な非個人レベルの中央統制法人または政府機関にふさわしい。いくつかの制度上の環境では、保証当局のヒエラルキーを使用している。
さらに多くの分権化された草の根「ゲリラ型」環境のためには、どのユーザーも、友人のための信頼できる紹介者として活動するほうが、おそらく中央集権化されたキーサーバーより役立つだろう。PGPはこの組織的分権化非制度的アプローチを強調したい。そのほうが個人社会レベルに自然な対話法をもたらし、鍵管理を信頼できるよい方法を人々が選ぶことができるのである。
改変から公開鍵を守る作業全体が、公開鍵活用に当たって一番むずかしい唯一の問題である。これが公開鍵暗号法のアキレス腱であり、多くのソフトのややこしさはこの唯一の問題を解くために縛られている。
あなたは、改変されていない正しい公開鍵であって、所有者本人のものであることを確証したあとでのみ、公開鍵を使うべきである。所有者からこの公開鍵証明書を直接得たか、あるいはあなたがすでによい公開鍵を持っていて、あなたが信頼する誰かの署名がついているのなら、それを信頼してもよい。また、ユーザーIDは鍵所有者のフルネームが入っていて、ファーストネームだけであってはならない。
どれほど誘惑されたことがあったとしても――今後誘惑されるとしても――絶対に、絶対に、BBSからダウンロードした公開鍵を信用して便宜をはかってはならない。それがあなたの信頼するだれかによって署名されるまでは。その未保証公開鍵は、だれかに改変されたかもしれない。BBSのシステム管理者によってかもしれない。
もしあなたがだれかの公開鍵に署名するよう頼まれたら、本当にその公開鍵証明書のユーザーIDに書かれている人のものかどうか確かめること。その人の公開鍵証明書にあなたが署名するということは、あなたがこの公開鍵が本当にその人のものであると誓約することである。あなたを信頼する人たちは、あなたが署名しているからその鍵を受け入れるのだ。噂に頼るのはよろしくなかろう――あなたが直接、その鍵が本人のものであると独自に知るまでは、その公開鍵にサインしてはならない。あなたは、本人から直接それを手にしたときにのみ署名すべきである。
公開鍵に署名するために、その鍵の所有権について、単にそれがメッセージを暗号化するだけに使われるのではないということを確認しておかねばならない。それを使うだけ充分に鍵の妥当性を確信するためには、信頼で得きる紹介者から保証された署名で充分だ。しかし、鍵にあなた自身が署名するためには、その鍵を所有している人について、独自の直接的な知識が必要なのだ。おそらく、あなたは鍵の所有者に電話でき、鍵ファイルを読み上げて、その鍵が本当に本人の鍵であることを確かめることができるだろう――そうすれば、あなたは本当に正しい人物と話していることがわかるはずだ。特殊事項の巻の「公開鍵を電話で立証する」という節に、詳細がある。
公開鍵に対するあなたの署名は、その人の正しさを証明するものではなく、単にその人の公開鍵の正しさ(所有権)を証明するだけであるということは心にとめておいてほしい。もし本人のものであると完全に確信して反社会的な人物の公開鍵に署名しても、自分の信用を失うリスクを犯すことはない。他の人は、あなたが署名したから(あなたを信頼できる人とみなして)、その鍵が彼に属するものであることを受け入れるだろうが、その鍵の持ち主を信頼することにはならない。鍵を信頼することは、その鍵の所有者を信頼することと同じではないのである。
信頼は、譲渡可能である必要はない。わたしには、ウソをつかないと信頼できる友人がいる。彼は、大統領はウソをつかないと信じているだまされやすい人物である。だからといって、大統領はウソをつかないとわたしが信じるということにはならない。それは常識だ。もしわたしが鍵につけられたアリスの署名を信頼し、アリスがチャーリーの鍵に署名したとしても、わたしが鍵につけられたチャーリーの署名を信用するということにはならないのである。
あなた自身の公開鍵を手元に置いておくのに、さまざまな「紹介者」からつけられた保証書を一緒に置いておくというのはいい考えだ。あなた自身の公開鍵の有効性を証明する紹介者のなかに、最低一人は信頼できる人がいるかもしれないからだ。あなたは、さまざまな電子BBSに、つけられた保証署名集つきで鍵を投稿してもよい。もしだれかの公開鍵にあなたが署名すれば、その持ち主自身の公開鍵信任状のコレクションに追加できるように、その署名を送り返してあげるといい。
PGPは、あなたの公開鍵束にある鍵があなたの信頼する紹介者から適切に署名保証されるための機能を用意している。あなたがすることは、PGPに、あなたが紹介者として信頼するのはどの人であるか、あなた自身の絶対的に信用できる鍵であなた自身がその鍵を保証するかを告げるだけである。PGPはそれを抽出し、あなたの示した紹介者によって署名された他の鍵を自動的に有効にする。そしてもちろん、あなたは直接自分でもっと多くの鍵に署名することができる。これはあとで述べる。
他の誰もあなたの公開鍵束を改変できないことを確実にしておこう。新しく署名された公開鍵証明書をチェックすることは、最終的に、あなた自身の公開鍵束にすでに存在している確かな公開鍵の確かさに依存しなければならないのだ。あなたの公開鍵束を物理的に管理するのは、あなたの秘密鍵と同様、遠隔同期システムよりもあなたのパソコンに置いておくほうがいい。これは、改変から防ぐのであって、暴露から防ぐのではない。公開鍵束と秘密鍵束の信頼できるバックアップコピーを、書き込み禁止メディアに保存しておこう。
あなたの信頼する公開鍵は、直接・間接に、あなたの鍵束の他の鍵にとっての最終的権威となる。つまり、これは改変から守らなければならない最重要鍵である。あなた自身の絶対信頼できる公開鍵の改変を検出するために、PGPは自動で書き込み禁止メディアにバックアップコピーされたものと公開鍵を比較することができる。詳細は、特殊事項の巻で"-kc"鍵束チェックコマンドの説明を参照してほしい。
PGPは一般的に、あなたがPGPそのもののコピーだけではなく、システムや鍵束の物理的セキュリティが保たれているものと想定している。もし侵入者があなたのディスクを改変できるなら、理論的に、鍵改変を発見するPGPの予防措置そのものを変えて、PGPそのものを改変できるのである。
あなたの公開鍵束全体を改変から防ぐための多少面倒な方法としては、束全体に秘密鍵に署名することがある。あなたはこうするために、束を"-sb"オプションで署名して、公開鍵束の分離型署名証明書を作ってもいい(PGPユーザーズガイドの特別事項編「メッセージから署名を分ける」の節を参照)。不幸にも、あなたはまだ、あなたが作った署名をチェックするために、あなた自身の公開鍵の信頼できるコピーをあちこちに保持する必要がある。あなたは、束全体のためにあなたが作った署名をチェックするために、あなたの公開鍵束に蓄えられたあなた自身の公開鍵を信頼できないのである。それは、あなたがチェックしようとしているものの一部なのだから。
PGPはどのようにして、どの鍵が有効であるかの記録を残すか
------------------------------------------------
この節を読む前に、上の「公開鍵を改変から守る方法」の節を必ず読んでおくこと。
PGPは、あなたの公開鍵束のどの鍵があなたの信頼する人から紹介された署名によって適切に証明されたかという記録を残している。あなたは、ただ、PGPに、あなたが信頼する人は誰かということ、そしてあなた自身の絶対に信頼できる鍵であなた自身が保証する鍵を告げるだけでいい。PGPはそれを抽出し、自動的に、あなたの示した紹介者に署名された他の鍵をすべて有効にする。そしてもちろん、あなたは直接鍵に自分で署名することもできる。
公開鍵の有効性を判定するには、二つの完全に別々な標準PGP使用法がある――それを混同しないように。
1) 鍵は実際に所有者のものであるか?
つまり、信頼できる署名で保証されたか?
2) それはあなたが他の鍵を保証するためにあなたが信頼できるだれかのものであるか?
PGPは、最初の質問には答えを出すことができる。第2の質問に答えるには、PGPはユーザーであるあなたによって示されねばならない。あなたが第2問への答えを出すとき、PGPはそれから、あなたが信頼できると述べた紹介者によって署名された他の鍵に対して、質問1への答えを導き出す。
信頼できる紹介者によって保証された鍵は、PGPによって有効とみなされる。信頼できる紹介者の鍵は、あなたが、他の信頼できる紹介者によってそれもまた保証されなければならない。
PGPはまた、紹介者として活動する人々への信頼度に何段階かあるという可能性も考慮している。紹介者として活動する鍵所有者へのあなたの信頼は、その人の人格的誠実度に対するあなたの評価を反映しているわけではない――彼らは鍵管理を理解しており、鍵への署名にあたってはよい判断を下している、とあなたがどれだけ考えているかということを反映するものである。未知、信頼できない、わずかに信用する、完全に信用する、という段階を、他の公開鍵に対してPGPに指示することができる。この信用情報は、鍵とともに鍵束に保存されるが、鍵束から鍵をコピーするようにPGPに命じたときには、PGPは鍵と一緒に信用情報をコピーしたりはしない。信頼に対するあなたの個人的見解は、秘密に属するものであるとみなされるからである。
PGPが公開鍵の有効性を計算しているとき、添付された保証署名すべての信頼値を考慮する。それは評価の重みを調整する――「わずかに信用する」2つのサインは、一つの「完全に信頼する」署名と同程度に信頼できるとみなされる。PGPの疑いは調整可能だ――たとえば、あなたはPGPを調整して、二つの「完全に信頼する」サイン二つか、「わずかに信頼する」サイン三つが、鍵を有効と判断するのに必要ということにしてもいい。
あなた自身の鍵はPGPにとって「大前提」として有効であり、その有効性を証明するために紹介者のサインはまったく必要でない。PGPは、秘密鍵束の秘密鍵と対照させることで、どの公開鍵があなたのものであるか知っている。PGPはまた、他の鍵を保証するのにあなた自身は絶対に信頼できるものとみなす。
時間が経つにつれて、あなたは、信頼できる紹介者として指名したい人たちからの鍵をためていくことだろう。だれでもお互いに、自分自身の信頼できる紹介者を選ぶことができる。そして、彼らの鍵には次第に、他の人からの保証のコレクションが増えて広まることになる。そして、受け取っただれかのうち、少なくとも一人か二人は署名するだろうとも予測される。こうして、すべての公開鍵のための信頼にとっては、誤った寛大さを持つ分散型ウェブが登場することになるだろう。
この独特な草の根アプローチは、インターネット・プライバシー強化メール(Internet Privacy Enhanced Mail, PEM)のような政府標準公開鍵管理計画とまったく逆のものである。PEMは、集中管理と義務的な信頼の集中にもとづいたものだ。標準計画は、あなたが信頼しなければならないと言ってくる保証当局のヒエラルキーに頼っている。公開鍵の合法性を決定するためのPGPの分散型蓋然論法は、鍵管理構造の中心的要素である。PGPはあなたが信頼する人だけを選べるようにする。あなたのプライベートな証明ピラミッドの頂点には、あなたがいるのだ。PGPは、自分自身の落下傘を自分で準備したい(自分の安全は自分で確かめたい)というような人に向いている。
秘密鍵を暴露から守る方法
------------------------------------------
秘密鍵とパスフレーズは慎重に守ること。本当に、本当に、慎重に。秘密鍵が信用できなくなったら、だれかがあなたの名前で署名するために使うまえに、すべての関連する集団に速やかに告げておいたほうがいい(幸運を祈る)。例えば、彼らは偽の公開鍵を保証する署名に使うこともできるし、そうなれば、もしあなたの署名が広く信頼されているときには特に多くの人々に問題を引き起こすことにもなる。そしてもちろん、あなた自身の秘密鍵の信用失墜は、あなたに送られてくるすべてのメッセージを危険にさらすことになる。
秘密鍵を守るには、秘密鍵の物理的管理を保つことから始めるといい。それを家のパソコンに入れておくのはかまわないし、持ち歩けるノートパソコンに入れておくのもいい。常に物理的管理をしておけない職場のコンピューターを使わなければならないとき、公開鍵束・秘密鍵束を書き込み禁止のフロッピーディスクに入れておき、それを職場に残しておかないようにする。ダイヤル・インUnix遠隔操作システムのような遠隔同期コンピューターで秘密鍵を扱えるようにするのはいい考えとはいえない。誰かがモデム回線を使って侵入し、パスフレーズを盗んで、遠隔操作システムから実際の秘密鍵を入手するだろう。秘密鍵は、自分の物理的管理下に置ける機械でのみ使うべきである。
パスフレーズは、秘密鍵ファイルのあるコンピューターのどこにも保管しておいてはいけない。秘密鍵とパスフレーズを同じコンピューターに保管しておくのは、ATM銀行カードと同じ財布に暗証番号を入れておくのと同じくらい危険だ。パスフレーズと秘密鍵ファイルの両方があるディスクに誰かの手を入れさせたいとは思わないだろう。パスフレーズは暗記するだけで、脳以外のどこにも保管しないと言うのが一番安全であろう。パスフレーズを書いておきたいなら、秘密鍵よりもずっと厳重に、それをしっかり守っておかねばならない。
それから、秘密鍵束のバックアップ・コピーをとっておくこと――あなただけが秘密鍵のコピーを持っており、それをなくすということは、世界中に広めたあなたの公開鍵のコピーすべてが役に立たなくなってしまうということを覚えておいてほしい。
公開鍵を管理するために分権化された非組織的な方法でPGPを使うことは、利益もあるが、それはあいにく、どの鍵が損なわれたかというリストを一つのまとまったリストに頼ることができないということも意味している。これは、損なわれた秘密鍵の損害を含めることも少々難しくしている。あなたは、言葉で広めて、誰もがそれを聞いてくれるように望むしかない。
最悪の事態が起こったら――あなたの秘密鍵とパスフレーズの両方が損なわれたら(何とかこれを発見できると期待したい)――「鍵汚損」証明書を発行する必要がある。この種の証明書は、他の人にあなたの公開鍵の使用を止めるよう警告するために使われる。このような証明書をPGPを使って作るには、"-kd"コマンドを使う。それから、どうにかしてこの汚損証明書をこの惑星の他のすべての人に送るか、少なくともあなたの友人すべてとその友人、などに送る必要がある。彼ら自身のPGPソフトは、この鍵汚損証明書を公開鍵束にインストールし、自動的にうっかりあなたの公開鍵を使うことがないようにする。あなたは新しい秘密・公開鍵のペアを作って、新しい公開鍵を公開することができる。新しい公開鍵と、古い鍵の汚損証明書をひとまとめにして送ってもいい。
公開鍵を撤回する
---------------------
あなたの秘密鍵とパスフレーズがどういうわけか両方とも汚損されたとしよう。あなたは、その公開鍵の使用をやめるように、そのことを世界中に広めなければならない。そのためには、「鍵汚損」証明書または「鍵撤回」証明書を発行して、公開鍵を撤回しよう。
あなた自身の鍵を撤回する証明書を作るには、-kdコマンドを使う。
pgp -kd あなたのユーザーID
この証明書は、撤回するのと同じ鍵で署名をしてある。あなたはこの鍵撤回証明書を、できるだけ早く頒布すべきだ。それを受け取った人たちは、自分たちの公開鍵束に追加する。そうすれば彼らのPGPソフトは自動的に、うっかりあなたの古い公開鍵を使わないようにしてくれる。あなたは新しい秘密・公開鍵のペアを作って、新しい公開鍵を公開すればいい。
あなたは秘密鍵の汚損以外の理由で鍵を撤回することにしてもいい。もしそうなら、同じやり方で撤回すればいいのである。
秘密鍵をなくしたらどうするか?
---------------------------------
ふつう、もしあなたが自分の秘密鍵を撤回したいときは、"-kd"コマンドをつかって、撤回証明書を作り、それに秘密鍵で署名する(「公開鍵を撤回する」を参照)。
しかし、もし秘密鍵をなくしたり、秘密鍵が破壊されたときにはどうしたらいいだろうか。あなたは自分自身では撤回できない。撤回には自分の秘密鍵が必要なのに、それを持っていないからだ。PGPの将来の版では、信頼された紹介者が公開鍵撤回を保証できるようにして、こういった状況でも鍵を撤回する安全な方法を提供することになるだろう。しかし、今のところ、あなたは何らかの非公式な方法で、あなたの公開鍵を公開鍵束から「無効」にするように頼まなければならない。
他のユーザーは、自分の公開鍵束からあなたの公開鍵を無効にするのに"-kd"コマンドを使えばよい。もしユーザーIDが秘密鍵束にある秘密鍵と対応していないと指定されるならば、-kdコマンドはユーザーIDを公開鍵束から探し出し、その公開鍵を無効にするだろう。無効な鍵はいかなるメッセージを暗号化するためにも使われないし、-kxコマンドで鍵束から取り除くこともできない。それは署名をチェックするためにはまだ使えるが、警告を表示することになる。もしユーザーが同じ鍵を鍵束にまた追加しようとしても、無効鍵はすでに鍵束のなかにあるので、無理である。これらの複合機能は、無効鍵がさらに広がることがないようにする一助となるだろう。
もし指定された公開鍵がすでに無効化されているなら、-kdコマンドは、あなたが鍵を再び有効にしたいのかどうか尋ねてくる。
|