其他分享
首页 > 其他分享> > HTTPS 如何建立连接 -- SSL/TLS 的建⽴过程

HTTPS 如何建立连接 -- SSL/TLS 的建⽴过程

作者:互联网

前两步:(握手阶段)

建立 SSL/TLS 协议

涉及四次通信

一、ClientHello

由客户端向服务器发起加密通信请求

内容:

  1. 客户端⽀持的 SSL/TLS 协议版本
  2. 客户端⽣产的 随机数c1 ( Client Random ) (后⾯⽤于⽣产「会话秘钥」)
  3. 客户端⽀持的 密码套件 列表

二、SeverHello

服务器收到客户端请求后,向客户端发出响应

内容:

  1. 确认 SSL/ TLS 协议版本 ( 如果浏览器不⽀持,则关闭加密通信 )
  2. 服务器⽣产的随机数s2( Server Random )(后⾯⽤于⽣产「会话秘钥」)
  3. 确认的密码套件列表
  4. 服务器的 数字证书

三、客户端回应

⾸先通过浏览器或者操作系统中的 CA 公钥,确认服务器的数字证书的真实性。

如果证书没有问题,客户端会从数字证书中取出服务器的公钥,然后使⽤它加密报⽂ 。

内容:

  1. 被服务器公钥加密的 一个随机数c3。
  2. 加密通信算法改变通知。( 表示随后的信息都将⽤「会话秘钥」加密通信 )
  3. 客户端握⼿结束通知。 (包含 之前所有内容的数据摘要,⽤来供服务端校验)

四、服务器的最后回应

至此服务器和客户端同时有三个随机数,接着就⽤双⽅协 商的加密算法,各⾃⽣成本次通信的「会话秘钥」 。

内容:

  1. 加密通信算法改变通知。( 表示随后的信息都将⽤「会话秘钥」加密通信 )
  2. 服务器握⼿结束通知 。(包含 之前所有内容的数据摘要,⽤来供客户端校验)

 


至此,整个 SSL/TLS 的握⼿阶段全部结束。接下来,客户端与服务器进⼊加密通信,就完全是使⽤普通的 HTTP 协议,只不过⽤「会话秘钥」加密内容 。

标签:TLS,加密,会话,--,通信,秘钥,SSL,服务器,客户端
来源: https://www.cnblogs.com/tiddler/p/16640684.html