1

我是非对称密码学(公钥 - 私钥)的新手,并且有一个基本的困惑:我知道一旦一个人将他的公钥广播到网络,使用公钥 - 私钥范式进行以下通信就变得安全了。但是,您如何确保收到的公钥一开始就有效?例如,如果 Bob 想与 Alice 建立安全通信,而 Eve 在中间窃听,那么如何确保 Bob 收到 Alice 的真实公钥,而不是 Eve 伪造的假公钥?谢谢!

干杯,M。

4

3 回答 3

0

证书颁发机构(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 必须让他们俩都相信他没事。

于 2020-02-23T18:18:06.497 回答
0

公钥基础设施 ( PKI )。
您有一个第三方受信任的机构,可以向不同的人/公司颁发证书。您不仅信任人,而且信任证书颁发机构 (CA)。

证书颁发机构必须确保并验证购买证书的人/公司实际上就是它声称的那个人。
验证是通过使用私钥(来自此 CA)签署证书来完成的,然后连接中的两个对等方将检查证书是否由受信任的 CA 签署并验证连接。

在您的示例中,Bob 将在 Alice 信任的 CA 中签署证书。
如果 Eve 试图在这个 CA 中签署证书,声称自己是 Bob,这将被拒绝,因为 CA 将验证其真实性。尝试在这里购买客户端证书查看:https ://www.verisign.com/

另一个例子是你的浏览器,它只显示一个受信任的连接是用 StackOverflow 完成的,因为它信任Let´s Encrypt颁发 StackOverflow.com 证书的 on 。
每个浏览器都有一些已经受信任的默认 CA。

于 2020-02-17T21:24:25.817 回答
0

公钥将由另一个权威机构签署。检查这个权威是否真实和有名。如果未知,则尝试进一步检查其签名权限并查看其是否知名。

信任此公钥的概念基于您对签署此证书的权威的固有信任。签名在数学上是可验证的,因此除非实现或数学算法本身存在问题,否则它们不能被伪造。

因此,简而言之,尝试查看证书的签名机构,以及它是否是您信任的。

于 2020-02-19T00:07:33.167 回答