在加载网页或网站时,客户端与服务器之间交换了哪种类型的证书或密钥?
答案 0 :(得分:1)
仅交换服务器的公钥和客户端的公钥。
当浏览器连接到启用HTTPS的网站/服务时,会发生以下情况:
客户端您好
客户端发送SSL版本号,密码设置,特定于会话的数据。
服务器您好
服务器使用SSL版本号,密码设置和服务器证书(公钥)进行响应。
身份验证和预主密钥
客户端现在验证服务器证书,并根据密码,客户端为会话创建预主密钥。
客户端使用服务器的公钥加密数据,并将加密的预主密钥发送到服务器。
解密和主要秘密
服务器现在使用其私钥来解密预主密钥。
服务器和客户端都执行步骤以使用约定的密码生成主密钥。
生成会话密钥
客户端和服务器现在都使用主密钥来生成会话密钥。会话密钥是用于加密和解密会话期间交换的信息的对称密钥。
使用会话密钥进行加密
此时,服务器和客户端都会交换消息,以通知将来的消息将被加密。
简而言之,涉及4个键。服务器的公钥和私钥以及客户端的公钥和私钥。客户端将其公钥提供给服务器,服务器将其公钥提供给客户端。私钥永远不会传输或与任何人共享,它们保留在客户端和服务器上,因此它们是私有的。
通常证书由GoDaddy或Verisign等第三方签署。这使客户可以放心,向客户发出公钥的服务器确实是他们所说的人。 (但要注意,中间人总有可能发动攻击)