天天看點

一篇文章解讀阿裡雲視訊點播内容安全機制1. 概述2. 通路限制3. 播放中心鑒權4. 業務方二次鑒權5. 視訊加密活動推薦

1. 概述

如何保障視訊内容的安全,不被盜鍊、非法下載下傳和傳播,是困擾衆多企業已久的問題,特别是獨播劇、線上教育、财經金融、行業教育訓練等線上版權視訊領域尤為迫切,處理不好會造成極為嚴重的經濟損失,甚至法律風險。

阿裡雲視訊點播提供了完善的内容安全保護機制,可以滿足不同業務場景的安全需求。

一篇文章解讀阿裡雲視訊點播内容安全機制1. 概述2. 通路限制3. 播放中心鑒權4. 業務方二次鑒權5. 視訊加密活動推薦

2. 通路限制

通路限制是在雲端配置視訊資源的通路政策,達到基本的保護目的,主要手段有:

  • Referer、IP和UA(User-Agent)的黑白名單
  • 一定周期内,URL的通路次數限制、獨立IP數限制

2.1 Referer黑白名單

  • 基于 HTTP 協定支援的 Referer機制,通過 Referer跟蹤來源,對來源進行識别和判斷,使用者可配置通路的 Referer 黑、白名單(二者互斥)來限制視訊資源被通路的情況。
  • 支援黑名單和白名單兩種模式,訪客對資源發起請求後,請求到達CDN 節點,節點會根據使用者預設的防盜 鍊黑名單或白名單進行過濾,符合規則可順利請求到視訊資料;若不符合,請求會被拒絕,并傳回403響應 碼。
  • 配置後會自動添加泛域名支援,例如填寫a.com,最終配置生效的是*.a.com,所有子級域名都會生效。
  • 由于移動端一般拿不到Referer,目前預設支援空Referer通路,可選擇關閉。

示例

設定點播域名 vod-test1.cn-shanghai.aliyuncs.com 的Referer白名單為 aliyun.com,且不允許空Referer通路,請求 資料:

curl -i 'http://vod-test1.cn-shanghai.aliyuncs.com/sv/5101d1f8-1643f9ab241/5101d1f8-1643f9ab241.mp4'           

傳回

一篇文章解讀阿裡雲視訊點播内容安全機制1. 概述2. 通路限制3. 播放中心鑒權4. 業務方二次鑒權5. 視訊加密活動推薦

當請求帶上允許的referer後即正常傳回:

curl -i 'http://vod-test1.cn-shanghai.aliyuncs.com/sv/5101d1f8-1643f9ab241/5101d1f8-1643f9ab241.mp4' \
-H 'Referer: http://www.aliyun.com'           

2.2 UA黑白名單

UA(User-Agent)是一個特殊字元串頭,幫助服務端識别使用者使用的作業系統及版本、CPU類型、浏覽器及版本、 浏覽器渲染引擎&語言和插件等。可通過UA黑白名單來限制特定浏覽器或終端的通路。

如PC端IE9浏覽器:

UserAgent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0;           

可模拟HTTP請求驗證:

curl -i 'http://vod-test1.cn-shanghai.aliyuncs.com/sv/5101d1f8-1643f9ab241/5101d1f8-1643f9ab241.mp4' \
-H 'User-Agent: iPhone OS;MI 5'           

2.3 IP黑白名單

視訊點播支援配置IP黑名單或白名單,拒絕或隻允許特定IP的通路。

  • 支援IP清單添加,并支援添加IP網段,例如127.0.0.1/24。
網段127.0.0.1/24,24表示采用子網路遮罩中的前24位為有效位,即用32-24=8bit來表示主機号,該子網可以容納2^8 - 2 = 254 台主機,故可表示IP網段範圍:127.0.0.1~127.0.0.255。
  • 可選擇優先使用 remote_addr 或 X-Forwarded-For(XFF) 作為請求端IP,或者同時比對。

2.4 通路次數和獨立IP數限制

