OMA DRM原理的研究及实现

一、DRM技术简介 
  DRM(Digital Right Management)是数字权限管理的简称,又可以称为“内容数字版权加密保护技术”,是目前应用最广泛的内容版权保护技术。其主要针对媒体文件在使用过程中的版权保护,打击盗版,保护版权所有者的合法权益。 
  众所周知,计算机技术和网络技术的发展大大的推动了媒体文件传播的速度、简化了用户获得媒体的途径。作为媒体文件的版权所有者,一方面可以节省大量的传播费用,借之降低成本、提高利润;另一方面,如果缺乏有效的保护,必然导致盗版泛滥,从而丧失应得利益。因此,随着计算机和网络的高速发展,如何保护网络传媒的合法版权一直是需要解决的最重要问题之一。DRM技术的诞生正是基于这样的目的。 
  DRM技术的基本工作原理可以简要描述为:首先建立数字节目授权中心并编码压缩后的数字节目内容,利用密钥将媒体文件加锁,用户在点播时,从媒体文件获取授权中心的信息并连接获取授权,通过数字节目授权中心的验证授权后,送出相关的密钥解密后才允许播放。目前在计算机上应用最多的是微软的DRM技术。 
  单纯的DRM技术不是本文的重点,因此不再赘述,读者可查询相关协议获得更详细的协议描述。本文重点描述在通信终端上应用的OMA DRM。 
  二、OMA DRM 1.0 
  OMA DRM是OMA(Open Mobie Alliance)开放移动联盟制定的可应用于移动通信终端的的DRM协议。OMA DRM在DRM基本原理的前提下进行了一定程度的变化,从而可以实现比较容易的应用。本文从应用的角度探讨OMA DRM,因此以1.0版本的应用过程为描述重点。 
  OMA DRM 1.0的下载以http协议为基础,简单的可以以DRM Message的形式发送,复杂的则可依据OMA Download协议(OTA)进行。OMA DRM明确了在终端可用的三种DRM保护方式。 
  第一,FL(转发锁定)方式。FL方式要求终端限制用户对于媒体文件的转发。当终端获得媒体文件后,可以自由无限制的在本终端使用,终端必须保护该文件不能通过通信设备或机制被转发到其他设备,包括使用红外、蓝牙、usb、外置存储卡等。在FL方式下,授权中心只负责媒体文件的发送,保护文件的职责在用户使用的具体终端。在FL文件获得的同时向授权中心缴纳版权费用。 
  第二,CD(合并发送)方式。相比FL方式,CD方式会在授权中心进行媒体文件和权限文件的合并打包。用户在使用媒体文件的时候,终端软件会查询权限对象,如果符合权限,则正常播放,否则会提示用户权限已经失效。与FL方式相同,用户在获得CD对象的同时缴纳版权费用。但CD方式高于FL方式,也就是说,终端必须保护CD方式的媒体文件也不能被用户转发。 
  第三,SD(分离发送)方式。SD方式是CD方式的一种改进。随着媒体内容的发展,媒体对象可能很大,单纯依赖移动通信网的下载可能很困难。SD方式首先将媒体文件加密并打包成特定的格式(DCF格式),方便用户可以通过多种方式获得。用户获得媒体文件的过程并不需要缴纳费用。在使用过程中,终端软件会首先从DCF格式内容中获得授权中心的URL,启动浏览器下载包含解密密钥的明文xml权限文件,下载权限文件的过程中用户缴纳相应费用获得不同的使用权限限制。 
  OMA DRM1.0规定了终端对于版权文件的保护原则和基本原理。包括权限保护的通信过程、权限对象的xml规格、SD方式下使用的DCF格式等。 
  三、协议的实现和应用 
  上一节已经提出的OMA DRM1.0对于实现细节没有明确和严格的规定。具体在应用过程中可以还需要明确下面几个细节过程: 
  对FL和CD方式的转发保护。FL文件和CD文件都是明文发送的,转发保护依赖终端软件进行,终端在应用过程中必须提供可靠的转发保护机制。 
  权限文件的保护。对于已经加密的SD文件。对权限文件的保护非常重要,权限文件以明文发送。 
  三种方式如何兼容灵活使用。FL方式、CD方式、SD方式既有共同点,又有区别,应该尽可能灵活的设计应用流程,避免多重和复杂的程序处理。 
  基于以上的考虑,OMA DRM的应用流程设计如下,对DRM message的解析或者OTA的实现都不是DRM的重点,因此本文介绍的流程从下载结束开始,如图1和图2所示。 
  从上面两个核心流程可以看出,本应用过程有下面几个特点。第一,内部密钥的使用确保了转发的不可能;第二,三种方式的文件实现了统一管理,在下载时分流后统一,简化了使用的过程,在具体使用的时刻自动实现了三种类型的分离保护;第三,流程相对简单,由于OMA DRM协议在SD的DCF格式中要求必须使用AES CBC加密算法,因此在对权限文件的加密也可以借用此算法,如果为了简化计算,还可以使用AES ECB算法。对于FL和SD标记的实现也比较简单,在DCF格式中有可扩展字段,简单扩展后就可以实现;第四,对于权限文件的使用更灵活。由于权限文件的原文是XML格式,在嵌入式系统下的实现比较复杂,流程中在下载过程中解析XML后转换为内部格式,这样就回避了权限文件使用过程中反复读取XML,权限消费后又不得不写回XML的过程,可以减少三分之一的XML解析部件的代码量。 
  四、结论 
  尽管上述流程已经非常简单易行,仍有可优化的地方。第一,AES算法比较复杂,需要大量的矩阵运算,但是可以通过查表法来提高运算速度,可使用空间换时间的策略来优化;第二,XML解析算法比较复杂,但是如果仅限读取功能且在XML源出错不需要深入细分错误类型的情况下,可以使用简单的文本查找策略来替代;第三,权限对象可能存在多个,因此内部权限文件通常是权限对象的链表,如果将内部权限的链表对象优化为16字节的倍数,则可以提高权限对象的查找和检索速度。 
发布了325 篇原创文章 · 获赞 135 · 访问量 144万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览