Home 技術文章 在大型OTT堆棧中部署DRM的最佳實踐
Applications

在大型OTT堆棧中部署DRM的最佳實踐

About The Author

Outline

數字版權管理(DRM) 是一種行業標準,爲內容所有者提供保護高級內容的選項。 有效的DRM解決方案必須與大多數回放設備配合使用,輕鬆集成到工作流中,並且對用戶來說是透明的。 如果能支援離線播放等進階功能,就好得多了。 雖然DRM可能不是許多流媒體服務營運商的首要任務,但它對觀衆播放體驗的影響不能是事後考慮的。

任何DRM系統的目標是確保影片內容以加密形式存儲和傳輸,以便只有授權用戶和設備才能播放內容。 DRM通常被誤解爲只是在流式傳輸平臺上分層的AES (高級加密標準) 128位加密。 實際上,DRM是一個用於管理內容訪問的完整系統。 DRM提供加密和解密密密鑰的安全分發以及後端許可伺服器,這些伺服器添加了策略控制等功能,以防止在未經授權的硬體上播放和脫機播放控制。

DRM可以採用三種方式之一部署。 第一是自己承擔所有的發展和整合。 儘管這是時間密集型的,但它確實允許最大程度的控制和靈活性。 第二種方法是將提供商的預打包DRM解決方案集成到您的工作流中。 第三個選項使用DRM解決方案作爲受管流式傳輸服務的一部分。 Verizon Media Platform提供此類型的DRM解決方案。 它集成到我們的影片工作流中,並通過簡單的服務訂單實現。 我們承擔着發展和一體化的負擔。 請記住,在前兩個選項中,DRM不僅僅是一個一次性項目,它需要一個持續的計劃來跟上不斷髮展的標準和技術。

‍Proprietary DRMs

‍Today的主要 影片流 格式具有自己的DRM系統集成。 由於DRM技術是專有技術,因此它們通常只在OEM特定的產品上受支援,儘管例外情況越來越多。 例如,Apple FairPlay主要與Apple Safari網頁瀏覽器和其他Apple硬體和軟體產品相容。 從流式傳輸服務的角度來看,缺乏跨平臺兼容性意味着您需要採用 多DRM策略 ,並提供以多種格式打包和加密的內容(如果您想涵蓋各種設備)。

儘管市場上有很多DRM系統,但從實際角度來看,流服務只需關注大三方,即可獲得幾乎所有Web瀏覽器,設備和電視的支援:

  • Apple FairPlay串流(FPS)–FairPlay內容主要可在Apple裝置上播放,包括Safari,iOS和Apple TV平臺。
  • Google Widevine–此DRM解決方案涵蓋所有Chrome和Firefox網頁瀏覽器以及Android和Chromecast設備。
  • Microsoft PlayReady–受此DRM解決方案保護的內容可以在Roku,Xbox,
  • Microsoft Edge瀏覽器以及一系列其他平臺和智能電視(通過SDK)。

當您瞭解底層加密時,情況會有所改善,標準化工作正在進行中,以幫助簡化DRM市場的分散。 Widevine和PlayReady都支援通用加密(CENC)和MPEG-DASH,這意味着您可以使用任一DRM系統對內容進行一次加密和打包,然後對這些資產進行解密。 Fairplay使用128-AES CBCS (或密碼塊鏈採樣模式)加密和HLS封裝。 某些較新的DASH播放設備也支援CBCS。 市場似乎趨於採用CBCS進行通用加密,但其他加密需要長期支援。

‍Multi -DRM挑戰

‍In在我們的平臺上,我們會立即加密多種格式的內容。 我們的預設DASH封裝和加密使用AES-CTR完全加密,因爲它是跨設備最兼容的(即使較新的設備可能支援CBCS)。 此外,我們在Fairplay預設情況下使用傳輸流封裝和CBCS加密,因爲它在整個設備範圍內兼容性最強。 雖然這些設備涵蓋了全球大多數設備和播放器,但它們也增加了複雜性並增加了存儲成本。 請記住,使用自適應比特率(ABR),我們手邊有兩個或三個以上的不同文件,當您將所有比特率計算在內時,每個4秒或2秒回放時間塊可能有15個或更多不同的分段。

這種情況正在慢慢改善。 業界正在走向廣泛採用一種稱爲通用媒體應用程式格式(CMAF)的規範,該規範允許您使用一個啓用了DRM的文件集訪問大多數消費者的顯示器。 目前,CMAF已經在許多DASH和HLS設備和播放器上工作。 在合理的情況下,我們可以使用動態清單生成邏輯來創建HLS清單,並使用符合CMAF的加密和CBCS來支援其他設備。

