使用 GPG 自动密钥检索的安全性

使用 GPG 自动密钥检索的安全性

我正在使用 Arch Linux 并尝试从 AUR 构建一个包。为了构建这个包,我需要从存储库下载源文件。 Arch PKGBUILD 将密钥列为有效的pgp密钥。虽然我可以单独下载此密钥,但也可以将 GPG 配置为自动检索钥匙与

keyserver-options auto-key-retrieve

包构建过程显然存在安全隐患。我的理解是,该auto-key-retrieve选项是全局的,其他程序现在可能会开始自动下载密钥。这会带来什么类型的安全影响?

答案1

即使使用自动密钥检索,包构建过程本身也是安全的:因为validpgpkeys必须列出完整的指纹,自动检索的密钥肯定是正确的。受自动密钥检索影响的主要用例是检测对validpgpkeys声明的不需要的更改(但无论如何应该手动验证此类更改,而不仅仅是gpg在抱怨其密钥环中没有必要的密钥时)。

auto-key-retrieve选项确实是全局的,因此启用它意味着gpg涉及不在密钥环中的密钥的任何交互都将从默认密钥服务器下载该密钥。这造成的实际差异取决于两个因素:手动下载密钥时进行的验证,以及您的密钥和您正在下载的密钥是否已连接。显然,如果你总是在将密钥添加到密钥环之前验证带外密钥,您不想启用自动密钥检索。如果您使用的密钥已连接,并且您使用信任信息,则无论密钥来自何处,该信息都是有效的,因此自动密钥检索是安全的。在这两个极端之间,在我看来,如果你使用完整的指纹,自动密钥检索也是安全的;如果您不这样做,则无论其来源如何,与密钥相关的风险都是相同的(例如接受由真正密钥所有者签名的邪恶密钥签名的内容,或者更糟糕的是,将某些内容加密到邪恶密钥,认为您将其发送给其他人)。

实际上,主要的警告auto-key-retrieve是在手册

请注意,此选项使“网络错误”之类的行为成为可能。密钥服务器或 Web 密钥目录操作员可以查看您请求的密钥,因此通过向您发送一条由全新密钥签名的消息(您的本地密钥环上自然不会有该密钥),操作员可以告诉您的 IP 地址和时间您验证了签名。

相关内容