您的位置:华清远见教育科技集团 >> Android资料 >> Android DRM数字版权管理  
 
Android DRM数字版权管理
分享到:

除了DRM以外,CPM还支持其他策略,如根据等级或者用户配置限制内容的接入等。在Android中,目前提供了对DRM 1.0和DRM 2.0的原生实现,但仅对DR,M 1.0提供了Java层的接口,而且DRM 2.0的代码在Android 2.3中被移除,DRM的代码主要集中在frameworks/base/drm和frameworks/base/media,本文主要介绍DRM的内容。

DRM是保护音频、视频、文档等数字内容版权的一种加密技术。利用DRM保护数字内容版权,首先要建立数字内容授权中心,编码压缩后的数字内容,同时利用密钥的公钥对数字内容进行加密保护,加密的数字内容头部存有密钥ID和数字内容授权中心的URL。用户浏览或者点播时,根据数字内容头部的密钥ID和URL信息,通过数字内容授权中心验证授权后送出的相关私钥进行解密,用户就可以浏览或播放了。

DRM1.0的制定工作开始于2002年。2004年6月,OMA正式发布了DRM 1.0版本,除了OMA DRM外,业界比较主流的DRM架构还有Windows Media DRM。但DRM架构基本相同。DRM 1.0没有涉及很强的保护,主要制定了4种分发方式:转发锁定(Forward Lock)、组合分发(Combined Delivery)、分组分发(Separate Delivery)、超级分发(Super distribution)。在具体的实现上,分发类型定义位于frameworks/base/media/java/android/drm/mobile1/ DrmRawContent.java中。包括四种:DRM_FORWARD_LOCK、DRM_COMBINED_
DELIVERY、DRM_SEPARATE_DELIVERY、DRM_SEPARATE_DELIVERY_DM。其中DRM_SEPARATE_DELIVERY_DM是指在DRM消息中分组分发。

DRM的MIME类型在Android中,主要包括四种:DRM_MIMETYPE_RIGHTS_XML(application/vnd.oma.drm.rights+xml)、DRM_MIMETYPE_RIGHTS_WBXML(application/vnd.
oma.drm.rights+wbxml)、DRM_MIMETYPE_MESSAGE(application/vnd.oma.drm.message)。

在Android中,在DrmStore.java中对转发锁定提供了一个内容提供器,其受"android.permission.ACCESS_DRM"权限保护。

每打开一个DRM对象,就将创建一个会话(Session),原生层的接口位于frameworks/base/media/libdrm/mobile1/include/objmng/Svc_drm.h中,在Java层中,对版权对象和DRM消息做了封装,主要Java类的作用如下:

DrmConstraintInfo类提供了DRM约束的接口,如开始日期、结束日期、使用次数等。
    DrmRights.java提供了接入DRM版权对象的接口。
    DrmRightsManager类提供了接入DRM版权管理器的接口。允许安装、查询、删除版权对象。
    DrmRawContent类提供了接入DRM原始内容的接口。能够获取分发的类型和内容的类型等。

而DrmInputStream类则提供了经解密后的媒体对象内容的接口。

在DRM服务器方面,除了商业解决方案外,开源的openIPMP也是个不错的选择,其基于JBoss应用服务器和Mysql数据库,能够在Windows和Linux下实现。遗憾的是openIPMP在2006年后已经不再有人维护。

另外,在Android 3.0中,Google还引入了新的DRM框架。

在转发锁定方式中,移动终端禁止转发DRM消息(DRM消息是将媒体对象打包后生成的文件,但未加密,明文存储),但必须支持DRM消息文件格式解析。如果移动终端接收到一个包含版权对象(Drm Rights)的DRM消息(在组合分发方式中,处理的对象是包含版权对象的DRM消息),则需要在提示用户后,将该DRM消息抛弃。移动终端可以播放媒体对象,但不能对其修改。

支持组合分发方式的移动终端必须支持转发锁定方式。在该方式中,移动终端根据版权对象来播放媒体对象,版权对象和媒体对象被封装在同一个DRM消息中,在拆包后,允许用户丢弃媒体对象,但必须永久保存版权对象。移动终端不得将组合分发方式中的媒体对象转发。

支持分组分发方式的移动终端必须支持组合分发和转发锁定。分组分发方式将媒体对象打包成DCF(DRM Content Format)格式,使用对称密钥加密,DCF文件通过OMA下载方式下载到移动终端上,版权对象则通过其他方式(如WAP 推送等)发送。在分组发送中,允许DCF文件转发,但版权对象不允许转发。接收到DCF文件的其他终端需要从版权引发器(Right Issuer)上获取版权对象。下图所示为通过短信推送的方式,将版权对象发送给移动终端。

OMA DRM 1.0分组分发
OMA DRM 1.0分组分发

根据分组分发,OMA DRM1.0还提出了超级分发的概念,允许在多个移动终端之间传递DCF文件,但不能传递版权对象。当未包含版权对象的移动终端接收到DCF文件后,会根据文件中的定义,访问对应的版权对象服务器,提示用户购买相应的版权对象并下载。下图显示了OMA DRM 1.0进行超级分发过程。

2005年6月14日,OMA发布了新的OMA DRM V2.0,制定了基于PKI的安全信任模型,给出了移动DRM的功能体系结构、权利描述语言标准、DRM数字内容格式(DCF)和权利获取协议(ROAP)等。OMA DRM V2.0包括终端DRM代理、内容中心(Content Issuer)、授权中心(Rights Issuer)、用户和移动存储设备等外置存储设备(Off-device Storage)。

OMA DRM 1.0分组分发
OMA DRM 1.0超级分发

在OMA DRM V2.0中,用户能够通过超级分发等各种方式获得受保护的数字内容,数字内容使用权利需要通过ROAP协议获取,使用权利与一个或者一组DRM代理绑定,数字内容的使用受到严格的控制。

但是由于DRM的局限性,存在着操作麻烦和保护漏洞等问题,DRM日益受到业界和消费者的质疑,全球四大唱片公司的百代唱片(EMI,The Electric and Musical Industries Ltd)、维旺迪环球唱片公司(UMG,Universal Music Group)、华纳音乐集团(WMG,Warner Music Group)、索尼贝塔斯曼(SONY&BMG Music Entertainment)先后在2007年初到2008年初宣布开始提供不带数字版权保护的音乐唱片。Apple公司在2009年早些时候就宣布,所有通过iTunes商店售出的音乐都将无DRM限制,也许在不久的将来DRM将会在数字出版领域消亡。

 更多相关文章

·Android OpenCORE 概述
·OpenMAX IL 层接口的实现
·Android开发OpenMAX接口规范
·Android 图像解码的实现
·Android Camera 参数的设置