基于特征图像的数字版权保护系统
2014-04-03肖芸肖明波
肖芸,肖明波
XIAO Yun,XIAO Mingbo
杭州电子科技大学 通信工程学院,浙江 杭州 310018
College of Communication Engineering, Hangzhou Dianzi University, Hangzhou, Zhejiang,310018, China.
随着 Internet和数字化技术的快速发展,在网上交易和传播的电子书、音乐、电影、图片、游戏和软件等数字内容越来越多。然而,由于数字化信息很容易被复制、修改和传播,导致网上交易的数字内容存在大量的盗版和侵权问题,给相关权利人造成巨大的经济损失,同时也妨碍数字内容产业的发展。于是,出现了一种以保护数字内容版权为主要目的新技术——数字版权管理技术(Digital Rights Management,简称DRM技术)。DRM技术以数字加密技术为基础,结合一系列软硬件技术,用以保证数字内容在整个生命周期内的合法使用,平衡数字内容价值链中各环节的利益和需求。
DRM技术自产生以来,得到了工业界和学术界的普遍关注。国际上许多著名的计算机公司和研究机构纷纷推出了各自的DRM产品。如微软的Windows Media DRM[1],苹果的 FairPlay DRM[2],Adobe 的 ACS(Adobe Content Server),IBM 的 EMMS(Electronic Media Management System),RealNetworks的Helix DRM等;国内的有方正Apabi DRM,福昕的FoxitDRM 、书生的SureDRM和海海软件的DRM-X等[3]。
另外,许多研究者也对DRM进行了深入的研究。文献[4]提出典型的DRM实现机制通常是采用将内容—许可证—设备(用户)绑定的方式,防止内容的非法使用。但随着数字产品的极大丰富,每个用户拥有越来越多的数字设备(如个人电脑,智能手机,iPad,电子阅读器等)。为了便于用户在多台设备上使用数字内容,Digital Video Broadcasting联盟首先提出了“授权域”(Authorized Domain )这个概念,随后在这基础上发展了多个版本,如家庭网络域[5],个人娱乐域[6](Personal Entertainment Domain)和OMA DRM提出的用户域[7]。文献[5]提出的家庭网络域需要一个高性能的域管理设备,且域内的每个设备都要维护一张本地撤销列表,实现起来比较复杂,实用性不强。文献[7]提出的用户域是由版权管理中心(RI)进行统一的管理,这大大增加了RI的负担,成为发展瓶颈。
本文在文献[8]的基础上,利用遍历加密的方法建立用户域,过程简洁,不需中心管理设备,减少被攻击的风险。并以用户域为基础,提出了一种新的构想,即用特征图像来标识用户。利用图像上的数据信息来产生密钥加密密钥。再结合设备的机器指纹,构建了一个内容加密密钥+图像+机器指纹的三重加密机制,比像文献[8]那样直接用机器指纹来加密具有更好的安全。
表1 符号及其意义
1 基于图像特征DRM的工作原理
本文以密码学为基础,设计了一种新型的DRM系统。下面首先介绍该系统的模型及其构建过程,包括内容打包加密;用户注册、建立用户域;许可证的申请、产生和分发等。然后介绍系统采用的三重加密机制技术方案的实现流程。表1给出了文中用到的一些符号及其意义。
1.1 DRM系统模型
本文提出的DRM系统模型由注册服务器RS、内容服务器CS、许可证服务器LS和终端用户U四个实体构成,各实体间的信息交互如图1所示。该模型首先建立一个用户域,使用户能在自己的多个终端设备上共享数字内容。在加解密方面,重点在于特征图像的引入,用图像作为密钥的载体,这样做可以大大增强了系统的安全性。另外,该系统还采用内容与许可证相分离的模式,允许数字内容的超级分发,而对许可证进行合理控制,使许可证与用户域内设备绑定。该模型的具体实现包括以下四个阶段:
图1 基于特征图像的DRM系统模型
第1阶段:完成数字内容的加密、打包和制定数字内容的使用权限,并将内容相关信息发送给许可证服务器LS。内容服务器CS对数字内容进行打包加密,打包后的内容文件包括两个部分;文件头和加密的内容,文件头里包含内容的ID号(cont_ID)、摘要、获取许可证的URL地址和内容的使用规则rights等信息。将打包后的内容文件提供给用户下载,同时将内容加密密钥CEK(Content Encryption Key)和文件头里的信息发送给许可证服务器LS。
第2阶段:完成用户和设备的注册。包括两个步骤如图2所示:
图2 用户域建立流程
2) 设备注册。假设用户要注册设备A,首先提取设备A的指纹(通常由CPU序列号、硬盘序列号、MAC地址等硬件信息组成),将这三者补零对齐后, 进行异或运算,再经安全散列作用形成一个具有唯一性的设备标识符DIDA,该标识符用于许可证服务器定位用户,实现许可证和用户绑定,防止许可证扩散。将DIDA发送给RS,RS验证设备的合法性后,为设备A生成相应的设备注册证书,其中NA是设备注册时,用户输入的设备A的名字,方便用户管理注册的设备。I是RS分配给用户的一幅图像。在用户依次注册的过程中,RS建立起一张用户图像列表(UIL,User Image List)。表中存储两部分信息:用户的ID和发送该用户的图像的编号。通过这张表将用户和图像进行了绑定。version 表示证书的版本信息,lifetime表示证书的生存周期。最后将CA返回给注册的设备,用户再依次注册其它终端设备(假设用户最多能够注册m台设备),使各个设备都得到相应的设备注册证书,同时也将图像植入到了每台设备。注册完后,用户就建立起了自己的一个用户域。
第3阶段:完成许可证的申请、产生和分发,包括三个步骤如图3所示:
图3 许可证的申请流程
1) 用户下载了加密的数字内容后,根据文件头里的URL地址信息链接到LS去申请相应的内容许可证。用户向LS发出许可证请求信息Req2=[cont_ID||rights1||CA],rights表示用户申请数字内容的使用权限,如打印、复制、播放的时间和次数等。
2) LS接收到用户的请求信息后,查看CA的版本是否过期,并检查用户的请求权限是否合理,即判断rights1是否是rights的子集,若条件都符合,则从CA中提取出username发送到RS去验证用户的注册信息,RS接受到LS发送过来的验证请求后,根据username找到用户的注册信息,将用户注册的所有设备的信息发送给LS。即发送[username||N1||N2||…||Nm||DID1||DID2||… ||DIDm]到 LS。其中Ni(i=1,2,…,m)表示第i个注册设备的名字,DIDi表示第i个注册设备的设备标示符。
3) LS接收到用户的注册信息后,对(DIDi|i=1,2,…,m)进行哈希运算得到相应的各设备的设备密钥(dkeyi|i =1, 2,… ,m)。然后LS从CA中提取出图像I,并随机指定图像上的n个点,提取这n个点的像素值,将这些像素值经过MD5加密后得到密钥加密密钥,这里我们把它叫做位置密钥KL,用这个位置密钥加密CEK得到CEKe。再用之前计算得到的设备密钥dkeyi加密n个点在图像中的坐标信息S,得到Sie。最终生成用户需要的许可证。
将L发送给用户。
第4阶段:完成设备密钥的恢复,解密并播放内容。当用户用设备A播放内容时,首先提取设备A的机器指纹,恢复出设备密钥dkeyA,根据之前用户给设备A输入的名字信息,在许可证中找到相应的用设备A的设备密钥加密的点的坐标,再从图像中找到这些点,提取其像素值,恢复出位置密钥,从而解密CEKe得到CEK,用它解密内容进行播放。由于采用的是遍历加密的方法,即每台设备的设备密钥都对S进行了加密,所以许可证发送到其余域中的设备后,每台设备都能通过解密相应的Sie而获得点的坐标。再从设备中的图像I中提取出KL,解密并播放内容。这样当用户想用其它设备来播放内容时,就省去了重新到LS去申请许可证的麻烦。
1.2 三重加密机制
从上述的DRM模型中可以看出,为了加强系统的安全性,本文提出了内容加密密钥+图像+机器指纹的三重加密机制,如图4所示,整个机制的实现分为三个步骤,描述如下:
图4 三重加密机制流程图
第一步:加密数字内容。内容服务器用密钥生成器生成内容加密密钥CEK,并采用DES对称加密算法加密内容,得到conte=DES(cont,CEK)。DES是一个分组密码算法,分组长度64位,有效密钥长度56位,加密速度快,适合于加密大量数据的场合。如果数据需要更高的加密强度,可以采用3DES、IDEA或AES等更安全的对称加密算法。第二步:加密CEK。
首先,LS从设备注册证书中取出特征图像,从图像中随机提取出n个像素点。设提取的n个像素点的坐标分别为(xi,yi)(i =1,2,…,n)。
其次,提取这些像素点的颜色值。这里我们选用最常用的RGB颜色模型,它利用R,G,B三个分量来表示一个像素点的颜色值,每个颜色分量用8bit表示,各自的取值范围为0到255。
最后,将得到的各像素点的颜色值进行哈希运算,计算出位置密钥KL。这里我们选用的哈希算法是MD5,MD5的输入消息以512bit的分组为单位处理,输出为128bit的消息摘要。我们将这个消息摘要作为位置密钥KL,最后的运算结果为:KL=MD5[(r1,g1,b1)||(r2,g2,b2)||…||(rn,gn,bn)]利用得到的KL加密CEK,经过MD5运算后的KL是128位,选用适于加密少量数据的128位AES加密算法,加密得到CEKe=AES(CEK,KL)。第三步:加密点的坐标。LS利用从RS传递过来的用户的设备标识(DIDi|i=1,2,…,m),经安全散列运算后产生对应的设备密钥(dkeyi|i =1, 2,… ,m),并利用遍历加密的方法,也就是每台设备对应的dkeyi都要对点的坐标进行加密,这里也选用了AES加密算法,经过遍历加密后,许可证就和域中的所有设备都绑定在一起了。加密结果如下:,其中
2 系统分析
DRM系统设计的首要目的之一就是要保证内容和内容许可证的安全传输与使用,防止非授权用户的访问。另外,系统运行效率直接影响用户的消费体验,因此我们从这两个方面对本文提出的DRM系统进行了安全性评估和运行效率仿真。
2.1 安全性评估
本文提出的内容加密密钥+图像+机器指纹的三重加密保护机制具有很高的安全性。首先,采用对称加密算法DES,用CEK加密了数字内容。为了保证CEK的安全传输,采用对称加密算法AES,用位置密钥KL对CEK进行了再次加密。同时还与用户的机器指纹绑定,防止非授权用户得到内容许可证,实现了用户唯一性授权。DES和AES加密被证明具有很好的安全性。下面对唯一性授权进行验证:
用户解密内容之前,会先自动提取设备的机器指纹,事实上,对于由CPU序列号(BitCPU)、MAC地址(BitMAC)和硬盘序列号(BitHID)构成的机器指纹,补零对齐之后在异或运算下,输出重复的概率为:
再经过散列压缩之后,dkey设备密钥发生重复的概率为:
其中,BitHash表示经散列运算后生成的比特位。目前以SHA1-128,SHA1-256位的输出来计算,其输出发生重复的概率最多为:
因此,当设备环境不相同时,提取的机器指纹不同,那么 DID1≠DID2,许可证服务器就可通过设备标识DID为不同用户生成互不相同的dkey,用于加密点的位置信息,从而生成面向特定用户的内容许可证。
2.2 运行效率仿真
与其它DRM系统相比,本系统最大的特点在于图像的引入。使得加密CEK的密钥(KL)可以动态生成,在使用本系统时,有两个地方会涉及到KL的生成。一是用户在申请内容许可证时,许可证服务器负责生成KL;二是用户在播放内容之前,需要用本地设备生成KL进行解密操作。不管是许可证服务器还是本地设备,生成KL的过程都是相同的:包括随机产生坐标点,从图像上提取对应的坐标点上的像素值,将这些像素值进行MD5哈希散列运算,最终得到128位的KL。这一系列过程必将给用户的响应时间带来延时。接下来我们将通过仿真来分析其在本地设备上进行解密操作时的延时情况。仿真环境为主频2.2GHz、内存1G的PC机,运行Windows XP操作系统;特征图像选取大小为562*562的24位真彩位图。
首先,假设从图上随机提取n个点(n=10,15,20,50),点的个数越多,对应的密钥空间也就越大。密钥的选择与更新更加灵活,破解难度也就越大。分别对每个n运行10次实验后取平均值,计算出解密时延(以ms为单位),结果如表2所示。从表中数据可以看出,响应时间完全在用户可以接受的范围内。而对于服务器端来讲,配置会更高,用户响应时间也会更快。
表2 运行效率仿真
3 相关方案比较
相比于现在比较主流的几个DRM方案,本文所提方案在用户域的建立,许可证的动态性(即许可证是否通用,本方案的许可证在用户域内是通用的),是否支持离线授权,密钥空间可变性方面与其它方案的对比,如表3所示。
表3 DRM方案特性比较
从表中可以看出,本文提出的方案在系统安全性和满足用户合理使用方面具有一定的优势。DRM系统中对密钥加密密钥的存储是至关重要的,而本方案中的密钥加密密钥是在使用过程中动态生成的,这样就降低了对存储的要求。再加上密钥空间的可扩展性,使密钥加密密钥的选择、更新非常灵活。进一步提高了系统的安全性。另外,用户域的建立,使许可证在用户域内是通用的,用户使用不同设备播放内容时,不必重新连网到服务器上去申请许可证,使离线授权成为可能。
4 结束语
在数字产业中构建一个安全的DRM系统是一个十分重要的研究课题,许多研究机构和公司都在加大对该领域的研究开发。但是为了保护数字内容版权而过分限制用户对数字内容的使用实际上是对用户合法权利的一种侵犯。本文通过建立用户域部分满足了用户合理使用的权利,使用户更容易接受DRM。特征图像的引入是本系统的一大创新点,通过将图像作为密钥的载体,给用户提供了一个强大的密钥库,支持密钥的动态选择和灵活更新。在用户与服务器进行交互时,秘密信息得以安全传递。该系统在文件加密、用户认证、图像特征提取等各个具体环节应该采用哪种最合适的算法,才能达到最佳效率和性能,这些问题需要进一步的分析研究和测试。用户的隐私保护和付费过程,也是本系统可以进一步研究的方向。
[1]Leung YY, Peinado M, Strom Cp. Binding digital content to a portable storage device or the like in a digital rights management (DRM)system. U.S. Patent 7010808; March 2006.
[2]Stamp M, Venkataramu R. P2ptunes: a peer-to-peer digital rights management system:IGI Global; 2008.
[3]黄孝章,张志林,陈丹.数字出版产业发展研究[M],第一版.北京. 知识产权出版社,2011:195-212.
[4]张志勇,牛丹梅.数字版权管理中数字权利使用控制研究进程[J].计算机科学, 2011, 38(4):48-54.
[5]B. C. Popescu, F. L. A. J. Kamperman, B.Crispo, and A. S. Tanenbaum,“A DRM security architecture for home networks,”in Proceedings of the 4th ACM workshop on Digital Rights Management, J. Feigenbaum, T. Sander, and M.Yung, Eds. ACM Press, NY, 2004, pp.1-10.
[6]Koster P, Kamperman F, Lenoir P, et al.Identity-based DRM: Personal Entertainment Domain [C]//LNCS 4300. Heidelberg: Springer Verlag, 2005:104-122
[7]冯明,唐宏,陈戈等.数字版权管理技术原理与应用[M],第一版.北京.人民邮电出版社,2009:72-96.
[8]Feng Xue, Tang Zhi, Yu Yinyan. An efficient Contents sharing method for DRM. Proceedings of the 6thIEEE CCNC Conference. New York:IEEE Communication Society, 2009:1-5.