介绍
今年早些时候,不赞成使用支付卡行业(PCI)标准的安全委员会(SSC) TLS 数据安全标准(DSS)[1.0]中的01版。 因此,从2018年夏季开始,所有符合PCI-DSS要求的电子商务网站都不得再使用此早期,不安全的版本 TLS。 此决定类似于其他加强措施 TLS –例如,不推荐使用美国国家标准技术研究院(NIST)(自2014年起) TLS 1.0在他们的政府指南[02]中,这一起促使许多组织从其系统中放弃对1.2之前的版本的支持。
TLS 是一门技术含量很高的学科。 本文介绍了做出这些决定的原因,并说明了如何过时 TLS 版本是向更安全更好的互联网迈出的一步。
传输层安全性(TLS)
TLS 是一种加密协议,可防止在计算机网络上传输过程中读取或更改数据。 TLS 是以前的安全套接字层(SSL)协议的继承者,并在此基础上建立。 自1999年[03]发行以来, TLS 令人惊讶的多样化和广泛的应用程序阵列已经采用了,并且几乎可以在任何希望保护两端之间的通信的应用程序中使用它。 (在技术交流中,这些通常称为 客户 和 服务器.)
最知名的用途 TLS 是为了保护浏览器和HTTPS网站之间的连接(例如您正在SSL.com的服务器上阅读的本文)。 销售点(POS)终端与其后端服务器进行通信(以保护信用卡信息)以及即时消息传递应用程序,电子邮件客户端,IP语音(VoIP)软件等也使用它。 。
目前,有四个版本的 TLS 可供选择:
- TLS 1.0(于1999年发布)是第一个版本,现在已弃用。
- TLS 1.1(2006年发布)从未被业界采用。 很大程度上跳过了它,以支持其后继版本1.2。
- TLS 1.2(2008年发布)是最常用的 TLS 版。 几乎所有服务支持 TLS 默认为1.2。
- TLS 1.3(于2018年发布)是该版本的实验版本 TLS 比旧版本提供更高性能和安全性的协议。 尽管仍在研究中,尚未正式标准化[04],但应注意,该行业已开始对其版本草案提供支持。
现代与早期 TLS
最早的漏洞 TLS 1.0协议在过去几年中已引起网络安全社区的关注,诸如POODLE,CRIME和BEAST之类的漏洞已经产生了足够的影响,甚至影响了主流媒体。 然而, TLS 不断发展以应对新的威胁; 努力改进第一个版本 TLS由Internet工程任务组(IETF)网络工作组(NWG)进行的,从而产生了更好,更安全的当前标准, TLS 1.2.
TLS 1.2使用了现代加密技术,并提供了比其前身更好的性能和安全性。 同时,它不受上述任何漏洞的影响,这使其成为安全通信中任何应用程序的理想选择。 大多数公司和组织已升级其服务器以支持 TLS 1.2.
但是,并非所有客户端软件都可以升级到更高版本的 TLS。 例如,新闻网站必须能够被现代和较旧的浏览器访问,这仅仅是因为仍然有读者在使用它们。 这包括版本5.0之前的Android设备,版本11之前的Microsoft Internet Explorer,Java版本1.7之前的Java程序,甚至某些升级费用较高的远程支付终端或监控设备。 此外,与旧配置的兼容性要求甚至现代客户端软件也必须能够与过时的服务器通信。
根据SSL Pulse [05]的一项服务,该服务报告Alexa的前500个站点的统计信息 TLS 截至2018年90.6月,支持XNUMX%的托管受监控网站的服务器受支持 TLS 1.0,同时支持85% TLS 1.1。 此外,几乎所有浏览器(和许多非浏览器客户端)仍支持旧版本 TLS 版本。 因此,虽然 TLS 首选1.2,大多数客户端和服务器仍支持早期 TLS.
TLS 安全考虑
由于大多数现代浏览器和客户端都实现了 TLS 1.2,非技术用户可能会认为它们应该是安全的(并且那些尚未升级的系统必须被接受为业务风险)。 不幸的是,事实并非如此-仅支持早期版本的 TLS 甚至对现代客户端和服务器的用户也构成安全威胁。
TLS 提供网络安全性,其主要目的是防止攻击者读取或修改网络节点之间交换的数据。 因此,它减轻了网络攻击,例如中间人(MITM)攻击[05]。 MITM攻击利用了可以操纵计算机网络的事实,以便网络的所有节点将其流量发送给攻击者,而不是预期的路由器或其他节点。 然后,攻击者可以在将拦截的内容中继到其预期目标之前读取或修改该内容。 TLS 通过使用仅原始客户端和服务器才知道的密钥对数据进行加密来防止MITM攻击。 不知道此秘密密钥的MITM攻击者无法读取或篡改加密的数据。
然而, TLS 客户端和服务器之间的版本必须匹配,并且由于它们通常支持多个 TLS 版本,他们通过称为a的协议来协商要使用哪个版本 握手。 在此握手中,客户端发送一条初始消息,指出最高 TLS 它支持的版本。 然后,服务器以选择的响应 TLS 版本,如果找不到通用版本,则返回错误。 请记住,握手消息未加密地交换,因为此信息用于配置安全数据通道。
降级攻击
细心的读者可能已经怀疑,由于握手未加密,因此执行MITM攻击的攻击者可能会看到并修改请求的内容。 TLS 较早的,易受攻击的版本 TLS 1.0。 然后,他们可以继续使用上述任何内容 TLS 1.0个漏洞(例如POODLE或CRIME)来破坏连接。
在软件安全中,称为强迫受害者使用较旧,更易受攻击的软件版本的攻击称为 降级攻击。 利用任何协议漏洞的攻击者实质上都具有相同的目标:损害网络安全性并获得对交换数据的访问权限。 这些漏洞的技术细微之处与弃用 TLS 1.0(并提供有关此类攻击的详细信息超出了本文的范围),但是作者想强调指出,存在公开可用的工具,即使非技术攻击者也可以执行降级攻击。 想象一下,在去机场之前,或者在咖啡馆的在线银行应用程序中检查余额时,使用最新的手机阅读邮件。 如果您手机的浏览器或银行应用程序允许使用较早版本的Internet连接,则准备好使用这些工具的攻击者可以拦截甚至篡改您的信息。 TLS.
实际上,只要网络连接中的服务器和客户端支持较旧的版本 TLS 他们(和您)的版本容易受到攻击。
我受到影响了吗?
为了减轻这种风险,不建议使用PCI SSC和NIST TLS 在符合其标准的系统中为1.0。 而 TLS 1.1并非易受所有发现的漏洞的攻击,它从未在市场上真正被采用,并且许多公司和组织最近都放弃了对 TLS 1.1。 再次,从2018年XNUMX月起,查看SSL Pulse数据, TLS 1.0,只有76.6%的受监视网站仍支持 TLS 1.0,只有80.6%的支持 TLS 1.1。 这意味着这些标准中引入的更改已产生效果,大约16,000个主要站点已删除 所有 支持早期 TLS 版本。
降级攻击适用于客户端和服务器。 有关读者可以使用 测试,这是一个公开可用的工具包,可以使用免费使用的浏览器工具[07]和Web服务器工具[08]检查其软件是否存在这些漏洞。
如果您的服务器仍然支持易受攻击者 TLS 版本,请注意SSL.com即将发布的有关配置Web服务器以符合大多数安全标准的指南。
SSL.com发行的数字证书可用于所有版本的 TLS,因此无需采取任何措施。
结论
TLS 为互联网用户提供安全和隐私。 多年来,研究人员发现了严重的协议漏洞,这促使大多数公司升级其系统以使用更现代的 TLS 版本。 尽管已证明存在安全隐患,但是对老客户的支持仍然是一项业务需求。 希望PCI SSC和NIST以及其他选择尽早弃用的组织 TLS,将激励其他人加入他们和SSL.com,以促进更安全,更好和更安全的互联网。