PlayReady 密钥交换

密钥交换 是任意加密密钥(对于受 PlayReady 保护的受支持算法)从 许可证服务器发送到客户端的过程。 这样,服务器可以使用这些密钥执行加密操作(加密、解密、签名、验证),而客户端可以使用相同的密钥执行相应的操作(解密、加密、验证、签名)。

注释

仅当客户端和服务器都使用 PlayReady 版本 4.5 或更高版本时,才支持此功能。

重要

执行加密操作的数据 不受 PlayReady 保护。 PlayReady 仅保护加密密钥本身。

密钥交换体系结构

密钥通过 KeyExchangeLicense 传送给客户端,这是一种唯一类型的许可证,只能在普通许可证获取期间用于密钥交换作。

密钥在客户端上受 PlayReady 保护,其 安全级别 与内容密钥本身相同。

重要

用于保护内容的密钥不得通过 KeyExchangeLicense 发送到客户端。 这样做违反了 PlayReady 合规性和可靠性规则(CR&RR)。

密钥交换许可证

单个 KeyExchangeLicense 包含以下项

  • 单个加密密钥
  • 指示客户端可执行哪些唯一加密作(算法加类型,例如“解密”)的策略
  • 与密钥关联的其他策略,例如绝对过期

密钥交换加密

在服务器上,KeyExchangeLicense 通常在 PlayReady Sever SDK (如 MediaLicense)中构造和使用,主要区别如下。

  • 加密密钥要求在指定密钥的同时指定其加密操作。
  • 某些 MediaLicense 策略不受支持,主要是那些仅与播放相关的策略,例如输出保护级别

有关详细信息,请参阅 KeyExchangeLicense 类 文档。

在客户端,通过新的 Drm_KeyExchange_* API 使用 KeyExchangeLicense。 它们使客户端能够执行以下作。 有关详细信息,请参阅 PlayReady 设备移植工具包 中相关代码注释中提供的 API 文档。

  • 绑定 KeyExchange 许可证,以验证其关联的许可证策略
  • 使用关联的密钥执行单个允许的加密作(根据需要重复执行)