[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Release] events/keysigning.wml
<E17mW0S-0000lD-00@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>の記事において
私は書きました。
> LC2002 も近いということでやってみました。
> 叩いてくださいませ。
一通り見直してみました。 特に問題なさそうなら、
これで登録をお願いします。
--
中野武雄
#use wml::debian::template title="鍵署名 (Keysigning)"
# $Id: keysigning.wml,v 1.5 2002/07/25 19:26:09 joey Exp $
#use wml::debian::translation-check translation="1.5"
<p>トレードショウやカンファレンスではたくさんの開発者たちが集まりますから、
他の人に自分の GnuPG 鍵に署名してもらい、
「信頼のネットワーク (Web of Trust)」を強化する良い機会といえます。
特にプロジェクトに新しく参加した人にとっては、
他の開発者たちに会ったり鍵署名を行ったりするのは、
とても楽しいことでしょう。
<p>この文書は、鍵署名の一連の作業に対する参考となるべく書かれました。
ある鍵に署名をする際は、少なくとも以下の二つの条件が必要です:
<ol>
<li>鍵の所有者は署名者に対して、
UID に書かれている個人情報が実際に自分の個人情報であることを、
署名者が納得するような証拠を用いて、証明しなければなりません。
普通の場合は、鍵の所有者は政府などの発行した証明書
(鍵の所有者の情報が書かれている写真つきのもの)
を提示することになるでしょう。
(署名者によっては、提示を受けた政府発行の ID が
簡単に捏造されることを知っていたり、
発行者の権威が疑わしいことを知っていたりして、
追加情報や別の情報を要求することもあるかもしれません。)
<li>鍵の所有者は、署名されようとしている鍵の指紋 (fingerprint) が、
実際に自分の鍵のものであることを確認しなければなりません。
</ol>
<p>
最も重要なのは、鍵の所有者が鍵交実の場に実際に参加しなければ、
この条件の 1 と 2 の両方を満たすことはできない、という点です。
鍵の所有者の代理人では、
鍵所有者の成すべき 1 の要件を満たすことはできません。
なぜならこれを許してしまうと、ID カードを盗んだ人間によって、
代理人になりすまして PGP 鍵への署名を受けることが
可能になってしまうからです。
また鍵の所有者の代理人が、
鍵所有者の成すべき 2 の要件を満たすことはできません。
なぜなら代理人が、
別の PGP 鍵に所有者の名前を付け、
その指紋に差し替えて署名を行わせることが
可能になってしまうからです。
<ul>
<li>GnuPG 指紋を印刷したものと、自分自身であることを証明するID カード
(パスポートや運転免許証など) が必要です。
<li>指紋は、会合の後であなたの鍵に署名してくれる、他の人達に渡します。
<li>GnuPG 鍵をまだ所有していなければ、
<code>gpg --gen-key</code> によって作成してください。
<li>鍵の所有者が、まさに所有者であると証明された場合に限って、
その鍵に署名するようにしてください。
<li>会合が終ったら、署名する GnuPG 鍵を入手してください。
以下のような感じになるでしょう。
<pre>
gpg --keyserver keyring.debian.org --recv-keys 0xDEADBEEF
</pre>
<p>署名をする鍵の所有者が Debian keyring にいない場合は、
<code>keyring.debian.org</code> を <code>pgpkeys.pgp.net</code>
のような公開鍵サーバに変更してください
(名前は pgp ですが、ここには GnuPG の鍵も保管されています)。
<p>この手続きや、他の GnuPG 処理においては、
鍵の (16 進数字の) 最後の 8 桁が使えます。
先頭にある <tt>0x</tt> は省略しても構いません。</p>
</li>
<li>鍵に署名するには、次のコマンドによって編集メニューに入ります。
<pre>
gpg --edit-key 0xDEADBEEF
</pre>
<li>GnuPG から、署名するすべての uid を <code>uid n</code>
(<code>n</code> はメニューに表示されている uid の番号)
によって選択します。
enter キーを押せば、すべての uid に署名できます。</li>
<li>鍵に署名するには、<code>sign</code> と入力します。
するとその鍵の指紋が表示されますので、
先に実際に会った人物からもらった指紋と比較しなければなりません。
<li><code>quit</code> と入力して GnuPG を終了します。
<li>正しく署名できたかどうか確認するには、次のコマンドを実行します。
<pre>
gpg --list-sigs 0xDEADBEEF
</pre>
<p>出力に自分 (署名者) の名前と指紋 (短い形式) が現われているはずです。
</li>
<li>すべてうまくいっていることが確認できたら、
次のコマンドを実行し、署名した鍵を受取人に送信します。
<pre>
gpg --export -a 0xDEADBEEF > someguys.key
</pre>
<p><code>-a</code> オプションを指定すると、
ASCII 形式で鍵をエクスポートするので、
電子メールで送る際にも壊れる心配をしなくてすみます。
</li>
<li>もしだれかがこのような形であなたの鍵に署名してくれたら、
以下のコマンドを用いれば、これを Debian keyring に追加できます。
<pre>
gpg --import mysigned.key
gpg --keyserver keyring.debian.org --send-keys <var><your key id></var>
</pre>
<p>keyring の管理者があなたの鍵を更新するまでには
少々時間がかかるかもしれませんが、我慢してください。
また更新された鍵は、公開鍵サーバにもアップロードしておきましょう。</p>
</li>
</ul>
<h3>やってはいけないこと</h3>
<p>実際に個人的に会った人でない限り、
絶対にその人の鍵に署名してはいけません。
直接知りえた情報以外を基に鍵に署名してしまうと、
「信頼のネットワーク」を破壊してしまいます。
あなたの友達が、あなたの ID と指紋を、他の開発者に提示したとしましょう。
でもあなたはその場にいませんから、
その指紋が実際にあなたのものかどうか確認できません。
その開発者は、指紋と ID とを結びつける情報として、
何を提供されたことになるでしょうか?
その友達の言葉と、あなたの鍵になされた他の署名だけに過ぎません。
従って、開発者がこのあなたの鍵に署名したとすれば、
「他の人が署名してるから自分も署名した」というのと何ら変わりはないのです!
</p>
<p>ひとつの鍵にたくさん署名があるのは良いことです。
ですからつい手続きを省略してしまいたくなるかもしれません。
しかしながら、信頼に足る署名をしてもらうことは、
たくさんの署名を受けることよりも重要です。
ですから、鍵署名の手続きを、
可能な限り汚染されないように保つことが非常に重要です。
他の誰かの鍵に署名するということは、
その鍵の所有者の個人情報を、直接の証拠によって確認した、
という意味の承認にあたります。
これ以外のつもりで署名を行ったら、
それ以降「信頼のネットワーク」は信頼できないものになってしまいます。
</p>