鲜花网站设计网站不被收录
不同的秘钥交换算法,握手过程可能略有差别
- 上文对HTTPS四次握手的学习
SSL/TLS Secure Sockets Layer/Transport Layer Security 协议握手过程
四次通信:请求服务端公钥 2次 秘钥协商 2次




 
(1)ClientHello请求
 客户端向服务端发送clientHello请求,请求秘钥,请求内容包括【cli支持的SSL/TLS版本号,cli生成的随机数c,cli支持的加密方式】
 (2)serverhello
 对ClientHello请求的回复,包括
 1) 确认SSL/TLS版本号
 2)服务端生成的随机数 s
 3)确认密码套件
 4)数字证书 (理解为s公钥的摘要用ca私钥加密+s公钥 )
 (3)客户端回应
 客户端会验证公钥的合法性,如果真实,
 1)cli使用s公钥加密一个随机数
 2)加密通信算法改变通知(以后加密通信)
 3)之前的握手数据摘要 (没有公钥加密)
双方各自使用三个随机数生成通信秘钥
 (4)服务端回应
 1)加密通信算法改变通知
 2)之前所有握手报文摘要
- 抓包看四次握手
请求百度

正常的抓包

(1). 第一次握手数据包

(2) 第二次握手

 

 
 (3)第三次握手
 
 (4)第四次握手
 
- 客户端验证证书过程

 

 证书hash–>私钥签名
 证书哈希==?== 公钥解密签名

 
 4. DH密钥交换
 
 5. RSA密钥交换缺点
 不支持前向保密性
 
