3

我一直在阅读有关带内和带外身份验证的信息。我知道一个人可以签署他/她自己的 GPG 密钥,然后其他人可以使用他们的指纹验证签名者。

我还阅读了发布在以下位置的 GPG 密钥签名问题:https ://stackoverflow.com/questions/34234/how-does-gpg-key-signing-work-and-how-is-it-done

这种类型的身份验证是否容易受到中间人攻击?如何在不使用数字签名的情况下完全验证身份?

PS:我研究了以下身份验证方式:GPG 签名消息(电子邮件)、SMS(带外)、使用共享秘密密码、社会主义百万富翁协议的应用和基于零知识的不可否认身份验证。

上面列出的哪一项最适合防止中间人攻击并提供大量身份验证?

4

1 回答 1

1

防止中间人攻击的是你的大脑 :-) 签署密钥时,GPG 会询问你是否真的检查过密钥所有者的身份,就像 GPG 的操作指南(例如这个)警告你要小心你在这里做:

只有当您绝对确定密钥是真实的时,您才应该将密钥签名为真实的!!!。因此,如果您确定自己获得了密钥(例如在密钥签名方中),或者您通过其他方式获得了密钥并使用指纹机制进行了检查(例如通过电话)。您永远不应该基于任何假设签署密钥。

签署密钥时,您有责任验证密钥所有者的身份。与 CACert(它有一个如何验证身份的定义程序)相比,没有如何进行此验证的一般政策。然后,另一方面,GPG 让您信任的人来引入新密钥。

这表示:

  • 您应该熟悉如何验证密钥实际上属于密钥 ID 所说的人。CACert 指导方针(个人会议、检查官方文件、交换指纹)适用于您不认识的人,适用于您的好朋友个人交换指纹(或如果您认出对方的声音,则通过电话验证指纹)你的朋友)也应该足够了
  • 您应该只设置属于您绝对确定他们理解签名含义并仔细检查的人的密钥的信任属性,如上所述。
于 2013-04-04T06:52:57.510 回答