對所有這些文件集進行編碼在規模上都會成爲一個更大的問題。 我們利用雲的可擴展性解決了這一問題。 當我們的Slicer以最高比特率上載文件時,它會將每個片發送到代理,該代理將工作部署到一個大型編碼羣集。 通過並行執行編碼操作,可以快速創建每個比特率,容器格式和加密算法組合所需的所有文件,並將延遲降到最低。

瞭解加密編碼,打包以及克服存儲和處理要求的細微差別只是多DRM實施所涉及的複雜性的冰山一角。 其他挑戰包括:

  • 通過從DRM伺服器無延遲地獲取密鑰,確保所有設備的用戶體驗一致
  • 掌握不斷變化的客戶端設備和相關SDK以及操作系統的變化
  • 遵守MovieLabs和其他人定義的增強內容保護(ECP)參數,用於高級和UHD內容
  • 監控並遵守複雜的許可和保護協議,例如時間轉移,跟蹤查看,基於雲的DVR使用和脫機播放

要滿足這一整套要求並確保內容在整個工作流中受到保護,您需要開發密鑰管理解決方案,設定許可證伺服器,以及定義和管理確定播放內容的條件的安全策略。 例如,我們的平臺有一組適用於大多數情況的預設策略。 Studio DRM策略配置工具可以爲每個用戶輕鬆配置這些策略。 策略在許可伺服器上實施,可以涵蓋各種變量,如安全級別強制或輸出限制,密鑰持續時間,播放持續時間以及是否允許脫機租賃。 政策選項在各個DRM之間也會有很大的差異。

‍Key管理是關鍵

與策略管理一樣,該平臺必須處理密鑰管理和許可的所有方面,以確保您的密鑰在整個工作流中得到保護。 Verizon Media完全集成的平臺可以輕鬆實現安全性,但如果您要使用單獨的服務,則需要一種方法來安全地將密鑰從編碼器傳輸到第三方DRM解決方案。 這涉及實施安全包裝程序和編碼器密鑰交換(SPEKE )等標準的大量工作,因此密鑰可以在外部對內容進行編碼,然後再移交給許可證伺服器。 將所有內容保留在同一網路中可避免此步驟,並簡化實施過程。

一旦您將DRM基礎架構整合到工作流程中,下一個重大挑戰就是播放器整合。 這是我們花了大量時間瀏覽每個玩家的SDK以確保沒有任何故障。 一個挑戰是伺服器端AD插入(SSAI)。 由於我們保留了大量單獨編碼的廣告庫,以便拼接到實時活動和實時頻道,因此這些廣告不能與平臺上的每個實時活動和頻道共享相同的密鑰加密密鑰。 要解決此問題,必須使用不同於插入廣告流的數據流的單獨密鑰對廣告進行加密,對每個唯一數據流進行即時重新打包,或在不加密的情況下插入到數據流中。

這些變化使直播流播複雜化。 例如,一些玩家缺乏對切換DRM密鑰的支援。 即使有了這種支援,切換也會對播放體驗帶來明顯的影響。 可能需要完全釋放幀緩衝區,並在使用新密鑰的幀排隊之前執行新密鑰初始化。 這樣做會導致某些平臺出現明顯的故障。

這些挑戰使我們無法對廣告進行加密,以確保更好的播放器性能,並避免每次出現新廣告時都需要進行關鍵更改。 未加密的廣告還可提供比即時重新加密廣告更好的伺服器性能,因爲我們不必使用我們可能需要的每個流密鑰組合對每個廣告進行重新包裝。 使用未加密的廣告會使玩家的事情複雜度略高,而不只是使用相同的金鑰。 儘管如此,許多玩家項目已經確保這是一個支援的播放方案在過去幾年。

我們還努力簡化許可證URL的工作方式,使其更方便特定的玩家。 我們首先將許可證伺服器URL放入清單中,這樣,如果玩家支援讀取URL,我們就不需要單獨提供。 然後,我們將所有會話特定數據編碼到清單中的Protection Scheme Specific Header (PSSH)框中。 這使玩家可以使用非常簡單的許可證伺服器URL來處理許可證請求,而無需額外的頭數據或URL參數。 對播放器和流媒體使用相同的許可URL意味着DASH播放集成在我們的平臺上變得非常簡單。

‍Toward更輕鬆地集成DRM

我們平臺的首要目標之一是使流媒體更簡單,更輕鬆。 我們正在繼續擴大我們對開放原始碼播放器的使用,例如Shaka Player,這是一個用於ABR播放的開放原始碼JavaScript庫。 我們還與流行的通用影片播放器解決方案THEOplayer合作。 我們不斷髮展平臺,以跟上不斷變化的加密標準和DRM技術。 我們瞭解到許多公司不喜歡與DRM合作,因此我們越能像清單上的任何其他項目一樣,使這項重要的安全任務變得越好。