TLS1.3

TLS 1.3 相较于 TLS1.2 引入了多项改进,包括取消了对不安全加密参数的支持,降低了复杂性。此外,握手过程也进行了优化,支持更快的会话建立。

1. 密码套件与加密技术

TLS 1.3 新版本在加密技术方面进行了多项改进。这些增强包括移除了较旧、安全性较低的加密技术,并增加了更新、更安全的技术,TLS 1.3 还改进了密钥交换算法,并支持后量子加密技术。特别是,TLS 1.3 仅支持具备前向保密性(PFS)的密钥交换算法

其密码套件看起来像这样的:TLS_AES_128_GCM_SHA256
可以发现其比TLS1.2的密码套件短很多,因为其只指定了加密算法和模式,还有HMAC算法的哈希函数。没有指定用于服务器身份验证的方法和密钥交换算法

2. 握手过程

LS 1.3 的握手过程有一些变化。为了提高效率,一些消息被重新设计,而另一些则被完全消除,以减少握手的延迟和开销,从而实现更快的连接建立。

与 TLS 1.2 类似,TLS 1.3 握手以 ClientHello 消息开始。然而在 TLS 1.3 中,该消息除了包含支持的密码套件外,还包含了客户端的密钥共享,从而消除了握手后期对 ClientKeyExchange 消息的需求。此密钥共享包含在随 ClientHello 消息发送的扩展中

服务器以 ServerHello 消息响应,该消息确认密钥协商协议并指定选定的密码套件,这与 TLS 1.2 类似。此消息也包含服务器的密钥共享。此处始终传输新的密钥共享以保证前向保密性。这取代了 TLS 1.2 中对 ServerKeyExchange 消息的必须要求。服务器的证书也包含在 ServerHello 消息中。

握手以 ServerFinished 和 ClientFinished 消息结束。

ServerHello 之后的所有消息均已加密。因此,TLS 1.3 握手比 TLS 1.2 握手显著缩短。

Pasted image 20260308024347.png

3. Wireshark分析TLS 1.3 握手过程

Pasted image 20260308024406.png
Certificate 和 ClientKeyExchange 消息已被移除

Pasted image 20260308024423.png
可以在 ClientHello 消息的 key_share 扩展中找到客户端的密钥共享
客户端为两个不同的群组选择了两种不同的共享。这是因为群组选择权在服务器的 ServerHello 消息中,而客户端尚未收到该消息。因此,客户端传输多个共享以提高与服务器就群组达成一致的可能性

服务器的密钥共享可以在 ServerHello 消息的 key_share 扩展中进行检查。服务器选择一个群组,并仅传输该群组的密钥共享
Pasted image 20260308024500.png
从此刻起,所有传输的数据都已加密,正如 Wireshark 中的 EncryptedApplicationData 标签所示