點播服務可限制媒體資源在一定時間周期内(如1天)的最大通路次數和最大獨立IP數,核心原理是所有請求先到中心化的通路計數服務進行驗證,判斷是否超過預設的門檻值,若超過則拒絕服務,傳回HTTP 403。

  • 該限制為URL(包括檔案位址和簽名資訊)次元而非檔案次元,但可配置忽略URL中的部分參數;限制的阈 值到域名粒度,可單獨設定。
  • 通路計數服務是多區域部署的中心化服務,一個URL隻能被排程到其中一個區域,以保證中心化計數。
  • CDN邊緣節點收到請求後會通路中心化計數服務進行計數和驗證。

2.5 小結

  • 通路限制的使用門檻很低,隻需簡單配置即可使用,能起到一定的保護作用,特别是Web端。
  • Referer和UA都是基于HTTP Header,容易被僞造,安全性低。
  • IP黑白名單機制和通路數限制,無法實作内容分發給大量C端使用者,不适合廣泛的内容消費場景,且後者在 門檻值範圍内也可能被非法通路。

3. 播放中心鑒權

播放位址若固定不變會帶來持久的非法擴散傳播,且無法有效遏制,視訊點播提供的URL鑒權可通過生成動态的加密URL(包含權限驗證、過期時效等資訊)來區分合法請求,以達到保護視訊資源的目的。

  • 開啟URL鑒權後,點播的播放器SDK、擷取播放位址的API/SDK都會自動生成帶時效的播放URL;如需要自己生成鑒權的動态URL,則可使用下述 鑒權 法。
  • 開啟URL鑒權後,所有媒體資源,包括視訊、音頻、封面、截圖等位址都會進行鑒權。
  • 鑒權Key的設定是以域名為粒度,且存于服務端以確定安全;支援主、備Key平滑切換,若更換主Key,可使用備Key生成播放位址,以做為更換的橋接,實作交替更新。

鑒權方法

鑒權URL構成

http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash           

鑒權URL由播放檔案位址+驗證串構成,驗證串是根據鑒權key+過期時間通過md5算法計算得出,且具有時效性, 預設為3600秒(可背景配置)的有效時間,可在生成播放位址或擷取位址時設定過期時間;若位址過期則通路時 CDN會傳回HTTP 403。

動态位址示例

http://vod.example.com/video/aliyun-sample.mp4?auth_key=1500523200-0-0-80cd3862d699b7118eed99103f2a3a4f           

示例中的auth_key參數值字首1500523200(時間為2017-07-20 12:00:00),表示該位址會在2017-07-20 13:00:00過期。

更多資訊可參考

阿裡雲視訊點播-URL鑒權。

4. 業務方二次鑒權

播放中心鑒權使用了阿裡雲的預設鑒權中心,但由于沒有客戶業務請求資訊的輸入,對盜鍊等非法請求的判斷還比較單一,使用二次鑒權會更加精準。

  • 二次鑒權是指點播CDN将使用者的請求透傳到客戶的鑒權中心,由客戶自己判定該請求是否合法,CDN根據 客戶的判斷結果執行相應動作:允許或拒絕通路。
  • 二次鑒權需要客戶自己開發和部署鑒權中心,該鑒權中心的域名如果同時在 CDN上面加速,可以按照一定 規則緩存客戶的鑒權結果,以減輕客戶鑒權中心的壓力。點播CDN會默将把使用者請求的 headers 和 request_uri 透傳到客戶自定義的鑒權中心,并根據鑒權中心傳回的結果執行相應的動作。過程如下圖:
一篇文章解讀阿裡雲視訊點播内容安全機制1. 概述2. 通路限制3. 播放中心鑒權4. 業務方二次鑒權5. 視訊加密活動推薦

如業務方可将其使用者的登入Cookie或UUID等資訊隐藏于播放請求中,進而透傳到自己的鑒權中心以判定是否為合法使用者。

5. 視訊加密

