点击上方“LiveVideoStack”关注我们
翻译、编辑:Alex 技术审校:刘姗 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。
▲扫描图中二维码或点击阅读原文▲
了解音视频技术大会更多信息
DRM
Easy-Tech
#022#
Microsoft的PlayReady是用于内容保护和发行的DRM解决方案和平台。它和Apple的FairPlay以及谷歌的Widevine一样,都可以提供安全的客户端SDK(用于内容加密和安全的解码和渲染)、许可证服务器、以及从客户端到服务器(反之亦然)传输过程中对许可证和密钥的处理。
在本文中,我们将深入了解微软PlayReady DRM的工作原理。我们还会了解PlayReady的基本构成,它的安全级别、设备支持和许可证获取方法。
PlayReady DRM
Microsoft的PlayReady是用于内容保护和发行的DRM解决方案和平台。
在下文中,我们将一起了解PlayReady DRM的基本构成、典型的DRM工作流程、安全级别以及设备支持等。
在这一部分,我们一起来了解微软PlayReady DRM的工作原理。这里的解释参考了上文中关于PlayReady基本构成的内容。
PlayReady工作流程(来自微软)
第一步:需要加密的内容首先被打包,然后再加密。加密后,内容被发送给分发服务器(Distribution Server)。许可证和加密密钥被发送给许可证服务器,而域信息则被发送给域服务器。
第二步:在播放端,当用户按下“播放”键,播放器识别出内容已加密,并将该信息传达给浏览器中的内容解密模块CDM(通过EME)。CDM生成一个许可证请求,播放器将此请求发送给许可证服务器。从客户端发送的请求包含密钥ID以及客户端相关信息。
第三步:许可证服务器使用密钥ID获取来自KMS的密钥并将其和其他相关许可证信息一起发送给客户端。来自许可证服务器的响应包括:
第四步:播放器收到来自许可证服务器的许可证,并将它传递给内容解密模块CDM(通过EME)。由于信息已被加密,所以播放器和其他任何软件都无法读取和滥用该信息。
第五步:CDM或者某些设备中的硬件组件将接收到许可证服务器中的响应,从中提取内容密钥,并使用密钥解密、解码以及渲染视频。
PlayReady同时提供可在客户端实现的License Store,用于在客户端存储密钥和权限。有时也称之为“哈希数据存储”(Hashed Data Store)或者HDS。
太棒了!现在你已经了解了PlayReady DRM的工作原理。
PlayReady中的许可证获取
PlayReady中有两种获取许可证的方法(知道这一点很重要):
现在我们看下PlayReady提供的安全级别及其功能。
PlayReady安全级别:SL150、SL2000和SL3000
PlayReady有三个安全级别:SL150、SL2000和SL3000。
但在了解安全级别之前,让我们重温一下TEE(可信执行环境,Trusted Execution Environment)的定义。维基百科这样定义TEE:
主处理器的安全区域,能够确保加载代码和数据的私密性和完整性。
TEE对于DRM而言非常重要,因为它可以显著提升安全性,并且在确保解密密钥和解密视频不被泄露和盗用方面发挥了关键作用。
在了解了TEE之后,我们一起来看下PlayReady三个安全级别SL150、SL2000和SL3000之间的区别。
根据微软的文档描述,安全级别作为客户端证书(Client Certificate)的一种属性,在制造阶段就已经内嵌在了客户端。因此,当客户端发起许可证请求时,它也会提及其安全级别。
许可证服务器检查客户端安全级别并返回用于相应分辨率的内容密钥。比如,如果内容提供商希望只有SL3000级别的客户端才能观看1080p的内容,而客户端提供的安全级别是SL2000,那么许可证服务器将不会返回1080p视频的内容密钥。
许可证服务器还可以将最小安全级别设置为SL150、SL2000或者SL3000。客户端需要检查这个值,如果安全级别低于最小值,那么客户端将拒绝播放视频。
商业模式
前文已经提到, PlayReady支持订阅、按观看次数付费、租借、购买和基于广告的商业模式。让我们简单了解一下这些商业模式之间的区别。
在这种商业模式中,许可证既可以是基于时间限制的模式,也可以是链式模式。
在这种商业模式中,PlayReady将内容许可证预先传输给订阅者,并确认许可证成功存储在客户端设备上。
这种具有时间限制的基本许可证非常灵活。你可以规定许可证在多长时间内有效(按下播放键后的1天、30天或者24小时)。
这种商业模式会假设许可证完全不会过期。除此之外,当用户购买内容时,PlayReady能够将内容复制到一台不同的设备,或者将内容转换为其他DRM方案。
哪些平台支持微软的PlayReady DRM?
下列这些平台都支持PlayReady:
结语
我希望现在你已经充分理解了微软PlayReady DRM的工作原理。网上有很多关于PlayReady的信息、示例代码、播放器和SDK,都可以帮助你加深理解PlayReady并实现它。
我们下次再见,保重!
致谢:
本文已获得作者Krishna Rao Vijayanagar授权翻译和发布,特此感谢。
原文链接:
https://ottverse.com/microsoft-playready-how-does-it-work/
延伸阅读:
构建DRM系统的重要基石——EME、CDM、AES、CENC和密钥
喜欢我们的内容就点个“在看”吧!
本文分享自 LiveVideoStack 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!