• TLS 1.3 协议介绍

    注意:开启TLS1.3 #firefox 和 chrome 已经支持tls1.3,无需手动开启。

    • 协议介绍

      TLS(Transport Layer Security)的中文全称是安全传输层协议,TLS的设计目标是在传输层之上,构建一个安全传输层。 因为有了TLS的存在,HTTP协议栈增加了安全性。变成了目前大规模使用的HTTPS。SSL是TLS的前身。在TLS1.3发布之前,TLS 1.2是该协议的最新版本。TLS是保护Web应用程序和Web浏览器之间通信的标准,但更常见的是通常位于可靠传输层上的客户端和应用程序之间。

      Netscape(网景公司)针对传输层协议(TCP/UDP)并没有对传输的数据进行加密保护的缺陷,为自家浏览器设计了SSL协议,于1995年公开协议的2.0版本。1999年,IETF小组基于SSL 3.0设计了与SSL协议独立的TLS 1.0协议,正式成为互联网传输层加密的标准。此后,TLS协议于2006年、2008年再次经历更新,分别命名为TLS 1.1和TLS 1.2。

      如今的TLS协议不仅被用于传输层通讯,更作为一个标准的加密保护协议被广泛应用于 FTP, 电子邮件和VPN等领域,时刻保护着我们网络通信的安全。


    • TLS 1.3 与 TLS 1.1、1.2 的区别

      TLS 1.3 是时隔九年对 TLS 1.2 等之前版本的新升级,也是迄今为止改动最大的一次。针对目前已知的安全威胁,IETF(Internet Engineering Task Force,互联网工程任务组) 正在制定 TLS 1.3 的新标准,使其有望成为有史以来最安全,但也最复杂的 TLS 协议。

      TLS 1.3 与之前的协议有较大差异,主要在于:

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

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


    • TLS 1.3 优势 - 更快的访问速度

      为了对比 TLS 1.3 在 TLS 握手阶段的变化, 这里将 TLS 1.2 和 TLS 1.3 在 TLS 握手阶段进行对比。

      tls

      △ TLS 1.2 完整握手框架(来自 RFC 5246)

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

      tls

      △ TLS 1.3 完整握手框架(来自 TLS 1.3 最新草案 )

      TLS 1.3 的握手不再支持静态的 RSA 密钥交换,这意味着必须使用带有前向安全的 Diffie-Hellman 进行全面握手。从上图可以看出,使用 TLS 1.3 协议只需要一次往返( 1-RTT )就可以完成握手。 相比 TLS 1.2,TLS 1.3 的握手时间减半。这意味着访问一个移动端网站,使用 TLS 1.3 协议,可能会减少将近 100ms 的时间。


    • TLS 1.3 优势 - 更强的安全性

      TLS 的发展有 20 多年的历史,在之前的版本中,TLS 1.2 是高度可配置的,为了更好的兼容旧版本的浏览器,这意味着那些易受攻击的站点始终在运行着不安全的加密算法,这让互联网黑客有可乘之机。

      TLS 1.3 在之前版本的基础上删除了那些不安全的加密算法,这些加密算法包括:

      • RSA 密钥传输 —— 不支持前向安全性
      • CBC 模式密码 —— 易受 BEAST 和 Lucky 13 攻击
      • RC4 流密码 —— 在 HTTPS 中使用并不安全
      • SHA-1 哈希函数 —— 建议以 SHA-2 取而代之
      • 任意 Diffie-Hellman 组—— CVE-2016-0701 漏洞
      • 输出密码 —— 易受 FREAK 和 LogJam 攻击

      通过这种简化的方法,Web开发人员和管理员现在不易受到协议配置错误的影响,从而使网站在机密性和完整性方面对用户更安全,并降低了网络攻击的风险。总之,TLS 1.3 相比老版本的 TLS 协议将会更加安全,这也代表着互联网安全的一大进步。


    • 在 Firefox 中手动启用 TLS 1.3

      • 在 Firefox 地址栏中执行 about:config 打开浏览器配置选项
      • 使用 ctrl + f 快捷键搜索 security.tls.version 这个「首选项名称」并双击打开,查看该首选项的值。
      • 首选项 security.tls.version.max 值用以确定 Firefox 支持的最高 TLS 协议级别。如果它设置为 3,则支持 TLS 1.2。如果将其值设置为 4,则可启用 Firefox 对 TLS 1.3 的支持。
      • 值用以确定 Firefox 支持的最高 TLS 协议级别。如果它设置为 3,则支持 TLS 1.2。如果将其值设置为 4,则可启用 Firefox 对 TLS 1.3 的支持。
      • 您可以在 myssl.com 网站上对浏览器所支持的协议和安全功能进行检查。 如果 security.tls.version.max 首选项设置为 4,应该可以看到浏览器支持 TLS 1.3。

    • 在 Chrome 中手动启动 TLS 1.3

      • 在 Chrome 浏览器的地址栏中加载 chrome://flags/,打开 Web 浏览器的实验页面。
      • 搜索区域搜索 TLS 或者 tls,找到 TLS 1.3 选项,默认为 Default,需要将 Default 改为 Enabled。
      • 重新启动 Chrome 浏览器。

  • TLS 检测工具

    提示:在下方输入域名信息即可获取 TLS 支持状态

    检测结果

    暂无检测信息
  • 弃用 TLS 1.0、TLS 1.1

    tls

    所有主流网络浏览器(包括谷歌Chrome,苹果Safari, Microsoft Edge, Internet Explorer和Mozilla Firefox)10月16日宣布即将取消对TLS 1.0和TLS 1.1通信加密协议的支持。

    传输层安全协议(Transport Layer Security, 简称TLS)最初作为安全套接字层(Secure Sockets Layer, SSL)协议被开发,是一种更新的加密协议,被用于在客户端和服务器之间建立安全加密的通信通道。 TLS协议目前有4个版本——TLS 1.0、1.1、1.2和1.3(最新版本),而旧版本TLS 1.0和1.1容易受到一些已知的严重攻击,例如POODLE和BEAST。

    过去由于主流web浏览器和应用程序中的TLS实现都支持降级协商过程,导致即使服务器支持最新版本,攻击者也有机会利用较弱的协议实施攻击。 到2020年,所有主流Web浏览器都将取消TLS 1.0和TLS 1.1的支持。根据谷歌、微软、苹果和Mozilla四大公司发布的公告,他们的网络浏览器将在2020年上半年完全放弃对TLS 1.0和1.1的默认支持。

    TLS 1.2于10年发布,开发目的即解决TLS 1.0和1.1的缺陷。自那以后,TLS 1.2得到了广泛的采用,加上TLS 1.3尚在开发阶段,TLS 1.2成为默认的TLS版本。

    微软表示,随着TLS 1.0的不断老化,许多网站转向使用新版本的协议。目前,94%的站点已经支持TLS 1.2,而Microsoft Edge中只有不到1%的日常连接使用TLS 1.0或1.1。

    “从安全技术的生命周期角度看,20年确实是漫长的。虽然我们不知道TLS 1.0和TLS 1.1的最新的严重漏洞,但确实有可被第三方利用的空隙。 迁移到更新版本有助于确保为所有人提供更安全的网络环境。我们预计IETF将在今年正式弃用TLS 1.0和1.1,届时IETF将不再解决这些版本中的协议漏洞。”

    另外,苹果声称TLS 1.2是其平台上的标准,占Safari TLS连接的99.6%,而TLS 1.0和1.1所占比例不到0.36%。 而目前谷歌的Chrome也只有0.5%的HTTPS连接使用TLS 1.0或1.1。Gitlab也于10月15日宣布,将弃用TLS 1.0和TLS 1.1的支持,2018年底将不再支持其API基础设施。