PGP 密钥仅在附加签名中有所不同

信息安全 密钥管理 pgp
2021-08-21 22:16:18

以下是围绕同一核心问题的几个问题。

  1. 假设我生成了一个 PGP 密钥对。
  2. 我现在在签署方 X 上得到了 A 人签署的密钥对。
  3. 晚上,我将我现在签名的公钥交给 B 人。
  4. 第二天,我在签署方 Y 上得到了 C 人签署的我的公钥。
  5. 晚上,我将我现在签名的公钥交给 D 人。
    • B 人和 D 现在都有我的公钥,但版本不同(我不知道版本是否正确)。
  6. 想象一个人 E 从人 B 和人 D 那里获得了我的公钥。

E 人如何确定使用哪一个?

类似地,我可以先制作两份我的公钥副本,然后让两组相互不同的人签名。

再一次,后来者的 PGP 软件如何确定使用哪一个?

我想知道它是否可以自动将签名合并到一个包含所有内容的密钥中,当且仅当附加签名列表需要由我的私钥进行自签名时。

最后,随着越来越多的人签名,人们是否会继续将他们的密钥上传到密钥服务器?

1个回答

像在密钥服务器上发布的公钥实际上由一组单个数据包组成。一个是您的公钥,然后是用户 ID,以及来自其他密钥的传入签名(以及其他一些在这里不重要的东西)。

E 人如何确定使用哪一个?再次,后人的 PGP 软件如何确定使用哪一个?

如上所述,密钥是相同的,只是签名包不同。你可以看看他们的使用gpg --listpackets [file],也看看这个关于如何查看 OpenPGP 密钥文件的答案我强烈建议查看相当长的输出以了解发生了什么。

gpg --recv-keys [key]从密钥服务器“更新”密钥 ( ) 时,所有新包将与磁盘上已有的包合并。键不会以任何形式“分支”。把它想象成签名集的联合。这也可以通过使用导出和导入来完成gpg --import [file]

最后,随着越来越多的人签名,人们是否会继续将 [ir] 密钥上传到密钥服务器?

我希望我的问题是正确的,并且您想知道人们是否不时上传他们的密钥以使用gpg --send-keys [key]. 然后,答案是明确的“是与否”。大多数会,只是偶尔会,有些根本不会。