3.1 HTTP 常见面试题 | 小林coding (xiaolincoding.com)

SSL/TLS握手协议

前两步也就是 SSL/TLS 的建立过程,也就是 TLS 握手阶段(TLS四次握手)

TLS协议建立具体过程:

  1. 客户端向服务端发起加密通信请求,发送信息包括 TLS协议版本、客户端随机数、密码套件列表
  2. 服务端收到请求后,返回响应,响应信息包括 TLS协议版本、服务端随机数、密码套件列表、服务器的数字证书
  3. 客户端收到响应后:
    1. 通过浏览器或操作系统中的CA公钥,确认服务器数字证书的真实性
    2. 从证书中取出服务器公钥,加密一个随机数作为pre-master key,并发送给服务端
    3. 双方拿着客户端随机数+服务端随机数+pre-master key生成本次通信的会话密钥
  4. 服务端向客户端发送最后的信息,包括:
    1. 加密通信算法改变通知,随后用会话密钥 加密通信。
    2. 握手结束通知,把之前的所有内容做个摘要,供客户端校验

TLS握手结束后,双方使用会话密钥对称加密进行通信。

23-HTTPS工作流程.webp

TLS记录协议

TLS 记录协议主要负责消息(HTTP 数据)的压缩加密及数据的认证

记录协议.webp