SSL/TLS 协议过程
第一次握手
客户端向服务器发起加密通信请求 ,内容主要包括: 客户端支持的 SSL/TLS 协议版本,如 TLS 1.2 版本。 客户端生产的随机数 1,用于后续生成 会话密钥 和 鉴别密钥 。 客户端支持的密码套件列表,每个密码套件包含: 用于传输会话密钥的非对称加密算法 ,如 ECDHE、RSA; 用于验证数字证书的非对称加密算法 ,如 ECDHE、RSA; 用于传输数据的对称加密算法 ,如 AES_128_GCM、AES_128_CBC; 用于验证报文完整性的摘要算法 ,如 SHA256、SHA384; 格式为: TLS_非对称加密算法_非对称加密算法_对称加密算法_摘要算法 ,如果两个非对称加密算法一致,可省略不写。
第二次握手
服务器收到客户端加密通信请求后,向客户端发出响应,内容主要包括: 确认的 SSL/ TLS 协议版本,如果双方支持的版本不同,则关闭加密通信。 服务器生产的随机数 2,用于后续生成 会话密钥 和 鉴别密钥 。 确认的密码套件,如 TLS_RSA_WITH_AES128_CBC_SHA。 服务器的数字证书。
第三次握手
客户端收到服务器的回应之后,会验证其数字证书是否合法(验证方法在数字证书小节中有说明),如果证书合法,则进行第三次握手,内容主要包括: 客户端生产的另一个随机数 3(称为前主密钥,Pre-Master Secret,简写为 PMS),此随机数会被服务器 公钥 加密。 客户端根据随机数 1、随机数 2 以及前主密钥计算出主密钥(Master Secret,MS),接着将主密钥切片得到两个 会话密钥 和两个 鉴别密钥 。 加密通信算法改变通知,表示之后数据都将用 会话密钥 进行加密。 客户端握手结束通知,表示客户端的握手阶段已经结束。客户端会生成所有握手报文数据的摘要,并用 会话密钥 加密后发送给服务器,用来供服务端校验。
第四次握手
服务器收到客户端的消息后,利用自己的私钥解密出前主密钥,并根据随机数 1、随机数 2 以及前主密钥计算出主密钥,接着将主密钥切片得到两个会话密钥和两个鉴别密钥。 之后进行第四次握手,内容主要包括: 加密通信算法改变通知,表示之后数据都将用 会话密钥 进行加密。 服务器握手结束通知,表示服务器的握手阶段已经结束。服务器会生成所有握手报文数据的摘要,并用 会话密钥 加密后发送给客户端,用来供客户端校验。
明文
Wireshark 是一款网络封包分析软件。它可以用于捕获和分析计算机网络中传输的数据包,帮助用户深入了解网络通信和故障排除。Wireshark 提供直观的图形界面,并支持多种协议的解析,如 Ethernet、TCP、UDP、HTTP 等。使用 Wireshark,用户可以查看和分析网络流量,检测网络问题、优化网络性能,并且对于网络安全方面的审计和监控也非常有用。
密文
V2lyZXNoYXJrIOaYr+S4gOasvue9kee7nOWwgeWMheWIhuaekOi9r+S7tuOAguWug+WPr+S7peeUqOS6juaNleiOt+WSjOWIhuaekOiuoeeul+acuue9kee7nOS4reS8oOi+k+eahOaVsOaNruWMhe+8jOW4ruWKqeeUqOaIt+a3seWFpeS6huino+e9kee7nOmAmuS/oeWSjOaVhemanOaOkumZpOOAgldpcmVzaGFyayDmj5Dkvpvnm7Top4LnmoTlm77lvaLnlYzpnaLvvIzlubbmlK/mjIHlpJrnp43ljY/orq7nmoTop6PmnpDvvIzlpoIgRXRoZXJuZXTjgIFUQ1DjgIFVRFDjgIFIVFRQIOetieOAguS9v+eUqCBXaXJlc2hhcmvvvIznlKjmiLflj6/ku6Xmn6XnnIvlkozliIbmnpDnvZHnu5zmtYHph4/vvIzmo4DmtYvnvZHnu5zpl67popjjgIHkvJjljJbnvZHnu5zmgKfog73vvIzlubbkuJTlr7nkuo7nvZHnu5zlronlhajmlrnpnaLnmoTlrqHorqHlkoznm5HmjqfkuZ/pnZ7luLjmnInnlKjjgII=
保存并上传