数字证书为什么需要权威机构认证才安全?

原来以为RSA之类的公开密钥算法很容易实现安全通讯,最近仔细研究了一下才发现问题并不简单。

公钥传输风险

Alice 想给 Bob 发送一份加密消息,于是通过公开渠道索取 Bob 的公钥,并用其公钥加密信息,该加密信息必须用 Bob 的私钥才能解密。

如果在索取 Bob 公钥的过程中,Carol 从中间截取了 Bob 的公钥 ,把自己伪造的公钥发给了 Alice。于是 Alice 用了伪造的公钥加密了信息。Carol 从公开渠道拿到加密信息后,自然能够解密信息。然后,Carol 再用截取的 Bob 的公钥加密信息,发给 Bob。

上述过程,Alice 和 Bob 对中间的截取信息、伪造信息的过程完全不知晓。其原因在于,利用公开渠道通讯,Alice 无法保证拿到的公钥是 Bob 本人的。

如何确保公钥的真实性?

Alice 拿到 Bob 的公钥后,向第三方权威认证机构申请鉴定,确保公钥确实是 Bob 的。

当然,Bob 必须实现到第三方权威认证机构登记注册其公钥。我上网查了一下,这个第三方的服务费还不便宜呢。

我们在用 https 方式登录网站时,所登录网站会把它的公钥发给我们。互联网浏览器内保存了各大权威认证机构的服务器地址,会把网站的公钥发给相应的机构确认,确保网站公钥不被劫持。

自己写的C/S系统,公钥需要第三方认证吗?

自己写的系统,客户端不必利用公开渠道获取服务器公钥,这个时候,服务器公钥不必借助第三方认证。

发布了174 篇原创文章 · 获赞 80 · 访问量 35万+

猜你喜欢

转载自blog.csdn.net/quicmous/article/details/102772922