Netflix 如何在网络不好时提供更安全、更流畅的流媒体体验?

简介: Netflix 专注于提供最好的流媒体体验。我们希望可以立即开始回放(playback),并且在任何网络环境中都不会意外停止。我们还致力于在不牺牲任何回放体验的情况下保护用户隐私和服务安全。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

CCFC49C6_C717_4c4e_AAE9_BE54B4F0CD57

Netflix 专注于提供最好的流媒体体验。我们希望可以立即开始回放(playback),并且在任何网络环境中都不会意外停止。我们还致力于在不牺牲任何回放体验的情况下保护用户隐私和服务安全。为实现这一目标,我们正使用 ABR(自适性串流)来实现更好的播放体验。同时,我们还使用 DRM(数字版权管理)来保护我们的服务,用 TLS(传输层安全)来保护客户隐私并创建一个更安全的流媒体体验。

在诸如电视、机顶盒等消费类电子设备上,Netflix 最近才在流媒体业务上使用 TLS 1.2。现在,为获得更安全、更流畅的体验,我们已经支持 TLS 1.3。

TLS 是什么?

要实现双方间的安全通信,就要有一个安全通道。该通道需要具有以下三个特性。

  • 身份验证:验证通信双方的身份。
  • 保密性:通过通道发送的数据仅对端点可见。
  • 完整性:通过通道发送的数据如果被攻击者修改可以检测到。

TLS 协议旨在通过提供实现上述特性的工具和方法,来提供两个对等点之间的安全通道。

TLS 1.3

TLS 1.3 是传输层安全协议(Transport Layer Security)的最新版本。与前一个版本相比,它更简单、更安全、更高效。

Perfect Forward Secrecy

对 Netflix 而言,我们认为非常重要的一点是提供 PFS (Perfect Forward Secrecy)。

PFS 是密钥交换算法的一个特性,即使服务器的私钥被破坏,它也可以确保会话密钥不被破坏。通过为每个会话生成新的密钥,PFS 可以保护过去的会话不受未来密钥泄露的影响。

TLS 1.2 支持具备 PFS 特性的密钥交换算法,但是它也允许不支持 PFS 的密钥交换算法。即使在 TLS 1.2 的前一个版本中,Netflix 也总是会选择一个提供 PFS 的密钥交换算法,比如 ECDHE(Elliptic Curve Diffie Hellman Ephemeral)。不过,TLS 1.3 删除了所有不提供 PFS 的密钥交换算法(如静态 RSA),进一步强化了这一概念。

认证加密

对于加密,TLS 1.3 删除了所有弱密码,只使用带有关联数据(AEAD)的认证加密。这保证了数据的保密性、完整性和真实性。我们使用 AES Galois/Counter 模式,因为它同时还提供良好的性能和高吞吐量。

安全握手

虽然上述更改很重要,但 TLS 1.3 中最重要的变化可能是重新设计了握手协议。

TLS 1.2 的握手并不是为了保护整个握手过程的完整性而设计的。它只保护 cipher suite negotiation 后的握手部分,这就增加了降级攻击的可能性,让攻击者能强制使用不安全的 cipher suites。

使用 TLS 1.3,服务器会对整个握手过程(包括 cipher suite negotiation)进行签名,从而防止攻击者降低 cipher suite 的级别。
同样,在 TLS 1.2 中,扩展在 ServerHello 中是明文发送的。现在,在 TLS 1.3 中,甚至连扩展都加密了,ServerHello 后的所有握手消息都加密了。

减少握手

TLS 1.2 支持许多密钥交换算法、cipher suites 和数字签名,包括易受攻击的数字签名。因此,它执行一次握手需要更多的消息和两次网络往返。

相比之下,TLS 1.3 中的握手现在只需要一次往返,它简化了设计,去掉了所有易受攻击的算法。

此外,它还有一个针对重新握手的新特性,称为 0-RTT 或 TLS 早期数据。这让应用程序可以在初始握手消息中包含应用程序数据,而不必等到握手完成。

