PlayReady 吊销

什么是 PlayReady 撤销

吊销是一个识别已泄露安全性的客户端的过程,并阻止这些客户端访问其他许可证,以解密受保护的内容。

当Microsoft标识安全受到威胁的客户端时,可能会撤销设备并将其添加到吊销列表中。 吊销列表由颁发受保护内容许可证的服务器定期下载。 许可证服务器使用此吊销列表来拒绝已吊销设备的许可证,从而阻止设备播放新保护的内容。

如果设备上的吊销列表不是最新的,吊销列表会被刷新。 吊销列表可能与许可证一起发布。 设备上的 DRM 组件在将内容传输到其他设备之前会检查此吊销列表。 通过防止与已撤销的组件通信,已撤销的应用程序不再有效。 撤销后,修复这种情况的唯一方法是替换已撤销的元素,或者从较新版本的吊销列表中删除已撤销的组件。

Microsoft生成和维护吊销列表及其版本控制结构。 PlayReady 客户可以从以下链接下载此列表:

PlayReady 吊销列表(https): https://aka.ms/revinfo

PlayReady 吊销列表(http): https://go.microsoft.com/fwlink/?LinkId=110086

对PlayReady服务器的要求

根据 PlayReady 产品的合规性规则的要求,运营 PlayReady 服务器的公司“必须每周更新一次 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 文件应添加为项项目。
    • 应使用 XML 文件的路径更新 config/RMSDKConfig.cs 中的 RevocationAllowFile 字符串。
  • 对于基于 IIS 的 RMSDK 部署:

    • 将指向 XML 文件的名称为“REVOCATIONALLOWFILE”的新键添加到 web.config 文件。
    • 例如,如果上述 XML 文件名为“REVOCATIONALLOWSAMPLE.XML”,web.config 文件将按如下所示进行更新。
<?xml version="1.0" encoding="utf-8"?>
   <configuration>
      <appSettings>
         ...
         <add key="RevocationAllowFile" value="REVOCATIONALLOWSAMPLE.XML">
         ...