售前咨询
技术支持
渠道合作

为什么浏览器仍旧没启用TLS.1.3(四)

原来的协议谈判机制是不可恢复的。这意味着它可能不会在未来版本的TLS中使用,而不会有重大的破坏。然而,许多其他协议谈判的特点仍然是灵活的,如密码套件的选择和扩展。保持这种方式将是非常好的。

去年,Adam Langley写了一篇关于加密协议设计的博客文章(https://www.imperialviolet.org/2016/05/16/agility.html),在文章中,他提出了“have one joint and keep it well oiled.”。这对协议设计者来说是一个很好的建议。僵化是真实的,正如我们在TLS 1.3中看到的那样。

大卫·本杰明(David Benjamin)提出了一种方法来保持TLS中最重要的关节。他对GRE的GREASE提案是为了在协议应该容忍新值的情况下抛出随机值。如果流行的实现在真实的部署中插入未知的密码、扩展和版本,那么实现者将被迫正确地处理它们。在互联网上,GREASE就像WD-40一样。

有一点需要注意的是,GREASE旨在防止服务器僵化,而不是中间件,所以在TLS中仍有可能出现更多类型的GREASE。

即使有了GREASE,一些服务器直到2017年12月才被发现无法支持TLS 1.3。GREASE只识别那些不能接受未知扩展的服务器,但有些服务器可能仍然不能容忍特定的扩展id。例如,RSA的BSAFE库使用了扩展id 40作为一个名为“extended_random”的实验性扩展,与一个理论上的美国国家安全局后门联系在一起。扩展id 40恰好是TLS 1.3密钥共享的扩展id。David Benjamin报道说,一些打印机仍在使用该库,这导致他们无法忍受TLS 1.3。Matthew Green对这个兼容性问题进行了详细的描述。

Google和Facebook一直在做自己的测量。这些实验很难执行,因为开发人员需要将协议变体添加到浏览器中,浏览器可以使用浏览器的整个发布周期(通常是几个月),让用户看到问题。Cloudflare现在支持最新与middlebox兼容的TLS 1.3草案版本(草案22),但是总有机会找到一个与这个版本不兼容的middlebox。

本文由GDCA翻译于cloudflare