首页 > 编程知识 正文

drm安全等级,数字版权管理不具有的功能

时间:2023-05-05 23:35:04 阅读:151982 作者:3701

原始文章:

DRM在安卓上

DRM是安卓的(2) ——HAL

DRM-widevine总结

DRM-Playready总结

ExoPlayer Shaka-packager播放自制的DRM视频

0引言数字版权管理(Digital Right Management,DRM )是当前网络传播对数字作品进行版权保护的主要控制手段。 DRM由美国出版社协会定义。 “数字内容交易过程中保护知识产权的技术、工具和处理流程”。 DRM是引入信息安全技术的系统解决方案,在保证合法授权用户正常使用数字图像、音频、视频等数字信息的同时,保护数字信息的作者和所有者的著作权,基于著作权信息获得合法利益,实现著作权数字版权保护技术是一组保护各类数字内容知识产权的软硬件技术,可以保证数字内容在整个生命周期内的合法使用,平衡数字内容在价值链中各角色的利益和需求具体而言,包括对数字资产的不同形式的使用的描述、标识、交易、保护、监控、跟踪等过程。 数字版权保护技术贯穿于数字内容从产生到分发、从销售到使用的整个内容流通过程,涉及到整个数字内容价值链。

本文主要研究DRM控制技术在多媒体音视频中的应用。

1 DRM控制原理DRM技术是加强音频、视频数字化产品内容版权保护的技术,是其基本机制。 利用密钥(Key )对音频、视频等文件进行加密编码处理,建立证书授权服务中心,加密后的数字节目首存Key ID和节目授权中心的URL。 当用户使用这些加密文件时,APP应用程序将根据头文件中包含的相关属性自动链接到相应的站点(证书授权服务中心)以获取相应的证书。 这些声音、视频等文件只有在经过许可中心验证并获得许可后才能使用。 这样可以严密有效地保护这些数字多媒体产品的版权和使用权。 下图说明了DRM系统的行为。

图1 DRM系统的工作原理

1.1文件加密和内容打包加密软件加密要加密的媒体文件。 该过程的原理可以从私有签名密钥(PrivKey )、公共签名密钥(Pubkey )、许可密钥种子)和密钥id )生成,还可以从许可密钥种子)和密钥id )生成密钥) key 用于加密和保护媒体文件内容的密钥id(keyid )、证书颁发中心的站点地址、版本号等信息存储在加密媒体文件的标头中,并基于私有签名密钥对标头进行签名; 然后,对内容进行加密,并与标头一起打包到媒体文件中。

1.2分发内容加密打包的文件,用户可以通过下载、点播、刻录光盘发售等方式分发,但使用时需通过许可中心验证,确保获得许可

1.3如果获得证书的用户使用加密文件,客户端媒体版权管理器会首先搜索是否有本地有效证书,如果证书失败,则会链接到许可证服务器; 证书发行中心的证书发行页面在接收到客户端发送的加密文件的内容报头和客户端相关信息后,将许可证密钥种子(Seek )和接收到的密钥id )作为与内容打包时相同的密钥(Key )生成证书颁发中心还定义了许可证的权限,例如播放次数和开始时间,然后创建包含用于解密内容的密钥和权限等的证书,最后将证书传输给客户端的版权管理员。

1.4播放文件并获得证书后,“客户端媒体版权管理器”会验证签名并将许可证放入许可证库中。 然后,客户端媒体版权管理器解密内容,并根据权限播放流式文件。

图2解密的执行流程

博文为ganqiuye原创,转载请附上原文出处链接和本声明。

2 DRM的种类目前主流的DRM技术有广角、播放、矩阵、虚拟矩阵等。 DRM技术的实现方式和Android的对接方式各不相同。 实现方式有不同的安全级别

别,低安全级的实现方案一般没有使用到Secure OS,DRM操作在Normal World中完成。高安全级的实现方案则采用了Secure OS,将DRM操作放到Secure World当中进行,保证DRM操作的安全性。在与Android的对接方式上,有的技术方案沿用Android DRM Framework,与之对接实现DRM管理,有的则摒弃Android DRM Framework,提供自己的上层调用API,对接方式较为自由。

    下面对三种主要常见的DRM技术方案进行描述:

2.1 WIDEVINE

    Widevine是google在ICS(android4.0)版本上新推出的一种DRM数字版权管理功能,有这个功能的话,就能从google指定的服务器上,下载经过google加密的版权文件,例如视频、应用等等。

    google推出这个功能主要的目的是为了在应用内容上可以和苹果更好的竞争,由于目前android的开放性,导致基本上所有的android应用都可以很快的扩散并免费安装,因此导致给android开发应用的开发商以及个人很难从中充分获利,而苹果这点保护的很好,因此苹果的应用商店中的应用内容质量和档次明显更高。因此google推出它,最终目的就是可以进行收费。现在Widevine已经成为GMS(Google Mobile Service)中必备的内容,所有想要得到GMS的手机厂商,都需要根据GMS的要求搭载Widevine。

    Widevine拥有三个安全级别,如下表所示,Level 1和Level 2是Widevine的硬件安全实现方案,采用Factorty Provisioning。Level 3是Widevine的软件安全实现方案,采用Field Provisioning。常用的方案为Level 1和Level 3。

                                                                                 表1 Widevine Security Level

