富媒体文件加解密方法及系统的制作方法

文档序号:7870436阅读:240来源:国知局
专利名称:富媒体文件加解密方法及系统的制作方法
技术领域
本发明涉及数据加密技术领域,尤其涉及一种富媒体文件加解密方法及系统。
背景技术
由于现今网络技术的不断发展,信息流通更加快速,相对于传统的纸质书籍,越来越多的用户更加倾向于通过电子书来更快捷的获得信息。目前,市场上,存在很多的富媒体电子书阅读器和发行平台,为了对发行的电子书的版权进行保护,一般需要对电子书的数据进行加密,用户需要阅读电子书时,需要使用特定的阅读软件对电子书解密后才能进行阅读。现有技术中电子书发行者对电子书的加密一般需要解析电子书的格式,然后再对解析后的电子书进行加密。这种加密方式存在以下的缺陷和问题I)缺乏对内容数据的有效保护;2)在效率上牺牲太大,与现有终端输入/输出能力较弱的特征不符;以PDF格式的文件为例,如果按传统加密方式,解密一个150K的加密文件,在几秒内(终端实测数据)可以完成,但是如果解密一个150M的文件,在I/O能力较弱的终端上,则可能需要数十秒,而用户在阅读时是不可能等待这么长的时间的;3)加密模式脆弱,加密完成后,分发到各终端,一旦被破解,则所有终端都可以阅4)只能加密自己特定格式的电子书,而对公开格式的H)F、EpUb等格式电子书,无法提供有效的保护措施。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是提供一种加解密速度高、保护有效的富媒体文件加解密方法及系统。(二)技术方案为解决上述问题,一方面,本发明提供了一种富媒体文件加解密方法,包括以下步骤S1:服务器端生成文件密钥,所述文件密钥设定了片段加密的粒度、片段大小、以及片段与片段间的移动轨迹;S2:按照所述设定的片段与片段间的移动轨迹在原始文件中依次抽取与所述设定的加密粒度和大小对应的数据片段进行加密,得到加密文件;

S3:用户端获得所述文件密钥和加密文件,根据所述文件密钥设定的片段与片段间的移动轨迹在加密文件中依次获得被加密的数据片段进行解密,所有被加密的数据片段都被解密后得到原始文件。优选地,进一步包括生成内存密钥,所述内存密钥设定了数据打乱区的大小以及所述数据打乱区的流动轨迹;在所述步骤S2之前,根据所述内存密钥设定的数据打乱区的流动轨迹中对应的当前数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区;所述步骤S2和S3中的原始文件为包含所述数据打乱区的原始文件;用户端获得所述内存密钥,在所述步骤S3得到所述包含数据打乱区的原始文件后,根据所述内存密钥对包含数据打乱区的原始文件中的数据打乱区进行还原,得到原始文件;用户端每阅读一次原始文件后,内存密钥根据所述设定的流动轨迹中下一个数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区;用户端下一次阅读文件时,通过内存密钥还原所述数据打乱区的数据,得到原始文件后才能进行阅读。优选地,所述内存密钥设定的数据打乱区的流动轨迹每次设定至少一个数据打乱区位置。优选地,形成所述数据打乱区的速度快于加密所述数据片段的速度。优选地,用户端无网络服务时,所述用户端获得内存密钥的步骤具体为根据获得的文件密钥模拟推算出所述内存密钥。优选地,用户端有网络服务时,所述用户端获得内存密钥的步骤具体为用户端通过用户端与服务器之间的网络连接从所述服务器获得所述内存密钥。另一方面,本发明还提供了一种富媒体文件加解密系统,包括服务器端和用户端,

