如何保障視頻內容的安全,不被盜鏈、非法下載和傳播,是困擾衆多企業已久的問題,特別是獨播劇、在線教育、財經金融、行業培訓等在線版權視頻領域尤其迫切,處理很差會形成極爲嚴重的經濟損失,甚至法律風險。html
阿里雲視頻點播提供了完善的內容安全保護機制,能夠知足不一樣業務場景的安全需求。算法
訪問限制是在雲端配置視頻資源的訪問策略,達到基本的保護目的,主要手段有:瀏覽器
示例
設置點播域名 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'複製代碼
返回
安全
當請求帶上容許的referer後即正常返回:bash
curl -i 'http://vod-test1.cn-shanghai.aliyuncs.com/sv/5101d1f8-1643f9ab241/5101d1f8-1643f9ab241.mp4' \
-H 'Referer: http://www.aliyun.com'複製代碼
UA(User-Agent)是一個特殊字符串頭,幫助服務端識別用戶使用的操做系統及版本、CPU類型、瀏覽器及版本、 瀏覽器渲染引擎&語言和插件等。可經過UA黑白名單來限制特定瀏覽器或終端的訪問。curl
如PC端IE9瀏覽器:ide
UserAgent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0;複製代碼
可模擬HTTP請求驗證:ui
curl -i 'http://vod-test1.cn-shanghai.aliyuncs.com/sv/5101d1f8-1643f9ab241/5101d1f8-1643f9ab241.mp4' \
-H 'User-Agent: iPhone OS;MI 5'複製代碼
視頻點播支持配置IP黑名單或白名單,拒絕或只容許特定IP的訪問。阿里雲
網段127.0.0.1/24,24表示採用子網掩碼中的前24位爲有效位,即用32-24=8bit來表示主機號,該子網能夠容納2^8 - 2 = 254 臺主機,故可表示IP網段範圍:127.0.0.1~127.0.0.255。
點播服務可限制媒體資源在必定時間週期內(如1天)的最大訪問次數和最大獨立IP數,核心原理是全部請求先到中心化的訪問計數服務進行驗證,判斷是否超過預設的閾值,若超過則拒絕服務,返回HTTP 403。
播放地址若固定不變會帶來持久的非法擴散傳播,且沒法有效遏制,視頻點播提供的URL鑑權可經過生成動態的加密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鑑權。
播放中心鑑權使用了阿里雲的默認鑑權中心,但因爲沒有客戶業務請求信息的輸入,對盜鏈等非法請求的判斷還比較單一,使用二次鑑權會更加精準。
如業務方可將其用戶的登陸Cookie或UUID等信息隱藏於播放請求中,進而透傳到本身的鑑權中心以斷定是否爲合法用戶。
防盜鏈安全機制能有效保障用戶的合法訪問,但對於付費觀看視頻的場景,用戶只需經過一次付費行爲拿到視頻合 法的防盜鏈播放URL,將視頻下載到本地,進而實現二次分發。所以,防盜鏈方案對於視頻版權保護是遠遠不夠的。視頻文件一旦泄露,會給付費觀看模式形成十分嚴重的經濟損失。
阿里雲視頻加密是對視頻數據加密,即便下載到本地,視頻自己也是被加密的,沒法惡意二次分發,可有效防止視頻泄露和盜鏈問題。
阿里雲視頻加密採用私有的加密算法和安全傳輸機制,提供雲端一體的視頻安全方案,核心部分包括 「加密轉碼」 和 「解密播放」。
注意:阿里雲視頻加密僅支持輸出HLS格式,且只能使用阿里雲播放器。 更多信息參考 阿里雲-視頻加密
HLS標準加密支持 HTTP Live Streaming 中規定的通用加密方案,使用AES-128對視頻內容自己進行加密,同時能 支持全部的HLS播放器,用戶可選擇使用自研或開源的播放器。相比私有加密方案,靈活性更好,但使用門檻更 高、安全性更低:
更多信息參考 阿里雲-HLS標準加密
視頻加密方案各有優劣,通常來講,越是標準、通用,靈活性越高,但安全性越低,選擇哪一種方案取決於本身的業務場景,有所取捨:
阿里雲視頻加密安全性明顯高於HLS標準加密。
阿里雲視頻加密提供雲端一體解決方案,只需簡單配置並接入阿里雲播放器便可無縫集成加密能力;HLS標準加密需自建密鑰管理和令牌頒發服務。
HLS標準加密可適配全部M3U8播放場景;阿里雲視頻加密僅支持阿里雲播放器 (Android/iOS/Flash)。
阿里雲視頻加密和HLS標準加密均可無償使用。