安全级别是 PlayReady 客户端的属性,传递到客户端的每个许可证都有一个属性,指示客户端允许绑定到此许可证所需的最低安全级别。
客户端的安全级别
PlayReady 客户端安全级别是客户端(设备或应用程序)的属性,用于定义客户端免受未经授权的使用的可靠性。 安全级别越高,客户端声称更可靠。
PlayReady 目前定义了三个级别:
| 安全级别 | 目的 | 客户端实现 | 版本 |
|---|---|---|---|
| SL150 | 对于正在开发或受测试的客户端。 不适用于商业场景中的商业内容。 |
任何实现都是可接受的。 资产、客户端机密或内容机密根本不受到未经授权的使用保护。 | 任意 |
| SL2000 | 对于使用商业内容的强化设备和应用程序。 | 对于设备和应用程序。 资产、客户端机密或内容机密通过软件或硬件手段进行保护。 |
任意 |
| SL3000 | 针对安全级别最高的强化设备,提供最高质量的商业内容。 | 仅适用于设备。 使用处理器的受信任执行环境(TEE)通过硬件手段保护资产、客户端机密和内容机密。 符合合规性和健壮性要求的超集。 |
PlayReady 3.0 或更高版本 |
SL2000 设备或应用程序的插图。 最终产品经过强化,并经过验证,以防止未经授权的使用。

SL3000 设备的插图。 中间产品是使用 TEE 强化和验证的,最终产品经过强化和验证,以防止未经授权的使用。

Hardware-DRM 与 Software-DRM
SL2000 客户端通常称为“Software-DRM”客户端,因为它们的可靠性主要由软件手段提供支持。 SL3000 客户端通常称为“Hardware-DRM”客户端,因为其 PlayReady 堆栈的核心功能必须在处理器的受信任执行环境(TEE)中实现,并由硬件手段提供支持。
内容提供商越来越多地转向基于硬件的保护,以授予在应用中播放完全高价值内容的权限。 已将对加密核心的硬件实现的可靠支持添加到 PlayReady 以满足此需求。 此支持允许在多个设备平台上安全播放更高值的内容。 密钥材料(包括私钥、内容密钥以及用于派生或解锁上述密钥的任何其他密钥材料)以及解密的压缩和未压缩的视频示例通过利用硬件安全性进行保护。 许多设备都支持基于硬件的 PlayReady,包括 Windows 和非 Windows 设备,例如电视机、手机和平板电脑。
在许可证中使用安全级别
安全级别是开发周期期间定义的客户端的属性。 它对实施的方法有影响,以确保内容机密和客户端机密的安全性免受攻击,以及客户端开发人员制定的开发和认证计划。
许可证服务器可以通过两种方法根据许可证的安全级别来调整传送给客户端的许可证或许可证属性。
安全级别是生产时嵌入在客户端中的客户端证书的属性。 当客户端从许可证服务器获取许可证时,会在许可证请求中提供其客户端证书的副本。 许可证服务器收到此请求,并且可以在向客户端传送许可证之前检查客户端的安全级别。 它可以包括用于为不同客户端传送不同许可证的逻辑。 例如,SL3000 客户端将有权访问比 SL2000 客户端更高的分辨率,并且接收的许可证不同于其他客户端。 或者,它将能够访问不同的目录,包括院线电影。
此外,传递的每个许可证都包含一个名为 MinimumSecurityLevel 的属性,该属性由许可证服务器设置为 150、2000 或 3000。 向客户端传送许可证的许可证服务器在许可证中设置此值。 绑定许可证的客户端验证其自己的客户端安全级别是否等于或大于许可证的 MinimumSecurityLevel 值。 如果不是这样,它们将拒绝绑定并进行播放。
