赞
踩
SSL/TLS协议一般有两种握手过程,一种是SSL握手,一种是会话恢复。前些时候在写HTTP和HTTPS协议区别的时候介绍了SSL协议的相关理论知识,但多少还是有点抽象,今天我们可以通过wireshark抓包来分析下SSL握手的过程。
包中包含了Version(版本信息)、session ID Length(是否有保存会话),Cipher Suites(加密套件)
包中包含了TLS的version(版本)、Cipher suite(服务器选择的加密组件)
这里用的是DH协议来交换对称加密的密钥。
只是简单地告知客户端,服务器的Hello信息已经发完了
这里也是用DH协议来交换对称加密的密钥
用来告知服务器,我接下来发的消息要用咱之前协商好的加密套件进行加密了。
包中包含一段加密信息,也就是流程图中的finished消息。
分配给客户端一个新的Session Ticket,和Session ID 类似。客户端接收到后保存到本地,今后再和服务器通信时,只要发送这个Session Ticket就行了。
用来告知客户端,我接下来发送的消息要用咱之前协商好的加密组件进行加密,你需要对其进行解密。
包中带有一段加密的信息,即握手过程图中的finished消息。
Client解密出信息后便知道已经和服务器建立好连接了,之后便开始发送Application Data。Server返回给它对应的加密信息。
会话恢复是指只要客户端和服务器已经通信过一次,它们就可以通过会话恢复的方式来跳过整个握手阶段二直接进行数据传输。
包中携带了上一次建立的session ID,并且session_ticket扩展字段为0。说明我们这里使用的是session ID机制。
包中包含了当前服务器所使用的TLS版本,以及它支持的最高版本。
告知客户端,我接下来发送的消息要用咱之前协商好的密钥和加密组件进行加密了。用于验证之保存的session会话是有效的。
告知服务器我将用咱之前协商好的密钥套件和密钥加密信息。
会话恢复完成,建立SSL连接
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。