TLS 全称为:Transport Layer Security——安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。目前 TLS 协议存在四个个版本:TLS 1.0、1.1 和 1.2、1.3。 TLS 1.0 规范于 1999 年 1 月发布,TLS 1.1 在 7 年之后发布,主要在生成初始化向量和预填充方面进行安全增强。
TLS 1.0 于 1999 年发行,至今将近有 20 年,业内公认的过时并且多年来易受各种攻击的版本,其支持较弱加密,对当今网络连接的安全已失去应有的保护效力。TLS 1.1 虽没有任何已知的协议漏洞,但是它却共享支持错误加密。因而存在一个现象,就是大部分软件都会跳过直接使用 TLS 1.2,而很少看到使用 TLS 1.1。
TLS 1.0/1.1 的主要问题是缺乏对现代密码的支持(如ECDHE和AEAD),在规范中存在支持旧密码的要求,在计算机工程发展的现阶段,其可靠性受到质疑(例如,要求支持 TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,MD5 和 SHA-1 用于完整性检查和认证)。对传统算法的支持已经导致了ROBOT、DROWN、BEAST、Logjam和FREAK等攻击。
然而,这些问题并不是协议的直接漏洞,而是在执行层面上被关闭了。TLS 1.0/1.1协议本身并不包含可以被利用来进行实际攻击的关键漏洞。