您的位置:华清远见教育科技集团 >> Android资料 >> Android 封装式/嵌入式DRM对比  
 
Android 封装式/嵌入式DRM对比
分享到:

在CPM中,按照DRM加密策略的不同,目前支持两种类型的DRM:封装式DRM(Wrapped DRM)和嵌入式DRM(Embedded DRM)。 其中封装式DRM适用于OMA DRM 1.0,嵌入式DRM适用于OMA DRM 2.0。

在封装式DRM中,媒体对象的所有数据被封装在一个统一的加密层中,这有助于DRM在更高层次(文件解析器)上去处理数据。但缺点也很明显, 封装式DRM不适用于流媒体对象,对媒体对象的所有数据进行加密层封装是不现实的。

而嵌入式DRM适应了流媒体数据的特点,能够支持OMA DRM 2.0规范。OMA DRM 2.0提供的保护机制包括本地回放、累进下载、流播放等。

OMA DRM 2.0基于ISO BaseMedia文件格式来保护媒体内容,该文件格式定义了一个本身为明文的容器来存储DRM信息和相应的加密数据。这使上层应用可以不依赖DRM代理就能解析该文件的部分内容,但如果期望解密数据则必须有文件格式解析器的参与。

封装式DRM和嵌入式DRM在DRM代理和上层应用间的交互过程有所不同。在封装式DRM中,上层应用不需要从DRM容器文件中为DRM代理提取DRM信息,封装式DRM的控制交互过程如下图所示。

封装式DRM的控制交互过程
封装式DRM的控制交互过程

嵌入式DRM需要从DRM容器文件中为DRM代理提取DRM信息,嵌入式DRM的控制交互过程如下图所示。

嵌入式DRM的控制交互过程
嵌入式DRM的控制交互过程

在封装式DRM中当对媒体对象的回放所涉及的内容进行读取或者查找时,媒体内容被封装在一个统一的加密层上,明文数据的接入依赖常集成于底层I/O文件接口的DRM代理,但数据对上层是透明的。封装式DRM的数据交互过程如下图所示。

封装式DRM的数据交互过程
封装式DRM的数据交互过程

对于嵌入式DRM,文件被部分加密,这就要求上层应用必须自己了解文件格式,并必须直接和DRM代理通信以获得明文内容。嵌入式DRM的数据交互过程如下图所示。

嵌入式DRM的数据交互过程
嵌入式DRM的数据交互过程

为了完成媒体内容的接入,在CPM中,大致需要经过如下过程:请求DRM资源、打开会话、注册内容句柄、获取内容类型、执行操作(播放、暂停等)、执行内容接入、操作结束、关闭会话、释放DRM资源。

封装式DRM的操作交互过程
封装式DRM的操作交互过程

对于嵌入式DRM而言,PVMFCPM::ApproveUsage()可能会被反复调用,用于DRM授权。

 更多相关文章

·Android DRM数字版权管理
·Android OpenCORE 概述
·OpenMAX IL 层接口的实现
·Android开发OpenMAX接口规范
·Android 图像解码的实现