2.2 PLAYREADY

     Playready是微软开发的媒体文件保护技术,包括加密,输出的保护和数字版权管理(DRM)。Playready是目前应用较为广泛的DRM技术之一。

1. PlayReady所开发的产品有:

PlayReady Server SDK:用于服务器开发,实现内容包装、许可证分发、域管理和计量服务等。

PlayReady PC SDK:用于个人PC端的软件开发,实现PC端的许可证管理、在设备间传输保护内容、播放内容等。

PlayReady Client SDK for Android/iOS:用于开发Android/iOS移动设备端的应用程序,实现播放受PlayReady 保护的数字内容。

PlayReady Porting Kit:用于开发人员为不同设备创建Playready系统架构,从而支持Playready数字内容保护的相关功能(如许可证获取、内容解密)。

2. Playeready数据流

客户端和服务器的数据流包括两部分:受保护的多媒体内容和用来解密的License。主要流程如下:

内容提供方利用PlayerReady Server SDK加密多媒体内容,发送给服务提供方服务提供方把加密的多媒体内容,推送到Web服务器服务提供方部署用于解密多媒体内容的License服务器客户端从License服务器获取License,从Web服务器获取多媒体内容,然后解密播放

                                                                                         图3 Playready数据流

3. PlayReady加解密流程

    服务器端用客户端的公钥加密License,客户端用私钥解密License。多媒体内容用AES加密,AES的对称密钥在License里。具体如图:

                                                                             图4 Playready加解密过程

2.3 MARLIN

      Marlin DRM是由Marlin Developer Community(MDC)创建的一套DRM标准。MDC是由Intertrust,,Panasonic,,Philips,,Samsung和Sony这五家公司在2005年组建,是一个开放标准的组织。这五家公司后来又成立Marlin Trust Management Organization(MTMO)来管理认证许可,MTMO在2007年开始商业运作。

    Marlin的工作流程可见下图:

                                                                                       图5 Marlin工作流程图

3 Android端DRM控制架构 3.1 控制框架

    Android平台提供了一个可扩展的DRM框架,允许应用程序根据和内容相关联的许可约束来管理受权限保护的内容。DRM框架支持多种DRM方案,一般来说某个设备支持的DRM方案是基于该设备制造商设计实现的。Android提供的DRM Framework是在下面两个层次上实现的:

                                                                                     图6 android DRM framework

1. DRM Framework API,它通过Android应用程序框架层暴露给应用程序使用,并且运行在标准应用程序所应用的Dalvik虚拟机。

2. Native层的DRM Manager,它实现了 DRM框架并且为DRM plugins暴露了接口,用来处理权限管理和各种DRM方案的解密。而最终的DRM技术都是在Plugins中以插件的形式实现的。

    对应用程序开发者而言,DRM Framework提供了一个抽象的,统一的API接口,用于简化管理受保护的内容。API隐藏了复杂的DRM操作,并根据不同的DRM模式为受权限对象保护的和未受权限对象保护的内容提供了一个统一的操作模式。对于设备制造商、内容拥有者和互联网数字媒体供应商而言,Android提供DRM Plugin结构,使Android系统能够支持不同的DRM方案。

3.2 控制API

DRM API的主要功能如下:

(1)判断设备上安装的是哪一类DMR    plug-ins (agents)。

(2)检索特定plug-ins的信息,如它们所支持的MIME类型和文件后缀类型。

(3)通过在线的DRM服务去注册用户或者设备。

(4)为受权限保护的内容检索许可证约束信息。

(5)检查用户是否有适当的权限去播放或者使用受版权保护的内容。

(6)将受保护的内容与相关权限相关联,这样就可以使用MediaPlayerAPI来播放内容。

3.3 插件管理控制

     在Android DRM Framework中,API模块只是提供了一个统一的、抽象的DRM接口,而对于不同厂商的不同DRM标准,其最终还是要在Android Native层中以plugin的形式得以实现。每一个不同的DRM标准,都可以做成一套不同的Plugin,嵌入到Android操作系统中去。其中,API层通过binder机制同位于Native层的DrmServer进程中的DRM Manager模块通信,该模块是Native层中负责DRM管理、实现的重要模块,它负责管理、选择、加载所有的DRMPlugins插件。而Android DRM中,真正实现版权管理、权限控制、身份控制、内容解密等功能的,是DRM plugin模块。

    DRM Framework使用插件架构来支持多种DRM方案。DRM Manager服务同DRM插件以分离的方式,在单独的进程中运行。每个从DrmManagerClient中发起的API调用通过Binder IPC机制跨进程的向DrmManagerService发起。DrmManagerClient提供给运行时应用java实现,同时它也为本地的module提供DrmManagerClient-native的实现。DRM Framework的调用者只同DrmManagerClient交流并且不需要关心具体的DRM实现方案。

                                                                                             图7 DRM插件

4 总结

     当前国内对数字媒体版权保护越来越重视,这时,数字版权保护以及建立在其之上的DRM技术就成了一个必须要重视的问题。同时,随着人工智能的快速发展,当前,AI变脸技术也被越来越多人掌握,甚至是零基础上手,这必将会导致音视频媒体文件被随意篡改,因此,通过DRM这种数字版权管理技术,就可以帮助人们识别出视频的真伪,以及版权的保护。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。