SSL服务器是否为连接的每个客户端随机生成临时密钥对?
我了解公钥加密是如何工作的--公钥,秘密解密密钥。这解释了拥有SSL证书的主机如何从客户端接收加密数据。但是SSL服务器如何将加密数据发送回客户端呢?
发布于 2012-04-14 02:07:36
(在this question上有一个关于这个主题的讨论,尽管它被编辑了很多次,所以它可能会让人困惑。)
服务器证书中的公钥仅在握手期间使用。在握手期间,客户端和服务器协商用于实际加密的秘密共享密钥(每个会话一个新密钥)。
如何协商这个秘密取决于密码套件:RSA or Diffie-Hellman密钥交换。当使用RSA密钥交换时,客户端加密预主秘密并将其发送到服务器(服务器是唯一能够解密它的人)。当使用DH时,客户端在DH交换期间验证服务器发送的临时参数的签名:最终结果也是共享的预主秘密。然后,双方将其与交换的随机值一起使用,以计算主秘密。
在名为"Handshake Protocol Overview"的TLS规范部分中有更多细节。
https://stackoverflow.com/questions/10145838
复制相似问题