所述服务器端包括服务器端文件系统,所述服务器端文件系统用于生成文件密钥,所述文件密钥设定了片段加密的粒度、片段大小、以及片段与片段间的移动轨迹;加密模块,用于按照所述设定的片段与片段间的移动轨迹在原始文件中依次抽取与所述设定的加密粒度和大小对应的数据片段进行加密,得到加密文件;服务器端输入输出接口,用于输出所述文件密钥和加密文件;所述用户端包括用户端输入输出接口,用于获得所述文件密钥和加密文件;解密模块,用于根据所述文件密钥设定的片段与片段间的移动轨迹在加密文件中依次获得被加密的数据片段进行解密,所有被加密的数据片段都被解密后得到还原的原始文件。优选地,所述服务器端进一步包括内存密钥生成模块,用于生成内存密钥,所述内存密钥设定了数据打乱区的大小以及所述数据打乱区的流动轨迹;服务器端数据打乱区形成模块,用于根据所述内存密钥设定的数据打乱区的流动轨迹中对应的当前数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区;所述用户端进一步包括用户端数据打乱区还原模块,用于根据所述内存密钥对包含数据打乱区的原始文件中的数据打乱区进行还原;
用户端数据打乱区形成模块,用于在用户端每阅读一次原始文件后,通过内存密钥根据所述设定的流动轨迹中下一个数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区。优选地,所述服务器端与所述用户端通过网络连接,所述用户端输入输出接口,还用于通过所述网络连接从所述服务器获得所述内存密钥。(三)有益效果本发明对发布平台发布的电子书籍等富媒体文件进行加密时不对整个文件加密,而是仅对文件的数据片段进行加解密,提高了文件加、解密的速度,让普通用户感知不到加解密带来的系统延迟和消耗,在一些运算、输入/输出能力偏弱的终端设备上,实现了用最小代价,尽可能的保护更多的内容;由于本发明针对文件的数据片段进行加密,无论是自有特定格式或常用格式书籍,都能正确接入,适用范围广,并且把系统消耗降到了最低;本发明对文件加密时,加密的粒度、数据片段的大小等都可以根据需要设置,可以针对不同类型内容的文件,设置加密区域密度权值,以达到根据业务灵活自由选择加密偏重的目的;本发明通过使用流动的数据打乱区,对文件形成动态保护,避免在解密产生原始文件后被拷贝走的问题,用户端每读一次文件数据,磁盘上的文件数据中都会产生依次数据打乱区,即使此时文件数据被拷走,同样无法正常使用。



