OpenPGP 密钥可能是真实的或是伪造的

若要发送加密的 OpenPGP 消息,你需要获取收件人的密钥,例如从他们收到的消息或从公钥服务器收到的消息。当你获得公钥时,你也必须决定是否接受此钥匙,因为 Thunderbird 无法自动确认此钥匙是否可靠-钥匙可能是真品的也可能是伪造的。如何确定密钥是真品还是伪造,并决定是否接受密钥,是本文的主题。

示例伪造钥匙

某人很容易用另一个人的姓名和电子邮件地址创建公钥。 例如,怀有恶意的人 Mallory 可以简单地创建一个包含你朋友 Bob 的姓名和电子邮件地址的密钥,然后将密钥发送给你。 如果 Bob 本人以外的其他人创建了密钥,那么它就是伪造的密钥。

如果你随后决定使用 Bob 名义伪造的密钥,你可能会认为你与 Bob 进行了机密对话,因为你使用的是电子邮件加密,而实际上加密的消息可以被以 Bob 的名字制造伪造品的恶意人员 Mallory 读取。 这称为 Monster-in-the-Middle-Attack (MITM),也称为 Man-in-the-Middle-Attack。

如何决定是否接受一个公钥

为避免你不小心使用了伪造的密钥,Thunderbird 永远不会自动使用他人的密钥。 Thunderbird 将始终要求你决定接受密钥为真实的。 你也可以决定要投入多少工作来检查密钥是真实的还是伪造的。

如果你与通信者进行了随意的对话,并且你认为你的消息内容不是很敏感,你可以决定在不检查密钥是否真实将密钥标记为已接受。

但是,如果你打算交换关键信息,并且你的自由或生命取决于信息的保密性,那么你应该仔细确认你收到了真实的密钥,该密钥实际上来自你希望与之通信的人。你可以通过查看密钥的详细信息来做到这一点,然后使用电子邮件以外的通信渠道与你的通信者交谈。 然后你们每个人都应该查看对方公钥的详细信息并查看显示的指纹。 指纹是完整密钥的散列,是一种校验和,因此是特殊的识别密钥方式。

示例验证过程

为了更详细地解释此过程,如果 Alice 和 Bob 想要确保他们使用彼此的正确密钥,他们将分两步执行验证。第一步,Alice 将打开她自己的个人密钥的详细信息,方法是在 OpenPGP 密钥管理器中找到它,或者使用帐户设置中的端到端加密选项卡。Bob 将打开他获得的密钥的详细信息,而该密钥声称以 Alice 的名义。然后,Alice 应该读出她在屏幕上看到的自己钥匙的指纹,Bob 应该听取并将其与屏幕上显示的以 Alice 名字命名的钥匙的指纹进行比较。如果信息完全匹配,则 Bob 已经验证了 Alice 的密钥,并且可以单击“是的,我已亲自验证此密钥具有正确的指纹”的复选框。

作为第二步,Alice 和 Bob 应该重复该过程来查看 Bob 的密钥。 Bob 应该打开他自己的密钥的详细信息,Alice 应该打开她已经获得并声称在 Bob 名下的密钥。 然后 Bob 应该读取他在屏幕上看到的自己钥匙的指纹,Alice 应该听取并将其与她看到的 Bob 密钥的信息进行比较。 如果指纹字符串完全匹配,则 Alice 已验证 Bob 的密钥,并且可以单击“是的,我已亲自验证此密钥具有正确的指纹”的复选框。

这篇文章对您有帮助吗?

请稍候...

此文章在这些用户的协助下写成:

Illustration of hands

志愿者

分享知识并培养专业技能。解答问题并改进我们的知识库。

详细了解