【发布时间】:2011-04-25 13:32:50
【问题描述】:
在典型的 https web 场景中,我对浏览器和服务器之间的 SSL 握手有点困惑:
到目前为止,我所了解的是,在 SSL 握手过程中,客户端(本例中为浏览器)使用公钥(从服务器接收的证书)加密随机选择的对称密钥。这被发送回服务器,服务器使用私钥对其进行解密(对称密钥)。现在在会话的其余部分使用此对称密钥来加密/解密两端的消息。这样做的主要原因之一是使用对称密钥进行更快的加密。
问题
1) 浏览器如何选择和生成这个“随机”选择的对称密钥?
2) 开发人员(或/和浏览器用户)是否可以控制这种生成对称密钥的机制?
【问题讨论】:
-
客户端不生成会话密钥;不加密;并且不传输它。会话密钥是通过密钥协商协议导出的。你的描述基本不正确。您的问题建立在错误的假设之上。
标签: ssl random browser-security