若要播放受保護的內容,必須提供內容的有效授權。 如果內容沒有有效的授權,則必須取得授權。 在取得授權期間,用戶端會從授權伺服器或 Proxy 伺服器取得其授權。 授權取得客戶端是行動裝置上的媒體播放機,例如手機或平板電腦,或個人電腦上。 取得授權的用戶端會直接連線到授權伺服器,並要求取得的內容授權。
在授權取得的內容中,授權伺服器和封裝伺服器會被視為DRM伺服器。 具備獲取授權功能的可攜式裝置和電腦被視為用戶端。
取得授權的伺服器和客戶端互動
本節探討取得授權時的元件互動。
在伺服器端,PlayReady Server SDK 提供下列功能:
- 授權產生/發行
取用者可攜式裝置或個人電腦上的用戶端提供下列功能:
- 授權取得
- 使用規則執行與檢查
- 內容解密
PlayReady Server SDK 也隨附網域、計量、安全停止及安全刪除支援。
主動式、回應式授權取得
授權取得有兩種模式:
- 主動式授權取得 — 用戶端應用程式會在開始播放之前明確起始授權要求。 系統被設計成讓應用程式瀏覽內容,並且提前在啟動任何播放過程之前主動取得授權。 收到授權之後,您可以隨時啟動播放。 應用程式可以立即開始播放,也可能在實際播放內容前數天就已獲得授權,通常發生在離線播放的情況。
- 回應式授權取得 - 用戶端應用程式不會在播放內容之前明確取得授權。 啟動播放後,PlayReady 媒體播放機會尋找可解密此內容的現有 PlayReady 授權。 如果找不到任何可使用的授權,它會自動使用相關聯的授權取得者物件來取得授權,再繼續播放。
下圖提供內容保護和授權取得的架構概觀。
授權取得會遵循下列步驟,如圖所示:
內容提供者會使用授權金鑰種子和金鑰標識碼來產生金鑰。
內容提供者會將金鑰標識碼和授權伺服器的 URL 放在內容標頭中,然後使用金鑰加密來保護檔案。
內容提供者會將受保護的檔案傳遞給使用者。
用戶的媒體播放機會查詢使用者的裝置DRM元件,以判斷是否可以播放受保護的檔案。
DRM 元件會在使用者的裝置上搜尋授權存放區,以取得有效的授權以播放檔案。
如果DRM元件找不到必要的授權,它會向授權伺服器要求授權。 要求授權的授權挑戰包含內容標頭和使用者裝置的資訊。
授權伺服器會使用共用授權金鑰種子和金鑰標識碼來產生步驟 1 中內容提供者所產生的相同內容金鑰。 授權伺服器接著會加密金鑰。
授權伺服器會建立授權、將加密的內容密鑰新增至授權,並使用私人簽署密鑰簽署授權。
授權伺服器會將已簽署的授權傳遞給用戶的裝置。
用戶裝置上的DRM元件會驗證憑證的簽章和到期日,並將授權放在授權存放區中。
DRM 元件會解密所要求內容的封包,並將其傳送給播放機。
此時,玩家會以可用形式擁有內容。 授權啟用的任何原則都可以使用。 例如,如果授權啟用「播放」,授權取得用戶端就可以播放內容。
下圖顯示主動取得授權的基本步驟。
下圖顯示被動取得授權的基本步驟。
用戶端擷取受保護的檔案之後,該客戶端必須先取得授權,才能執行使用該內容的動作。 授權會儲存存取相關聯內容所需的資訊,並儲存可存取該內容的規則。 用戶必須取得自己的授權,才能播放受保護的內容,即使受保護的內容是從已經擁有其授權的人員複製的。 授權包含用來解密對應內容的加密金鑰,或在鏈結授權的情況下包含中繼密鑰。 授權也包含指定內容使用權和其他屬性。 例如,授權會決定可以播放受保護檔案的次數,以及授權是否過期。 這些屬性會與受保護的檔案分開在授權中設定。
每個授權都包含下列資訊:
- 內容加密金鑰。
- 許可權的權利。
- 授權限制和授權變更,也稱為授權條件。
在用戶端能解密與授權相關聯的內容之前,必須先從授權中擷取相關政策。 授權內的內容保護資訊會使用用戶端的公鑰或用戶端網域的公鑰加密資訊來加密。 授權會被視為「系結」至具有私鑰的用戶端或網域,以解密內容保護資訊。
用戶端會直接從授權伺服器或透過 Proxy 伺服器取得授權。
用於取得許可證的運輸
PlayReady 授權取得都需要用戶端與伺服器之間的交易:
- 用戶端所產生的挑戰,並傳送至伺服器。
- 伺服器產生的回應,並傳送至用戶端。
交易通常發生在因特網、透過 HTTP 或 HTTPS,或關閉的網路上。 使用的通訊協定是以簡單物件存取通訊協定 (SOAP) 為基礎,而且可以自定義。 交易也可以以異步方式實作,例如,用戶端會在一個位置張貼挑戰,以及伺服器處理這項挑戰、產生回應,以及在一些其他位置張貼該回應。
備註
PlayReady 不支援授權廣播,這表示伺服器將授權傳送給廣播網路上的用戶端。