著录项信息
专利名称 | 一种云存储数据加密方法、装置及系统 |
申请号 | CN201010566286.1 | 申请日期 | 2010-11-29 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2011-04-06 | 公开/公告号 | CN102006300A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 北京卓微天成科技咨询有限公司 | 申请人地址 | 北京市海淀区东北旺西路8号院25号楼立思辰大厦一层西区
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 即云天下(北京)数据科技有限公司 | 当前权利人 | 即云天下(北京)数据科技有限公司 |
发明人 | 刘慧 |
代理机构 | 北京市德权律师事务所 | 代理人 | 王建国 |
摘要
本发明属于云存储安全技术领域,特别涉及一种云存储数据加密方法、装置及系统,所述方法包括:根据预置时间内预期存储数据量X,本地存储空间占用比例R及数据安全级别Z计算出应生成随机种子的大小H;根据每次明文数据量Y计算出对随机种子采集的次数u;按次数u对生成的H大小随机种子多次采集数据生成明文加密位标识数据串;利用该数据串选择二分之一以上明文数据加密形成密文。本发明还提供了一种云存储数据加密装置及系统。本发明在不牺牲数据安全性前提下,减少了待存储数据的加密数量,大大提升了云存储数据的存储速度。
1.一种云存储数据加密方法,其特征在于,所述方法包括:
根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H;
根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u; 所述 其中Z=Y/u,且Z>8R;
按预置方法生成并存储H大小的随机种子;
按所述次数u从所述随机种子中多次采集数据,将每次采集的数据级联成不小于明文长度的0、1值随机串;
利用所述随机串生成明文加密位标识数据串;
利用所述明文加密位标识数据串选择二分之一以上明文数据加密:
将所述加密数据与未加密数据按所在明文位置排列形成密文。
2.如权利要求1所述的方法,其特征在于,所述按所述次数u从所述随机种子中多次随机采集数据每次采集的起始位置与采集长度都是随机的。
3.如权利要求1所述的方法,其特征在于,所述将每次采集的数据级联成生成不小于明文长度的0、1值随机串的步骤还包括:
当所述随机串的长度大于明文长度时,对所述随机串多次进行数据采集生成不小于明文长度的新随机串。
4.如权利要求1所述的方法,其特征在于,所述利用所述随机串生成明文加密位标识数据串的步骤具体包括:
当所述随机串的长度等于明文长度时,判断所述随机串中1的数量是否大于明文数据位数的二分之一,如果是,则选取所述随机串作为明文加密位标识随机串;如果否,则对所述随机串逻辑取反运算,用取反后的随机串作为明文加 密位标识随机串; 当所述随机串的长度大于明文长度时,在所述随机串的随机起始位置采集数据形成与明文等长的新随机串;判断所述新随机串中1的数量是否大于明文数据位数的二分之一,如果是,则选取所述新随机串作为明文加密位标识随机串;如果否,则对所述新随机串逻辑取反运算,用取反后的随机串作为明文加密位标识随机串。
5.如权利要求1所述的方法,其特征在于,所述利用所述随机串生成明文加密位标识数据串的步骤还包括:
通过信息摘要运算生成所述明文加密位标识随机串的信息摘要值;
判断所述信息摘要值与先前存储的明文加密位标识随机串信息摘要值是否一致,如果是,则重新生成明文加密位标识随机串;否则,输出并存储所述明文加密位标识随机串,同时将其信息摘要值存储。
6.如权利要求1所述的方法,其特征在于,所述利用所述明文加密位标识数据串选择二分之一以上明文数据加密形成密文的步骤包括:
从首位数据起,将所述明文加密位标识随机串及明文数据一一对应排列; 选取与所述明文加密位标识随机串中1对应的明文数据进行加密。
7.一种云存储数据加密装置,其特征在于,所述装置包括:
随机种子大小及采集次数计算模块,用于根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,以及根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;所述 其中Z=Y/u,且Z>8R;
真随机数据生成模块,用于生成真随机数及根据所述随机种子大小及采集次数计算模块计算的随机种子的大小H生成相应大小的随机种子;
加密位标识随机串生成模块,用于从所述真随机数据生成模块生成的随机种子中按随机种子大小及采集次数计算模块计算的采集次数u多次采集数据,将 每次采集的数据级联成不小于明文长度的0、1值随机串,根据所述随机串生成明文加密位标识随机串; 明文数据选取加密模块,用于根据所述加密位标识随机串生成模块生成的明文加密位标识随机串选取二分之一以上的明文数据加密;
密文形成模块,用于将所述明文数据选取加密模块加密的数据与未加密的数据按所在明文位置排列形成密文。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
加密位标识随机串信息摘要值存储模块,用于存储加密位标识随机串信息摘要值; 加密位标识随机串信息摘要值生成模块,用于通过信息摘要运算生成所述加密位标识随机串生成模块生成的明文加密位标识随机串的信息摘要值;
加密位标识随机串校验模块,用于将所述加密位标识随机串信息摘要值生成模块生成的明文加密位标识随机串信息摘要值与所述加密位标识随机串信息摘要值存储模块中的信息摘要值进行比对,输出一致与否的信息给所述加密位标识随机串生成模块。
9.一种云存储数据加密系统,其特征在于,所述系统包括云存储数据加密装置和云存储数据中心,所述云存储数据加密装置包括:
随机种子大小及采集次数计算模块,用于根据预置时间段内预期存储到所述云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,以及根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;
所述 其中Z=Y/u,且Z>8R;
真随机数据生成模块,用于生成真随机数及根据所述随机种子大小及采集次数计算模块计算的随机种子的大小H生成相应大小的随机种子;
加密位标识随机串生成模块,用于从所述真随机数据生成模块生成的随机种子中按随机种子大小及采集次数计算模块计算的采集次数u多次采集数据, 将每次采集的数据级联成不小于明文长度的0、1值随机串,根据所述随机串生成明文加密位标识随机串; 明文数据选取加密模块,用于根据所述加密位标识随机串生成模块生成的明文加密位标识随机串选取二分之一以上的明文数据加密;
密文形成模块,用于将所述明文数据选取加密模块加密的数据与未加密的数据按所在明文位置排列形成密文。
一种云存储数据加密方法、装置及系统\n技术领域\n[0001] 本发明属于云存储安全技术领域,特别涉及一种云存储数据加密方法、装置及系统。\n背景技术\n[0002] 数据已经被证明是企业重要资产之一,数据的高速增长使企业面临前所未有的挑战。同时,瞬息万变的世界经济形势和激烈竞争带来的成本压力,使企业不得不考虑如何以降低IT成本,应对企业不断增长的存储需求。\n[0003] 现有的存储架构可以划分为两种:一种是由一方专有的架构,比如DAS(direct attached storage),SAN(Storage Area Network,SAN)和网络接入存储服务器(Network access server,NAS)等。这类存储体系由一方独占使用,可以提供给用户很好的控制权,更好的可靠性和性能,但是其扩展性较差,不适用于大规模部署;用户在这种模式下也很难灵活使用存储预算(需要一次性地投入购买存储设备);随着存储容量的增加,成本控制也将面临挑战。\n[0004] 另一种是多方共享架构,即云存储架构,按照其服务范畴的不同,分为私有云(private cloud)和公共云(public cloud)。云存储的体系结构基于网络技术(internet和intranet),为用户提供存储空间按需购买、租赁和按需配置服务,该服务通常由第三方(或企业内第三方部门)提供包括存储设备和专门维护人员。通过该存储服务,企业(或企业内各部门)可以大幅降低其内部存储器的需求和相应的管理成本,以平衡急剧上升的存储需求和企业成本压力。以上所提存储的使用方可以是个人、企业甚至企业内的部门或者分支机构等。\n[0005] 然而,云存储无论是哪种运作模式(私有云和公共云),数据所有者都不可避免对其数据的安全和隐私抱有顾虑。特别是公有云存储的用户,其关键的业务数据一旦泄露,所带来的损失是不可估计的。\n[0006] 传统的方法都是,将全部文件或者部分文件(见中国专利文献CN200910143245.9云存储的并行系统的架构方法)加密或者多次加密后存储到指定的云存储服务数据中心中,但是因为数据加密和解密需要消耗很多系统资源和时间,使云存储服务数据存取的性能降低,使用户只能将一些对存取时间不敏感的数据应用于云存储服务,并且数据的备份和归档通常在业务空闲时间以免对正在运行的关键业务应用产生影响。\n[0007] 为了解决以上矛盾,本发明提出将选择数据进行加密的方法运用于云存储数据保护方面,实现了在获得与原加密数据量保护程度相当的情况下,减少加密(解密)的数据量,提高了云存储服务数据存取性能。与传统加密方法相比,在未牺牲数据保护强度的同时,提高数据加密和解密的性能。\n[0008] 虽然选择性加密方法可以在不牺牲数据保护强度的前提下,提高数据加密和解密的速度,但是该方法与传统方法相比,用户需要牺牲一定的存储空间用于保存数据还原所必要的信息(如随机种子,生成明文加密位标识随机串的rek等),这些额外存储空间的占用会使得其应用在云存储领域中面临挑战,因为用户选用云存储服务的初衷就是节省本地存储空间。\n[0009] 为了解决这个问题,本发明通过用户输入的一定时间范围内预期待存储数据量的大小,希望牺牲的物理空间的相对比例等数据,计算出随机种子的大小,进一步针对每次用户所提交的加密数据量,计算并输出其对应明文加密位标识随机串生成所需数据采集次数,从而提高了选择性加密方法应用于云存储服务领域的实施效果。\n发明内容\n[0010] 本发明的目的在于提供一种云存储数据加密方法、装置及系统,旨在解决现有云存储数据加密方法将待存储数据加密或多次加密后存储到指定云存储数据中心时,消耗很多系统资源和时间,使云存储数据存取性能降低的问题。\n[0011] 本发明提供了一种云存储数据加密方法,该方法包括:\n[0012] 根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H;\n[0013] 根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;\n[0014] 所述 其中Z=Y/u,且Z>8R;\n[0015] 按预置方法生成并存储H大小的随机种子;\n[0016] 按所述次数u从所述随机种子中多次采集数据,将每次采集的数据级联成不小于明文长度的0、1值随机串,利用所述随机串生成明文加密位标识数据串;\n[0017] 利用所述明文加密位标识数据串选择二分之一以上明文数据加密:\n[0018] 将所述加密数据与未加密数据按所在明文位置排列形成密文。\n[0019] 本发明提供了一种云存储数据加密装置,所述装置包括:\n[0020] 随机种子大小及采集次数计算模块,用于根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,以及根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;\n所述 其中Z=Y/u,且Z>8R;\n[0021] 真随机数据生成模块,用于生成真随机数及根据所述随机种子大小及采集次数计算模块计算的随机种子的大小H生成相应大小的随机种子;\n[0022] 加密位标识随机串生成模块,用于从所述真随机数据生成模块生成的随机种子中按随机种子大小及采集次数计算模块计算的采集次数u多次采集数据,将每次采集的数据级联成不小于明文长度的0、1值随机串,根据所述随机串生成明文加密位标识随机串;\n[0023] 明文数据选取加密模块,用于根据所述加密位标识随机串生成模块生成的明文加密位标识随机串选取二分之一以上的明文数据加密;\n[0024] 密文形成模块,用于将所述明文数据选取加密模块加密的数据与未加密的数据按所在明文位置排列形成密文。\n[0025] 本发明还提供了一种云存储数据加密系统,所述系统包括云存储数据加密装置和云存储数据中心,所述云存储数据加密装置装置包括:\n[0026] 随机种子大小及采集次数计算模块,用于根据预置时间段内预期存储到所述云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,以及根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;所述 其中Z=Y/u,且Z>8R;\n[0027] 真随机数据生成模块,用于生成真随机数及根据所述随机种子大小及采集次数计算模块计算的随机种子的大小H生成相应大小的随机种子;\n[0028] 加密位标识随机串生成模块,用于从所述真随机数据生成模块生成的随机种子中按随机种子大小及采集次数计算模块计算的采集次数u多次采集数据,将每次采集的数据级联成不小于明文长度的0、1值随机串,根据所述随机串生成明文加密位标识随机串;\n[0029] 明文数据选取加密模块,用于根据所述加密位标识随机串生成模块生成的明文加密位标识随机串选取二分之一以上的明文数据加密;\n[0030] 密文形成模块,用于将所述明文数据选取加密模块加密的数据与未加密的数据按所在明文位置排列形成密文。\n[0031] 本发明通过根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u,生成所述H大小的随机种子,并按所述u次数多次采集,生成明文标识位随机串选择二分之一以上明文数据加密,与未加密数据按据明文位置排列形成密文,保存在云存储数据中心,在不牺牲数据安全性的前提下,减少了数据存储中的加密数量,提升了云存储数据存储的性能。\n附图说明\n[0032] 图1是本发明实施例提供的云存储数据加密方法的流程图;\n[0033] 图2是本发明实施例提供的生成与明文等长的明文加密位标识数据串的方法的流程图;\n[0034] 图3是本发明实施例提供的判断明文加密位标识数据串是否生成过的方法的流程图;\n[0035] 图4是本发明实施例提供的云存储数据加密装置的结构示意图;\n[0036] 图5是本发明实施例提供的随机种子大小及采集次数计算模块的示意图;\n[0037] 图6是本发明实施例提供的云存储数据加密系统的结构示意图;\n[0038] 图7是本发明实施例提供的明文加密位标识随机串生成方法示意图;\n[0039] 图8是本发明实施例提供的对云存储数据加密与解密方法的示意图。\n具体实施方式\n[0040] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0041] 本发明通过根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u,生成所述H大小的随机种子,并按所述u次数多次采集,生成明文标识位随机串选择二分之一以上明文数据加密,与未加密数据按据明文位置排列形成密文,保存在云存储数据中心。\n[0042] 本发明实施例是这样实现的,一种云存储数据加密方法,所述方法包括:\n[0043] 根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H;\n[0044] 根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;\n[0045] 按预置方法生成并存储H大小的随机种子;\n[0046] 按所述次数u从所述随机种子中多次采集数据,将每次采集的数据级联成不小于明文长度的0、1值随机串,利用所述随机串生成明文加密位标识数据串;\n[0047] 利用所述明文加密位标识数据串选择二分之一以上明文数据加密:\n[0048] 将所述加密数据与未加密数据按所在明文位置排列形成密文。\n[0049] 本发明实施的目的在于提供一种云存储数据加密装置,该装置包括:\n[0050] 随机种子大小及采集次数计算模块,用于根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,以及根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;\n[0051] 真随机数据生成模块,用于生成真随机数及根据随机种子大小及采集次数计算模块计算的随机种子的大小H生成相应大小的随机种子;\n[0052] 加密位标识随机串生成模块,用于从真随机数据生成模块生成的随机种子中按随机种子大小及采集次数计算模块计算的采集次数u多次采集数据,将每次采集的数据级联成不小于明文长度的0、1值随机串,根据随机串生成明文加密位标识随机串;\n[0053] 明文数据选取加密模块,用于根据加密位标识随机串生成模块生成的明文加密位标识随机串选取二分之一以上的明文数据加密;\n[0054] 密文形成模块,用于将明文数据选取加密模块加密的数据与未加密的数据按所在明文位置排列形成密文。\n[0055] 本发明实施例的另一目的还在于提供一种云存储系统,该系统包括云存储数据加密装置和云存储数据中心,云存储数据加密装置装置包括:\n[0056] 随机种子大小及采集次数计算模块,用于根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,以及根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;\n[0057] 真随机数据生成模块,用于生成真随机数及根据随机种子大小及采集次数计算模块计算的随机种子的大小H生成相应大小的随机种子;\n[0058] 加密位标识随机串生成模块,用于从真随机数据生成模块生成的随机种子中按随机种子大小及采集次数计算模块计算的采集次数u多次采集数据,将每次采集的数据级联成不小于明文长度的0、1值随机串,根据随机串生成明文加密位标识随机串;\n[0059] 明文数据选取加密模块,用于根据加密位标识随机串生成模块生成的明文加密位标识随机串选取二分之一以上的明文数据加密;\n[0060] 密文形成模块,用于将明文数据选取加密模块加密的数据与未加密的数据按所在明文位置排列形成密文。\n[0061] 以下结合附图及实施例,对本发明作进一步详述如下。\n[0062] 参见图1,本发明实施例提供了一种云存储数据加密方法,包括如下步骤:\n[0063] 步骤S101:根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H;\n[0064] 步骤S102:根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;\n[0065] 其中,本地存储空间占用比例R表示需要保存的用于对加密数据进行解密还原的必要的信息如随机种子,明文加密位标识随机串的对应信息所占用的本地存储空间的比例;\n[0066] 本发明实施例中, 其中Z=Y/u,且Z>8R;\n[0067] 由此可以看出,当用户给定X,R,Z后,可以得到一个确定的H;\n[0068] 同理,根据每次用户加密数据量的大小,利用上述公式,即可以根据一个确定的Z,计算出对随机种子应采集的次数u;\n[0069] 举例而言,如果用户预期在未来3年内将有100G数据存储到指定云存储服务数据中心中,用户能接受的R=1000,其所需的数据保护安全级别为Z=10K字节(byte),进一步可以根据上面的公式计算出,H=20M字节(byte)。\n[0070] 如果某一次加密的明文数据量是1MB,那么对应的数据采集次数u=100。\n[0071] 步骤S103:按预置方法生成并存储H大小的随机种子;\n[0072] 真随机数的生成方法已经很成熟,具体实现中可以采用机械工业出版社2003年3月1日出版的《应用密码学》第301页中给出的产生真随机数的方法,如使用随机噪声,使用计算机时钟,CPU负载或网络数据包到达次数等方法来产生需要的真随机数;\n[0073] 步骤104:按所述次数u从所述随机种子中多次随机采集数据,将每次采集的数据级联成不小于明文长度的0、1值数据串,利用数据串生成明文加密位标识数据串;\n[0074] 本发明实施例中,按所述次数u从所述随机种子中多次随机采集数据每次采集的起始位置与采集长度是随机的;\n[0075] 为进一步增强数据采集的随机性,本发明实施例在将每次采集的数据级联成不大于明文长度的0、1值数据串后,还可包括以下步骤:\n[0076] 对所述随机串多次进行数据采集生成等于明文长度的新随机串;\n[0077] 较优地,本发明实施例对所述随机串多次进行数据采集时,每次采集的起始位置都是随机的。\n[0078] 参见图2,本发明实施例利用生成的随机串生成明文加密位标识数据串的步骤具体如下:\n[0079] 步骤S201:判断所述随机串是否等于明文长度,如果是,则执行步骤S202,如果否,则执行步骤S205;\n[0080] 步骤S202:判断所述随机串中1的数量是否大于明文数据位数的二分之一,如果是,则执行步骤S203;如果否,则执行步骤S204;\n[0081] 步骤S203:选取所述随机串作为明文加密位标识随机串;\n[0082] 步骤S204:对所述随机串逻辑取反运算,用取反后的随机串作为明文加密位标识随机串;\n[0083] 步骤S205:在所述随机串的随机起始位置采集数据形成与明文等长的新随机串,然后执行步骤S202;\n[0084] 在所述随机串的随机起始位置采集数据时,如果采集数据至所述随机串的尾部,尚未采集到足够位数的数据时,则回到头部继续采集,直至采集到与明文等长的数据,生成新的随机串;\n[0085] 步骤105:利用所述明文加密位标识数据串选择二分之一以上明文数据加密:\n[0086] 参见图8,本发明实施例在利用明文加密位标识数据串选择二分之一以上明文数据加密形成密文的步骤具体为:\n[0087] 从首位数据起,将所述明文加密位标识随机串及明文数据一一对应排列;\n[0088] 选取与所述明文加密位标识随机串中1对应的明文数据进行加密;\n[0089] 本发明实施例在加密时所使用的加密函数唯一对应一个加密密钥;\n[0090] 步骤106:将所述加密数据与未加密数据按所在明文位置排列形成密文。\n[0091] 参见图3,本发明实施例在根据所述随机串生成明文加密位标识随机串的步骤之后,还判断所述明文加密位标识随机串是否生成过,是则重新生成新的明文加密位标识随机串,否则输出并存储所述明文加密位标识随机串,其具体实现步骤如下:\n[0092] 步骤S301:从随机种子多次采集数据,将每次采集的数据级联成不小于明文长度的随机串,根据该随机串生成明文加密位标识随机串;\n[0093] 步骤S302:通过信息摘要运算生成明文加密位标识随机串的信息摘要值;\n[0094] 对明文加密位标识随机串做信息摘要运算,可采用MD5或者SHA1算法进行计算;\n[0095] 步骤S303:判断所述信息摘要值与存储的明文加密位标识随机串的信息摘要值是否一致,如果是,则执行步骤S301,否则执行步骤S304;\n[0096] 步骤S304:输出并存储所述明文加密位标识随机串,同时将其信息摘要值存储。\n[0097] 参见图4,本发明实施例提供了云存储数据加密装置的结构,为了便于说明,仅示出了与本发明方案有关的部分。\n[0098] 该装置包括随机种子大小及采集次数计算模块41,真随机数据生成模块42,加密位标识随机串生成模块43,明文数据选取加密模块44以及密文形成模块45;\n[0099] 随机种子大小及采集次数计算模块41根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,以及根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;\n其中Z=Y/u,且Z>8R;\n[0100] 真随机数据生成模块42生成真随机数及根据随机种子大小及采集次数计算模块\n41计算的随机种子的大小H生成相应大小的随机种子,加密位标识随机串生成模块43从真随机数据生成模块42生成的随机种子中按随机种子大小及采集次数计算装置41计算的采集次数u多次采集数据,将每次采集的数据级联成不小于明文长度的0、1值随机串,根据所述随机串生成明文加密位标识随机串;\n[0101] 明文数据选取加密模块44根据加密位标识随机串生成模块43生成的明文加密位标识随机串选取二分之一以上的明文数据加密,密文形成模块45用于将明文数据选取加密模块加密的数据与未加密的数据按所在明文位置排列形成密文。\n[0102] 参见图4,本发明实施例提供的装置还包括:\n[0103] 加密位标识随机串信息摘要值存储模块46,加密位标识随机串信息摘要值生成模块47以及加密位标识随机串校验模块48;\n[0104] 加密位标识随机串信息摘要值存储模块46存储加密位标识随机串信息摘要值;\n[0105] 加密位标识随机串信息摘要值生成模块47通过信息摘要运算生成加密位标识随机串生成模块43生成的明文加密位标识随机串的信息摘要值;\n[0106] 加密位标识随机串校验模块48将加密位标识随机串信息摘要值生成模块47生成的明文加密位标识随机串信息摘要值与加密位标识随机串信息摘要值数据库46中的信息摘要值进行比对,输出一致与否的信息给加密位标识随机串生成模块。\n[0107] 参见图5,本发明实施例提供了随机种子大小及采集次数计算模块生成随机种子的大小及对随机种子采集次数的示意图,该图中,X表示一定时间段内预期存储到云存储数据中心的数据量,R表示用于数据解密还原所需本地存储空间占用比例,Z表示数据安全级,Y表示每次待加密明文数据量,H表示应生成的随机种子的大小,u表示应对随机种子进行随机数据采集的次数\n[0108] 当用户根据自己的要求,对该模块中的X、R、Z设定后,该模块即可根据相应的公式计算出应生成的随机种子的大小H,并根据每次加密明文的数据量Y,计算出对所述随机种子进行数据采集的次数u。\n[0109] 参见图6,本发明实施提供了一种云存储数据加密系统,该系统包括云存储数据加密装置和云存储数据中心。\n[0110] 其中,云存储数据加密装置包括随机种子大小及采集次数计算模块41,真随机数据生成模块42,加密位标识随机串生成模块43,明文数据选取加密模块44以及密文形成模块45,如图4所示;\n[0111] 随机种子大小及采集次数计算模块41根据预置时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,以及根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u;\n其中Z=Y/u,且Z>8R;\n[0112] 真随机数据生成模块42生成真随机数及根据随机种子大小及采集次数计算模块\n41计算的随机种子的大小H生成相应大小的随机种子,加密位标识随机串生成模块43从真随机数据生成模块42生成的随机种子中按随机种子大小及采集次数计算装置41计算的采集次数u多次采集数据,将每次采集的数据级联成不小于明文长度的0、1值随机串,根据所述随机串生成明文加密位标识随机串;\n[0113] 明文数据选取加密模块44根据加密位标识随机串生成模块43生成的明文加密位标识随机串选取二分之一以上的明文数据加密,密文形成模块45用于将明文数据选取加密模块加密的数据与未加密的数据按所在明文位置排列形成密文。\n[0114] 以下提供两种对二分之一以上的明文数据进行选择加密的实现方法,但本发明的保护范围不限于这两种实现。\n[0115] 方法1:定长固定位明文加密方法\n[0116] 设定有数个明文待加密,选择其中第k个明文,该明文位数是m位,需要选择n位进行加密,其中m、n、k都是自然数,且 是对 的取整运算。\n[0117] 随机从第k个明文中选择待加密数据的方法主要步骤是:\n[0118] 1、生成并存储预定长度w位的真随机数0、1串,作为随机种子,其中w是自然数,且w>m;\n[0119] 2、对该随机种子做指定次数u(u是自然数)的随机数据采集,每次数据采集的起始位置和所采集的数据长度(可以大于等于0)都是随机的,如果数据采集已至随机种子尾部,则回到其头部继续数据采集;\n[0120] 每次数据采集前,先产生两个随机数,对其分别取模,得到随机的起始游标位置和所需采集的数据长度;\n[0121] 其具体实现步骤为:在数据采集前,先生成两个真随机数R1,R2,现在需要产生两个分别小于w和p-q的随机值T1,T2(其中,q是小于等于q的自然数,w是随机种子的长度,p是所需产生明文加密位标识随机串的长度,q是已经产生数据的长度,p-q就是随机串剩余未采集数据的位数),那么\n[0122] T1=R1mod w\n[0123] T2=R2mod(p-q)\n[0124] 其中,mod是取模运算。\n[0125] 3、将每次采集的数据级联成指定长度p位(p是自然数,本方法中p=m)的0、1值随机串;\n[0126] 4、统计判断该随机串1的数量n,如果 则选取该随机串作为明文加密位标识随机串,\n[0127] 如果 则对整个随机串取反,使 将取反后的随机串作为明\n文加密位标识随机串;\n[0128] 5、输出m位明文加密位标识随机串,从首位数据起,将明文加密位标识随机串按顺序与明文数据一一对应排列,将对应于明文加密位标识随机串中1的明文数据加密。\n[0129] 参见图7,本发明实施例提供了对生成明文加密位随机串的示意图。\n[0130] 该图中,记第k个明文对应的m位明文加密位标识随机串为rek,那么rek等于从指定长度随机种子中做u次随机采集的数据的顺序组合或取反(如果 ),记从随机种子中第i次采集的数据为(Curs,Cure)i,其中,i是自然数,且i≤u,Curs为第i次采集数据在随机种子中起始游标位置,相应地,Cure为第i次采集数据的终止游标位置,Curs和Cure都以从随机种子首位的偏移量标识,可见Curs和Cure都是大于等于0,小于等于m的整数,且Cure大于等于Curs,当Cure等于Curs时,数据采集的位数为0。那么,第i次采集的数据为指定长度随机种子中Curs到Cure之间的数据。进一步,明文加密位标识随机串rek可以表达为:\n[0131] rek=[(Curs,Cure)1,(Curs,Cure)2,....(Curs,Cure)i,....(Curs,Cure)u]k[0132] (当 时)\n[0133] 或rek=~[(Curs,Cure)1,(Curs,Cure)2,....(Curs,Cure)i,....(Curs,Cure)u]k[0134] (当 时)\n[0135] 下面对明文加密位标识随机串真随机性或不可重现性分析:\n[0136] 保证明文加密位随机串的真随机性及不重复使用,对于整个系统不被密码分析者轻易破解是至关重要的。\n[0137] 需要说明的是,只要作为明文加密位标识随机串使用的字符是有限的,密钥就可能重现,其随机性体现在,重现的概率很小且无规律。\n[0138] 举例而言,假设明文加密位标识随机串的位数是1024位,因为可以组成该随机串\n1024 308\n的字符只有0和1,所以无论怎样随机,其重现的概率仍大于1/2 ,即1/(1.79*10 )。\n[0139] 进一步可算出该实现中明文加密位标识随机串的重复概率。对相同的随机种子,因为每次数据采集可以有w种可能(随机种子有w位),所以该实现中,数据采集u次后,p位u\n明文加密位标识随机串重现概率为:1/w。\n[0140] 如果用指定加密算法(函数)加密10M字节(Byte)的明文,所使用的随机种子的大小是1Gbit,即w=1,000,000,000,数据采集1000次,即u=1000,那么,通过该实现方法产生\n9000\n的明文加密位标识随机串重复的概率是1/10 ,可见其重复的概率已经足够低,符合随机特征的特性。\n[0141] 实际使用中,可以通过增加u和w继续提高其随机性以降低其重复概率,或定期更换随机种子,以保证更加安全的明文加密位标识随机串。\n[0142] 方法2:不定长变位明文加密方法\n[0143] 类似于方法1,所不同的是,该实现中p是不定长的,通过在p位随机串的随机位置开始遍历产生明文加密位标识随机串,通过遍历起始位置的不确定性,增强整个系统的安全性。\n[0144] 具体实现步骤如下所示(变量设定同方法1):\n[0145] 1、生成并存储预定长度w位的真随机数0,1串,作为随机种子,其中w是自然数,且w>m;\n[0146] 2、对该随机种子做预定次数u(u是自然数)的随机数据采集,每次数据采集的起始位置和所采集的数据长度(可大于等于0)都是随机的,如果数据采集已至随机种子尾部,则回到其头部继续数据采集;\n[0147] 每次数据采集前,先产生两个真随机数,对其分别取模,得到随机的起始游标位置和所需采集的数据长度,对随机种子进行随机数据采集的方法同方法1所述;\n[0148] 3、将每次采集的数据级联成指定长度p位(p是自然数,p>m)的随机串;\n[0149] 4、在p位随机串中一个随机起始位置采集m位数据,当数据采集到随机串尾部时,需回到头部继续采集,直到采集到足够位数,输出一个新的随机串;需要说明的是,随机起始位置需要通过对产生的真随机数通过取模来确定。\n[0150] 该具体步骤为:在数据采集前生成了一个真随机数R3,现在需要产生一个小于p的随机值T3,那么,\n[0151] T3=R3modp\n[0152] 其中,mod是取模运算。\n[0153] 5、判断统计输出的随机串(仅包含0、1)中1的数据量n,如果 则选取该随机串作为明文加密位标识随机串,\n[0154] 如果 那么对整个随机串取反,使 将取反后的随机串作为\n明文加密位标识随机串;\n[0155] 6、输出m位明文加密位标识随机串,从首位数据起将明文加密位标识随机串按顺序与明文数据一一对应,将对应于明文加密位标识随机串中1的明文数据进行加密。\n[0156] 下面对本方法下明文加密位标识随机串真随机性或不可重现性进行分析。\n[0157] 与方法1相比,方法2中增加了一个步骤,即在p位随机串中采集m位数据,因为u\n采集有p中可能,所以该方法2中明文加密位标识随机串的重复概率为:p*1/(p*w)。\n[0158] 进一步以方法1所设定数据为例,这里p>m,即p>80,000,000(即80M位),那么,\n9007\n通过该实现方法产生的明文加密位标识随机串重复的最小概率是1/(8*10 ),可见其重复的概率已经足够低,符合随机特征的特性。\n[0159] 实际使用中,可以通过增加p,u和w继续提高其随机性(降低其重复概率),或定期更换随机种子,以保证更加安全的明文加密位标识随机串。\n[0160] 总之,通过以上实现,可以证明存在多种实现方式使随机选取明文数据加密在实际应用中是可行的。\n[0161] 本发明在对数据进行选择性加密过程中,需要记录并保存生成的随机种子,从随机种子再次生成所加密第K个明文对应的明文加密位标识随机串的对应信息rek,以及在生成明文加密位标识随机串时是否采用逻辑取反运算,遍历P位随机串进行数据采集生成明文加密位标识随机串时数据采集的起始游标位置信息,供数据解密时使用。\n[0162] 参见图8,其解密的步骤为:\n[0163] 1、根据在加密过程中存储的随机种子,从随机种子再次生成所加密第K个明文对应的明文加密位标识随机串的对应信息rek,以及在生成明文加密位标识随机串时是否采用逻辑取反运算,遍历P位随机串进行数据采集生成明文加密位标识随机串时数据采集的起始游标位置信息,从存储的随机种子中采集数据,重构生成加密明文对应的明文加密位标识随机串;\n[0164] 2、根据所述明文加密位标识随机串从密文中分离出加密数据并解密;\n[0165] 本发明实施例中,对所加密明文(密文)进行解密所用的解密函数与加密函数相对应;\n[0166] 3、将解密数据与未加密数据按所在密文位置排列形成明文。\n[0167] 本发明实施例通过根据一定时间段内预期存储到云存储数据中心的数据量X,本地存储空间占用比例R以及数据安全级别Z计算出应生成随机种子的大小H,并根据每次待加密明文数据量Y计算出对随机种子进行随机数据采集的次数u,生成所述H大小的随机种子,并按所述u次数多次采集,生成明文标识位随机串选择二分之一以上明文数据加密,与未加密数据按据明文位置排列形成密文保存在云存储数据中心,在不牺牲数据安全性的前提下,减少了数据存储中的数据加密数量,提升了云存储数据存储性能;在解密时重构加密明文对应的明文加密位标识随机串,利用该随机串对密文解密,同样减少了解密数据量,从而大大提升了云存储数据存储性能与速度。\n[0168] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
法律信息
- 2018-12-04
专利权的转移
登记生效日: 2018.11.15
专利权人由北京卓微天成科技咨询有限公司变更为即云天下(北京)数据科技有限公司
地址由100085 北京市海淀区上地信息产业基地北区5号地上地辉煌国际中心B座1808号变更为100193 北京市海淀区东北旺西路8号院25号楼立思辰大厦一层西区
- 2013-07-31
- 2011-05-25
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201010566286.1
申请日: 2010.11.29
- 2011-04-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-10-01
|
2006-06-05
| | |
2
| |
2006-04-12
|
2003-03-25
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |