有鉴于此,本发明要解决的技术问题是,提供一种数字版权管理方法及系统,能够更好的对数字内容的版权进行控制。
为此,本发明
实施例采用如下技术方案:
本发明实施例提供一种数字版权管理方法,将客户端设备的私钥拆分为第一子私钥和第二子私钥,分别存储于客户端设备中的安全存储设备以及可连接于客户端设备的便携设备;该方法还包括:
向服务器发送密钥
请求,所述密钥请求中携带用户所希望处理的数字内容的标识信息;
接收服务器返回的使用客户端设备的公钥加密后的内容密钥,所述内容密钥由服务器根据所述数字内容的标识信息查找得到;
分别获取所述安全存储设备以及所述便携设备中存储的子私钥;
利用所述子私钥恢复客户端设备的私钥,使用所述私钥对所述加密后的内容密钥进行解密,得到内容密钥;
使用所述内容密钥对用户所希望处理的数字内容进行解密,得到数字内容。
其中,所述便携设备中还保存客户端设备对数字内容的处理记录;
相应的,该方法还包括:
将便携设备中的所述处理记录发送给服务器。
向服务器发送密钥请求之前进一步包括:
接收服务器发来的使用内容密钥加密后的数字内容。
所述安全存储设备为SAM;所述便携设备为
智能卡。
获取便携设备中存储的子私钥之前进一步包括:
检测到便携设备与客户端设备连接时,对相应的便携设备进行安全认证,并确定所述便携设备通过所述安全认证;和/或,接收便携设备的安全认证,并确定通过所述便携设备的安全认证。
本发明实施例还提供一种数字版权管理系统,将客户端设备的私钥拆分为第一子私钥和第二子私钥,分别存储于客户端设备中的安全存储设备以及可连接于客户端设备的便携设备;该系统还包括:
第一发送单元,用于向服务器发送密钥请求,所述密钥请求中携带用户所希望处理的数字内容的标识信息;
第一接收单元,用于接收服务器返回的使用客户端设备的公钥加密后的内容密钥,所述内容密钥由服务器根据所述数字内容的标识信息查找得到;
获取单元,用于分别获取所述安全存储设备以及所述便携设备中存储的子私钥;
第一解密单元,用于利用所述子私钥恢复客户端设备的私钥,使用所述私钥对所述加密后的内容密钥进行解密,得到内容密钥;
第二解密单元,用于使用所述内容密钥对用户所希望处理的数字内容进行解密,得到数字内容。
其中,所述便携设备中还保存客户端设备对数字内容的处理记录;
相应的,还包括:
第二发送单元,用于将便携设备中的所述处理记录发送给服务器。
还包括:
第二接收单元,用于接收服务器发来的使用内容密钥加密后的数字内容。
所述安全存储设备为SAM;所述便携设备为智能卡。
还包括:
认证单元,用于检测到便携设备与客户端设备连接时,对相应的便携设备进行安全认证,并确定所述便携设备通过所述安全认证;和/或,接收便携设备的安全认证,并确定通过所述便携设备的安全认证。
对于上述技术方案的技术效果分析如下:
客户端设备将私钥拆分为第一子私钥和第二子私钥,分别存储于安全存储设备和便携设备中,从而,当需要使用客户端设备的私钥时,需要客户端设备分别到所述安全存储设备以及便携设备中获取所述子私钥,并利用子私钥恢复客户端设备私钥,之后,客户端设备才能使用该私钥对加密后的内容密钥进行解密,得到内容密钥,进而再解密得到数字内容,通过对客户端设备私钥的控制,使得非授权用户无法直接通过使用客户端设备而直接获取到所述私钥,从而增加了非授权用户获取到数字内容的难度,提高了对数字内容版权的控制效果。
附图说明
图1为本发明实施例一种数字版权管理方法流程示意图;
图2为本发明实施例另一种数字版权管理方法流程示意图;
图3为本发明实施例一种数字版权管理系统结构示意图。
以下,结合附图详细说明本发明实施例数字版权管理方法及系统的实现。
图1为本发明实施例一种数字版权管理方法流程示意图,在该方法中,客户端设备将自身对应的私钥拆分为第一子私钥和第二子私钥,分别存储于客户端设备中的一安全存储设备以及可连接于客户端设备的便携设备。
如图1所示,该方法还包括:
步骤101:向服务器发送密钥请求,所述密钥请求中携带用户所希望获取的数字内容的标识信息;
步骤102:接收服务器返回的使用客户端设备的公钥加密后的内容密钥,所述内容密钥由服务器根据所述数字内容的标识信息查找得到;
步骤103:分别获取所述安全存储设备以及所述便携设备中存储的子私钥;
步骤104:利用所述子私钥恢复客户端设备的私钥,使用所述私钥对所述加密后的内容密钥进行解密,得到内容密钥;
步骤105:使用所述内容密钥对用户所希望获取的数字内容进行解密,得到数字内容。
图1所示的本发明实施例数字版权管理方法,客户端设备将私钥拆分为第一子私钥和第二子私钥,分别存储于安全存储设备和便携设备中,从而,当需要使用客户端设备的私钥时,需要客户端设备分别到所述安全存储设备以及便携设备中获取所述子私钥,并利用子私钥恢复客户端设备私钥,之后,客户端设备才能使用该私钥对加密后的内容密钥进行解密,得到内容密钥,进而再解密得到数字内容,通过对客户端设备私钥的控制,使得非授权用户无法直接通过使用客户端设备而直接获取到所述私钥,从而增加了非授权用户获取到数字内容的难度,提高了对数字内容版权的控制效果。
在图1所示数字版权管理方法的
基础上,通过图2对本发明数字版权管理方法的实现进行更加详细的说明。如图2所示,包括:
步骤201:服务器为客户端设备随机产生一对公私钥,所述公钥与客户端设备标识对应存储于服务器中;所述私钥发送给客户端设备。
所述公私钥是用来进行加解密的密钥。公钥和私钥成对出现;用公钥加密的数据只有对应的私钥可以解密;用私钥加密的数据只有对应的公钥可以解密。公私钥对可以利用RSA
算法、DSA(Digital Signature Algorithm,数字签名算法)算法、ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)算法等产生。
其中,由于服务器所连接或管理的客户端设备的数量一般大于1,而所述公私钥一般与客户端设备相对应,因此,在实现时最好为每一客户端设备分配唯一的标识,从而将公钥与客户端设备标识对应存储,以便服务器在后续使用某一客户端设备的公钥进行内容密钥的加密时,服务器能够准确获取到客户端设备对应的公钥。
所述客户端设备是能够处理数字内容的设备。例如,所述数字内容为压缩编码后的视频和音频构成的数字电影数据时,所述客户端设备可以是数字电影放映设备(负责解码还原数字电影数据)。
步骤202:客户端设备将所述私钥拆分为第一子私钥和第二子私钥,将所述子私钥分别存储于客户端设备中的安全存储设备以及可连接于客户端设备的便携设备。
所述私钥在实际应用中即为一串二进制数,对其进行拆分和恢复的方法可以在实际应用中自主设定,这里并不限制。这里,对本步骤和步骤209中如何进行私钥的拆分和恢复的实现方法进行举例说明:
方法一:
(1)计算所述私钥的hash值,该hash值用于在步骤209中通过子私钥恢复所述私钥时进行私钥的校验。
其中,计算私钥的hash值可以使用
现有技术中相应的计算方法,这里不再赘述。
(2)将hash值按字节序列一分为二(例如各1/2,比例可变),得到hash值字节序列A和hash值字节序列B。
(3)将密钥按字节序列一分为二(例如各1/2,比例可变),得到私钥字节序列a和私钥字节序列b。这里的私钥字节序列a和b即可以相当于所述第一子私钥和第二子私钥。
(4)hash值字节序列A和私钥字节序列b存放在SAM中。
(5)hash值字节序列B和私钥字节序列a存放在USB Key中。
通过以上步骤即实现了私钥的拆分,当进行私钥的恢复时,执行步骤(6):
(6)对hash值字节序列A、hash值字节序列B、私钥字节序列a和私钥字节序列b进行逆向还原并合并,得到所述私钥和所述hash值,使用hash值对合并后的私钥进行校验,以保证合并后得到的私钥的完整性。
方法二:
(1)首先对私钥进行一种弱加密,例如可采用base64算法等,将私钥转换为可见字符(乱码)。
(2)对得到的所述可见字符进行hash计算(或MD5计算等),得到相应的校验码(即对应方法一中的hash值)。
(3)同方法一进行拆分验证码和转换后得到的所述可见字符。
进而,步骤209中进行私钥的恢复时,除了需要组合得到可见字符,对组合得到的可见字符进行校验,校验通过后,还需要对所述可见字符进行base64的反计算,从而得到私钥。
其中,所述安全存储设备可以为:
硬盘等存储设备,优选地,可以为SAM(Secure Access Module,安全
访问模
块);所述便携设备可以为:USB Key(电子钥匙)等智能卡设备。进而,所述安全存储设备也可以使用内置于客户端设备中的所述智能卡设备等实现。USB Key的选型可以采用高速的32位RISC处理器的高安全SOC芯片,具备高处理能
力、高安全性、低功耗、低成本等特点,SAM和USB Key都可以是符合ISO-7816国际标准的安全设备。当然,在不同的应用环境中,所述安全存储设备和便携设备也可以使用符合其他安全标准的安全设备,这里并不限制。
其中,步骤201和步骤202可以认为是准备步骤。也即:一般在客户端设备首次连接到服务器时,由服务器进行了客户端设备公私钥的产生和存储后,后续步骤203~211只要相应读取所述公私钥即可,而无须每次执行步骤203以及以后的步骤时,都重新执行步骤201和步骤202。而且,一般客户端设备的公私钥确定,并分别由服务器和客户端设备进行存储后,就不再随意变化。当然,如果后续需要更新某一客户端设备的公私钥,使用上述步骤201和步骤202也可以实现。
步骤203:服务器将通过内容密钥加密后的数字内容发送给客户端设备,并将数字内容与所述内容密钥进行对应存储。
其中,服务器对不同的数字内容进行加密时可以使用相同的内容密钥,也可以使用不同的内容密钥,这里并不限定。但是,服务器需相应保存数字内容与内容密钥之间的对应关系,以便后续步骤中客户端设备获取自身的数字内容所对应的内容密钥时,服务器能够根据数字内容的标识信息获取到对应的内容密钥。当然,如果服务器只使用一个内容密钥对所有的数字内容进行加密,则服务器只需要保存该内容密钥即可,而并不需要与数字内容进行对应存储。
其中,本步骤的服务器发送数字内容的操作可以由客户端设备请求,也可以由服务器自主发送,这里并不限定。步骤203和后续步骤之间也不具有固定的执行顺序,也即:服务器可以随时将加密后的数字内容发送给客户端设备。但是,需要注意的是,对于同一数字内容来说,只有步骤203中服务器将该数字内容发送给客户端设备之后,后续步骤204中用户才能对该数字内容进行请求及解密等处理,也即:对于同一数字内容而言,必须执行完步骤203之后,才能执行后续的步骤。
步骤204:客户端设备接收用户关于数字内容的处理请求,获取所述数字内容的标识信息。
具体的,例如所述数字内容为多媒体数据,则所述处理请求可能为播放或者下载等,此时,客户端设备需要接收到所述数字内容的标识信息。例如,当所述数字内容为多媒体数据时,所述标识信息可以为:播放场次信息、或播放档期信息、或播放场次加播放档期信息等。
在具体实现中,客户端设备可以为用户提供选择界面,将各种数字内容的标识信息等放置于选择界面中,从而用户只要选择所希望处理的数字内容,客户端设备即可根据用户的选择获取所述数字内容的标识信息。
步骤205:客户端设备向服务器发送密钥请求,所述密钥请求中携带用户所希望处理的数字内容的标识信息。
客户端设备发送所述密钥请求的目的在于向服务器请求用户所希望处理的数字内容对应的内容密钥。
所述密钥请求如何实现,可以根据实际应用中客户端设备与服务器之间的连接关系和所使用的通信协议等具体设定,这里并不限定。
步骤206:服务器接收到所述密钥请求,根据所述数字内容的标识信息查找得到该数字内容对应的内容密钥。
其中,步骤203中服务器在使用内容密钥对所述数字内容进行加密时,会相应存储数字内容与数字内容之间的对应关系,则本步骤中可以直接从所述对应关系中即可查找数字内容所对应的内容密钥。
所述内容密钥可以但不限于是服务器随机产生的一个128位AES(TheAdvanced Encryption Standard,高级加密标准)对称密钥,可以采用CBC(cipherblock chaining,密码段链接)模式加密数字内容。本发明实施例所述内容密钥只要是使用对称加密得到的对称密钥,且具有唯一性即可。
步骤207:服务器使用客户端设备对应的公钥对查找到的所述数字内容对应的内容密钥进行加密,将加密后的内容密钥发送给客户端设备。
其中,在服务器和客户端设备之间进行通信时,一般需要根据通信协议进行数据的打包和解包处理,例如,在进行数字电影数据的传输时,可以依据相应的DCI(Digital Cinema Initiatives,数字电影规范)来实现,这里不赘述。
其中,步骤201中服务器在为客户端设备生成公私钥对时,已经记录了客户端设备与公钥之间的对应关系,从而本步骤中,服务器直接查询该对应关系,即可得到客户端设备对应的公钥,从而对所述内容密钥进行加密。
其中,当服务器与客户端设备之间不存在连接通路时,可以通过所述便携设备或者其他移动硬盘等进行所述服务器与客户端设备之间的信息传输,此时,服务器也需要包括能够连接所述便携设备的端口,以便与所述便携设备进行数据交互。从而可以使得服务器和客户端设备之间不一定非要彼此连接,也能实现所述数据交互。
所述客户端设备和服务器之间存在连接时,两者之间的数据交互可以通过网络等实现,所述网络可以是互联网、无线通信网络等。
步骤208:客户端设备接收所述加密后的内容密钥,检测是否已与便携设备连接,如果是,执行步骤209;如果否,返回继续检测,直到检测结果为是。
但是对于通过多次检测后检测结果才从否转变为是时,可以确定便携设备是刚刚连接到客户端设备,此时,为了进一步提高信息的安全性,客户端设备与便携设备之间一般可以进行安全认证,此时,步骤208和步骤209之间进一步可以包括:
客户端设备和便携设备相互进行安全认证,并确定安全验证通过。
具体的,对于客户端设备来说,该步骤为:客户端设备对相应的便携设备进行安全认证,并确定所述便携设备通过所述安全认证;和/或,客户端设备接收便携设备的安全认证,并确定通过所述便携设备的安全认证。
所述客户端设备对相应的便携设备进行安全认证,并确定所述便携设备通过所述安全认证可以为:
生成随机数N;
所述客户端设备通过自身存储的第一安全认证密钥对N加密,得到N1;并且,所述便携设备使用自身存储的第二安全认证密钥对N加密,得到N2;
判断N1和N2相同时,则确定便携设备通过安全认证。
上述是客户端设备对便携设备的安全认证,可以通过客户端设备执行上述安全认证过程,或者,当客户端设备使用具有计算能力的安全存储设备时,所述第一安全认证密钥可以存储于所述安全存储设备中,并且,所述安全认证过程也可以由安全存储设备实现。
在实际应用中,如果便携设备是USB Key等具有计算能力的智能卡,则所述安全认证也可以是相互的,即:便携设备也需要对客户端设备进行安全认证,确定客户端设备通过该安全认证。具体的认证方法可以和以上客户端设备的认证方法相似,如:
便携设备生成随机数N,将该随机数N发送给安全存储设备(或者客户端设备);
安全存储设备(或者客户端设备)通过自身存储的第三安全认证密钥对N加密,得到N3,将N3返回便携设备;
便携设备使用自身存储的第四安全认证密钥对N加密,得到N4,便携设备比较N3和N4是否相同,如果相同,则确定客户端设备通过安全认证。
之后,客户端设备就可以调用便携设备中的所述第二子私钥等数据了。
另外,SAM和智能卡(如USB Key)之间的认证方式可以采用ISO7816相关标准规定的安全认证协议。上述两个安全设备在使用前一般需要进行匹配注册,匹配彼此使用的认证密钥组和加密算法,也就是说两个安全设备是唯一
配对使用的,需要双方都具有各自匹配的密钥和加密解密算法。两安全设备之间通过使用上述的发送随机数并各自加密解密比对的方式来认证。
一般智能卡应用的认证方式是客户端设备和智能卡之间的认证,客户端设备的密钥和算法采用
软件方式存储,容易受到系统级的安全攻击,因此,本发明中所举例的采用类似于SAM和智能卡两个安全设备来进行子私钥的存储,可以大大提升安全性。
步骤209:分别获取所述安全存储设备以及所述便携设备中存储的子私钥,利用所述子私钥恢复客户端设备的私钥,使用所述私钥对所述加密后的内容密钥进行解密,得到内容密钥。
步骤210:使用所述内容密钥对用户所希望获取的数字内容进行解密,得到数字内容。
当所述内容密钥是128位AES对称密钥时,本步骤中客户端设备使用所述内容密钥并利用AES-128 CBC模式对称算法解密所述数字内容。
步骤211:根据用户关于数字内容的处理请求,对步骤209中得到的数字内容进行相应处理。
例如,所述数字内容为多媒体数据,所述处理请求为对该数字内容进行播放,则本步骤中客户端设备将向用户播放所述多媒体数据。
所述便携设备中还可以保存:客户端设备对数字内容的处理记录;相应的,所述数字版权管理方法还包括:将便携设备中的所述处理记录发送给服务器。其中,可以设定,只有将便携设备中的所述处理记录发送给服务器之后,服务器才会向客户端设备发送所述加密后的内容密钥。这样通过便携设备将客户端设备对数字内容的处理情况及时准确地回传给服务器,有利于内容提供商和运营商了解数字内容和版权信息的使用情况,能够有效地监管数字版权的运营情况,还能提供反映数字内容市场情况的数据。此时,步骤211还包括:客户端设备记录对所述数字内容的处理记录到所述便携设备。其中,当所述数字内容为媒体文件时,所述处理记录即可以为播放日志。另外,便携设备将处理记录发送给便携设备时,也可以进行加密,密钥可以使用客户端设备的所述私钥,也可以使用其他密钥,这里并不限定。
与上述方法相对应的,本发明实施例还提供数字版权管理系统,图3为一种数字版权管理系统结构示意图,该系统可以设置于客户端设备中。在该系统中,将客户端设备的私钥拆分为第一子私钥和第二子私钥,分别存储于客户端设备中的安全存储设备以及可连接于客户端设备的便携设备。如图3所示,该系统还包括:
第一发送单元310,用于向服务器发送密钥请求,所述密钥请求中携带用户所希望处理的数字内容的标识信息;
第一接收单元320,用于接收服务器返回的使用客户端设备的公钥加密后的内容密钥,所述内容密钥由服务器根据所述数字内容的标识信息查找得到;
获取单元330,用于分别获取所述安全存储设备以及所述便携设备中存储的子私钥;
第一解密单元340,用于利用所述子私钥恢复客户端设备的私钥,使用所述私钥对所述加密后的内容密钥进行解密,得到内容密钥;
第二解密单元350,用于使用所述内容密钥对用户所希望处理的数字内容进行解密,得到数字内容。
优选地,所述便携设备中还保存客户端设备对数字内容的处理记录;相应的,该系统还可以包括:
第二发送单元,用于将便携设备中的所述处理记录发送给服务器。
如图3所示,该系统还可以包括:
第二接收单元360,用于接收服务器发来的使用内容密钥加密后的数字内容。
所述安全存储设备为SAM;所述便携设备为智能卡。
优选地,如图3所示,该系统还可以包括:
认证单元370,用于检测到便携设备与客户端设备连接时,对相应的便携设备进行安全认证,并确定所述便携设备通过所述安全认证;和/或,接收便携设备的安全认证,并确定通过所述便携设备的安全认证。
所述认证单元370可以设置于系统中也可以设置于所述客户端设备的安全存储设备中。
图3所示的本发明实施例数字版权管理系统,客户端设备将私钥拆分为第一子私钥和第二子私钥,分别存储于安全存储设备和便携设备中,从而,当需要使用客户端设备的私钥时,需要获取单元分别到所述安全存储设备以及便携设备中获取所述子私钥,并利用子私钥恢复客户端设备私钥,之后,第一解密单元才能使用该私钥对加密后的内容密钥进行解密,得到内容密钥,进而第二解密单元再解密得到数字内容,通过对客户端设备私钥的控制,使得非授权用户无法直接通过使用客户端设备而直接获取到所述私钥,从而增加了非授权用户获取到数字内容的难度,提高了对数字内容版权的控制效果。
本领域普通技术人员可以理解,实现上述实施例数字版权管理的方法的过程可以通过程序指令相关的
硬件来完成,所述的程序可以存储于可读取存储介质中,该程序在执行时执行上述方法中的对应步骤。所述的存储介质可以如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。