TLSv1.3 简介

2019-12-08 Sunday    

TLS 1.3 是时隔九年对 TLS 1.2 之前版本的新升级,也是迄今为止改动最大的一次。

简介

TLSv1.3 与之前的协议有较大差异,主要在于:

  • 不再允许出现 DSA 证书,需要使用 ECDSA、RSA 替换;

    相比过去的的版本,引入了新的密钥协商机制 — PSK 支持 0-RTT 数据传输,在建立连接时节省了往返时间 废弃了 3DES、RC4、AES-CBC 等加密组件,废弃了 SHA1、MD5 等哈希算法 ServerHello 之后的所有握手消息采取了加密操作,可见明文大大减少 不再允许对加密报文进行压缩、不再允许双方发起重协商

对比旧协议中的不足,TLS 1.3 确实可以称得上是向前迈了一大步。既避免之前版本出现的缺陷,也减少了 TLS 握手的时间。

总结一下,TLS 1.3 与以前的版本相比具有如下两个大的优势,分别是:

OpenSSL

重新协商

TLSv1.3 不再支持重新协商,所以在调用 SSL_renogotiate() 以及 SSL_renegotiate_abbreviated() 时将会报错。而重新协商最常见的场景是更新链接的密钥,可以通过 SSL_key_update() 进行更新。

会话复用

在 TLSv1.2 协议中,会话是在握手阶段完成的,通过该会话可以在后续的握手过程中简化流程,通过 SSL_get1_session() 函数可以获取。

而在 TLSv1.3 版本中,会话是在握手成功后创建的,在正常在握手完成后,服务端会主动发送多个与会话相关的详细信息。

会话复用有两种方式:A) Session IDs RFC-5246;B) Session Tickets RFC-5077

参考



如果喜欢这里的文章,而且又不差钱的话,欢迎打赏个早餐 ^_^