TLS1.3和TLS1.2的区别

1、密钥协商机制改变,TLS1.3借助扩展进行密钥交换,TLS1.3只需要三次握手交互,TLS1.2则需要四次握手。

首先看TLS1.2,它通过KeyExchange进行密钥协商,即ServerKeyExchangeClientKeyExchange,那么密钥交换本身就需要一个交互来回,所以总共有四次握手交互。

TLS1.2

再看TLS1.3,通过ClientHelloServerHello的扩展进行密钥交换,那么就省去了1.2版本中KeyExchange的过程,也就省去了一次握手。

TLS1.3

2、添加0-RTT模式以某些安全属性为代价

clientserver共享一个预共享密钥PSK(从外部获得或通过一个以前的握手获得)时,TLS 1.3允许client在第一个发送出去的消息的early data中携带数据,client使用这个PSK来认证server并加密early data。即在握手之前就有了PSK时,在第一次发送ClientHello时就可以发送加密数据,达到0-RTT数据传输的目的。

0-RTT

但是,0-RTT数据的安全性会降低(缺少前向安全)。

3、ServerHello之后的所有握手消息都被加密,引入了加密扩展EncryptedExtension

4、全面使用ECC密码算法,删除不具有前向安全的密码套件。

5、其他还包括新的密钥派生函数,删除多余的报文消息(ChangeCipherSpec,但我抓包测试时还是有),以及其他算法的改进。

更详细的内容可以参考RFC文档


版权声明:本文为qq_36058927原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_36058927/article/details/105918388