
私はGPGキーをテストしていて、キーにユーザーを追加/削除したときのキーの変化を研究していました。ユーザーを追加するとアリスキー生成時に、キーペアの公開鍵と秘密鍵をエクスポートします。そして、ユーザーを追加しますボブ同じキーにエクスポートします。最後に、同じキーをエクスポートしますが、ボブユーザーとして追加されました。次に、アリスそしてアリス/ボブキー。アリス公開鍵には、アリス/ボブ公開鍵もいくつかあり、多くの点で違いがあります。アリス/ボブ公開鍵はアリス同じことが秘密鍵にも当てはまることに気が付きました。興味深いのは、アリス公開鍵と復号化を使用してアリス/ボブ秘密鍵の場合、同じメッセージが表示されます。
私の質問は次のとおりです:
- 電子メール/ユーザー ID は公開キーと秘密キーに影響しますか?
- 公開鍵からユーザー ID を抽出できますか? できる場合、どのように機能しますか?
- 暗号化はどのように行われるのかアリス復号化アリス/ボブ仕事?
- 各キーの特定の部分は暗号化/復号化に使用され、他の部分はユーザー ID と電子メール用に残されますか?
答え1
そして、同じキーにユーザーBobを追加します
最も重要なことは、これが PGP キーの「ユーザー ID」の目的ではないということです。
ユーザー ID は単なるラベルです。これらはいかなる種類のアクセス制御にも使用できません。キーの所有者に関する情報を他のユーザーに通知するだけです。キーの所有者は 1 人のみで、1 つのキーのすべてのユーザー ID は同じ人物を表す必要があります。
(複数のユーザー ID を追加できる理由は、同じ人物が複数の電子メール アドレス、さらには複数の名前を持つことができるためです。)
複数の人が PGP を使用する必要がある場合は、各人が個別のキーを作成する必要があります。その後、暗号化時にすべてのキーをリストします (複数の--recipient
オプションを使用するなど)。
- Alice による暗号化と Alice/Bob による復号化はどのように機能しますか?
2 番目のユーザー ID を追加すると、それは文字通り同じ RSA キー マテリアルのままになり、書き込まれたラベルのみが変更されます。ユーザー ID はアクセス制御用ではありません。
- 電子メール/ユーザー ID は公開キーと秘密キーに影響しますか?
- 公開鍵からユーザー ID を抽出できますか? できる場合、どのように機能しますか?
- 各キーの特定の部分は暗号化/復号化に使用され、他の部分はユーザー ID と電子メール用に残されますか?
PGPで「公開鍵」と「秘密鍵」について話すとき、ではない通常、他のシステムと同様に、生の公開鍵データ(RSAパラメータなど)のみを意味します。代わりに、gpg --export
OpenPGPから実際に取得するのはキーブロックまたは証明書公開鍵とさまざまなメタデータ (ユーザー ID、署名など) が含まれます。
したがって、ユーザー ID を追加しても、実際のキー パラメータは実際には変更されません。公開キー パケットの横にメタデータ パケットとして追加されます。
そして、人々が「PGP 公開鍵」を共有すると、鍵とメタデータのパケットのバンドル全体を 1 つのユニットとして共有することになります。全体として、この考え方は、鍵自体の横に「件名」フィールドがある X.509 証明書と非常に似ています。
pgpdump
またはなどのツールを使用して、gpg --list-packets
エクスポートされたデータをテキスト形式で表示できます。