防盜鍊安全機制能有效保障使用者的合法通路,但對于付費觀看視訊的場景,使用者隻需通過一次付費行為拿到視訊合 法的防盜鍊播放URL,将視訊下載下傳到本地,進而實作二次分發。是以,防盜鍊方案對于視訊版權保護是遠遠不夠的。視訊檔案一旦洩露,會給付費觀看模式造成十分嚴重的經濟損失。

阿裡雲視訊加密是對視訊資料加密,即使下載下傳到本地,視訊本身也是被加密的,無法惡意二次分發,可有效防止視訊洩露和盜鍊問題。

5.1 阿裡雲視訊加密

阿裡雲視訊加密采用私有的加密算法和安全傳輸機制,提供雲端一體的視訊安全方案,核心部分包括 “加密轉碼” 和 “解密播放”。

核心優勢:

  • 每個媒體檔案擁有獨立的加密鑰匙,能有效避免采用單一密鑰時,一個密鑰的洩露引起大範圍的安全問題。
  • 提供信封加密機制“密文Key+明文Key”,僅密文Key入庫,明文Key不落存儲,所有過程隻在記憶體中,用完 即銷毀。
  • 提供安全的播放器核心SDK,涵蓋iOS/Android/Flash多平台,自動對加密内容進行解密播放;H5播放器不支援加密視訊的播放。
  • 播放器和雲端使用私有加密協定進行密文傳輸,不傳輸明文Key,有效防止密鑰被竊取。
  • 提供安全下載下傳,緩存到本地的視訊會再次加密,在確定無網離線播放前提下,防止視訊被拷貝竊取。

注意:阿裡雲視訊加密僅支援輸出HLS格式,且隻能使用阿裡雲播放器。 更多資訊參考

阿裡雲-視訊加密

5.2 HLS标準加密

HLS标準加密支援 HTTP Live Streaming 中規定的通用加密方案,使用AES-128對視訊内容本身進行加密,同時能 支援所有的HLS播放器,使用者可選擇使用自研或開源的播放器。相比私有加密方案,靈活性更好,但使用門檻更 高、安全性更低:

  • 使用者需搭建密鑰管理服務,提供密鑰生成(用于轉碼時對視訊内容進行加密)和解密服務(用于播放時擷取 解密密鑰),也可基于 阿裡雲KMS 進行封裝。
  • 使用者需提供令牌頒發服務,用于驗證播放端的身份,避免解密密鑰被非法擷取,此處為關鍵點,處理不好會千裡之堤潰于蟻穴。
  • 播放器和雲端傳輸明文Key,容易被竊取。

更多資訊參考

阿裡雲-HLS标準加密

5.3 小結

視訊加密方案各有優劣,一般來說,越是标準、通用,靈活性越高,但安全性越低,選擇哪種方案取決于自己的業務場景,有所取舍:

安全等級:阿裡雲視訊加密 > HLS标準加密

阿裡雲視訊加密安全性明顯高于HLS标準加密。

易用性:阿裡雲視訊加密 > HLS标準加密

阿裡雲視訊加密提供雲端一體解決方案,隻需簡單配置并接入阿裡雲播放器即可無縫內建加密能力;HLS标準加密需自建密鑰管理和令牌頒發服務。

通用性:HLS标準加密 > 阿裡雲視訊加密

HLS标準加密可适配所有M3U8播放場景;阿裡雲視訊加密僅支援阿裡雲播放器 (Android/iOS/Flash)。

使用費用:阿裡雲視訊加密 = HLS标準加密

阿裡雲視訊加密和HLS标準加密都可免費使用。
  • iOS/Android/Flash使用阿裡雲視訊加密或HLS标準加密會有很好的安全性;但由于H5端為明文,要保證更高的安全性首選商業DRM(Chrome等浏覽器的原生支援)。

了解與開通視訊點播服務

了解視訊安全解決方案

活動推薦

12月20日杭州站【雲栖TechDay-音視訊技術實戰沙龍】,多位視訊雲專家現場解讀短視訊、直播、視訊AI、視訊加速技術實踐,赢取阿裡雲公仔及代金券,點選了解活動詳情及免費報名:

https://yq.aliyun.com/event/678

繼續閱讀