什麼是 PlayReady 撤銷機制
撤銷是一個專門識別安全性遭入侵的客戶端並阻止其取得額外解密已保護內容授權的過程。
當Microsoft識別具有遭入侵安全性的用戶端時,可能會撤銷裝置並新增至撤銷清單。 撤銷清單會由發行受保護內容的授權伺服器定期下載。 授權伺服器使用此撤銷清單來拒絕已撤銷之裝置的授權,從而防止裝置播放新受保護的內容。
當裝置不是最新狀態時,撤銷清單會重新整理。 撤銷清單也可能與許可證一起發行。 裝置上的DRM元件會先檢查此撤銷清單,再將內容傳輸至其他裝置。 藉由防止與撤銷的元件通訊,撤銷的應用程式將無法再運作。 撤銷之後,修正情況的唯一方法是取代撤銷的專案,或從較新版本的撤銷清單中移除撤銷的元件。
連結至目前的 PlayReady 撤銷清單
Microsoft建置並維護撤銷清單及其版本設定結構。 PlayReady 客戶可以從下列鏈接下載此列表:
PlayReady 撤銷列表(https): https://aka.ms/revinfo
PlayReady 撤銷列表(http): https://go.microsoft.com/fwlink/?LinkId=110086
PlayReady 伺服器的需求
根據 PlayReady 產品的合規性規則需求,經營 PlayReady Server 的公司「必須每周更新一次 PlayReady Server 軟體開發工具包證書吊銷清單」。 這可確保任何遭入侵的用戶端在被Microsoft加入撤銷清單後,其授權要求會在合理的時間範圍內被拒絕。
忽視 PlayReady 撤銷清單中的個別項目
從 PlayReady Server 4.3 版開始,您的伺服器應用程式可能會明確忽略一或多個已撤銷的哈希,並繼續向它們發出內容,即使它們被撤銷也一樣。 對於產生和發佈受保護內容,以及想要更充分掌控該內容可流動位置的公司而言,這可能很有用。
若要利用這項功能,您必須建立一個新的 XML 檔案,其中包含您想要忽略的憑證哈希,並將新項目新增至 RMSDK 系統的 web.config 檔案。 XML 檔案的格式如下。
<?xml version="1.0" ENCODING="utf-8"?>
<RevAllowInfo>
<AllowList>
<CertificateHash>2C4OCYBGE3XZ3ODIUVUWD0SVLWH4W1NX9EA5DMJZ/PK=</CertificateHash>
<CertificateHash>9OHU9A1KAJYI9BUWQWAVXBOO7R4XS+GG8HV0ESDBTNW=</CertificateHash>
</AllowList>
</RevAllowInfo>
“CertificateHash” 節點中的數據必須符合撤銷之模型或公司憑證的哈希。 Microsoft打算發佈這項資訊,以及對應的模型資訊,以供日後撤銷。
您也必須從伺服器組態內參考這個 XML 檔案。
針對 .Net Core 型 RMSDK 部署:
- XML 檔案應該新增為項目專案。
- config/RMSDKConfig.cs 中的 RevocationAllowFile 字串應該以 XML 檔案的路徑更新。
對於基於 IIS 的 RMSDK 部署:
- 新增一個名為「REVOCATIONALLOWFILE」的新鍵,將您的 XML 檔案指向 web.config 檔案。
- 例如,如果上述 XML 檔案名為 「REVOCATIONALLOWSAMPLE.XML」,web.config 檔案將會更新,如下所示。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
...
<add key="RevocationAllowFile" value="REVOCATIONALLOWSAMPLE.XML">
...