TLS 1.3 标准

TLS 1.3 已经被 IESG 正式批准为建议标准了。

此处略去相关代码,请查看桌面标准版文章。

最后被通过的版本就是 Draft-28,TLS 1.3 已经被讨论两年了,中间有过很多的变化。

提出 TLS 1.3,当然是为了更快更安全。而新通过的版本就是为此而来的。下面看看它同 TLS 1.2 相比有哪些变化。

TLS 1.3 vs TLS 1.2

更快的握手速度

使用 TLS 1.2 需要两次往返( 2-RTT )才能完成握手,然后才能发送请求。

TLS 1.3 增加了一个 零往返(0-RTT)的握手模式,在上一次连接中,握手完成之后,服务端会发送一条 ServerConfiguration 消息,在随后的客户端发起第一个 TLS 记录 ClientHello 过程中,直接附加加密的应用程序数据,该模式将会导致更加快速的访问体验。

更加安全的连接

为了兼容考虑,TLS 1.2 中还保留着很多不够安全的加密算法,而TLS 1.3 删除了那些被业界认为不安全的加密算法。

TLS 1.3 的新加密套件将不能用在 TLS 1.2 之上,而且 TLS 1.3 的各个草案其加密套件也是不兼容的。唯有等待各个厂商的软件都到升级到最新的正式版后,就没有问题了。

除了加密算法的改进,还有下面这些提高安全性的措施。

TLS 1.3 的一些测试工具

浏览器测试

测试你的浏览器是否支持最新的 TLS 1.3 Draft-28,Mozilla 提供的一个测试网站。
https://tls13.crypto.mozilla.org/
比如在 Firefox 61.0.1 下的测试结果:
如果测试不通过,会出现类似下面的错误信息:

TLS 1.3 服务器测试

知名的 ssllabs 测试网站的目前只支持到 TLS 1.3 Draft-23。

myssl.com 目前支持到 TLS 1.3 Draft-18。