目前大多数网站所使用的“HTTPS”,和之前的“HTTP”就多了一个“S”,而这个“S”就是SSL,它是一种网络安全协议,用于加密浏览器和服务器之间传输的数据信息,其主要功能就是身份认证和数据传输加密。那么你知道SSL是如何工作的吗?

SSL

SSL的工作流程

  1. 客户使用HTTPS的URL访问Web服务器,要求与Web服务器建立SSL连接。
  2. Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
  3. 客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
  4. 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
  5. Web服务器利用自己的私钥解密出会话密钥。
  6. Web服务器利用会话密钥加密与客户端之间的通信。

整个过程经过握手之后就能建立加密链接,数据传输都是经过加密后的信息。

SSL的工作流程

SSL握手的含义

建立安全连接的过程称为“SSL握手”。这里所说的“握手”并非我们传统意义上的握手,SSL握手过程涉及三个步骤:交换加密功能服务器验证密钥传输

  • 交换加密功能

正如我们在见到某人时所做的一样,客户端和服务器也会互相问好。客户端向服务器发送一条“Client Hello”的消息,包含一些SSL证书信息。为响应此客户端的“Client Hello”消息,服务器通过发送“Server Hello”对其作出响应,同样该消息也包含相应的证书信息。

SSL

  • 服务器验证

在客户端和服务器之间已建立安全连接后,接下来就是客户端验证服务器身份的阶段。SSL证书中包含所有者/组织、其位置的公钥、有效日期等信息,客户端确保有效的证书颁发机构CA已验证证书。

  • 密钥传输

客户端验证并验证服务器后,双方就该共享密钥了。服务器验证完成后,客户端使用公共密钥生成预主密钥,然后此预主密钥被发送到服务器,服务器使用其私钥解密该预主密钥。这样,客户端和服务器就会计算出一个新密钥,此主密钥用于加密和解密在客户端和服务器之间传输的信息。

免责声明:素材源于网络,如有侵权,请联系删稿。