PlayReady 4.0 版引進, PlayReady Secure Delete 是一項功能,可讓服務提供者在用戶端上的應用程式刪除持續性授權時接收安全通知。 先前,刪除授權時,服務提供者在刪除完成時不會收到通知。 使用 PlayReady Secure Delete 時,可以執行下列作業。
服務提供者可以在指定的用戶端電腦上追蹤目前儲存的授權,以及已刪除哪些授權。 服務提供者可以向用戶端發出特定數目的持續性授權,並追蹤該用戶端電腦上的授權計數。 安全刪除功能也符合 2017 年 9 月所定義的加密媒體延伸模組 (EME) 規格需求,指定在刪除授權時必須傳送授權刪除記錄到伺服器。
下圖說明安全刪除流程。
在發生 Secure Delete 之前,應用程式或用戶端會先具現化 PlayReady Content Decryption Module (CDM),並從伺服器取得持續性授權(上圖中的步驟 1-7)。
接下來,PlayReady 會將授權儲存在數據存放區中(HDS、哈希數據記憶體),以及授權會話 Blob 的記錄,該 Blob 是由會話標識碼 (SessionId) 和一或多個密鑰標識碼所組成。 當應用程式或用戶端起始授權刪除要求時,它會呼叫適當的 API,以從資料存放區中移除與 KID 相關聯的授權。 在非安全刪除授權移除程序期間,PlayReady 會從數據存放區中移除授權,而不需要採取進一步的動作。 使用 Secure Delete,PlayReady 不僅會從資料存放區中移除與 KID 相關聯的授權,而且會產生 Secure Delete 挑戰,其中包含 SessionId 和 KID(s) (上圖中的步驟 12-13)。
然後,應用程式或用戶端會將 Secure Delete 挑戰傳送至 Secure Delete Server,然後處理挑戰。
處理 Secure Delete 挑戰之後,安全刪除伺服器會將包含基底 64 編碼的 SessionId 的未加密、未簽署的 Secure Delete 回應傳送給應用程式(或用戶端)。
最後,用戶端收到 Secure Delete 回應之後,PlayReady 會驗證 Secure Delete 回應中包含的 SessionId 是否符合用來產生安全刪除挑戰的 SessionId。 如果驗證成功,PlayReady 會從數據存放區中移除授權會話的記錄。