TLS 1.3 新特性剖析
这里结合 RFC8446,MbedTLS 源码, Wireshark 抓包对 TLS 1.3 几个重要特性做深入剖析。
TLS 1.3 对比 TLS 1.2 的主要差异。
重点介绍全新特性前。介绍下 TLS 1.3 的完整握手流程。
如上完整握手流程,包含密钥交换(Key Exchange)和双向认证(Authentication,可选)流程。
- 对于密钥交换仅支持 ECDHE。
- 对于认证支持证书认证和 PSK 认证,当然也可以不做认证。
如上 KE 和 Auth 流程组合,TLS 1.3 共支持如下5种模式。
TLS 1.2 PSK KE 对比 TLS 1.3 PSK ECDHE 一个安全特性就是前向安全。 前向安全确保了长期密钥泄露不会影响历史会话的安全性。
以下是 TLS 1.2 PSK KE 与 TLS 1.3 PSK ECDHE 的握手流程对比。在密钥交换过程中,最大的区别在于是否引入了临时椭圆曲线 Diffie-Hellman 的密钥交换。
在 TLS 1.2 PSK KE 模式下,会话密钥完全依赖预共享密钥(PSK),如果 PSK 泄露,攻击者可以离线解密之前或当前的通信内容。
在 TLS 1.3 PSK ECDHE 模式下,引入了临时的 ECDHE ClientShare 和 ServerShare 公钥交换,即使 PSK 被泄露,也无法恢复会话密钥,因此提供了前向安全性。
如下流程...