PlayReady Secure Delete

在 PlayReady 版本 4.0 中引入, PlayReady Secure Delete 是一项功能,允许服务提供商在客户端上的应用删除永久性许可证时接收安全确认。 以前,删除许可证时,服务提供商在删除完成后不会收到通知。 使用 PlayReady Secure Delete,可以执行以下操作。

服务提供商可以跟踪给定客户端计算机上当前存储的许可证以及已删除哪些许可证。 服务提供商可以向客户端颁发特定数量的永久性许可证,并跟踪该客户端计算机上的许可证计数。 安全删除功能还满足 2017 年 9 月定义的加密媒体扩展 (EME) 规范要求,该规范要求指定在删除许可证后必须发送到服务器许可证删除记录。

下图演示了安全删除流。

secure delete

在发生安全删除之前,应用程序或客户端首先实例化 PlayReady 内容解密模块 (CDM) ,并从) 上面的图中 (步骤 1-7 获取永久性许可证。

接下来,PlayReady 将许可证存储在数据存储 (HDS、哈希数据存储) 以及许可证会话 blob 的记录中,该 blob 由会话标识符 (SessionId) 和一个或多个密钥标识符 (KID) 组成。 当应用程序或客户端启动许可证删除请求时,它将调用相应的 API,从数据存储中删除与 KID 关联的许可证 () 。 在非安全删除许可证删除过程中,PlayReady 从数据存储中删除许可证 () ,而无需进一步操作。 使用 Secure Delete,PlayReady 不仅从数据存储中删除与 KID 关联的许可证 () ,而且还会生成安全删除质询,该质询包含上述) 图中的 SessionId 和 KID (s) (步骤 12-13。

然后,应用程序或客户端将安全删除质询发送到安全删除服务器,然后处理质询。

处理安全删除质询后,Secure Delete 服务器会将包含 base 64 编码的 SessionId 的未加密、未签名的安全删除响应发送到应用程序 (或客户端) 。

最后,客户端收到安全删除响应后,PlayReady 会验证 Secure Delete 响应中包含的 SessionId 是否与用于生成 Secure Delete 质询的 SessionId 相匹配。 如果验证成功,PlayReady 将从数据存储中删除许可证会话的记录。