CN105356997B - 基于公共云的安全的分布数据管理方法 - Google Patents
基于公共云的安全的分布数据管理方法 Download PDFInfo
- 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
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个公共云空间中,覆盖掉原有目录树子文件。
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)
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)
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 | 华存数据信息技术有限公司 | 分布式存储***及文件存储和读取方法 |
-
2015
- 2015-08-06 CN CN201510476859.4A patent/CN105356997B/zh active Active
Patent Citations (3)
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)
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 |