wireshark抓包分析SSL/TLS协议

SSL/TLS协议一般有两种握手过程,一种是SSL握手,一种是会话恢复。前些时候在写HTTP和HTTPS协议区别的时候介绍了SSL协议的相关理论知识,但多少还是有点抽象,今天我们可以通过wireshark抓包来分析下SSL握手的过程。

一、正常的握手过程

(一)过程如下

wireshark抓包分析SSL/TLS协议_第1张图片

(二)wireshark抓到的对应的包如下

wireshark抓包分析SSL/TLS协议_第2张图片

(三)具体的包分析

  • Client Hello

wireshark抓包分析SSL/TLS协议_第3张图片

包中包含了Version(版本信息)、session ID Length(是否有保存会话),Cipher Suites(加密套件)

  • Server Hello

wireshark抓包分析SSL/TLS协议_第4张图片

包中包含了TLS的version(版本)、Cipher suite(服务器选择的加密组件)

  • Server发送Certificate

wireshark抓包分析SSL/TLS协议_第5张图片

  • Server发送Server Key Exchange

wireshark抓包分析SSL/TLS协议_第6张图片

这里用的是DH协议来交换对称加密的密钥。

  • Server 发送Server Hello Done

wireshark抓包分析SSL/TLS协议_第7张图片

只是简单地告知客户端,服务器的Hello信息已经发完了

  • Client发送Client Key Exchange

wireshark抓包分析SSL/TLS协议_第8张图片

这里也是用DH协议来交换对称加密的密钥

  • Client发送Change Cipher Spec

wireshark抓包分析SSL/TLS协议_第9张图片

用来告知服务器,我接下来发的消息要用咱之前协商好的加密套件进行加密了。

  • Client发送Encrypted HandShake Message

wireshark抓包分析SSL/TLS协议_第10张图片

包中包含一段加密信息,也就是流程图中的finished消息。

  • Server发送New Session Ticket

wireshark抓包分析SSL/TLS协议_第11张图片

分配给客户端一个新的Session Ticket,和Session ID 类似。客户端接收到后保存到本地,今后再和服务器通信时,只要发送这个Session Ticket就行了。

  • Server发送Change Cipher Spec

wireshark抓包分析SSL/TLS协议_第12张图片

用来告知客户端,我接下来发送的消息要用咱之前协商好的加密组件进行加密,你需要对其进行解密。

  • Server发送Encrypted HandShake Message

wireshark抓包分析SSL/TLS协议_第13张图片

包中带有一段加密的信息,即握手过程图中的finished消息。

  • Client和Server进行正常通信

wireshark抓包分析SSL/TLS协议_第14张图片

Client解密出信息后便知道已经和服务器建立好连接了,之后便开始发送Application Data。Server返回给它对应的加密信息。

二、会话恢复过程

会话恢复是指只要客户端和服务器已经通信过一次,它们就可以通过会话恢复的方式来跳过整个握手阶段二直接进行数据传输。

(一)恢复过程

wireshark抓包分析SSL/TLS协议_第15张图片

(二)wireshark抓到的对应的包

wireshark抓包分析SSL/TLS协议_第16张图片

(三)

  • 客户端发送Client Hello包

wireshark抓包分析SSL/TLS协议_第17张图片

包中携带了上一次建立的session ID,并且session_ticket扩展字段为0。说明我们这里使用的是session ID机制。

  • 服务器返回Server Hello信息

wireshark抓包分析SSL/TLS协议_第18张图片

包中包含了当前服务器所使用的TLS版本,以及它支持的最高版本。

  • 服务器发送Change Cipher Spec信息

wireshark抓包分析SSL/TLS协议_第19张图片

告知客户端,我接下来发送的消息要用咱之前协商好的密钥和加密组件进行加密了。用于验证之保存的session会话是有效的。

  • 服务器发送finished信息

wireshark抓包分析SSL/TLS协议_第20张图片

  • Client发送change_cipher_spec信息

wireshark抓包分析SSL/TLS协议_第21张图片

告知服务器我将用咱之前协商好的密钥套件和密钥加密信息。

  • Client发送finished信息

wireshark抓包分析SSL/TLS协议_第22张图片

会话恢复完成,建立SSL连接

 

 

你可能感兴趣的:(网络通信)