图1为根据本发明实施例一种富媒体文件加解密方法的步骤流程图;图2为根据本发明实施例另一种富媒体文件加解密方法的步骤流程图;图3为根据本发明实施例另一种富媒体文件加解密方法的流程示意图。
具体实施例方式下面结合附图及实施例对本发明进行详细说明如下。图1所示为本发明一个实施例富媒体文件加解密方法的步骤流程图,所述富媒体文件加解密方法包括以下步骤SllO :服务器端生成文件密钥,所述文件密钥设定了片段加密的粒度、片段大小、以及片段与片段间的移动轨迹;S120:按照所述设定的片段与片段间的移动轨迹在原始文件中依次抽取与所述设定的加密粒度和大小对应的数据片段进行加密,得到加密文件;S130:用户端获得所述文件密钥和加密文件,根据所述文件密钥设定的片段与片段间的移动轨迹在加密文件中依次获得被加密的数据片段进行解密,所有被加密的数据片段都被解密后得到原始文件。服务器对电子书籍等富媒体文件进行加密时不对整个文件加密,而是仅抽取文件中的若干数据片段进行加解密,提高了文件加、解密的速度,让普通用户感知不到加解密带来的系统延迟和消耗,例如使用本实施例的片段加密技术,加解密一个150M的文件,与加解密一个150K的文件的速度几乎一样。本实施例还可以针对不同类型的内容文件,设置加密区域密度权值,以达到根据业务灵活自由选择加密偏重且不影响速度的效果。此外,本实施例的加密是以文件数据作为操作目标的,对文件的格式没有要求,对于可能随时更新新格式书籍的发布平台来说,不必每次更新都更改加密算法,适用性广。图2和图3所示为本发明另一个实施例富媒体文件加解密方法的流程图,所述富媒体文件加解密方法包括以下步骤S210 :服务器端生成文件密钥201和内存密钥202,所述文件密钥201设定了片段加密的粒度、片段大小、以及片段与片段间的移动轨迹205,所述内存密钥202设定了数据打乱区的大小以及所述数据打乱区的流动轨迹203 ;S220 :根据所述内存密钥202设定的数据打乱区的流动轨迹203中对应的当前数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区;S230 :按照所述文件密钥201设定的片段与片段间的移动轨迹205在包含所述数据打乱区的原始文件中依次抽取与所述设定的加密粒度和大小对应的数据片段204a进行加密,得到加密文件204 ;S240 :用户端获得所述加密文件204、文件密钥201和内存密钥202,根据所述文件密钥201设定的片段与片段间的移动轨迹205在加密文件204中依次获得被加密的数据片段204a进行解密,所有被加密的数据片段204a都被解密后得到包含所述数据打乱区的原始文件;S250 :根据所述内存密 钥202对包含数据打乱区的原始文件中的数据打乱区进行还原,得到原始文件;S260 :用户端每阅读一次原始文件后,内存密钥202根据所述设定的流动轨迹203中下一个数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区;用户端下一次阅读文件时,通过内存密钥202还原所述数据打乱区的数据,得到原始文件后才能进行阅读。在本实施例中,所述内存密钥202设定的数据打乱区的流动轨迹203每次设定至少一个数据打乱区位置。所述数据打乱区根据需要,还可以设为多个。其中,形成所述数据打乱区的速度快于加密所述数据片段204a的速度。用户端无网络服务时,所述用户端根据获得的文件密钥201模拟推算出所述内存密钥202 ;用户端有网络服务时,所述用户端通过用户端与服务器之间的网络连接从所述服务器获得所述内存密钥202。在本实施例中,每对加密文件进行解密一次还原后,都会把各个加密片段按随机轨迹移动一次,以避免有人通过比对文件内容来进行恶意破解。本实施例中,所述富媒体文件包括由数据构成的文字资源、音频资源、视频资源以及图片资源。为保证安全性,从静态保护出发,通过文件密钥使得每次解密后片段按轨迹移动,确保不被人进行文件对比来进行破解。从动态保护出发,为避免在解密产生原始文件后被拷贝走的问题,富媒体文件里维护着一个乱数运算的数据“黑洞”——即数据打乱区,用来打乱书籍内容数据,黑洞被内存密钥控制在书籍文件中流动,终端阅读模块每读一次书籍数据,磁盘上的书籍文件中都会包含一次不可逆的乱数数据跳动,即使此时书籍被拷走,同样无法正常使用。
本发明的实施例还记载了一种实现上述加解密方法的富媒体文件加解密系统,包括服务器端和用户端,所述服务器端包括服务器端文件系统,所述服务器端文件系统用于生成文件密钥,所述文件密钥设定了片段加密的粒度、片段大小、以及片段与片段间的移动轨迹;加密模块,用于按照所述设定的片段与片段间的移动轨迹在原始文件中依次抽取与所述设定的加密粒度和大小对应的数据片段进行加密,得到加密文件;服务器端输入输出接口,用于输出所述文件密钥和加密文件;所述用户端包括用户端输入输出接口,用于获得所述文件密钥和加密文件;解密模块,用于根据所述文件密钥设定的片段与片段间的移动轨迹在加密文件中依次获得被加密的数据片段进行解密,所有被加密的数据片段都被解密后得到还原的原始文件。本实施例中,所述服务器端进一步包括内存密钥生成 模块,用于生成内存密钥,所述内存密钥设定了数据打乱区的大小以及所述数据打乱区的流动轨迹;服务器端数据打乱区形成模块,用于根据所述内存密钥设定的数据打乱区的流动轨迹中对应的当前数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区;所述用户端进一步包括用户端数据打乱区还原模块,用于根据所述内存密钥对包含数据打乱区的原始文件中的数据打乱区进行还原;用户端数据打乱区形成模块,用于在用户端每阅读一次原始文件后,通过内存密钥根据所述设定的流动轨迹中下一个数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区。本实施例中,所述服务器端与所述用户端通过网络连接,所述用户端输入输出接口,还用于通过所述网络连接从所述服务器获得所述内存密钥。本实施例中双密钥的设计,不是为了备份,而是集互补互证为一体,文件密钥控制存放在服务器端和用户端的文件系统中,文件密钥可以推算出内存密钥,内存密钥存放在服务器端,内存密钥可以验证文件密钥,文件密钥最大可能上阻止了文件被静态分析拷贝。内存密钥又称为网络密钥,它在无网络服务时由文件密钥模拟生成,执行最严格低保,当网络服务存在时,内存密钥则通过与平台交换数据来进行书籍文件的保护,此模式下数据打乱区乱数运算保护将降到最低代价。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种富媒体文件加解密方法,其特征在于,包括以下步骤S1:服务器端生成文件密钥,所述文件密钥设定了片段加密的粒度、片段大小、以及片段与片段间的移动轨迹;S2:按照所述设定的片段与片段间的移动轨迹在原始文件中依次抽取与所述设定的加密粒度和大小对应的数据片段进行加密,得到加密文件;S3 :用户端获得所述文件密钥和加密文件,根据所述文件密钥设定的片段与片段间的移动轨迹在加密文件中依次获得被加密的数据片段进行解密,所有被加密的数据片段都被解密后得到原始文件。
2.如权利要求1所述的富媒体文件加解密方法,其特征在于,进一步包括生成内存密钥,所述内存密钥设定了数据打乱区的大小以及所述数据打乱区的流动轨迹;在所述步骤S2之前,根据所述内存密钥设定的数据打乱区的流动轨迹中对应的当前数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区;所述步骤S2和S3中的原始文件为包含所述数据打乱区的原始文件;用户端获得所述内存密钥,在所述步骤S3得到所述包含数据打乱区的原始文件后,根据所述内存密钥对包含数据打乱区的原始文件中的数据打乱区进行还原,得到原始文件;用户端每阅读一次原始文件后,内存密钥根据所述设定的流动轨迹中下一个数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区;用户端下一次阅读文件时,通过内存密钥还原所述数据打乱区的数据,得到原始文件后才能进行阅读。
3.如权利要求2所述的富媒体文件加解密方法,其特征在于,所述内存密钥设定的数据打乱区的流动轨迹每次设定至少一个数据打乱区位置。
4.如权利要求2所述的富媒体文件加解密方法,其特征在于,形成所述数据打乱区的速度快于加密所述数据片段的速度。
5.如权利要求2所述的富媒体文件加解密方法,其特征在于,用户端无网络服务时,所述用户端获得内存密钥的步骤具体为根据获得的文件密钥模拟推算出所述内存密钥。
6.如权利要求2所述的富媒体文件加解密方法,其特征在于,用户端有网络服务时,所述用户端获得内存密钥的步骤具体为用户端通过用户端与服务器之间的网络连接从所述服务器获得所述内存密钥。
7.一种富媒体文件加解密系统,其特征在于,包括服务器端和用户端,所述服务器端包括服务器端文件系统,所述服务器端文件系统用于生成文件密钥,所述文件密钥设定了片段加密的粒度、片段大小、以及片段与片段间的移动轨迹;加密模块,用于按照所述设定的片段与片段间的移动轨迹在原始文件中依次抽取与所述设定的加密粒度和大小对应的数据片段进行加密,得到加密文件;服务器端输入输出接口,用于输出所述文件密钥和加密文件;所述用户端包括用户端输入输出接口,用于获得所述文件密钥和加密文件;解密模块,用于根据所述文件密钥设定的片段与片段间的移动轨迹在加密文件中依次获得被加密的数据片段进行解密,所有被加密的数据片段都被解密后得到还原的原始文件。
8.如权利要求7所述的富媒体文件加解密系统,其特征在于,所述服务器端进一步包括内存密钥生成模块,用于生成内存密钥,所述内存密钥设定了数据打乱区的大小以及所述数据打乱区的流动轨迹;服务器端数据打乱区形成模块,用于根据所述内存密钥设定的数据打乱区的流动轨迹中对应的当前数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区;所述用户端进一步包括用户端数据打乱区还原模块,用于根据所述内存密钥对包含数据打乱区的原始文件中的数据打乱区进行还原;用户端数据打乱区形成模块,用于在用户端每阅读一次原始文件后,通过内存密钥根据所述设定的流动轨迹中下一个数据打乱区位置打乱所述原始文件中对应区域的文件数据,形成所述数据打乱区。
9.如权利要求7所述的富媒体文件加解密系统,其特征在于,所述服务器端与所述用户端通过网络连接,所述用户端输入输出接口,还用于通过所述网络连接从所述服务器获得所述内存密钥。
全文摘要
本发明公开了一种富媒体文件加解密方法和系统,所述方法包括以下步骤S1服务器端生成文件密钥,所述文件密钥设定了片段加密的粒度、片段大小、以及片段与片段间的移动轨迹;S2按照所述设定的片段与片段间的移动轨迹在原始文件中依次抽取与所述设定的加密粒度和大小对应的数据片段进行加密,得到加密文件;S3用户端获得所述文件密钥和加密文件,根据所述文件密钥设定的片段与片段间的移动轨迹在加密文件中依次获得被加密的数据片段进行解密,所有被加密的数据片段都被解密后得到原始文件。本发明对富媒体文件进行加密时不对整个文件加密,而是仅对数据片段进行加解密,提高了文件加解密的速度,让用户感知不到加解密带来的系统延迟和消耗。
文档编号H04L9/06GK103067382SQ20121057692
公开日2013年4月24日 申请日期2012年12月26日 优先权日2012年12月26日
发明者燕军 申请人:北京乾元利恒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1