SSL 如何工作?不是有坑吗?

mpe*_*pen 4 security encryption ssl ssl-certificate

我正在阅读这篇文章,特别是“SSL in action”部分。它说:

当客户端通过其 SSL 安全端口连接到 company.com 时,公司会发回其公钥(以及一些其他信息,例如它支持的密码)。
...
一旦客户端对服务器(以及服务器与客户端,如果需要)感到满意,则客户端从服务器提供的加密方法列表中选择要使用的 SSL 密码,并生成“对称密钥” (密码)用于该密码。客户端使用服务器的公钥加密此密码并将其发送回服务器。服务器(并且只有服务器)可以解密此消息并获得此密码,该密码现在由客户端和服务器共享。

所以,我的理解是只有一个公钥;由受信任的第 3 方(thawte/godaddy/verisign 等)提供给 company.com 的那个。客户端然后选择接受此密钥/证书,然后发送用于加密未来通信的密码。

如果只有一个公钥,那么黑客不能只访问该站点一次,获取公钥的副本,然后在客户端发送密码时拦截他,使用他已有的公钥解密,然后监视所有未来的通讯?是什么阻止了它?

我不明白的部分是

服务器(并且只有服务器)可以解密此消息并获得此密码

为什么只有服务器才能解密消息?是什么阻止其他人解密它?

Bil*_*ler 6

公钥是一种方式。您无法解密与它的通信。您需要密钥对的私有部分来进行解密。

  • 有关非常好的描述,请参阅 http://en.wikipedia.org/wiki/Asymmetric_key。 (2认同)
  • 确切地。我敢肯定,一位敏锐的数学家可以为您提供更具体的东西,但鉴于计算机资源有限(例如,您没有 10000 个节点的 Linux 集群)没有希望在合理的时间内完成所需的计算(就像在太阳之前剩下的时间是一块木炭)当然随着计算能力的增加,也许它会更可行,但是您总是会遇到成本/收益问题。即使您拥有超级计算机,您也必须通过黑客技术赚取比设置系统和运行它的成本更多的钱。 (2认同)