阿里云視頻加密(私有加密)可針對視頻數據進行加密,視頻即使被下載到本地,視頻本身也是被加密的,無法惡意二次分發,可有效防止視頻泄露和盜鏈等問題。相比HLS標準加密,私有加密更安全,使用門檻更低。本文為您介紹私有加密的接入方法,并提供擴展方案。
背景
防盜鏈URL不能防止用戶通過一次付費行為拿到付費視頻合法的防盜鏈URL,將視頻下載到本地,進而實現二次分發。因此,防盜鏈方案對于視頻版權保護是不夠的。視頻文件一旦泄露,會給付費觀看模式造成十分嚴重的經濟損失。
優勢介紹
阿里云視頻加密是對視頻數據加密,即使下載到本地,視頻本身也是被加密的,無法惡意二次分發。視頻加密可有效防止視頻泄露和盜鏈問題,廣泛用于在線教育、財經金融、行業培訓、獨播劇等在線版權視頻領域。
采用阿里云私有加密算法,安全級別高,能夠便捷、高效、安全地保護視頻資源。
每個媒體文件擁有獨立的加密密鑰,能有效避免采用單一密鑰時,一個密鑰的泄露引起大范圍的安全問題。
視頻點播提供完善的權限管理機制“子賬號+播放憑證”。
視頻點播提供信封加密機制“密文Key+明文Key”,明文Key不存儲,所有過程只在內存中。
視頻點播提供安全的播放內核SDK。
整體架構
阿里云視頻加密方案包含兩部分:加密轉碼 + 解密播放。
加密轉碼
App后臺發起視頻加密
業務方提交需要數據加密的轉碼作業。(上圖中流程①)
視頻點播獲取加密密鑰
視頻點播服務負責通過密鑰管理服務KMS生成明文Key和密文Key。(上圖中流程②)
視頻加密轉碼
使用明文Key來加密視頻文件,轉碼完成后,明文Key丟棄,不存儲。(上圖中流程③)
轉碼完成+消息通知
保存加密后的視頻文件,并給業務方發送消息通知。(上圖中流程④)
解密播放
業務授權
移動端的App或者Web頁面訪問視頻時,先訪問業務方自己的API或后端頁面,業務方可以在這里加上自己的權限控制(例如需要登錄才能播放,建議使用HTTPS)。如果業務上允許播放,則通過業務方子賬號的AK訪問STS,獲取播放憑證,并返回給App/Web端。
獲取播放地址
移動端的App或者Web頁面把播放憑證和媒體ID參數傳給阿里云播放服務,播放器SDK會負責剩下的播放流程:
根據媒體ID從視頻點播服務獲取對應的多格式、多清晰度的播放地址。
加密視頻獲取對應的加密密鑰。
解密播放
視頻云提供了安全的播放內核SDK,使用加密密鑰對內容解密,然后進行視頻播放。
使用前須知
阿里云視頻加密僅支持輸出HLS、MP4格式,且只能使用視頻點播提供的阿里云播放器SDK對加密內容進行解密播放。
暫不支持在移動端iOS平臺的Web播放器中播放私有加密視頻,此場景推薦使用HLS標準加密對視頻進行加密。
MP4格式的私有加密視頻現僅支持使用iOS/Android阿里云播放器SDK播放。詳情請參見播放器SDK加密播放兼容說明。
如何使用
前提條件
已經開通了視頻點播服務。開通步驟請參見開通視頻點播。
已在視頻點播中配置加速域名,具體步驟請參見添加加速域名。
如需進行MP4私有加密,則必須在創建私有加密轉碼模板組之前,已創建并獲取包含播放器授權的License,詳情請參見管理License。
視頻加密
創建私有加密轉碼模板組。
調用AddTranscodeTemplateGroup - 創建轉碼模板組接口時,通過指定
TranscodeTemplate
下的EncryptSetting
參數的EncryptType
來設置轉碼模板組的加密類型。(可選)創建工作流并關聯私有加密的轉碼模板組。
在工作流中將轉碼、審核、截圖等各種類型的媒體處理任務按一定流程進行編排,后續在上傳媒體或媒體處理環節觸發工作流時,可以使媒體文件按預先編排好的一系列任務流程自動發起處理。
您可以將關聯了私有加密轉碼模板組的媒體轉碼節點添加到工作流環節中,當前僅支持通過控制臺方式創建工作流。詳細操作,請參見工作流。
發起私有加密轉碼。
視頻點播支持在上傳媒體和媒體處理環節去觸發轉碼。可以直接基于轉碼模板組發起轉碼,或基于包含媒體轉碼節點的工作流去發起轉碼。控制臺方式詳細操作請參見步驟二:發起轉碼,OpenAPI方式詳細操作請參見步驟二:發起轉碼。
查看私有加密轉碼結果。
異步等待結果通知
如果您已配置視頻點播的事件通知,可以通過接收單個清晰度轉碼完成或全部清晰度轉碼完成回調消息獲取轉碼任務信息。
同步進行查詢任務
登錄視頻點播控制臺,在左側導航欄選擇媒資庫 > 音/視頻,進入到音視頻列表頁面。
在音視頻列表頁面,查看目標視頻的狀態。
當視頻狀態為正常時,表示私有加密轉碼已處理完成并成功。
單擊視頻所在行的管理,進入到基礎信息頁面。
單擊視頻地址頁簽,在視頻地址頁面可以查看該加密轉碼輸出的流會標識私有加密字樣。
調用GetPlayInfo - 獲取音視頻播放地址接口,返回參數
EncryptType
會標識視頻流的加密類型。
視頻播放
經過阿里云視頻加密(私有加密)加密過的視頻,只能使用視頻點播提供的阿里云播放器SDK對加密內容進行解密播放。
阿里云播放器SDK提供iOS、Android、Web(H5、Flash)多平臺的播放器SDK供集成,以便您在自己的應用或網站中完成私有加密視頻的播放。
使用阿里云播放器SDK前,需要先獲取播放器的License授權,詳情請參見管理License。
集成阿里云播放器SDK前,請先了解各平臺播放器SDK對私有加密的支持兼容詳情,詳情請參見播放器SDK加密播放兼容說明。
使用阿里云播放器SDK播放私有加密視頻的具體操作步驟,請參見播放私有加密視頻-Web端、播放私有加密視頻-Android端、播放私有加密視頻-iOS端。
方案擴展
如果終端用戶有離線下載需求,為保證視頻安全,建議開啟安全下載。具體操作,請參見下載設置。將視頻文件通過密鑰進行二次加密,下載后在SDK內部完成視頻解密,保障離線視頻僅能通過唯一應用進行安全播放,讓離線視頻更加安全。