拥抱TLS 1.3 - 更快、更安全的https连接

TLS 1.3概述 - 更快、更安全

自上次加密协议更新至今已有八年多了,但TLS 1.3的最终版本  已于2018年8月发布。TLS 1.3包含了大量的安全性和性能改进。随着2015年底HTTP/2协议的更新,以及2018年的TLS 1.3,加密连接现在比以往更安全、快速。

什么是TLS?

TLS代表传输层安全性,是SSL(安全套接字层)的继承者。TLS提供Web浏览器和服务器之间的安全通信。连接本身是安全的,因为对称加密用于加密传输的数据。密钥是为每个连接唯一生成的,并且基于会话开始时协商的共享秘密(也称为TLS握手)。

许多基于IP的协议(如HTTPS,SMTP,POP3,FTP)都支持TLS来加密数据。

Web浏览器使用SSL证书,允许它们识别它属于哪个数字签名证书颁发机构。从技术上讲,这些证书也被称为TLS证书,但大多数SSL提供商都坚持使用术语“SSL证书”,因为这通常是众所周知的。SSL/TLS证书提供了简单的让人看到浏览器地址栏中的https背后的魔力。

TLS 1.3 vs TLS 1.2

互联网工程任务组(IETF)是负责定义TLS协议的小组,该协议经历了多次迭代。先前版本的tls,tls 1.2,是在RFC 5246中定义的, 并且在过去八年中已被大多数Web浏览器使用。在2018年3月21日,经过28次草案后,TLS 1.3已经完成。截至2018年8月,TLS 1.3的最终版本现已发布(RFC 8446)。

TLS 1.3的速度优势

在Web性能方面,TLS和加密连接总是会增加一些开销。HTTP/2确实有助于解决这个问题,但TLS 1.3通过TLS false start和 Zero Round Trip Time (0-RTT)等功能帮助加速加密连接。

简单地说,使用TLS 1.2,完成TLS握手需要两次往返。对于1.3,它只需要一次往返,从而将加密延迟减少一半。这有助于那些加密的连接比以前更为迅速。

另一个优点是,从某种意义上说,  它记得!在您之前访问过的站点上,您现在可以将第一条消息的数据发送到服务器。这被称为“零往返。”(0-RTT)。是的,这也可以缩短加载时间。

TLS 1.3的速度优势

使用TLS 1.3提高安全性

TLS 1.2的一个大问题是,经常没有正确配置,这会使网站容易受到攻击。TLS 1.3现在从TLS 1.2中删除过时和不安全的功能,包括以下内容:

  • SHA-1
  • RC4
  • DES
  • 3DES
  • AES-CBC
  • MD5
  • Arbitrary Diffie-Hellman groups — CVE-2016-0701
  • EXPORT-strength ciphers – Responsible for FREAK and LogJam

由于协议在某种意义上更简单,这使得管理员和开发人员不太可能错误地配置协议。

谷歌也提高了标准,因为他们已开始警告搜索的用户,他们正在转向TLS版本1.2,因为TLS 1不再那么安全。他们给出了2018年3月的最后期限。

TLS 1.3浏览器支持

自Chrome 65以来,Chrome已经发布了TLS 1.3的草稿版本。在Chrome 70(计划于2018年10月发布)中,将会提供连接启用TLS 1.3的最终版本。

在Firefox 52及更高版本(包括Quantum)中启用了TLS 1.3的草案版本。他们一直保留着对TLS 1.2的不安全回退,直到更多的服务器兼容TLS1.3协议。Firefox 63(定于2018年10月发布)将随TLS 1.3的最终版本一起发布。

TLS 1.3浏览器支持

尽管如此,互联网上的一些SSL测试服务还不支持TLS 1.3,其他浏览器(如IE、Microsoft Edge或Opera)也不支持。

Safari支持11.1版MacOS High Sierra上的TLS 1.3,但默认情况下它被禁用。您可以通过运行以下terminal命令手动启用它以进行测试:

sudo defaults write /Library/Preferences/com.apple.networkd tcp_connect_enable_tls13 1

注意:它们目前不支持0-RTT数据。

结语

就像HTTP/2一样,TLS 1.3是另一个令人兴奋的协议更新,期待在未来几年让我们受益。加密(HTTPS)连接不仅会变得更快,而且会更安全。更是推动网络向前发展!