为什么目前主流浏览器不支持 1.0 以上版本的 TLS?

信息安全 tls
2021-08-26 07:38:53

TLS 1.0 似乎容易受到Beast、 Lucky13 和其他攻击,而且已经过时了。例如,Google 使用的常见解决方法是使用最近也被破坏的 RC4,但似乎没有一个主要浏览器正在实施更新版本的 TLS,除了用于更新 Windows 版本的 Microsoft IE。

动静如此之少是有原因的吗?

编辑:几乎相同的问题为什么它被关闭了?stackexchange上的谜团。2011-09-22
支持的 TLS 版本


我认为为了避免 TLS 1.0 出现问题,你必须禁止它吗?这可能需要时间。


我会滥用我的问题来回答 Thomas Pornin,因为这不适合发表评论。

像往常一样,你写了很多信:)

“RC4破损依旧是“学术”

你还记得 WEP 的历史吗?2001 年只有某些关键模式易受攻击,可以在不更改协议的情况下将其排除,2004 年不再是这种情况,2007 年只有 40k 个数据包就足够了。攻击永远不会变得更糟,只会变得更好。而在现实生活中,所有更新都需要时间,直到所有服务器都更新,这将过去几年,尽管它不像在 soho 路由器上那样。你能以可靠的概率预测它何时会成为现实吗?关于解决方法 - 它们是否向后兼容?他们会坚持多久?使用更新的 TLS 版本不是更容易吗?

在大多数服务器升级之前,将客户端支持升级到 TLS 1.2 不会有任何改变。

所以升级需要时间,早点开始,早点完成。

与 IPv6 的比较

好吧,使用 IPv4,您可以预测何时用完 IP。这取决于该国的大部分地区 - 那些首先进入互联网的人通常没有问题 :) 那些没有 IP 的人会推进 IPv6,比如中国。

在实践中,一些广泛使用的浏览器依赖于底层操作系统的 SSL/TLS 代码

哪个O_o?我以为只有 IE 这样做,谁在乎它没有工作的 AdBlock。

4个回答

几乎没有运动的主要原因是“休息”不够实用,无法出现在雷达上。

  • BEAST 不再起作用了首先,它需要一种方法让浏览器中的客户端代码(恶意 Java 或恶意 Javascript)发出跨域请求,并在位级别进行高级控制;解决此问题的两种已知方法(WebSockets 草案版本和 Java VM 实现中的漏洞)已得到修复。其次,浏览器和操作系统添加了解决方法,即1/n-1 拆分:每当要发出 TLS 记录时,都会发送两条记录,第一条记录仅包含一个字节的应用程序数据。此解决方法可防止应用 BEAST。

  • RC4 破损仍然是“学术”一段时间以来,人们就知道 RC4 有一些严重的偏差。最近的结果(2013 年 3 月)是一些系统测量,表明存在比以前想象的更多的偏差,因此实际攻击“只需要”观察几百万个与目标秘密的连接总是在同一个地方。虽然“几百万”相当低,但从攻击者的角度来看,在 Web 环境中仍然不切实际。因此,没有 cookie 通过使用 RC4 在野外被盗。此外,还有一些可能的变通方法更容易在浏览器中实现。

因此,对于客户端 TLS 实现的大规模更新没有真正的动机。事实上,浏览器供应商习惯于每周处理一次比这更具破坏性的漏洞(通常会导致对整个客户端系统的恶意劫持)。甚至不太可能注意到 SSL 中密码学的某种理论上的利用,更不用说采取行动了。使浏览器供应商转向更新版本的原因是对这些加密攻击的宣传。

此外,重要的一点是,用于任何给定连接的协议版本受客户端和服务器软件支持的限制。在大多数服务器升级之前,将客户端支持升级到 TLS 1.2 不会有任何改变。同样,在升级客户端之前,升级服务器支持并不是很有用。这是典型的墨西哥对峙,没有人在其中移动,因为它需要几个不同的供应商同时进行大规模的升级切换。就此而言,这与 IPv6(计划于 2007 年广泛采用)的情况相同。

在实践中,一些广泛使用的浏览器依赖于底层操作系统的 SSL/TLS 代码,因此任何大规模升级都必须等待 Windows XP 的生命周期结束(微软计划在明年)。

我不确定您所说的不支持是什么意思。目前以下浏览器支持 TLS 1.1 和 1.2:

  • Chrome - v30 支持 TLS 1.2。在此之前,仅支持 TLS 1.1
  • Firefox - v27默认启用 TLS 1.1 和 1.2
  • Internet Explorer - v11 从 2013 年 2 月开始支持 TLS 1.2
  • Opera - v17 增加了对 TLS 1.2 的支持。版本 10-12 支持 TLS 1.1 和 1.2 但默认禁用它,版本 14-16 支持 TLS 1.1 但不支持 1.2。
  • Safari - iOS 上的 v5 和 OS X 上的 v7 增加了对 TLS 1.2 的支持。

BEAST 已在现代浏览器上得到修复

虽然人们确实应该转向更新的 TLS 版本,但新协议并没有得到大量采用。与未激活较新协议的服务器存在兼容性问题。有关更多信息,请参阅此链接不过这篇文章已经有将近一年的历史了,所以从那时起可能已经有了改进。

不转移到较新的 TLS 版本的一个合理原因是,开发人员一直在对旧协议应用创可贴来修复任何漏洞。从长远来看,这显然是不可持续的。希望最近对 SSL/TLS 的攻击将促使人们加快向新版本协议的迁移。

Firefox 不支持 TLS 1.2 的原因是他们使用的网络安全服务的安全后端不支持它。实施正在进行中,请参阅此错误报告

更新:截至 2013 年 6 月 13 日,Chrome Canary 现在支持 TLS 1.2,因为相关错误现已修复。