行业新闻与博客
Netflix 如何使用 TLS 1.3 在拥挤的网络上为客厅带来更安全,更快速的流媒体体验
在 Netflix,我们沉迷于最佳的流媒体体验。我们希望播放能够立即开始,并且在任何网络环境中都不会意外停止。我们还致力于在不牺牲播放体验的任何部分的情况下保护用户的隐私和服务安全。
为了实现这一目标,我们有效地使用 ABR(自适应比特率流)来获得更好的播放体验,使用 DRM(数字版权管理)来保护我们的服务,并使用 TLS(传输层安全性)来保护客户的隐私并创建更安全的流体验。
直到电视,机顶盒和流媒体棒等消费电子设备上的 Netflix 才使用 TLS 1.2 进行流媒体流量。现在,我们支持 TLS 1.3,以提供更安全,更快速的体验。
什么是 TLS?
为了使两方安全通信,安全通道是必要的。这需要具有以下三个属性。
身份验证:已验证通信方的身份。
机密性:通过通道发送的数据仅对端点可见。
完整性:攻击者未经检测就无法修改通过通道发送的数据。
TLS 协议旨在通过提供实现上述属性的工具和方法在两个对等点之间提供安全通道。
TLS 1.3
TLS 1.3 是传输层安全协议的最新版本。它比其前身更简单,更安全,更高效。
完善的前向保密
我们认为在 Netflix 上非常重要的一件事是提供 PFS(完美前向保密)。
PFS 是密钥交换算法的一项功能,该功能可确保即使服务器的私钥受到破坏,会话密钥也不会受到破坏。 通过为每个会话生成新密钥,PFS 可以保护过去的会话,以防将来密钥泄露。
TLS 1.2 支持带有 PFS 的密钥交换算法,但它也允许不支持 PFS 的密钥交换算法。即使使用 TLS 1.2 的先前版本,Netflix 仍始终选择提供 PFS 的密钥交换算法,例如 ECDHE(椭圆曲线 Diffie Hellman 临时)。但是,TLS 1.3 通过删除所有不提供 PFS 的密钥交换算法(例如静态 RSA),进一步加强了这一概念。
认证加密
对于加密,TLS 1.3 会删除所有弱密码,并且仅使用带有关联数据的身份验证加密(AEAD)。这样可以确保数据的机密性,完整性和真实性。我们使用 AES Galois / 计数器模式,因为它还提供了良好的性能和高吞吐量。
安全握手
尽管上述更改很重要,但 TLS 1.3 中最重要的更改可能是对握手协议的重新设计。
TLS 1.2 握手并非旨在保护整个握手的完整性。在密码套件协商之后,它仅保护了握手的一部分,这开辟了降级攻击的可能性,这可能使攻击者强制使用不安全的密码套件。
使用 TLS 1.3,服务器将对整个握手进行签名,包括密码套件协商,从而防止攻击者降级密码套件。
同样在 TLS 1.2 中,扩展是在 ServerHello 中以明文形式发送的。现在使用 TLS 1.3,即使扩展名也已加密,并且 ServerHello 之后的所有握手消息也已加密。
减少握手
TLS 1.2 支持多种密钥交换算法,密码套件和数字签名,包括弱者和易受攻击者。因此,它需要更多消息来执行握手和两次网络往返。
相比之下,TLS 1.3 中的握手现在只需要一次往返,就简化了设计,并删除了所有弱和易受攻击的算法。
此外,它还具有一个称为 0-RTT 或 TLS 早期数据的新功能,用于恢复握手。这允许应用程序在其初始握手消息中包含应用程序数据,而不必等到握手完成。
在 Netflix,通过有效地恢复 TLS 会话以及对流数据谨慎使用 0-RTT,我们可以减少播放延迟。
A / B 测试结果
我们对 TLS 1.3 的协议组成分析充满信心,但我们不知道 TLS 1.3 在流传输上下文中的性能如何。
由于 TLS 1.3 的与性能相关的功能是具有恢复握手功能的 0-RTT 模式,因此我们的假设是 TLS 1.3 会减少播放延迟,因为我们不再需要等待握手完成,而可以发出媒体数据的 HTTP 请求,并较早接收媒体数据的 HTTP 响应。
为了在现场查看 TLS 1.3 的实际性能,我们使用
用户帐户:每个单元有 50 万个用户帐户。
设备类型:具有 Quad ARM 内核 @ 1.7GHz 的中性能设备。
控制单元:TLS 1.2
处理单元:TLS 1.3
播放延迟
播放延迟由开始播放所需的时间定义。以下是实验中测量的播放延迟的结果。结果表明,在速度较慢或拥塞的网络(至少可以用 0.75 的分位数表示)上,TLS 1.3 实现了最大收益,并且在所有网络条件下均得到了改善。
下面是该性能中等的设备在现场的时间序列中值播放延迟图。它还显示回放从 TLS 1.3 开始更早。
媒体缓冲
在 Netflix,我们将媒体重新缓冲定义为非网络起源的重新缓冲。当由于 CPU 的高负载而导致设备对媒体数据的处理速度不够快时,通常会发生这种情况。与带有 TLS 1.2 的控制单元相比,带有 TLS 1.3 的实验单元显示了媒体重缓冲的大约 7.4%的改善。此结果表明,将 TLS 1.3 与 0-RTT 结合使用会更有效,并且可以减少 CPU 负载。
结论
通过安全性分析,我们相信 TLS 1.3 会比 TLS 1.2 改善通信安全性。通过现场测试,我们相信 TLS 1.3 为我们提供了更好的流媒体体验。
在撰写本文时,Internet 的通信量和通信量都比平常高。我们相信,即使它还能提供更安全,更有效的流媒体体验,节省少量数据和往返也可能是有意义的,甚至更好。
因此,我们已经开始在较新的消费电子设备上部署 TLS 1.3,并且我们预计在不久的将来将有更多具有 TLS 1.3 功能的设备被部署。
本文由机器译制
最近新闻
2024年11月12日
2024年11月12日
2024年11月12日
2024年11月12日
2024年10月28日
2024年10月28日
2024年10月28日
2024年10月28日
需要帮助吗?联系我们的支持团队 在线客服