在 Netflix,我们通过高效地恢复 TLS 会话并谨慎地将 0-RTT 用于流数据,来减少播放延迟。

A22C962A_891D_4b8d_9A62_B0E63BC1C4E2

A/B 测试结果

基于对 TLS 1.3 的协议组合分析,我们确信它会给我们带来更好的安全性,但是,我们不知道它在流媒体环境下的效果如何。
由于 TLS 1.3 的性能特性是支持重新握手的 0-RTT 模式,所以我们假设 TLS 1.3 将减少延迟。我们不需要再等待握手完成,相反,我们可以更早地发送媒体数据 HTTP 请求,并接收媒体数据的 HTTP 响应。

为了解 TLS 1.3 在实际应用时的性能,我们做了一个实验:

  • 用户帐户:每个组 50 万个帐户
  • 设备类型:中端设备(Quad ARM core @ 1.7GHz)
  • 对照组:TLS 1.2
  • 实验组:TLS 1.3

播放延迟

播放延迟是指需要多少时间才开始播放。以下是在实验中测得的播放延迟数据。结果表明,在较慢或拥塞的网络中(即分位数大于 0.75),TLS 1.3 的增益最大,并且在所有的网络条件下都有所改善。

01955931_E1CC_4946_AF84_7BDB6D07C0DE

下面是实验所用的中端设备在实际应用中的时序平均播放延迟图。从中可以看出,使用 TLS 1.3 播放开始得更早。

073426A4_ED0F_42d3_8AA1_1BCF34BDAB0B

Media Rebuffer(媒体重新缓冲)
在 Netflix,我们将媒体重新缓冲定义为非网络起点的重新缓冲。其发生通常是由于 CPU 的负载过高导致设备处理媒体数据的速度不够快。与对照组使用的 TLS 1.2 相比,使用 TLS 1.3 的实验组在媒体重新缓冲方面提高了大约 7.4%。
这个结果表明,使用 TLS 1.3 和 0-RTT 更高效,可以减少 CPU 负载。

9A9309E5_8137_4eee_993F_606B27F5E44C

小结

从安全性分析来看,我们相信 TLS 1.3 的通信安全性比 TLS 1.2 高。从现场测试来看,我们相信 TLS 1.3 能为我们提供更好的流媒体体验。
此时,互联网正经历着比平时更高的流量和拥堵。我们相信,即使节省少量的数据和网络往返也很有意义,如果它还能提供更安全、更高效的流媒体体验,那就更好了。

因此,我们已经开始在比较新的消费类电子设备上部署 TLS 1.3,希望不久的将来可以部署到更多的设备上。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-05-07
本文作者:Netflix Technology Blog
本文来自:“InfoQ”,了解相关信息可以关注“InfoQ

