信息安全—利用Wireshark抓取SSL认证协议数据包

信息安全—利用Wireshark抓取SSL认证协议数据包

【实验目的】

请利用Wireshark抓取SSL认证协议数据包,并考虑如下问题。
a.请标识出于图10-4所示的哪些消息相对应的数据包
b.请问,其他的SSL数据包都包含了什么消息?

【实验原理】

● 关于SSL协议背后的基本思想,在图2中给出了说明。在这个协议中, Alice(客户端)告诉Bob(服务器)她希望发起一次安全交易。Bob以自己的数字证书进行响应。随后, Alice需要验证该数字证书上的签名。假如签名验证通过, Alice就可以确信她已经得到了 Bob的证书,虽然她还不能够确定正在与自己交流的人是否就是Bob本人。接下来, Alice使用Bob的公钥对对称密钥KA8进行加密,并将加密的结果发送给Bob。这个对称密钥用来为后续通信中的数据提供加密保护和完整性保护。
图2.简化的SSL协议
在第1条消息中, Alice告诉Bob她想要建立一个SSL连接,并且将她所能支持的加密方案的列表,以及nonce值RA发送过去。
在第2条消息中, Bob做出回应,发送了他的数字证书,以及他从Alice发送过来的第1条消息里的加密方案列表中选择的某个方案,另外还有nonce值RB。
在第3条消息中, Alice发送所谓的预备主密码S,这个预备主密码S是随机生成的,同时发送的还有一个使用密钥K加密的哈希值。在其中的哈希计算中, “msgs”包含了之前,所有的消息,而CLNT是文本串。该哈希函数在这里的作用是提供完整性验证,以确认之前所有的消息是否均已被正确地接收。
在第4条消息中, Bob以一个类似的哈希值进行响应。通过亲自计算这个哈希值, Alice就可以确认Bob已经正确地接收了之前的消息,并且Alice还能够认证Bob,因为只有Bob才能够得到解密的S,进而再根据S的值计算出密钥K。此时此刻Alice就已经认证了Bob.并且在Alice和Bob之间建立了共享的会话密钥K,这个密钥K可以用于后续消息的加密和完整性保护。

【实验步骤及描述】
●1.在Wireshark过滤器中输入ssl

图2.1 抓取到的SSL数据包
2.对其中的一个SSL过程进行分析

图2.2 抓取到的SSL消息

【实验结果】

1.下图Client Hello 对应第一条消息,内有密码方案列表Cipher Suits(14suits),随机数Ra就是Random下面的Session ID,长度32
图2.3 SSL第一条消息
2.下图Server Hello,以及Certificate对应第二条消息,内有Bob选的密码方案:
Cipher Suite:TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256(0xcca8)
以及随机数Rb,就是Random下面的Session ID,长度32

图2.4 SSL第二条消息
3.下图Change Cipher SpecEncrypted Handshake Message对应第三条消息,内有随机生成的预备主密码还有使用密钥K加密的哈希值:

图2.7 SSL第三条消息
4.Change Cipher Spec , Encrypted Handshake Message对应第四条消息, Bob以一个类似的哈希加密值进行响应:

图2.6 SSL第四条消息
5.最后Application Data就可实现通信

图2.7 SSL第五条消息

猜你喜欢

转载自blog.csdn.net/qq_44725217/article/details/106444968