王景中 李小科
北方工业大学信息工程学院 北京 100144
数字版权保护系统(Digital Rights Management,DRM)实现的核心是数字内容的密钥管理和使用。密钥是开启数字内容的钥匙,用户在使用数字内容之前,不需要购买数字内容,只需要购买各种数字内容的“钥匙”,数字内容的钥匙是按照各种不同的加密算法来实现,数字内容要得到保护,一是要保证各个数字内容的密钥惟一性,不可破解;二是保证密钥的安全性,密钥的安全管理得到保证才能使用户使用安全。
目前,数字内容的保护方法主要有两大类:一类以数字水印技术为核心的DRM技术 ;另一类是数据加密和防拷贝为核心的技术。数字水印技术是信息隐藏技术的一个重要分支,它的基本原理是在不损害数字内容的质量情况下,将与版权有关的信息作为不可见的标志嵌入到数字内容中,从而在使用这些数字内容之前先要对嵌入的不可见内容进行检测来保护数字内容。数据加密和防拷贝是对数字内容进行加密,随机产生密钥和对应的解密证书。其中密钥的生成和用户的所使用的硬件信息绑定,用户在使用经过加密的数字内容时候,先从服务器得到解密密钥和证书,通过密钥来对加密的数字内容解锁来获得数字内容的操作权限。这种实现方式是一种许可证管理的方式,多数采用网络获取许可证的途径取得,目前这种技术在国内外使用比较广泛。
随着数字内容的使用,数字内容的版权保护有了更进一步的发展,在第一代DRM中,只是集中研究对内容加锁,限制信息分发、复制,发展到对数字内容描述、标示、交易、保护以及检测的第二代DRM。目前,典型的DRM系统有国外的Apple公司的FairPlay系统,微软公司的Digital Asset Server版权保护方案;国内有方正的Apabi版权保护技术、书生公司的SEP DRM系统等。
各种DRM系统的设计与实现都有基本的模型,各种DRM的厂商都有不同的DRM实现方式、名称以及内容如何使用的规则判定的方法。但不管DRM系统由那个厂商来开发,基本的模型都是相同的,这个基本模型包括四个部分:内容提供者、分发者、用户以及认证中心。这四部分进行信息流的交互就能完成各种不同的DRM功能,图1所示是目前被广泛使用的D R M系统的模型。
首先,内容提供者对要提供给用户的数字内容进行编码,生成一种用户所使用的DRM系统所能支持的数据格式,数字内容被加密、打包后准备分发,内容提供者可以是普通用户、公司或者其它合法经营机构,内容提供者对数字内容进行标记,使数字内容只能读、写、防拷贝等权限进行设定,当内容提供者完成整个数字内容使用规则限定后,就可以进行最后的发布。
对数字内容进行使用规则限定后的受保护内容发送给内容分发者,而数字内容的证书以及使用规则发到认证中心,实现密钥与受保护的数字内容分离。其中的内容分发者可以是服务器(如Web服务器、流媒体服务器),认证中心可以是可信的第三方机构或者内容提供者本人。
图 1 DRM系统模型图
用户可以从服务器上下载或者以邮寄的方式获得数字内容,但得到的数字内容在没有认证的数字证书时,是不能使用的,用户必须还要获得对应于数字内容的数字证书,对数字内容进行解密,从而取得数字内容的使用权。用户要得到数字证书必须先进行消费来获取对应证书的ID号,当用户消费后,把获取证书ID号提交给认证中心,认证中心收到用户的请求认证信息,开始在认证中心查询用户的缴费情况、使用权限、请求的何种数字内容以及要生成的证书的规则,最后生成证书发给用户,并且生成一份交易凭证发给内容提供者,内容提供者可以凭此最后结算得到自己的酬劳。用户用得到的证书打开受保护的内容,此时完成了内容提供者到用户之间的信息传输。
一般的DRM系统的实现要与用户所使用的设备硬件进行绑定,例如IP、MAC地址、甚至用户指纹来进行用户的身份鉴别,这极大的限定了用户使用的方便性,并且合法用户在对数字内容的解密密钥都是在计算机内部进行的,在密钥被送入计算机内存解密,要打开数字内容的明文过程中面临一个漏洞,当合法用户开始使用得到的密钥打开数字内容时,非法用户可用各种监听程序来获得合法用户最后解密的明文,非法用户在得到用于解密受保护内容的明文信息后,非法用户可以从内容服务器上获得对应的数字内容,用得到的明文解密数字内容,此时内容提供者和合法用户的利益都将受到威胁。对于这种窘迫的困境,可以考虑使用USB-KEY。引入USB-KEY配合PKI体系,可以很好的解决上述的问题,设计实现一个更好的解决方案。
整个系统的设计可分为 :硬件模块(USB-KEY)、交互模块、通信模块、实时监视模块,如图2所示。
硬件模块主要是存储对应于数字内容的私钥,合法用户在得到数字内容的USB-KEY后,在使用时,先要更改使用USB-KEY的初始密码,此处密码设定为了防止非法用户获得USB-KEY后对数字内容进行操作。交互模块是合法用户在操作数字内容时,DRM系统对用户做出的请求、响应过程,交互模块的设计主要突出方便用户使用。通信模块涉及两个方面:一是与USB-KEY 的通信;二是与服务器的通信。与USB-KEY的通信是为了在用USB-KEY中运算后得到最后的验证结果(true或false) ;与服务器的通信是为了在合法用户使用完密钥后,方便用户获得新的密钥,可以与服务器建立安全通信服务,获得新的密钥,并允许合法用户把新的密钥灌入USB-KEY中,此处设计为了使USB-KEY达到使用寿命延长并且保证用户和内容提供者的利益不受到损失。实时监视模块是为了防止合法用户离开计算机或者合法用户在使用过程中从计算机上取出USB-KEY,系统要执行锁定操作,防止非法用户使用,实时监视模块执行流程如图3。
基于USB-KEY的DRM系统,内容提供者可以把对数字内容的认证的私钥放入USB中,将其作为开启受保护内容的钥匙,其中在生成受保护内容的数字证书时,可以委托可信的第三方CA中心来制作,并将对应于数字内容的数字证书放入USB KEY中,用户在使用数字内容时候利用USB-KEY中的智能芯片在USB-KEY中完成整个数字证书的认证,无需把密钥调入计算机内存处理,这样可以很好的避免网络监控程序度密钥的提取。
图2 基于USB-KEY的DRM系统模块图
图3 实时监视模块执行流程图
图4 基于USB-KEY的DRM系统执行流程图
用户在使用DRM系统对数字内容进行操作时,首先要判断用户的合法性,等待用户在所用计算机上插入USB-KEY,只有合法用户插入了正确的USB-KEY,利用DRM系统才可以操作受保护的数字内容,如果用户插入不合法的USB-KEY或者用户使用的USB-KEY已经过期,DRM系统给与用户相应的提示信息,合法用户在使用USB-KEY的过程中,其中USB-KEY根据内容提供者所定义的使用规则对合法用户做以限定(如不能拷贝、粘贴、限定使用次数等)。其基本的操作流程如图4所示。
基于USB-KEY的数字版权保护系统的设计将硬件保护方式引入,融合PKI技术来加强对数字内容的保护,其安全性相比通常的DRM系统有所提高,并且可以实现对系统的实时保护,整个系统的设计方案有以下几个特点:
(1)数字内容的密钥采用独立硬件存储,密钥使用安全性提高。在USB-KEY中使用不同的加密解密处理,避免数字内容的访问密钥泄露。
(2)系统具有实时保护的功能。系统采用实时监控的方式来实现,避免数字内容在未经过可信用户操作而造成的数字内容泄密或丢失。
(3)可以扩展为多种数字内容实现保护机制。使用USB-KEY存储对应数字内容的数字证书,可以方便存储多种数字内容的密钥,增加了数字内容的使用范围。
DRM系统随着网络的发展将不断跟进,本文所研究和设计的整个系统的整体设计采用模块化设计,可以进行扩展、组装成特定于用户的DRM系统,其中的通信模块在随着SSL技术的广泛应用,此模块需要再做新的架构设计,以提高网络通信的安全,此模块的进一步实现是下一步进行研究的内容。
[1] 孙鑫,余安萍. VC++深入详解[M].北京:电子工业出版社.2008.
[2] 邵波,王其和.计算机网络安全技术和应用[M].北京:电子工业出版社.2005.
[3] 曹福祥.计算机身份认证的技术分析和比较[J].信息科技.2007.
[4] 荆继武, 林璟锵, 冯登国.PKI技术[M]. 北京:科学出版社.2008.
[5] 佘堃, 郑方伟.PKI原理与技术[M].成都:电子科技大学出版社.2007.
[6] http://www.china-drm.com.