发明内容
本发明提供了一种数字媒体文件保护方法,有效的保护数字媒体的版权,防止非授权的使用。
本发明采用的技术手段如下:一种数字媒体文件保护方法,基于数字版权管理系统,所述数字版权管理系统包括服务器和客户端,所述方法包括:
保存有服务器发送的私钥和证书的客户端从所述服务器下载密文数字媒体文件,并存储;
在所述客户端读取所述密文数字媒体文件时,按照以下步骤进行文件解密:
创建至少一个与所述密文数字媒体文件相对应的缓存文件,并分别将所述密文数字媒体文件的数据写入所述至少一个缓存文件;
利用所述私钥解密所述至少一个缓存文件中写入的密文数字媒体文件数据,供客户端读取。
进一步,所述客户端按照以下方式保存所述私钥和证书:
客户端向服务器发送客户端硬件信息,由服务器对客户端进行注册;
服务器利用所述客户端硬件信息生成公私密钥对及证书;
服务器将所述私钥和证书发送给客户端,并利用所述公钥对数字媒体文件进行加密形成所述密文数字媒体文件。
进一步,所述方法还包括:
在所述客户端硬件信息发生变化时,所述服务器实时更新所述公私密钥对和证书;或者,
所述服务器按照预定周期自动更新所述公私密钥对和证书。
进一步,通过独立的芯片实现所述文件解密的步骤。
本发明还提供了一种客户端,包括:
用于保存从服务器下载的密文数字媒体文件的第一存储模块;
用于保存所述服务器发送的私钥和证书的第二存储模块;
用于创建至少一个与所述密文数字媒体文件相对应的缓存文件,并分别将所述密文数字媒体文件的数据写入所述至少一个缓存文件的文件创建模块;
用于利用所述私钥解密所述至少一个缓存文件中写入的密文数字媒体文件数据的解密模块。
进一步,所述客户端还包括:
用于向服务器发送客户端硬件信息,由服务器对客户端进行注册的发送模块;
用于接收所述服务器利用所述客户端硬件信息生成的私钥和证书的接收模块。
进一步,将所述第二存储模块、文件创建模块、解密模块集成为一个独立的芯片。
本发明还提供了一种数字版权管理系统,包括,服务器端及权利要求5-7任一项所述的客户端,
所述服务器,用于利用公钥对数字媒体文件进行加密形成密文数字媒体文件,并向客户端发送解密用的私钥和证书;所述公私密钥对和证书为所述服务器利用所述客户端发送的客户端信息生成;
所述客户端,用于从服务器下载所述密文数字媒体文件,并在需要读取所述密文数字媒体文件时,按照以下步骤进行文件解密:先创建至少一个与所述密文数字媒体文件相对应的缓存文件,分别将所述密文数字媒体文件数据写入所述至少一个缓存文件;再利用所述私钥解密所述至少一个缓存文件中写入的密文数字媒体文件数据。
进一步,所述服务器,还用于在所述客户端硬件信息发生变化时,实时更新所述公私密钥对和证书;或者,
所述服务器,还用于按照预定周期自动更新所述公私密钥对和证书。
进一步,所述客户端通过独立的芯片实现所述文件解密的步骤。
利用本发明提供的一种数字版权管理系统、客户端及数字媒体保护方法,由于客户端存储的数字媒体文件都是密文数据,只有在需要读取时才进行数据解密,通过建立至少一个缓存文件的方式暂存当前解密的明文数据,使得客户端不存储明文,且不会在解密时形成完整明文数字媒体文件,从而有效的保护数字媒体的版权,防止非授权的使用。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明,应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
如图1所示,为本发明一种数字媒体保护方法的流程示意图,可包括以下步骤:
一种数字媒体文件保护方法,基于数字版权管理系统,所述数字版权管理系统包括服务器和客户端,所述方法包括:
步骤101,保存有服务器发送的私钥和证书的客户端从所述服务器下载密文数字媒体文件,并存储。
本发明的数字媒体文件保护方法基于现有的数字版权管理系统,且以对管理系统改造量最小为原则,保持现有管理系统的构架,包含可双向通信的客户端和服务器。
客户端保存有服务器发送的私钥和证书,即说明客户端已在服务器完成过注册,并且可以对服务器利用公钥加密形成的密文数字媒体文件进行数据解密,在具备这一技术特征的前提下,客户端可以随时从服务器下载密文数字媒体文件,并以密文形式存储。
步骤102,创建至少一个与所述密文数字媒体文件相对应的缓存文件,并分别将所述密文数字媒体文件的数据写入所述至少一个缓存文件。
步骤103,利用所述私钥解密所述至少一个缓存文件中写入的密文数字媒体文件数据,供客户端读取。
经过步骤101之后,客户端就保存了以密文形式存在的数字媒体文件,在客户端有读取密文数字媒体文件的需求时,并不直接利用私钥将数字媒体文件解析为明文,而是先创建至少一个缓存文件,并将密文形式存在的数字媒体文件的数据分别写入到缓存文件中;然后再利用私钥对每个缓存文件中写入的数据执行解密操作,即客户端当前解密的对象是缓存文件,且解密获得的明文亦是以缓存的形式缓存于客户端的,一旦客户端不再需要读取该下载文件时,就可以释放缓存文件中暂存的明文数据。这样,就可有效避免现有技术中,解密后的数字媒体文件一直以明文形式存在导致的文件保护安全性低的问题;同时,将密文数字媒体文件写入到至少一个缓存文件中,就使得每个缓存文件中写入的数据只是数字媒体文件的一部分,这样,即使某个或某几个缓存文件中的明文数据被非授权用户恶意获取,其仍无法获知数字媒体文件的完整数据,同样起到了保护文件安全性的目的。除此之外,采用本发明提供的方案,还可以省略加密狗等保护装置。
对于创建的缓存文件的数目来说,可以是预设数目,即按照预设数目分割数字媒体文件,并将分割后的文件数据顺次写到相应的缓存文件中,针对文件的大小来确定写到每个缓存文件中的数据量;还可以预设每个缓存文件能写入的数据量,即按照缓存文件可写入的数据量分割数字媒体文件,再将分割后的文件顺次写到相应的缓存文件中,针对缓存文件可写入的数据量确定分割的文件数量(也就是缓存文件的个数),当然,有可能写到最后一个缓存文件的数据量并未达到其预设数据量。
需要说明的是,上述方法实施例中的客户端为已在服务器完成注册的客户端,如果当前的客户端未访问过服务器,则在执行上述文件保护方法之前,客户端还需要注册并获取解密用的私钥和证书,具体地,所述客户端可以按照以下方式保存所述私钥和证书,参见图2所示的流程图:
步骤201,客户端向服务器发送客户端硬件信息,由服务器对客户端进行注册;
步骤202,服务器利用所述客户端硬件信息生成公私密钥对及证书;
步骤203,服务器将所述私钥和证书发送给客户端,并利用所述公钥对数字媒体文件进行加密形成所述密文数字媒体文件。
在客户端访问服务器,想要从中下载密文数字媒体文件时,需要先将自身具有的硬件信息发送到服务器进行注册,这样,服务器才能利用客户端硬件信息生成针对该客户端的公私密钥对及认证用数字证书。其中,公钥是用来加密客户端下载的数字媒体文件,使之形成密文数字媒体文件,并以密文形式传输到客户端,保证文件在服务器和传输过程中的安全性;私钥和证书要传送到客户端,这样,客户端就可以利用证书对本次通信的服务器进行身份认证,并在认证通过后,根据实际的读取需求,利用私钥解密写在缓存文件中的密文数字媒体文件数据,形成明文数据后供客户端读取。
需要说明的是,生成公私密钥对和证书需要两方面因素,一是客户端硬件信息,一是生成算法。对于客户端硬件信息来说,可包括用户端CPUID及硬盘ID等;对于生成算法来说,可包括现有技术已知的任意算法,本领域技术人员可根据惯用技术手段实现,在此不做限定。
为了进一步提高本发明文件保护方法的安全性,作为本发明的一个优选方案,还可包含更新公私密钥对和证书的步骤,具体地,可体现为以下两种情况:
一种情况是,在所述客户端硬件信息发生变化时,所述服务器实时更新所述公私密钥对和证书;
一种情况是,所述服务器按照预定周期自动更新所述公私密钥对和证书。
上述两种情况是指,客户端可以主动要求服务器更新针对本客户端的公私密钥对和证书,也可以被动接收服务器按照预置周期针对本客户端更新的公私密钥对和证书,本发明对此并不做限定,只要能更新公私密钥对和证书,保证文件安全性即可。
进一步,为了保证文件在客户端的安全性,作为本发明的一个优选方案,可以通过一个独立的芯片实现上述文件解密的步骤,即芯片具有存储解密用的私钥和证书、创建至少一个缓存文件并分别写入密文数字媒体文件数据、利用私钥解密每个缓存文件的功能。当客户端有读取文件的需求时,只需要CPU向芯片发送一条指令,触发芯片执行解密步骤,形成至少一个写有明文数据的缓存文件,输出给CPU读取。这样,CPU就不能读写芯片内的数据,就可以有效防止芯片内数据被篡改导致的文件安全性低的问题。
相应地,本发明还提供了一种客户端,如图3所示,为客户端实施例1的构成示意图,可包括:
用于保存从服务器下载的密文数字媒体文件的第一存储模块301;
用于保存所述服务器发送的私钥和证书的第二存储模块302;
用于创建至少一个与所述密文数字媒体文件相对应的缓存文件,并分别将所述密文数字媒体文件的数据写入所述至少一个缓存文件的文件创建模块303;
用于利用所述私钥解密所述至少一个缓存文件中写入的密文数字媒体文件数据的解密模块304。
在客户端存储从服务器中下载的密文数字媒体文件,以及用于进行文件解密的私钥和证书,在需要读取文件数据时,先建立至少一个缓存文件,并将待解密的密文数字媒体文件分割后顺次写入缓存文件,然后再利用私钥将缓存文件中的数据解密为明文形式,供客户端读取。客户端不存储明文,且不会在解密时形成完整的明文数字媒体文件,这就可有效的保护数字媒体的版权,防止非授权的使用。
进一步,为了提高文件的安全性,可以将所述第二存储模块、文件创建模块、解密模块集成为一个独立的芯片,这样,CPU就不能读写芯片内的数据,有效防止芯片内数据被篡改导致的文件安全性低的问题。
进一步,对于第一次访问服务器的客户端来说,如图4所示,为客户端实施例2的构成示意图,还可包括:
用于向服务器发送客户端硬件信息,由服务器对客户端进行注册的发送模块305;
用于接收所述服务器利用所述客户端硬件信息生成的私钥和证书的接收模块306。
相应地,本发明还提供了一种数字版权管理系统,包括,服务器端及上述的客户端,
所述服务器,用于利用公钥对数字媒体文件进行加密形成密文数字媒体文件,并向客户端发送解密用的私钥和证书;所述公私密钥对和证书为所述服务器利用所述客户端发送的客户端信息生成;
所述客户端,用于从服务器下载所述密文数字媒体文件,并在需要读取所述密文数字媒体文件时,按照以下步骤进行文件解密:先创建至少一个与所述密文数字媒体文件相对应的缓存文件,分别将所述密文数字媒体文件数据写入所述至少一个缓存文件;再利用所述私钥解密所述至少一个缓存文件中写入的密文数字媒体文件数据。
进一步,所述服务器,还用于在所述客户端硬件信息发生变化时,实时更新所述公私密钥对和证书;或者,
所述服务器,还用于按照预定周期自动更新所述公私密钥对和证书。
进一步,所述客户端通过独立的芯片实现所述文件解密的步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。