共用方式為


PlayReady 安全停止

在 PlayReady 3.0 版中引進, PlayReady Secure Stop 是一項功能,可讓 PlayReady 裝置放心地判斷媒體串流服務,讓媒體播放已針對任何指定的內容片段停止。 此功能確保您的媒體串流處理服務能在不同裝置上,針對指定帳戶正確地強制執行和報告使用限制。

安全停止概觀

當媒體播放停止時,用戶端會在媒體播放停止時,或因為使用者停止中間的媒體簡報,所以安全停止事件會由用戶端回報給安全停止伺服器。 當報告 Secure Stop 事件,且在記錄 Secure Stop 事件時,PlayReady 用戶端可確保內容金鑰會從記憶體中清除。 當上一個會話因系統或應用程式當機) 而意外結束 (時,也會報告安全停止。

注意

Secure Stop 僅適用于非持續性授權。

顯示裝置與授權服務以及裝置與安全停止服務之間授權要求的動畫影像

傳送安全停止挑戰有兩個主要案例:

  • 當媒體播放在結尾停止時,或因為使用者停止中間某處的媒體簡報。
  • 當先前的工作階段意外結束 (例如,因為系統或 App 當機)。 應用程式必須在啟動或關機時查詢任何未完成的安全停止會話,並傳送挑戰 (與任何其他媒體播放分開的) 。

如需 UWP 應用程式中安全停止的相關資訊,請參閱PlayReady DRM一文中的新增安全停止一節。

安全停止 2

從 PlayReady 4.2 版開始, PlayReady Secure Stop 2 藉由在 [信任執行環境] (TEE) 的安全性層級 3000 中,在用戶端上強制執行 Secure Stop 功能,以提供更多安全性。

服務可以使用 SecureStop 功能,在屬於相同使用者帳戶的多個用戶端上強制執行播放。 根據該使用者帳戶中特定用戶端的設定,服務會收到與用戶端稍微不同的訊息。

下表顯示不同用戶端安全性層級和安全停止版本的伺服器應用程式邏輯。

用戶端版本 SecureStop 伺服器邏輯 加強性
PlayReady 2.0+ 版
SL2000
伺服器不會從用戶端接收任何 SecureStop 訊息。 使用應用程式邏輯來執行此動作。
PlayReady 3.0+ 版
SL3000 (範例:Windows 10應用程式)
伺服器會從用戶端接收 SecureStop1 訊息。
此訊息對攻擊的健全性高於簡單的應用程式邏輯。
PlayReady 4.2+ 版
SL3000
伺服器會從用戶端接收 SecureStop2 訊息。 來自此用戶端的惡意 SecureStop2 訊息需要在用戶端的信任執行環境中攻擊, (TEE) 。
此訊息對攻擊的健全性高於 SecureStop1。

若要利用 Secure Stop 2 功能,伺服器應用程式必須啟用此功能,如下所示:

  • 使用 Secure Stop 發出授權時,在 MediaLicense 類別上設定 SecureStop2AESKey 屬性。 (不論用戶端是否支援 Secure Stop 2.) ,都可以完成此作業
  • 建立類別,以實作 ISecureStop2Handler 介面 (與任何其他處理常式) 類似,如此一來,針對任何指定的 CHILD,它會傳回在 MediaLicense 上設定 SecureStop2AESKey 屬性時所使用的相同金鑰。
  • 呼叫 GetSecureStopData 之後,請在 SecureStopDataChallenge 類別上查詢 SecureStop2VerifiedSession 屬性。 如果設定為 Guid.Empty,則用戶端會傳送 SecureStop1 訊息。 如果設定為任何其他 Guid,則用戶端會傳送 SecureStop2 訊息。 傳回的 Guid 是 SecureStop2 挑戰內單一會話的會話識別碼,可驗證為非惡意 (假設用戶端的信任執行環境 (TEE) 未成功攻擊) 。

另請參閱

安全停止伺服器