一、HTTPS工作流程

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

它的工作流程为:

  1. 客户端访问网站,先建立SSL连接,发送一个随机数A以及自己的加密套件等信息。这一步通常被成为Client Hello
  2. 服务端收到客户端的请求之后,生成一个随机数B,携带自己的证书(证书包含公钥、有效期等信息)一起发送给客户端,同时返回的还有加密协议信息。这一步通常称为Server Hello
  3. 客户端拿到证书后,通过公钥验证证书是否有效。如果有效的话,通过随机数A、随机数B以及公钥加密得到一个预主密钥,发送到服务端,这个密钥被称为Premaster Secret
  4. 服务端拿到客户端的数据后用私钥解开,通过加密校验,确认数据来自客户端。然后用随机数和预主密钥加密得到会话密钥,通过会话密钥加密一段握手消息,发送到客户端。
  5. 客户端收到之后解密数据,如果校验通过也发送一段握手消息到服务端。从这里开始所有后续的数据就会通过会话密钥来加密数据通信了。

图解流程为:

二、为什么需要多个随机数

避免客户端的随机数生成不是绝对随机的,多加一层随机数校验

最后修改:2019 年 05 月 04 日
喜欢就给我点赞吧