TLS 1.2中的不同通信模式
问题描述:
我使用Wireshark
来监控某些网站的软件包,但发现TLS 1.2有这么多的通信模式。TLS 1.2中的不同通信模式
第一个是一个通用的一个:
Client: Client Hello
Server: Server Hello, Certificate, Server Hello Done
Client: Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
Server: Change Cipher Spec, Encrypted Handshake Message
第二个是如下:
我只是对为什么Certificate
和Server Hello Done
在另一个包困惑。谁需要服务器来做到这一点?为什么?
乘清爽页面后,我拿到了第三个:
只有3包握手?很多程序错过了,是因为信息被缓存了吗?那么预主密钥怎么样?
感谢您的回答!
答
TLS是TCP上的协议,即通过流式传输协议。对于传输而言,数据流会被拆分为数据包,因此可能发生ServerHelloDone包含在一个数据包中或另一个数据包中,甚至可能分裂为两个数据包。由于大小在第二个示例中可见,但在第一个示例中不可见,因此不清楚差异的原因,但可能由握手中包含的证书大小引起。
至于第三个例子:这很简单,TLS会话重用,即它继续旧会话,因此不需要发送服务器证书或类似的。
+0
感谢您的回答!你们很棒! – yomao
只是为了避免误解:“软件包”由Wireshark解析器创建。这并不一定意味着它们已被服务器以三个包发送。 – Robert
数据包。这个词是包,而不是包。第二个由发送者或路由器以某种方式分裂,第三个是由于会话恢复而缩短的握手。这里没有什么可担心的。 – EJP