博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OMA DRM V1.0学习笔记
阅读量:4102 次
发布时间:2019-05-25

本文共 3036 字,大约阅读时间需要 10 分钟。

OMA中关于DRM的定义主要是为了给内容提供商提供一种控制媒体对象使用的方式,包括对DRM Message的预览、保护文件、防止非法拷贝、超级传送(一种合法的拷贝方式)。

在DRM的范畴内,为了保证媒体对象的合法使用,一旦对象被下载,就被DRM Agent(通常是运行在移动终端上,实现DRM控制)接管了。

DRM系统允许内容提供商给不同的媒体对象添加不同的版权对象,同一媒体对象也允许添加不同的版权对象,由此,内容提供商就可以根据不同的版权对象来定价,客户们根据定价进行消费,于是,一套合理的电子消费系统就产生了。内容提供商会提供用户预览DRM Message的版权对象,一些精彩的预览画面往往会吸引更多的消费者。

应该这么来理解,版权对象和媒体对象都可以看作实体,受保护的媒体对象可以较容易获得,但是版权对象则需要单独购买。有了版权对象才能播放受保护的媒体对象。

关于版权对象和媒体对象的获得主要是以下三种方式:

前两种方式是:Forward-lock,即转发锁定;Combined delivery,即组合发送。这两种方式都需要将媒体文件打包,如果是使用第二种方式,还需要将版权对象和媒体文件打包在一个文件中。DRM Agent根据版权对象来播放媒体对象,如果未包含版权对象,则根据DRM Agent中设置的默认版权进行播放。

第三种方式是Separate delivery,即分组发送,见下图。将媒体对象打包成OMA DRM V1.0中规定的DCF(DRM Content Format)格式,使用对称密钥加密。若要播放媒体文件,只有获得CEK(Content Encryption Key),进行解密。因此,在传送DCF文件时,可以使用安全性较低的通信方式,在传送版权对象以及CEK时,则需要一种安全性高的方式。如图所示,在1.0版本中,使用短信推送的方式,将版权对象发送给移动终端。

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

支持转发锁定方式的移动终端需要支持的媒体对象格式为:

application/vnd.oma.drm.message。
支持组合发送方式的移动终端需要支持的媒体对象格式为:
application/vnd.oma.drm.message, application/vnd.oma.drm.rights+xml
支持分组发送方式的移动终端需要支持的媒体对象格式为:
application/vnd.oma.drm.content, application/vnd.oma.drm.rights+xml,
application/vnd.oma.drm.rights+wbxml

转发锁定:

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

组合发送:

支持组合发送方式的移动终端必须支持转发锁定方式,在该方式中,移动终端根据版权对象来播放媒体对象。版权对象和媒体对象通过被包装在同一个DRM Message中。对于这两个对象本身来说,其关联是外部的,因此移动终端必须保证在收到DRM Message并可能拆包后丢弃的情况下,永久保存版权对象。移动终端不得将组合发送方式中的媒体对象转发。当移动终端使用下载内容时,必须遵循用版权对象描述语言“Rights Expression Language”描述的规定。REL控制下载内容的使用,例如下载媒体对象是否仅被允许打开一次等。

分组发送:

支持分组发送的DRM Agent必须支持组合发送和转发锁定,在分组发送中,媒体对象通常是通过加密的,并转换为DCF格式。DCF文件通过OMA Download方式下载到设备上,版权对象则通过其他的途径送达(WAP Push)。在分组发送中,允许设备将DCF文件转发,但是版权对象是不允许转发的,接收到DCF文件的其他设备需要从Right Issuer获取版权对象。移动终端必须同时支持版权和DRM内容格式(DCF)媒体类型。

OMA DRM 1.0中关于对流媒体的支持规定得很简单,几乎等于没说,所以也就不介绍了。

在转发锁定方式中,服务器端返回的DRM Message

HTTP/1.1 200 OK

Content-type: application/vnd.oma.drm.message;
boundary=boundary-1
Content-Length: 574
--boundary-1
Content-type: image/jpeg
Content-Transfer-Encoding: binary
...jpeg image in binary format...
--boundary-1—

在组合方式中,服务器端返回的DRM Message

HTTP/1.1 200 OK
Content-type: application/vnd.oma.drm.message;
boundary=boundary-1
Content-Length: 893
--boundary-1
Content-type: application/vnd.oma.drm.rights+xml
Content-Transfer-Encoding: binary
< o-ex:rights
xmlns:o-ex="
"
xmlns:o-dd="
"
>
< o-ex:context>
< o-dd:version>1.0</o-dd:version>
< /o-ex:context>
< o-ex:agreement>
< o-ex:asset>
< o-ex:context>
< o-dd:uid>cid:4567829547@foo.bar</o-dd:uid>
< /o-ex:context>
< /o-ex:asset>
<o-ex:permission>
< o-dd:display/>
< /o-ex:permission>
< /o-ex:agreement>
< /o-ex:rights>
--boundary-1
Content-type: image/jpeg
Content-ID: <
>
Content-Transfer-Encoding: binary
...jpeg image in binary format...
--boundary-1—

分组发送方式中,服务器端返回的DRM Message

HTTP/1.1 200 OK
Content-type: application/vnd.oma.drm.content;
Content-Length: 1234
X-Oma-Drm-Separate-Delivery: 12

你可能感兴趣的文章
pytorch(二)
查看>>
pytorch(三)
查看>>
pytorch(四)
查看>>
pytorch(5)
查看>>
pytorch(6)
查看>>
opencv 指定版本下载
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>