基于公共云的安全的分布数据管理方法

文档序号:9600546阅读:330来源:国知局
基于公共云的安全的分布数据管理方法
【技术领域】
[0001] 本发明涉及数据的公共云空间存储技术,特别涉及一种基于公共云的安全的分布 数据管理方法。
【背景技术】
[0002] 随着云计算技术的不断成熟,云存储为用户的文件存储提供了近乎无限的存储容 量,提供不同设备之间的自动同步功能,同时为不同用户之间提供了数据共享渠道。市面上 云产品越来越多,用户逐渐转移大量到云公共云中。
[0003] 然而,云存储技术给用户带来快捷和便利的同时,隐私泄漏等数据安全问题也随 之而来。例如,2014年9月,外国黑客疑用苹果公司的iCould云盘系统的漏洞,造成了好莱 坞艳照门事件。依赖于特定云服务商也带来数据丢失安全隐患。就国内来看,2015年6月 6日下午,因服务商"睿江科技"机房遭遇雷暴天气引发电力故障,青云广东1区全部硬件设 备意外关机重启,造成青云官网及控制台短时无法访问、部署于GDI的用户业务暂时不可 用,与此同时,另一家云服务商LeanCloud也发生了长达4小时的服务中断情况。从国际上 来看,根据专业的跟踪网站CloudHarmony的数据统计显示,亚马逊EC2服务,在2014年停 机2. 41小时,微软公司运营的Azure云平台在可用性方面表现也相当一般,共经历了 92次 服务停止事故,合共39. 77小时,其存储平台服务有141次停机事故共计10. 97小时。
[0004] 在现有的云存储技术中,主要有以下两种存储方式:
[0005] (1)明文存储,使用明文存储的云盘,非法用户窃取文件后可即可读取所有内容, 公共云空间也可随意获取用户数据。
[0006] (2)加密存储,使用加密存储的云盘,非法用户很难窃取数据,但公共云空间仍然 存在着获取用户数据的可能性。

【发明内容】

