Netflix如何通过支持TLS 1.3提供更安全高效的播放体验
翻譯:LiveVideoStack
來源:Netflix Tech Blog
Technologist Note:這樣一個端到端的加密通信系統,對Netflix而言,是為了保護自身網絡的數據流,防止截播一類的情況發生。同時,就算有不懷好意的人拿到了數據,也沒有辦法解讀。現在基本上是TLS1.2就已經很難被解密了,但有一些黑客就是喜歡冒險去做這個事情。
密碼保護或者是點對點的加密通信,對Netflix這種規模的流媒體服務來說非常重要,尤其他們現在原創的劇集越來越多,一個平臺肯定要保護好自己的內容與用戶。(來自南京大學副教授馬展)
在Netflix,觀眾希望得到最流暢的觀影體驗,這意味所有的視頻都必須做到即點即播,并且在任何網絡環境中都不會出現卡頓。與此同時,Netflix還致力于在不犧牲觀影體驗的情況下保護用戶的隱私與安全。
為了實現這一目標,Netflix使用了ABR(自適應比特率流)來獲得更好的播放體驗、用DRM(數字版權管理)來保護自身提供的服務,并使用TLS(傳輸層安全協議)來保護客戶的隱私并創造更安全的播放體驗。
此前,在消費者的電視、機頂盒和電視棒之類的電子設備上,Netflix一直使用TLS 1.2,現在,為提供更安全、快速的播放體驗,Netflix開始支持TLS 1.3。
什么是TLS
為了使兩方安全通信,安全通道是非常必要的,它需要具有以下三個屬性。
? 身份驗證:已驗證通信方的身份。
? 機密性:通過通道發送的數據僅對終端可見。
? 完整性:未經檢測的攻擊者無法修改通過通道發送的數據。
TLS協議旨在通過提供實現上述屬性的工具和方法在兩端之間提供安全通道。
TLS 1.3是傳輸層安全協議的最新版本,它比其前身更簡單、安全和高效。
PFS
Netflix認為提供PFS(完美前向保密性)是非常重要的。
PFS是密鑰交換算法的一項功能,該功能確保即使服務器的私鑰受到破壞,會話密鑰也不會受到破壞。通過為每個會話生成新的密鑰,PFS可以保護過去的會話,以防將來密鑰遭到泄露。
TLS 1.2支持帶有PFS的密鑰交換算法,但它也允許不支持PFS密鑰交換算法的存在。即使在使用TLS 1.2的早期版本時,Netflix仍始終選擇提供PFS的密鑰交換算法,例如ECDHE(Elliptic Curve Diffie HellmanEphemeral)。但是,TLS 1.3通過刪除所有不提供PFS的密鑰交換算法(例如靜態RSA),進一步加強了這一功能。
認證加密
對于加密,TLS 1.3會刪除所有弱密碼,并且僅使用帶有關聯數據的身份驗證加密(AEAD)。這樣可以確保數據的機密性、完整性和真實性。Netflix使用AES Galois /計數器模式,因為它擁有良好的性能并能提供高吞吐量。
安全握手
盡管上述更改很重要,但TLS 1.3中最重要還是對握手協議的重新設計。
TLS 1.2握手并非僅僅是為了保護整個握手的完整性而設計。在密碼組協商(cipher suite negotiation)之后,它僅保護握手的一部分,這就為降級攻擊提供了可乘之機,并有可能使攻擊者強制用戶使用不安全的密碼組合。
使用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測試結果
Netflix相信TLS 1.3通過對其協議組成的分析將帶來更好的安全性,但同時,他們表示并不知道TLS 1.3在真實播放情況下表現如何。
由于TLS 1.3與性能相關的功能是握手恢復后的0-RTT模式,因此Netflix假設TLS 1.3會減少播放延遲,因為他們可以發出媒體數據的HTTP請求,并較早接收媒體數據的HTTP響應,而不再需要等待握手完成。
為了在現場查看TLS 1.3的實際表現,Netflix在以下場景條件下進行了實驗
?用戶帳戶:每個單元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負載。
結論
通過安全性分析,Netflix稱在改善通信安全性方面,TLS 1.3比TLS 1.2的效果更好。現場測試也表明, TLS 1.3為Netflix提供了更好的播放體驗。
移動互聯網正在承受比以往更高的通信量和流量,此時,保存少量數據和round trip是非常有意義的,如果同時還能提供更安全、有效的觀影體驗,這豈不是更好。
Netflix稱已經開始在較新的消費類電子設備上部署TLS 1.3,并且希望能很快在更多設備上部署TLS 1.3。
原文鏈接:https://netflixtechblog.com/how-netflix-brings-safer-and-faster-streaming-experience-to-the-living-room-on-crowded-networks-78b8de7f758c
總結
以上是生活随笔為你收集整理的Netflix如何通过支持TLS 1.3提供更安全高效的播放体验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 彭博社称飞书被要求下架一个月、Zoom推
- 下一篇: @你最强资源包来了 MobTech 联合