TLS握手协议图解和抓包分析

- 下图为TLS协议流程图:

阶段一

- 客户端和服务端发送Hello报文建立初次连接。

客户端向服务端发起Client Hello报文,报文内容包含密码套件以及随机数。

密码套件:

此处客户端支持的密码套件为ECC-SM4-CBC-SM3。(此处客户端仅支持1个密码套件)

随机数:

此处随机数为:886cdd617dea44a6588d25f765f87292cb6d55c2103826a56deb73783bc934d5。暂且称为随机数1。

阶段二

客户端向服务端发起Server Hello报文,报文内容包含选择使用的密码套件以及随机数。

密码套件:

此处可观察出客户端选择的密码套件为ECC-SM4-CBC-SM3。

随机数:2411e2671841bb1ad7ed7bbd9802e53073cd677ce900aac9e85617244dd7402a,暂且称为随机数2。

阶段三

- 此处为客户端产生随机数:30819a022100bd593cdbca96c44cb9a483844d2ca98825548a84bd0d5e7fea0a586f0ac98736022100cc03783703ab4b8412c649fa77b07abb288a6bd70b05cb90fb2a6f656986b8b0042067106bff4ec568198432452ffe4b94e5334317b642a28f6e9e14408d3bd3423f043094c34681ae959ae428b7ff4671109ea5c2f9e8c1215fafa98e07ef62168a77d5cf84932ed65915d79a9e33ca6ebe5806。

可称为预主密钥,暂且称为随机数3。

客户端产生随机数3后,采用阶段二获得的客户端证书内的公钥对随机数3加密后发送到服务端。

服务端用自己的私钥解密,得到随机数3。

此时客户端和服务端分别持有随机数1、随机数2、随机数3。

随后客户端和服务端用同样的算法和三个随机数作为参数生成同一个会话密钥。

阶段四

Change Cipher Spec,Encrypted Handshake Message,说明密钥交换完成,之后的数据通过此会话密钥实现加密保护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值