[0007] 本发明的主要目的在于克服现有技术的缺点与不足,针对上述所提现有云存储所 存在的安全问题,本发明提出一种基于公共云的安全的分布数据管理方法。
[0008] 为了达到上述目的,本发明采用以下技术方案:
[0009] 基于公共云的安全的分布数据管理方法,包括下述步骤:
[0010] S1、将公共云空间的存储目录树提取出来,作为一个文件,把每个字节都当作秘密 S;
[0011] S2、使用Shamir秘密共享算法对文件的每个字节进行分解,得到m个分解后的字 节,将这m个字节以追加写入的形式分别写到m个新建的文件中;
[0012] S3、当目录树文件每一个字节都分解写到新建的文件后,得到一个目录树子文件, 然后将m个新建的目录树子文件分别存储到m个公共云空间中;
[0013]S4、需要恢复目录树文件时,则从任意η个公共云空间中取回目录树子文件,从这 η个目录树子文件逐字节读取出来,当做子秘密,使用多项式插值算法进行秘密恢复,得到 原本目录树文件的每个字节,然后合并得到原本的目录树文件;
[0014] S5、在秘密共享目录树后,当需要上传文件到公共云空间时,首先从任意η个公共 云空间取回分解后目录树子文件,恢复存储目录树,然后按照上传操作将文件上传,上传完 毕后更新目录树,最后利用Shamir秘密共享算法将目录树分解上传到m个公共云空间中, 覆盖掉原有目录树子文件;
[0015] S6、当需要从公共云空间下载文件时,首先从任意η个公共云空间取回分解后目 录树文件,恢复存储目录树,然后根据目录树,进行文件下载操作;
[0016]S7、当需要删除文件时,首先从任意η个公共云空间取回分解后目录树子文件,恢 复存储目录树,然后根据目录树,找到文件位置,在m个公共云空间上删除加密文件对应分 块及对应密钥分块,删除完毕后更新目录树,最后利用Shamir秘密共享算法将目录树分解 上传到m个公共云空间中,覆盖掉原有目录树子文件。
[0017] 优选的,所述Shamir秘密共享算法具体为:
[0018] -个秘密共享方案包括一个可信的秘密分布者和m个参与者,秘密分布者将所要 共享的秘密S分拆m个子秘密,并通过安全信道将其分布给这m个参与者,使得每个参与者 仅知道自己的子秘密而不知道其他参与者的子秘密,同时秘密分布者定义一些授权子集, 使得这些集合中的参与者联合可以恢复共享的秘密S。
[0019] 优选的,步骤S2中,使用Shamir秘密共享算法对文件进行分解的具体步骤为:
[0020] S21、输入秘密S,以及输入参数n,m;
[0021] S22、任意生成n-1个随机数a!,......,an !,同时令aQ=S;
[0022]S23、构造n-1 次多项式f(x) =ao+aiX+ajjX2-·· ·+an!χηS
[0023]S24、任意生成m个随机数Xu......,录在本地;
[0024]S25、将 ......,多项式f(x)中计算得f(xD,......f(xm);
[0025]S26、输出f(Xl),......f〇〇。
[0026] 优选的,步骤S4中,使用Shamir秘密共享算法进行秘密恢复的具体步骤为:
[0027] 341、输入数据以叉1),......f(xn);
[0028]S42、从本地取回f(Xl)对应的x1;
[0029]S43、构造方程组:
[0034] 此时有η个方程组,η个未知数,S卩aQai,......,an1;
[0035]S44、解上述方程组,得到系数aoa!,......,an !,S=a0;
[0036]S45、输出S。
[0037] 优选的,步骤S5中,在上传文件时,进行完目录树管理后,采用基于密钥分解理论 的文件分块算法,将其上传到m个公共云空间中;所述基于密钥分解理论的文件分块算法 如下:
[0038] 设定一个密码系统为<M,C,K,P>,其中Μ为明文空间,C为密文空间,K为密钥空 间,P为参与者所组成的空间,讨论将密钥分配给m个人,允许其中任意η个人都能恢复密 钥,少于η个人这不能恢复密钥;
[0039] 在m个参与者中,任意η-1个参与者不能恢复密钥,把密钥空间Κ看成一个向 量空间,则其维度为Cf,对于密钥空间Κ= {&,&,···,夂^ },Κ中的任一密钥向量 1(1=1,2, ...,.ef)可以用参与者向量空间Ρ中的元素?1(1 = 1,2,···,!!!)来线性表 示,即1属于参与者空间P中的某几个参与者,由于要求只需η个参与者即可恢复密钥,则 对于参与者向量空间Ρ来说,其基向量个数为n,Ki可以用η个向量来表示,显然任意η个 向量都可以得到密钥I,而因为m是基向量的个数,则少于m个向量不能全部得到密钥Ki;
[0040] 把文件当作密钥分解理论中密钥K,在m个公共云空间中,任意η-1公共云空间不 能恢复密钥Κ,则可以把文件分割成C:1块子文件块Kpi= 1,2,…,Cf,将&分配给m 个公共云空间中的几个,使得必须具备任意其中η个公共云空间的子文件组才能恢复原文 件,任意不足η组子文件都不能恢复原文件,这样任意不足η组子文件泄露也不足以泄漏原 文件,任意m-n组子文件损坏依旧能恢复原文件;
[0041] 给每块子文件块标记为尽…^,给m个公共云空间标记为Q,C2,...,(;,取 其η-ι的组合:ca. ..cn2cn^ca. ..cn2cn.....(;n+2c; n+3...共有c:-1 个组合;令这些 组合分别与t…,心:,.对应,如1与CA. · ·Cn2Cni对应,其意义为CA. · ·Cn2Cni这η-1 个公共云空间都没有存储文件块I。
[0042] 优选的,所述文件分割步骤如下:
[0043] S511、输入一个文件;
[0044] S512、输入分割参数η与m,并计算文件分割数量bl〇ck_num=r;;: 4
[0045]S513、记录文件名file_name,获取文件大小file_size,并计算每块子文件大小, blo
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1