相关文章
|
28天前
|
云安全 机器学习/深度学习 安全
云端防御战线:云计算安全与网络防护策略
【2月更文挑战第30天】 在数字转型的浪潮中,云计算已成为企业IT架构的核心。然而,随着云服务应用的普及,网络安全威胁也随之增加。本文将深入探讨云计算环境中面临的安全挑战,并剖析如何通过一系列先进的技术手段和策略来加强数据保护,确保信息资产的安全。我们将讨论包括加密技术、身份认证、入侵检测系统、安全事件管理等在内的多种安全措施,并分析这些措施如何协同工作以形成一个多层次的防御体系。
|
1月前
|
安全 网络协议 Unix
网络安全产品之认识安全隔离网闸
随着互联网的发展,网络攻击和病毒传播的方式越来越复杂,对网络安全的要求也越来越高。传统的防火墙设备在面对一些高级的网络攻击时,往往难以做到全面的防护,因此需要一种更加有效的网络安全设备来提高网络的安全性。此外,随着信息技术的不断发展,各个行业对信息系统的依赖程度也越来越高,一旦信息系统遭受攻击或入侵,可能会导致数据泄露、系统瘫痪等严重后果。因此,对于一些高安全级别的网络环境,如政府、军队、公安、银行等,需要一种更加可靠的安全设备来保证网络的安全性。在这样的背景下,安全隔离网闸作为一种新型的网络安全设备应运而生。本文让我们一起来认识安全隔离网闸。
36 0
|
27天前
|
存储 安全 网络安全
构筑安全堡垒:云计算环境下的网络安全与防护策略
【2月更文挑战第31天】 在信息技术迅猛发展的当代,云计算以其高效、灵活和成本优化的特点成为企业数字化转型的重要支撑。然而,随着云服务的广泛应用,数据的安全与隐私保护问题也日益凸显。本文将深入探讨在复杂多变的云计算环境中,如何通过创新技术和策略加强网络安全防护,确保信息安全。我们将分析当前云计算服务中存在的安全威胁,探讨加密技术、身份认证、访问控制以及入侵检测等关键技术的应用,并提出一个多层次、综合性的安全防护框架,以助力企业在享受云计算便利的同时,有效防范安全风险。
|
3月前
|
开发框架 安全 .NET
【网络安全】搭建安全及拓展
【网络安全】搭建安全及拓展
64 0
|
3月前
|
安全 网络虚拟化 云计算
阿里云转发路由器Transit Router:构建云上高效、灵活且安全的网络架构之利器
本评测报告围绕阿里云转发路由器Transit Router(TR)在跨地域跨VPC网络互通、企业云上网络架构规划和第三方SD-WAN设备对接三个场景的表现进行了详细评估。评测结果显示,TR凭借强大的路由控制能力和灵活的互通策略,在云上构建高效、灵活且安全的网络架构方面表现出色。同时,TR与第三方SD-WAN设备的良好兼容性也为企业提供了更多组网选择。本报告旨在为企业在云上网络架构规划和部署过程中提供参考和指导。
|
27天前
|
存储 安全 网络安全
云计算与网络安全:构建数字化安全堡垒
在当今数字化时代,云计算技术的快速发展为企业提供了更便捷高效的信息化解决方案,然而,随之而来的网络安全隐患也备受关注。本文将探讨云计算与网络安全的紧密关系,分析云服务、网络安全、信息安全等技术领域的发展现状,以及如何通过有效的策略和技术手段构建数字化安全堡垒,确保信息安全与数据隐私。
12 1
|
4月前
|
云安全 安全 大数据
华为增强版专线卫士高性能真安全,守护甘肃兰投集团网络安全,保障专线体验品质
甘肃移动政企团队协同华为乾坤云安全团队进行现网出入流量检查和分析,通过华为乾坤云平台直观的攻击源信息显示和高级情报分析,发现兰投集团OA办公系统存在wpsAssistServlet任意文件上传漏洞,由于兰投致远OA某些接口能被未授权访问,且安全防护存在不足,攻击者可以通过构造恶意请求,可在未授权的情况下上传恶意脚本文件,导致服务器或其他核心信息资产存在安全隐患。
|
1天前
|
运维 安全 Cloud Native
安全访问服务边缘(SASE):网络新时代的安全与连接解决方案
SASE(安全访问服务边缘)是一种云基安全模型,结合了网络功能和安全策略,由Gartner在2019年提出。它强调身份驱动的私有网络、云原生架构和全面边缘支持,旨在解决传统WAN和安全方案的局限性,如高延迟和分散管理。SASE通过降低IT成本、提升安全响应和网络性能,应对数据分散、风险控制和访问速度等问题,适用于移动办公、多分支办公等场景。随着网络安全挑战的增加,SASE将在企业的数字化转型中扮演关键角色。
|
3天前
|
SQL 安全 Java
Java安全编程:防范网络攻击与漏洞
【4月更文挑战第15天】本文强调了Java安全编程的重要性,包括提高系统安全性、降低维护成本和提升用户体验。针对网络攻击和漏洞,提出了防范措施:使用PreparedStatement防SQL注入,过滤和转义用户输入抵御XSS攻击,添加令牌对抗CSRF,限制文件上传类型和大小以防止恶意文件,避免原生序列化并确保数据完整性。及时更新和修复漏洞是关键。程序员应遵循安全编程规范,保障系统安全。