我是非对称密码学(公钥 - 私钥)的新手,并且有一个基本的困惑:我知道一旦一个人将他的公钥广播到网络,使用公钥 - 私钥范式进行以下通信就变得安全了。但是,您如何确保收到的公钥一开始就有效?例如,如果 Bob 想与 Alice 建立安全通信,而 Eve 在中间窃听,那么如何确保 Bob 收到 Alice 的真实公钥,而不是 Eve 伪造的假公钥?谢谢!
干杯,M。
我是非对称密码学(公钥 - 私钥)的新手,并且有一个基本的困惑:我知道一旦一个人将他的公钥广播到网络,使用公钥 - 私钥范式进行以下通信就变得安全了。但是,您如何确保收到的公钥一开始就有效?例如,如果 Bob 想与 Alice 建立安全通信,而 Eve 在中间窃听,那么如何确保 Bob 收到 Alice 的真实公钥,而不是 Eve 伪造的假公钥?谢谢!
干杯,M。
证书颁发机构(CA)或信任网络(WOT)模型将帮助您确保公钥的真实性。
证书颁发机构是颁发数字证书的集中实体,该证书由证书的命名主体证明公钥的所有权。它充当受信任的第 3 方,受证书主体(所有者)和依赖证书的一方的信任。
信任网络是一种去中心化的信任模型,用于建立公钥与其所有者之间绑定的真实性。在信任网络中,每个人都是一种 CA。每个用户都为他想要的任何人签署证书。它依赖于普通用户之间的信任值或信任关系。
Web Of Trust 模型的运作方式是,如果我们验证 A 的证书实际上是给 A 的,并且我们验证 B 的证书来自 B,A 和 B 都可以验证 C 实际上是 C。现在,当 C 想要与我们交互时,他可以提供 A 和 B 都信任的证书。由于我们信任 A 和 B ,我们可以得出结论,C 实际上是 C 的可能性很大。这是可行的,因为我们预计 A 和 B 不会一起工作C 必须让他们俩都相信他没事。
公钥基础设施 ( PKI )。
您有一个第三方受信任的机构,可以向不同的人/公司颁发证书。您不仅信任人,而且信任证书颁发机构 (CA)。
证书颁发机构必须确保并验证购买证书的人/公司实际上就是它声称的那个人。
验证是通过使用私钥(来自此 CA)签署证书来完成的,然后连接中的两个对等方将检查证书是否由受信任的 CA 签署并验证连接。
在您的示例中,Bob 将在 Alice 信任的 CA 中签署证书。
如果 Eve 试图在这个 CA 中签署证书,声称自己是 Bob,这将被拒绝,因为 CA 将验证其真实性。尝试在这里购买客户端证书查看:https ://www.verisign.com/
另一个例子是你的浏览器,它只显示一个受信任的连接是用 StackOverflow 完成的,因为它信任Let´s Encrypt
颁发 StackOverflow.com 证书的 on 。
每个浏览器都有一些已经受信任的默认 CA。
公钥将由另一个权威机构签署。检查这个权威是否真实和有名。如果未知,则尝试进一步检查其签名权限并查看其是否知名。
信任此公钥的概念基于您对签署此证书的权威的固有信任。签名在数学上是可验证的,因此除非实现或数学算法本身存在问题,否则它们不能被伪造。
因此,简而言之,尝试查看证书的签名机构,以及它是否是您信任的。