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

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

Info

Publication number
CN105356997B
CN105356997B CN201510476859.4A CN201510476859A CN105356997B CN 105356997 B CN105356997 B CN 105356997B CN 201510476859 A CN201510476859 A CN 201510476859A CN 105356997 B CN105356997 B CN 105356997B
Authority
CN
China
Prior art keywords
file
public cloud
space
subfile
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510476859.4A
Other languages
English (en)
Other versions
CN105356997A (zh
Inventor
李西明
张列
郭玉彬
黄琼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China Agricultural University
Original Assignee
South China Agricultural University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China Agricultural University filed Critical South China Agricultural University
Priority to CN201510476859.4A priority Critical patent/CN105356997B/zh
Publication of CN105356997A publication Critical patent/CN105356997A/zh
Application granted granted Critical
Publication of CN105356997B publication Critical patent/CN105356997B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于公共云的安全的分布数据管理方法,包括下述步骤:假设有m个公共云空间,提取本地计算机上的存储目录结构,加密目录下所有文件,每个加密文件切分为m块,密钥秘密共享分成m块,文件及密钥分块分送到m个公共云空间,目录树秘密共享到这m个公共云空间。在搜索特定文件及下载文件时,首先从任意n(n<m)个公共云空间取回并恢复目录树,在目录树中搜索文件,然后根据搜索结果继续从这n个公共云空间取回子文件块和子密钥块,合并文件块,同时恢复密钥,最后利用对文件进行解密得到原文件。通过本发明的技术方案,任意不足n个公共云空间的数据信息不足以恢复原文件,提高了数据信息安全性,降低用户数据信息泄露风险。

Description

基于公共云的安全的分布数据管理方法
技术领域
本发明涉及数据的公共云空间存储技术,特别涉及一种基于公共云的安全的分布数据管理方法。
背景技术
随着云计算技术的不断成熟,云存储为用户的文件存储提供了近乎无限的存储容量,提供不同设备之间的自动同步功能,同时为不同用户之间提供了数据共享渠道。市面上云产品越来越多,用户逐渐转移大量到云公共云中。
然而,云存储技术给用户带来快捷和便利的同时,隐私泄漏等数据安全问题也随之而来。例如,2014年9月,外国黑客疑用苹果公司的iCould云盘***的漏洞,造成了好莱坞艳照门事件。依赖于特定云服务商也带来数据丢失安全隐患。就国内来看,2015年6月6日下午,因服务商“睿江科技”机房遭遇雷暴天气引发电力故障,青云广东1区全部硬件设备意外关机重启,造成青云官网及控制台短时无法访问、部署于GD1的用户业务暂时不可用,与此同时,另一家云服务商LeanCloud也发生了长达4小时的服务中断情况。从国际上来看,根据专业的跟踪网站CloudHarmony的数据统计显示,亚马逊EC2服务,在2014年停机2.41小时,微软公司运营的Azure云平台在可用性方面表现也相当一般,共经历了92次服务停止事故,合共39.77小时,其存储平台服务有141次停机事故共计10.97小时。
在现有的云存储技术中,主要有以下两种存储方式:
(1)明文存储,使用明文存储的云盘,非法用户窃取文件后可即可读取所有内容,公共云空间也可随意获取用户数据。
(2)加密存储,使用加密存储的云盘,非法用户很难窃取数据,但公共云空间仍然存在着获取用户数据的可能性。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,针对上述所提现有云存储所存在的安全问题,本发明提出一种基于公共云的安全的分布数据管理方法。
为了达到上述目的,本发明采用以下技术方案:
基于公共云的安全的分布数据管理方法,包括下述步骤:
S1、将公共云空间的存储目录树提取出来,作为一个文件,把每个字节都当作秘密S;
S2、使用Shamir秘密共享算法对文件的每个字节进行分解,得到m个分解后的字节,将这m个字节以追加写入的形式分别写到m个新建的文件中;
S3、当目录树文件每一个字节都分解写到新建的文件后,得到一个目录树子文件,然后将m个新建的目录树子文件分别存储到m个公共云空间中;
S4、需要恢复目录树文件时,则从任意n个公共云空间中取回目录树子文件,从这n个目录树子文件逐字节读取出来,当做子秘密,使用多项式插值算法进行秘密恢复,得到原本目录树文件的每个字节,然后合并得到原本的目录树文件;
S5、在秘密共享目录树后,当需要上传文件到公共云空间时,首先从任意n个公共云空间取回分解后目录树子文件,恢复存储目录树,然后按照上传操作将文件上传,上传完毕后更新目录树,最后利用Shamir秘密共享算法将目录树分解上传到m个公共云空间中,覆盖掉原有目录树子文件;
S6、当需要从公共云空间下载文件时,首先从任意n个公共云空间取回分解后目录树文件,恢复存储目录树,然后根据目录树,进行文件下载操作;
S7、当需要删除文件时,首先从任意n个公共云空间取回分解后目录树子文件,恢复存储目录树,然后根据目录树,找到文件位置,在m个公共云空间上删除加密文件对应分块及对应密钥分块,删除完毕后更新目录树,最后利用Shamir秘密共享算法将目录树分解上传到m个公共云空间中,覆盖掉原有目录树子文件。
优选的,所述Shamir秘密共享算法具体为:
一个秘密共享方案包括一个可信的秘密分布者和m个参与者,秘密分布者将所要共享的秘密S分拆m个子秘密,并通过安全信道将其分布给这m个参与者,使得每个参与者仅知道自己的子秘密而不知道其他参与者的子秘密,同时秘密分布者定义一些授权子集,使得这些集合中的参与者联合可以恢复共享的秘密S。
优选的,步骤S2中,使用Shamir秘密共享算法对文件进行分解的具体步骤为:
S21、输入秘密S,以及输入参数n,m;
S22、任意生成n-1个随机数a1,......,an-1,同时令a0=S;
S23、构造n-1次多项式f(x)=a0+a1x+a2x2+...+an-1xn-1
S24、任意生成m个随机数x1,......,xm,记录在本地;
S25、将x1,......,xm代入多项式f(x)中计算得f(x1),......f(xm);
S26、输出f(x1),......f(xm)。
优选的,步骤S4中,使用Shamir秘密共享算法进行秘密恢复的具体步骤为:
S41、输入数据f(x1),......f(xn);
S42、从本地取回f(xi)对应的xi
S43、构造方程组:
......
此时有n个方程组,n个未知数,即a0a1,......,an-1
S44、解上述方程组,得到系数a0a1,......,an-1,S=a0
S45、输出S。
优选的,步骤S5中,在上传文件时,进行完目录树管理后,采用基于密钥分解理论的文件分块算法,将其上传到m个公共云空间中;所述基于密钥分解理论的文件分块算法如下:
设定一个密码***为<M,C,K,P>,其中M为明文空间,C为密文空间,K为密钥空间,P为参与者所组成的空间,讨论将密钥分配给m个人,允许其中任意n个人都能恢复密钥,少于n个人这不能恢复密钥;
在m个参与者中,任意n-1个参与者不能恢复密钥,把密钥空间K看成一个向量空间,则其维度为对于密钥空间K中的任一密钥向量Ki 可以用参与者向量空间P中的元素Pi(i=1,2,…,m)来线性表示,即Ki属于参与者空间P中的某几个参与者,由于要求只需n个参与者即可恢复密钥,则对于参与者向量空间P来说,其基向量个数为n,Ki可以用n个向量来表示,显然任意n个向量都可以得到密钥Ki,而因为m是基向量的个数,则少于m个向量不能全部得到密钥Ki
把文件当作密钥分解理论中密钥K,在m个公共云空间中,任意n-1公共云空间不能恢复密钥K,则可以把文件分割成块子文件块Ki,i=1,2,…,将Ki分配给m个公共云空间中的几个,使得必须具备任意其中n个公共云空间的子文件组才能恢复原文件,任意不足n组子文件都不能恢复原文件,这样任意不足n组子文件泄露也不足以泄漏原文件,任意m-n组子文件损坏依旧能恢复原文件;
给每块子文件块标记为给m个公共云空间标记为C1,C2,...,Cm,取其n-1的组合:C1C2...Cn-2Cn-1、C1C2...Cn-2Cn、...、Cm-n+2Cm-n+3...Cm,共有个组合;令这些组合分别与对应,如K1与C1C2...Cn-2Cn-1对应,其意义为C1C2...Cn-2Cn-1这n-1个公共云空间都没有存储文件块K1
优选的,所述文件分割步骤如下:
S511、输入一个文件;
S512、输入分割参数n与m,并计算文件分割数量
S513、记录文件名file_name,获取文件大小file_size,并计算每块子文件大小,block_size=file_size/block_num;
S514、以子文件块大小block_size为单位,把文件分割成块,每块按序标记;
S515、按照文件块对公共云空间存储方案,将文件块进行分组存储到m个不同的公共云空间。
优选的,所述恢复原文件的步骤如下:
S521、根据对定的参数n,从任意n个公共云空间中取回n组子文件组;
S522、从n组子文件组中找回全部子文件块,去除重复的子文件块;
S523、对这个子文件块进行排序;
S524、新建一个文件,以原文件名字file_name为名;
S525、将子文件块的内容按序以追加的形式写回到该文件中。
优选的,步骤S5中,在上传文件时,进行完目录树管理后,采用基于秘密共享的保密存储技术,将其上传到m个公共云空间中,操作如下:
S531、对要上传的文件进行加密;
S532、采用Shamir秘密共享算法将密钥分解存储到m个公共云空间中;
S533、对加密后的文件进行物理分割成块;
S534、按照子文件块分布存储方案将分割后的子文件块进行分布存储。
优选的,步骤S6中,在下载文件时,进行完目录树管理后,只需从任意n个公共云空间中取回子文件块,即可恢复回原文件,具体为:
S61、从任意n个公共云空间中取回子文件块组,去除重复子文件块;
S62、对子文件块排序后进行物理合并;
S63、从任意n个公共云空间中取回子密钥,恢复密钥;
S64、根据密钥,对合并后的文件进行解密,恢复原文件。
优选的,删除文件的步骤如下:
S71、从m个公共云空间中取回目录树分块,在m个公共云空间中删除子文件块组及对应密钥分块;
S72、更新本块目录块,上传新的目录树分块到m个公共云空间中,覆盖掉原有目录树子文件。
本发明与现有技术相比,具有如下优点和有益效果:
1、在本发明中任意不足n个公共云空间的数据信息不足以恢复原文件,保证了用户数据信息不会给单个公共云空间和非法用户窃取,提高了数据信息的安全性,大大降低用户数据信息泄露风险。而任意m-n个公共云空间发生故障仍然可以恢复原文件,保证了即使任意m-n个公共云空间发生故障,用户数据信息也不会丢失和损坏,提高了存储的可靠性。
2、本发明对文件进行了加密分块,对单个服务和非法用户来讲,用户上传的数据都是原文件加密分割后的数据块,而不可能拿到全部数据,从而解决公共云空间泄密问题,提高数据的安全性。
3、本发明将文件分块存储m个公共云空间,而任取n个公共云空间即可恢复数据,可在一定程度防止因公共云空间故障造成的数据丢失。
附图说明
图1为本发明基于公共云的安全的分布数据管理方法的流程图;
图2为本发明公共云空间存储结构图;
图3为本发明秘密共享算法的流程图;
图4为本实施例中m=5,n=3时文件块分布推导示意图;
图5为本实施例中m=5,n=3时子文件块1的存储分布示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例中,设定现有m个公共云空间,利用本文提出的算法,用户可在任一设备将要存储的文件加密分割存储到这m个公共云空间中。当需要取回文件时,则从其中n个公共云空间中取回子文件块,通过算法恢复出原文件。本实施例的技术方案情景应用如图1所示,在上传阶段,先对要存储的文件进行加密,然后将加密后的文件分块,采用本发明提供算法分布存储这m个公共云空间中,同时将加密密钥秘密共享到这m个公共云空间中。在下载阶段,只需任意取其中n个公共云空间的子文件块和子密钥,通过子文件块合并文件,然后通过子密钥恢复密钥,进行文件解密。
下面结合技术方案对本发明做进一步的阐述:
对于秘密共享公共云空间存储目录树结构:为了对公共云空间隐藏存储的内容,不仅仅要隐藏文件本身,还要隐藏文件目录结构。因此需要将公共云空间的存储目录树提取出来,作为文件,利用Shamir秘密共享算法分解到m个公共云空间中。最终对公共云空间而言,存储的是一堆散乱无意义的文件,如图2所示。
对于目录树,可以作为一个文件,把它的每一个字节都当作秘密S,使用Shamir秘密共享算法进行分解,得到m个分解后的字节,将这m个字节以追加写入的形式分别写到m个新建的文件中。当目录树文件每一个字节都分解写到新建的文件后,将m个新建的目录树子文件存储分别到m个公共云空间中。需要恢复目录树文件时,则从任意n个公共云空间中取回目录树子文件,从这n个目录树子文件逐字节读取出来,当做子秘密,然后使用Shamir秘密共享算法进行秘密恢复,最后得到原本的目录树文件。
本实施例中Shamir秘密共享算法及思想如下:
一个秘密共享方案包括一个可信的秘密分布者和m个参与者,秘密分布者将所要共享的秘密S分拆m个子秘密,并通过安全信道将其分布给这m个参与者,使得每个参与者仅知道自己的子秘密而不知道其他参与者的子秘密。同时秘密分布者定义一些授权子集,使得这些集合中的参与者联合可以恢复共享的秘密S,如图3所示。秘密共享方案的关键在于怎样更好的设计秘密拆分方式和恢复方式,使得若干个参与者一同协作才能恢复秘密消息。同时更重要的是,当其中任何相应范围内参与者出问题时,秘密仍可以完整恢复。这种将秘密分割存储的密码技术能够阻止秘密过于集中,达到分散风险和容忍入侵的目的。
Shamir的(n,m)(m>n)秘密共享算法利用有限域的多项式f(x)将秘密S分解成m个子秘密,分配给m个参与者,在这里公共云空间作为参与者。每个参与者不知道其他参与者所持有的子秘密。只有知道其中至少n个参与者拿出子秘密一同协作才能才可以恢复出秘密S,任意不足n个参与者所持子秘密都无法恢复秘密S。
对于有限域上的一个n-1次多项式f(x),把秘密S取作f(0),将f(xi)(i=1,…,m)分配给m个参与者,则其中任意n个参与者即可利用f(xi)重构f(x),然后由f(x)得到f(0),恢复秘密。
Shamir秘密共享算法分解秘密步骤如下:
Step1:输入秘密S,以及输入参数n,m。
Step2:任意生成n-1个随机数a1,......,an-1,同时令a0=S。
Step3:构造n-1次多项式f(x)=a0+a1x+a2x2+...+an-1xn-1
Step4:任意生成m个随机数x1,......,xm,记录在本地。
Step5:将x1,......,xm代入多项式f(x)中计算得f(x1),......f(xm)。
Step6:输出f(x1),......f(xm)。
Shamir秘密共享算法恢复秘密步骤如下:
Step1:输入数据f(x1),......f(xn)。
Step2:从本地取回f(xi)对应的xi
Step3:构造方程组:
......
此时有n个方程组,n个未知数,即a0a1,......,an-1
Step4:解上述方程组,得到系数a0a1,......,an-1,S=a0
Step5:输出S。
在秘密共享目录树后,当需要上传文件到公共云空间时,首先从任意n个公共云空间取回分解后目录树文件,恢复存储目录树,然后按照下文介绍的上传操作将文件上传,上传完毕后更新目录树,最后利用Shamir秘密共享算法将目录树分解上传到m个公共云空间中,覆盖掉原有目录树文件。当需要从公共云空间下载文件时,首先从任意n个公共云空间取回分解后目录树文件,恢复存储目录树,然后根据目录树,进行文件下载操作。
存储文件:
在上传文件时,进行完目录树管理后,采用基于密钥分解理论的文件分块算法,将其上传到m个公共云空间中。
基于密钥分解理论的文件分块算法如下:
设定一个密码***为<M,C,K,P>,其中M为明文空间,C为密文空间,K为密钥空间(加密和解密密钥空间),P为参与者所组成的空间,讨论将密钥分配给m个人,允许其中任意n个人都能恢复密钥,少于n个人这不能恢复密钥。
在m个参与者中,任意n-1个参与者不能恢复密钥,把密钥空间K看成一个向量空间,则其维度为对于密钥空间K中的任一密钥向量Ki 可以用参与者向量空间P中的元素Pi(i=1,2,…,m)来线性表示,即Ki属于参与者空间P中的某几个参与者。由于要求只需n个参与者即可恢复密钥,则对于参与者向量空间P来说,其基向量个数为n,Ki可以用n个向量来表示。显然任意n个向量都可以得到密钥Ki,而因为m是基向量的个数,则少于m个向量不能全部得到密钥Ki
把文件当作密钥分解理论中密钥K,在m个公共云空间中,任意n-1公共云空间不能恢复密钥K,则可以把文件分割成块子文件块Ki 将Ki分配给m个公共云空间中的几个,使得必须具备任意其中n个公共云空间的子文件组才能恢复原文件,任意不足n组子文件都不能恢复原文件,这样任意不足n组子文件泄露也不足以泄漏原文件,任意m-n组子文件损坏依旧能恢复原文件。
给每块子文件块标记为给m个公共云空间标记为C1,C2,...,Cm,取其n-1的组合:C1C2...Cn-2Cn-1、C1C2...Cn-2Cn、...、Cm-n+2Cm-n+3...Cm,共有个组合。令这些组合分别与对应,如K1与C1C2...Cn-2Cn-1对应,其意义为C1C2...Cn-2Cn-1这n-1个公共云空间都没有存储文件块K1。这样很容易得到文件块对公共云空间的分布方案,如表1所示。
表1文件块对公共云空间存储分布方案表
文件分割步骤如下:
Step1:输入一个文件。
Step2:输入分割参数n与m,并计算文件分割数量
Step3:记录文件名file_name,获取文件大小file_size,并计算每块子文件大小。block_size=file_size/block_num。
Step4:以子文件块大小block_size为单位,把文件分割成块,每块按序标记。
Step5:按照文件块对公共云空间存储方案,将文件块进行分组存储到m个不同的公共云空间。
为了更形象地表示文件分割算法,现以m=5,n=3为具体例子。现要将文件分割成块组合存储在5个公共云空间中,必须从其中任意3个公共云空间取回子文件组才能恢复文件,任意2个子文件组都不能恢复文件,文件块分布推导如下。
5个公共云空间,取两两组合,任一组合对应一块子文件块,表示该公共云空间组合未存储该子文件块,则文件需要分成如图4所示。由此很容易得到子文件块1的存储分布,如图5所示;并且由推导可得所有子文件块的分布方案,如表2。
表2子文件块存储分布方案表(m=5,n=3)
由上表可以得到在各公共云空间中,存储的子文件块,如表3所示。
表3公共云空间存储子文件块表(m=5,n=3)
文件恢复步骤如下:
Step1:根据对定的参数n,从任意n个公共云空间中取回n组子文件组
Step2:从n组子文件组中找回全部子文件块,去除重复的子文件块。
Step3:对这个子文件块进行排序。
Step4:新建一个文件,以原文件名字file_name为名。
Step5:将子文件块的内容按序以追加的形式写回到该文件中。
由表3不难看出,在m=5、n=3的情况下,任意2个公共云空间的子文件组无法恢复原文件,以取公共云空间1和公共云空间2为例,从2个公共云空间中的子文件组取回的子文件块有:2、3、4、5、6、7、8、9,缺少了子文件块1。而任意3个公共云空间的子文件组即可恢复原文件,公共云空间1和公共云空间2的子文件组中缺少子文件块1,而公共云空间3、公共云空间4和公共云空间5中都含有子文件块1,即这从三个公共云空间任取其中一个公共云空间,都可与公共云空间1、公共云空间2的其他子文件块恢复原文件。
在上传文件时,进行完目录树管理后,采用基于秘密共享的保密存储技术,将其上传到m个公共云空间中,操作如下。
Step1:对要上传的文件进行加密。
Step2:采用Shamir秘密共享算法将密钥分解存储到m个公共云空间中。
Step3:对加密后的文件进行物理分割成块。
Step4:按照子文件块分布存储方案将分割后的子文件块进行分布存储。
在下载文件时,进行完目录树管理后,只需从任意n个公共云空间中取回子文件块,通过本技术方案即可恢复回原文件。
Step1:从任意n个公共云空间中取回子文件块组,去除重复子文件块。
Step2:对子文件块排序后进行物理合并。
Step3:从任意n个公共云空间中取回子密钥,恢复密钥。
Step4:根据密钥,对合并后的文件进行解密,恢复原文件。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.基于公共云的安全的分布数据管理方法,其特征在于,包括下述步骤:
S1、将本地用户的存储目录树提取出来,作为一个目录树文件,把每个字节都当作秘密S;
S2、使用Shamir秘密共享算法对目录树文件进行分解,把每个字节进行分解,得到m个分解后的字节,将这m个字节以追加写入的形式分别写到m个新建的文件中;
S3、当目录树文件每一个字节都分解写到新建的文件后,将m个新建的目录树子文件分别存储到m个公共云空间中;
S4、需要恢复目录树文件时,则从任意n个公共云空间中取回目录树子文件,其中n<m,从这n个目录树子文件逐字节读取出来,当做子秘密,使用Shamir秘密共享算法进行秘密恢复,得到原本的目录树文件;
S5、在秘密共享目录树后,当需要上传文件到公共云空间时,首先从任意n个公共云空间取回分解后目录树文件,恢复存储目录树,然后按照上传操作将文件上传,上传完毕后更新目录树,最后利用Shamir秘密共享算法将目录树分解上传到m个公共云空间中,覆盖掉原有目录树子文件;
S6、当需要从公共云空间下载文件时,首先从任意n个公共云空间取回分解后目录树子文件,恢复存储目录树,然后根据目录树,进行文件下载操作;
S7、当需要删除文件时,首先从任意n个公共云空间取回分解后目录树文件,恢复存储目录树,然后根据目录树,找到文件位置,在m个公共云空间上删除加密文件对应分块及对应密钥分块,删除完毕后更新目录树,最后利用Shamir秘密共享算法将目录树分解上传到m个公共云空间中,覆盖掉原有目录树文件。
2.根据权利要求1所述的基于公共云的安全的分布数据管理方法,其特征在于,所述Shamir秘密共享算法具体为:
一个秘密共享方案包括一个可信的秘密分布者和m个参与者,秘密分布者将所要共享的秘密S分拆m个子秘密,并通过安全信道将其分布给这m个参与者,使得每个参与者仅知道自己的子秘密而不知道其他参与者的子秘密,同时秘密分布者定义一些授权子集,使得这些集合中的参与者联合可以恢复共享的秘密S。
3.根据权利要求1所述的基于公共云的安全的分布数据管理方法,其特征在于,步骤S2中,使用Shamir秘密共享算法对文件进行分解的具体步骤为:
S21、输入秘密S,以及输入参数n,m;
S22、任意生成n-1个随机数a1,......,an-1,同时令a0=S;
S23、构造n-1次多项式f(x)=a0+a1x+a2x2+...+an-1xn-1
S24、任意生成m个随机数x1,......,xm,记录在本地;
S25、将x1,......,xm代入多项式f(x)中计算得f(x1),......f(xm);
S26、输出f(x1),......f(xm)。
4.根据权利要求1所述的基于公共云的安全的分布数据管理方法,其特征在于,步骤S4中,使用Shamir秘密共享算法进行秘密恢复的具体步骤为:
S41、输入数据f(x1),......f(xn);
S42、从本地取回f(xi)对应的xi
S43、构造方程组:
......
此时有n个方程组,n个未知数,即a0,a1,......,an-1
S44、解上述方程组,得到系数a0,a1,......,an-1,S=a0
S45、输出S。
5.根据权利要求4所述的基于公共云的安全的分布数据管理方法,其特征在于,步骤S5中,在上传文件时,进行完目录树管理后,采用基于密钥分解理论的文件分块算法,将其上传到m个公共云空间中;所述基于密钥分解理论的文件分块算法如下:
设定一个密码***为<M,C,K,P>,其中M为明文空间,C为密文空间,K为密钥空间,P为参与者所组成的空间,讨论将密钥分配给m个人,允许其中任意n个人都能恢复密钥,少于n个人这不能恢复密钥;
在m个参与者中,任意n-1个参与者不能恢复密钥,把密钥空间K看成一个向量空间,则其维度为对于密钥空间K中的任一密钥向量Ki可以用参与者向量空间P中的元素Pj来线性表示,即Ki属于参与者空间P中的某几个参与者,由于要求只需n个参与者即可恢复密钥,则对于参与者向量空间P来说,其基向量个数为n,Ki可以用n个向量来表示,显然任意n个向量都可以得到密钥Ki,而因为m是基向量的个数,则少于m个向量不能全部得到密钥Ki
把文件当作密钥分解理论中密钥K,在m个公共云空间中,任意n-1公共云空间不能恢复密钥K,则可以把文件分割成块子文件块Ki 将Ki分配给m个公共云空间中的几个,使得必须具备任意其中n个公共云空间的子文件组才能恢复原文件,任意不足n组子文件都不能恢复原文件,这样任意不足n组子文件泄露也不足以泄漏原文件,任意m-n组子文件损坏依旧能恢复原文件;
给每块子文件块标记为给m个公共云空间标记为C1,C2,...,Cm,取其n-1的组合:C1C2...Cn-2Cn-1、C1C2...Cn-2Cn、...、Cm-n+2Cm-n+3...Cm,共有个组合;令这些组合分别与对应,如K1与C1C2...Cn-2Cn-1对应,其意义为C1C2...Cn-2Cn-1这n-1个公共云空间都没有存储文件块K1
6.根据权利要求5所述的基于公共云的安全的分布数据管理方法,其特征在于,所述文件分割步骤如下:
S511、输入一个文件;
S512、输入分割参数n与m,并计算文件分割数量
S513、记录文件名file_name,获取文件大小file_size,并计算每块子文件大小,block_size=file_size/block_num;
S514、以子文件块大小block_size为单位,把文件分割成块,每块按序标记;
S515、按照文件块对公共云空间存储方案,将文件块进行分组存储到m个不同的公共云空间。
7.根据权利要求5所述的基于公共云的安全的分布数据管理方法,其特征在于,所述恢复原文件的步骤如下:
S521、根据对定的参数n,从任意n个公共云空间中取回n组子文件组;
S522、从n组子文件组中找回全部子文件块,去除重复的子文件块;
S523、对这个子文件块进行排序;
S524、新建一个文件,以原文件名字file_name为名;
S525、将子文件块的内容按序以追加的形式写回到该文件中。
8.根据权利要求1所述的基于公共云的安全的分布数据管理方法,其特征在于,步骤S5中,在上传文件时,进行完目录树管理后,采用基于秘密共享的保密存储技术,将其上传到m个公共云空间中,操作如下:
S531、对要上传的文件进行加密;
S532、采用Shamir秘密共享算法将密钥分解存储到m个公共云空间中;
S533、对加密后的文件进行物理分割成块;
S534、按照子文件块分布存储方案将分割后的子文件块进行分布存储。
9.根据权利要求1所述的基于公共云的安全的分布数据管理方法,其特征在于,步骤S6中,在下载文件时,进行完目录树管理后,只需从任意n个公共云空间中取回子文件块,即可恢复回原文件,具体为:
S61、从任意n个公共云空间中取回子文件块组,去除重复子文件块;
S62、对子文件块排序后进行物理合并;
S63、从任意n个公共云空间中取回子密钥,恢复密钥;
S64、根据密钥,对合并后的文件进行解密,恢复原文件。
10.根据权利要求1所述的基于公共云的安全的分布数据管理方法,其特征在于,步骤S7中,在删除文件时,需在所有m个公共云空间中删除对应文件块和密钥块,然后进行目录树更新,具体为:
S71、从m个公共云空间中取回目录树子文件,在m个公共云空间中删除子文件块组及对应密钥分块;
S72、更新本块目录块,上传新的目录树分块到m个公共云空间中,覆盖掉原有目录树子文件。
CN201510476859.4A 2015-08-06 2015-08-06 基于公共云的安全的分布数据管理方法 Active CN105356997B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510476859.4A CN105356997B (zh) 2015-08-06 2015-08-06 基于公共云的安全的分布数据管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510476859.4A CN105356997B (zh) 2015-08-06 2015-08-06 基于公共云的安全的分布数据管理方法

Publications (2)

Publication Number Publication Date
CN105356997A CN105356997A (zh) 2016-02-24
CN105356997B true CN105356997B (zh) 2019-09-06

Family

ID=55332877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510476859.4A Active CN105356997B (zh) 2015-08-06 2015-08-06 基于公共云的安全的分布数据管理方法

Country Status (1)

Country Link
CN (1) CN105356997B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254477B (zh) * 2016-08-09 2019-07-09 华南农业大学 一种基于多公共云的分布式数据上传和下载方法
CN107203723B (zh) * 2017-04-06 2020-06-19 华南农业大学 基于散列表方法的多公共云上的文件存储及其检索方法
CN106961336B (zh) * 2017-04-18 2019-11-26 北京百旺信安科技有限公司 一种基于sm2算法的密钥分量托管方法和***
CN108683509B (zh) * 2018-05-15 2021-12-28 北京创世智链信息技术研究院 一种基于区块链的安全交易方法、装置及***
TWI704793B (zh) 2019-02-27 2020-09-11 財團法人工業技術研究院 物件共享系統及方法
CN110968885A (zh) * 2019-12-18 2020-04-07 支付宝(杭州)信息技术有限公司 模型训练数据存储方法及装置、电子设备、存储介质
CN111506546A (zh) * 2020-04-08 2020-08-07 杭州天谷信息科技有限公司 高安全性文件云存储方法
CN113572614B (zh) * 2020-04-28 2023-07-14 万维数码智能有限公司 用于数据传输的安全保密方法和***
CN113067892B (zh) * 2021-04-09 2022-07-15 北京理工大学 一种使用公有云实现安全云同步和云存储的方法
CN114553589B (zh) * 2022-03-14 2024-02-06 杭州电子科技大学 一种基于多级加密的云端文件安全传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685199A (zh) * 2012-01-18 2012-09-19 吴昊 一种基于网络多节点的文件安全存储方法
CN103023968A (zh) * 2012-11-15 2013-04-03 中科院成都信息技术有限公司 一种网络分布式文件存储与读取方法
CN104639661A (zh) * 2015-03-13 2015-05-20 华存数据信息技术有限公司 分布式存储***及文件存储和读取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685199A (zh) * 2012-01-18 2012-09-19 吴昊 一种基于网络多节点的文件安全存储方法
CN103023968A (zh) * 2012-11-15 2013-04-03 中科院成都信息技术有限公司 一种网络分布式文件存储与读取方法
CN104639661A (zh) * 2015-03-13 2015-05-20 华存数据信息技术有限公司 分布式存储***及文件存储和读取方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种基于密钥分解理论的文件安全分割算法;卢荣辉等;《西安石油大学学报自然科学版》;20070731;第1-2节
基于Shamir秘密共享的隐私保护分类算法;雷红艳等;《计算机工程与设计》;20100331;第2.2-2.3节
基于秘密共享的多云存储模型研究;范泉龙;《中国优秀硕士学位论文全文数据库信息科技辑》;20140615;第17、22-23、31-37页

Also Published As

Publication number Publication date
CN105356997A (zh) 2016-02-24

Similar Documents

Publication Publication Date Title
CN105356997B (zh) 基于公共云的安全的分布数据管理方法
Wu et al. Adopting secret sharing for reversible data hiding in encrypted images
CN105740717B (zh) 一种基于加密分区进行电子数据文件保护的方法和装置
CN105282171B (zh) 一种安全可靠的分布式云存储方法
Li et al. Meta-key: A secure data-sharing protocol under blockchain-based decentralized storage architecture
EP3664399B1 (en) A computer-implemented method, a system, and computer programs for digital files management and preservation in digital licenses
CN104023027B (zh) 基于密文采样分片的云端数据确定性删除方法
CN106100832A (zh) 一种云存储数据去重中基于收敛加密的密钥管理方法
US20090158037A1 (en) System and method for protecting an electronic file
CN103763362A (zh) 一种安全的分布式重复数据删除方法
CN104657494A (zh) 一种网站数据库访问方法
CN105072134A (zh) 一种基于三级密钥的云盘***文件安全传输方法
CN104660705B (zh) 一种网站数据库后台处理方法
JP2017044779A (ja) 検索可能暗号処理システム
Mukundan et al. Replicated Data Integrity Verification in Cloud.
WO2017126571A1 (ja) 暗号文管理方法、暗号文管理装置及びプログラム
KR101553986B1 (ko) 분산 데이터 저장, 복원 시스템 및 방법
CN105553661B (zh) 密钥管理方法和装置
Verma Access Control-Based Cloud Storage Using Role-Fully Homomorphic Encryption Scheme
Murakami et al. Improvement of security in cloud systems based on steganography
CN104660704B (zh) 一种网站用户数据处理方法
CN117294799A (zh) 基于图像秘密共享和分级嵌入的密文域可逆隐藏方法
CN108494552B (zh) 支持高效收敛密钥管理的云存储数据去重方法
CN112235324B (zh) 一种基于KeyStore密钥树的密钥管理***、更新方法、读取方法
CN105743639B (zh) 一种基于(k,n)门限秘密分享的失效份额恢复方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant