GnuPG はどのようにして keyserver.ubuntu.com を信頼するのでしょうか?

GnuPG はどのようにして keyserver.ubuntu.com を信頼するのでしょうか?

OpenPGP 証明書の有効性は、信頼のウェブ内の信頼できる当事者によってその証明書が検証されることに基づいていることを理解しています。

しかし、GnuPGを毎日使用しないほとんどの人は、keyserver.ubuntu.com一度だけ鍵を入手し、それが正確であると信頼するでしょう。例えば、「確認方法」ガイドUbuntu.com で:

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys "8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092" "C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451"

このコミュニケーションは起こるだろうが暗号化されていないHTTP経由キーサーバーから返される証明書はキーサーバー自体によって署名されていると思われるので、キーサーバーの信頼できる証明書がわかっていれば、応答を信頼することができます。

しかし、GnuPG がまだファイルを作成していないと思うので、このコマンドを 1 回だけ実行しただけで、キー サーバーを信頼できるのでしょうかtrustdb? GnuPG には、 の証明書を含む、信頼する証明書の組み込みリストがありますかkeyserver.ubuntu.com? もしそうなら、このリストを見つけて、これが当てはまるかどうかを確認するにはどうすればよいですか?

この信頼できるリストがなければ、すべての通信が同じ中間者 (MITM) によって傍受され、偽造keyserver.ubuntu.comされた署名済みパッケージ (たとえば、オペレーティング システムの ISO 自体) と同時に偽の証明書も送信される可能性はありませんか?

答え1

キーを受信するためのパラメータは、2 つのキーの完全なフィンガープリントです。

  • 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
  • C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451

指紋は公開鍵(ISuper UserでOpenPGPキーIDについて議論したを参照してください。受信したキーの計算されたフィンガープリントが要求されたフィンガープリントと一致しない場合、GnuPG は間違ったキーが返されたことを認識します。言い換えると、キー サーバーを信頼できない可能性があります (キー サーバーはランダムな個人によって運営されており、悪意のある目的を持っている可能性があります) が、信頼する必要はありません。キー サーバーから受信したすべての情報は、いずれにしても検証する必要があります。考えられるフィンガープリントの範囲は非常に広く、NSA などの機関のように膨大な計算能力があったとしても、衝突 (別のキーの同じフィンガープリント) を見つけることは不可能です。ただし、短いキー ID は信頼しないでください。

同じ理由で、メール アドレスやユーザー ID を検索するときに、キー サーバーの結果を信頼できない場合があります。キー サーバーのオペレーターが悪意のある情報を返す可能性があるだけでなく、キー サーバーは何も検証しません (誰でも任意のメール アドレスのキーをアップロードできます)。キーは常に自分で検証する必要があります。GnuPG にはデフォルトで信頼されるキーのようなものは存在しません。GnuPG のメンテナーのキーでさえも信頼されません。Ubuntu キーのフィンガープリントをリストしているソースを信頼する場合は、それらのキーを検証したことを GnuPG に認識させるために署名することができます。

HKPS (HKP over HTTPs) もありますが、キー サーバー情報の検証が欠落していることを考慮すると、これは何も変更しません。HKPS が導入されたのは、中間者がキー サーバーから取得したキーを記録できないようにするためだけです。

関連情報