CN105516340B - 一种云存储数据可恢复性验证方法及系统 - Google Patents
一种云存储数据可恢复性验证方法及系统 Download PDFInfo
- Publication number
- CN105516340B CN105516340B CN201511021286.2A CN201511021286A CN105516340B CN 105516340 B CN105516340 B CN 105516340B CN 201511021286 A CN201511021286 A CN 201511021286A CN 105516340 B CN105516340 B CN 105516340B
- Authority
- CN
- China
- Prior art keywords
- equal
- information
- servers
- secret
- challenge
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012795 verification Methods 0.000 title claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 50
- 239000011159 matrix material Substances 0.000 claims description 81
- 230000002776 aggregation Effects 0.000 claims description 17
- 238000004220 aggregation Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 6
- 238000006116 polymerization reaction Methods 0.000 abstract description 8
- 239000013598 vector Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 125000004432 carbon atom Chemical group C* 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种云存储数据可恢复性验证方法及系统,包括:将原始数据文件S分割成t个秘密信息:对t个秘密信息分别采用门限秘密信息分配方法生成t×n个信息份额对t×n个信息份额进行加密处理,生成对应的t×n个密文将t×n个密文通过秘密信道分别发送给云端n个服务器;向云端n个服务器分别发送挑战信息从云端n个服务器产生的响应信息中多次挑选任意k个响应信息,计算聚合秘密将多次得到的聚合秘密进行比较,若多次得到的聚合秘密一致,则验证云端n个服务器中的数据是完整的。本发明将门限秘密分享与云端多服务器存储有效结合,并在将数据发送给云端服务器之前对数据进行加密处理,既能实现多云存储数据的可恢复性验证又能保证云存储数据的安全性。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种云存储数据可恢复性验证方法及系统。
背景技术
近些年来,随着云存储技术的迅猛发展,越来越多的人或者企业选择使用云存储环境存放自己的资料,但是云存储给用户带来了极大的便利的同时也带来了很多问题,其中,最重要的问题就是数据安全问题和隐私问题。
为了确保云存储中数据的安全性,研究者提出了两种基本的方法,即数据的可持有性证明及数据的可恢复性证明,以允许用户验证数据的完整性和可用性。其中,数据的可持有性证明允许用户随时知道数据是否有效的保存在云存储平台中,而不用读取整个文件;数据的可恢复性证明是在数据的可持有性证明的基础上,让云存储商有能力向用户证明其存储的数据可以被完整的恢复。
另外,研究者们还提出了门限秘密共享概念,秘密共享是信息安全和数据保密的重要手段,它在重要信息和秘密数据的安全保存、传输以及合法利用中起着关键作用。
现有技术中已经存在将数据可恢复性证明从单个服务器扩展到多个服务器,但为了有效的保证数据的可恢复性,而将原始数据未加保护的全部存储到了云端,降低了数据的安全性,为此,现有技术中提出了一种可恢复性证明用于解决上述敌手模型的安全性问题,但仅局限于单个服务器存储。而且,单个云上存储无法确保数据的可用性和机密性,现有的多云存储采用秘密共享算法保证了云存储数据的可用性和机密性但减小了数据的安全性。
发明内容
本发明提供一种云存储数据可恢复性验证方法及系统,以解决现有技术中未能将门限秘密分享与云端多服务器存储有效结合以保障数据的机密性和可用性的问题。
第一方面,本发明提供一种云存储数据可恢复性验证方法,所述方法包括:
将原始数据文件S分割成t个秘密信息:
对所述t个秘密信息分别采用门限秘密信息分配方法生成t×n个信息份额其中,0≤i≤t-1,0≤u≤n-1;
对所述t×n个信息份额进行加密处理,生成对应的t×n个密文其中,0≤i≤t-1,0≤u≤n-1;
将所述t×n个密文通过秘密信道分别发送给云端n个服务器,所述n个服务器与所述t×n个密文中的n数目相同;
向云端n个服务器分别发送挑战信息其中,为随机选取的挑战密文的行索引,是为每一个挑战密文的行索引随机选取的挑战矩阵;
从云端n个服务器产生的响应信息中多次挑选任意k个响应信息,计算聚合秘密
将多次得到的聚合秘密进行比较,若所述多次得到的聚合秘密一致,则验证云端n个服务器中的数据是完整的。
其中,当验证云端n个服务器中的数据不完整时,所述方法还包括:
向云端n个服务器分别发送携带有密文传输量的请求信息;
对从云端n个服务器接收到的密文进行解密,得到对应n个解密后的信息份额
从所述n个解密后的信息份额中随机选取k个解密后的信息份额采用门限秘密还原方式计算还原后的秘密其中,0≤i≤t-1,0≤u≤n-1。
其中,所述方法还包括:生成文件密钥,所述文件密钥包括一个伪随机函数f的密钥kprf和随机矩阵βm;
所述伪随机函数f的密钥kprf由密钥生成算法生成;
所述随机矩阵根据随机矩阵生成,其中,当m=u时,其中,当i=(p-m)mod p或i=(j+m)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1。
其中,所述对所述t×n个信息份额进行加密处理,生成对应的t×n个密文其中,0≤i≤t-1,0≤u≤n-1,具体包括:
根据所述文件密钥中的伪随机函数f的密钥kprf和所述信息份额的行标i生成伪随机序列
根据所述伪随机序列和所述随机矩阵βu计算与所述t×n个信息份额对应的t×n个密文公式为:
其中,所述向云端n个服务器分别发送挑战信息其中,为随机选取的挑战密文的行索引,是为每一个挑战密文的行索引随机选取的挑战矩阵,具体包括:
从密文行索引i的集合[0,t-1]中随机选取含有l个行索引的子集,生成挑战密文行索引集合
为所述挑战密文行索引集合中的每一个密文行索引随机选取挑战矩阵其中,0≤c≤l-1,所述挑战矩阵根据随机矩阵生成,其中,当m=u时,其中,当i=(j+u)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1;
生成挑战信息其中,
将所述挑战信息分别发送给所述云端n个服务器。
其中,所述从云端n个服务器产生的响应信息中多次挑选任意k个响应信息,计算聚合秘密具体包括:
从所述从云端n个服务器产生的响应信息中多次挑选任意k个响应信息;
获取所述伪随机函数f的密钥kprf和所述随机矩阵βu;
根据所述伪随机函数f的密钥kprf、所述随机矩阵βu、所述k个响应信息以及所述挑战矩阵分别计算k个服务器的聚合份额公式为:
其中,为解密后的信息份额,0≤u≤n-1;
根据所述分别计算的k个服务器的聚合份额计算聚合秘密
第二方面,本发明提供了一种云存储数据可恢复性验证系统,所述系统包括:
密钥生成模块,用于生成文件密钥,所述文件密钥包括一个伪随机函数f的密钥kprf和随机矩阵βu;
文件划分模块,用于将原始数据文件S分割成t个秘密信息:
门限信息分配模块,用于对所述t个秘密信息分别采用门限秘密信息分配方法生成t×n个信息份额其中,0≤i≤t-1,0≤u≤n-1;
安全处理模块,用于根据所述文件密钥对所述t×n个信息份额进行加密处理,生成对应的t×n个密文其中,0≤i≤t-1,0≤u≤n-1;
文件上传模块,用于将所述t×n个密文通过秘密信道分别发送给云端n个服务器,所述n个服务器与所述t×n个密文中的n数目相同;
挑战模块,用于向云端n个服务器分别发送挑战信息其中,为随机选取的挑战密文的行索引,是为每一个挑战密文的行索引随机选取的挑战矩阵;
聚合模块,用于从云端n个服务器产生的响应信息中多次挑选任意k个响应信息,计算聚合秘密
验证模块,用于将多次得到的聚合秘密进行比较,若所述多次得到的聚合秘密一致,则验证云端n个服务器中的数据是完整的。
其中,所述系统还包括:数据恢复模块,用于当验证云端n个服务器中的数据不完整时,对云端n个服务器存储的密文进行恢复;
所述数据恢复模块具体包括:
请求信息发送单元,用于向云端n个服务器分别发送携带有密文传输量的请求信息;
份额计算单元,对从云端n个服务器接收到的密文进行解密,得到对应n个解密后的信息份额
秘密计算单元,用于从所述n个解密后的信息份额中随机选取k个解密后的信息份额采用门限秘密还原方式计算还原后的秘密其中,0≤i≤t-1,0≤u≤n-1。
其中,所述安全处理模块,具体包括:
伪随机序列生成单元,用于根据所述文件密钥中的伪随机函数f的密钥kprf和所述信息份额的行标i生成伪随机序列
密文生成单元,用于根据所述伪随机序列和所述随机矩阵βu计算与所述t×n个信息份额对应的t×n个密文公式为:
其中,所述聚合模块,具体包括:
响应信息获取单元,用于从所述从云端n个服务器产生的响应信息中多次挑选任意k个响应信息;
密钥获取单元,用于获取所述伪随机函数f的密钥kprf和所述随机矩阵βu;
份额聚合单元,用于根据所述伪随机函数f的密钥kprf、所述随机矩阵βu、所述k个响应信息以及所述挑战矩阵分别计算k个服务器的聚合份额公式为:
其中,为解密后的挑战密文,0≤u≤n-1;
秘密聚合单元,用于根据所述分别计算的k个服务器的聚合份额计算聚合秘密
本发明提供的一种云存储数据可恢复性验证方法及系统,通过将门限秘密分享与云端多服务器存储有效结合,进行云存储数据可恢复性证明,并在将经门限秘密信息分配方法生成的信息份额分别发送给云端多个服务器之前,对信息份额进行加密处理,保障了数据的机密性和可用性,不仅可以对多服务器存储数据进行可恢复性验证,还将原始数据经过加密保护后存储到云端服务器,保证了数据的安全性。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种云存储数据可恢复性验证方法的流程图;
图2为本发明一实施例中加密后的信息份额存储到云端n个服务器的文件块示意图;
图3为本发明一实施例提供的当(k=3,n=4,p=5)时门限秘密分享的示意图;
图4为本发明一实施例中进行可恢复性验证时响应信息的计算方法原理图;
图5为本发明一实施例提供的一种云存储数据可恢复性验证系统的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
如图1所示,本公开实施例提供了一种云存储数据可恢复性验证方法,该方法包括如下步骤:
S1、将原始数据文件S分割成t个秘密信息:
其中,分割的秘密信息可以根据用户的需求设为任意大小。
S2、对所述t个秘密信息分别采用门限秘密信息分配方法生成t×n个信息份额其中,0≤i≤t-1,0≤u≤n-1;
其中,以一个文件块为例,对文件块采用门限秘密信息分配方法,生成n个信息份额,那么对t个文件块分别采用门限秘密信息分配方法就得到t×n个信息份额。
S3、对所述t×n个信息份额进行加密处理,生成对应的t×n个密文其中,0≤i≤t-1,0≤u≤n-1;
S4、将所述t×n个密文通过秘密信道分别发送给云端n个服务器,所述n个服务器与所述t×n个密文中的n数目相同;
图2示出了云端n个服务器中存储加密后的信息份额的文件块示意图。举例说明,若将原始数据文件S分割成100个秘密信息,再对每个秘密信息分别采用门限秘密信息分配方法,生成5个信息份额,则100个秘密信息一共生成100×5个信息份额,将加密处理生成100×5个密文分别发送给云端的5个服务器中,既云端每个服务器中都由存储原始数据文件所分割成的100个加密后的信息份额。
S5、向云端n个服务器分别发送挑战信息其中,为随机选取的挑战密文的行索引,是为每一个挑战密文的行索引随机选取的挑战矩阵;
S6、从云端n个服务器产生的响应信息中多次挑选任意k个响应信息,计算聚合秘密
S7、将多次得到的聚合秘密进行比较,若所述多次得到的聚合秘密一致,则验证云端n个服务器中的数据是完整的。
举例说明,将加密处理生成100×5个密文分别发送给云端的5个服务器中,若k=3,I={1,5,9},即随机选取第1行、第5行和第9行的行索引为挑战密文的行索引为每一个挑战密文的行索引随机选取挑战矩阵生成挑战信息将生成的挑战信息发送给云端5个服务器,从接收的5个服务器产生的响应信息中任意选取3个服务器产生的响应信息,根据3个服务器产生的响应信息分别对100个秘密信息中的第1、第5以及第9个秘密信息计算得到聚合份额从而用户可以将3个服务器的聚合份额通过秘密还原的方式还原出聚合秘密通过比较多次得到的聚合秘密是否一致,对云端多个服务器中的数据的完整性进行验证。应说明的是,此处为方便举例,仅选取3个行索引进行挑战。在实际应用中,应该根据挑战成功率的要求,选择合适的挑战集合的数目。
本实施例提供的一种云存储数据可恢复性验证方法,通过将门限秘密分享与云端多服务器存储有效结合,进行云存储数据可恢复性证明,并在将经门限秘密信息分配方法生成的信息份额分别发送给云端多个服务器之前,对信息份额进行加密处理,既实现了对多云存储数据的可恢复性验证又保证了云存储数据的安全性。
在本实施例中,所述方法还包括:生成文件密钥,所述文件密钥包括一个伪随机函数f的密钥kprf和随机矩阵βm;
所述伪随机函数f的密钥kprf由密钥生成算法生成;
所述随机矩阵根据随机矩阵生成,其中,当m=u时,其中,当i=(p-m)mod p或i=(j+m)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1。
在本实施例中,步骤S2具体包括图中未示出的如下细分步骤:
A1、将所述文件块分割成p-1份秘密信息:s0,s1,s2,…,sp-2,并根据所述秘密信息生成秘密信息向量其中,p为大于或等于n+1的素数;
其中,将所述文件块分割成p-1份秘密信息的优选分割方式为等长均分。
A2、生成(p-1)×(k-1)个只包含0和1的随机信息串rl,j,其长度与分割后的每一份长度相同,并根据生成的随机信息串rl,j生成随机信息串向量其中,0≤l≤p-2,0≤j≤k-2,k≤n;
A3、生成系数矩阵αu,所述系数矩阵根据随机矩阵生成,当m=u时,其中,当i=(j+m)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1;其中,在整数环上的矩阵乘法构成一个交换群,其中IP-1为单位元。
A4、根据所述秘密信息向量随机信息串向量和系数矩阵αμ计算得到信息份额其中,0≤u≤n-1,公式为:
其中,
令可得:
可看出每一个信息份额表示一个(p-1)×1的列向量。
举例说明,当k=3,n=4,p=5时,门限秘密分享的示意图如图3所示:当n=4时,共生成4个信息份额当p=5时,图中共有p-1中不同斜率的直线,每种不同斜率的直线所过节点的异或和既是对应的份额。
还需说明的是,本实施例中,乘号“×”在向量之间的操作为内积运算,其操作定义
为:令(G,)是像({0,1}d,)这样的交换群,{0,1}d表示长度为d bit的二进制串(包含0和
1的串),0是其单位元。令b∈G,a∈{0,1},定义:a×b=b×a=b(if a=1)|0(if a=0),再
令是G中的向量,是{0,1}中的向量,定义群
上的向量与GF(2)上向量的内积:由定义
可见,整个内积的计算只用异或操作即可完成,效率很高;乘号“×”在矩阵与向量之间的操
作为矩阵乘法,其操作可以视为多个向量与向量之间作内积的和,从而可转化为如内积运
算。
在本实施例中,当验证云端n个服务器中的数据不完整时,所述方法还包括图中未示出的如下步骤:
B1、向云端n个服务器分别发送携带有密文传输量的请求信息;
B2、对从云端n个服务器接收到的密文进行解密,得到对应n个解密后的信息份额
其中,解密方法如下:
获取伪随机函数f的密钥kprf和随机矩阵βu,按照如下公式计算解密后的信息份额
B3、从所述n个解密后的信息份额中随机选取k个解密后的信息份额采用门限秘密还原方式计算还原后的秘密其中,0≤i≤t-1,0≤u≤n-1。
其中,具体根据如下公式计算还原后的秘密
其中,至为包含0和1的随机信息串向量。
其中,Vk×k是根据上述k个份额从Hn×k中取出的对应k行的方阵,
且已知它可逆应说明的是,所述根据从所述门限秘密分配方法得到的
如下公式中得出:
其中,
应说明的是,所述具体根据门限秘密共享方法中的如下公
式得到:
其中,0≤u≤n-1,0≤i≤t-1。
在本实施例中,当验证数据完整性有误时,用户请求服务器传回一定量的密文还原出原始文件S,从而实现可恢复性,保证了云端数据的安全性。
在本实施例中,步骤S3具体包括图中未示出的如下细分步骤:
C1、根据所述文件密钥中的伪随机函数f的密钥kprf和所述信息份额的行标i生成伪随机序列
具体的,其中,0≤i≤t-1,即共生成伪随机序列的t个值。用户可根据需求取每一个伪随机序列值的长度为N位,即:
其中,0≤k≤N-1,ak的值仅为0或1。
C2、根据所述伪随机序列和所述随机矩阵βu计算与所述t×n个信息份额对应的t×n个密文公式为:
其中,密文为列向量。
在本实施例中,步骤S5具体包括图中未示出的如下细分步骤:
D1、从密文行索引i的集合[0,t-1]中随机选取含有l个行索引的子集,生成挑战密文行索引集合
D2、为所述挑战密文行索引集合中的每一个密文行索引随机选取挑战矩阵其中,0≤c≤l-1,所述挑战矩阵根据随机矩阵生成,其中,当m=u时,其中,当i=(j+u)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1;
D3、生成挑战信息其中,
D4、将所述挑战信息发送给所述云端n个服务器。
其中,所述云端n个服务器中每一服务器通过聚合产生响应信息;
举例说明,当I={1,5,9},p=5,即q1=1,q2=5,q3=9时,
选取如图4所示,云端n个服务器中每一服务器根据接收
到的所述挑战信息生成响应信息为:其中,
乘号“×”在向量与0、1字符串之间的操作与上述乘号操作相同。
在本实施例中,步骤S6具体包括图中未示出的如下细分步骤:
E1、从所述从云端n个服务器产生的响应信息中多次挑选任意k个响应信息;
E2、获取所述伪随机函数f的密钥kprf和所述随机矩阵βu;
E3、根据所述伪随机函数f的密钥kprf、所述随机矩阵βu、所述k个响应信息以及所述挑战矩阵分别计算k个服务器的聚合份额公式为:
其中,为解密后的挑战密文,0≤u≤n-1;
其中,是为表达方便设置的中间变量,未真正求解。
E4、根据所述分别计算的k个服务器的聚合份额计算聚合秘密
其中,聚合份额的计算过程具体为:
通过上述公式和
得出如下计算公式:
其中,
选k个可以得到如下公式:
其中,Vk×k是根据k个已知聚合份额的条件从Hn×k中取k行的方阵,且可逆。
其中,已知Vk×k可逆,则可以还原得到聚合秘密
举例说明,若k=3,n=4,p=5,I={1,5,9},随机选取挑战矩阵为讲解方便起
见,令则上述三式满足如下方程:
其
中0≤u≤n-1。从而计算得到还原后的聚合份额
根据门限秘密分配原则
可知,每k=3个影子可以计算得到聚合秘密令j=0,1,2,则:
其中已经证明Vk×k为可逆矩阵,可以通过上式计算得到还
原后的聚合秘密
其中,当多次得到的聚合秘密不一致时,则验证云端服务器中的数据有误,用户可以要求云端服务器传输一定数量的密文从而计算出聚合份额其中0≤i≤t-1,0≤u≤n-1,然后通过门限秘密还原得到聚合秘密,再按原始数据文件分割时的顺序组合来恢复原始数据文件。
本发明提供了一种云存储数据可恢复性验证方法,通过将门限秘密分享与云端多服务器存储有效结合,进行云存储数据可恢复性证明,并在将经门限秘密信息分配方法生成的信息份额分别发送给云端多个服务器之前,对信息份额进行加密处理,具有以下的有益效果:
1、将一种计算负荷小、效率高的门限秘密分享与远程数据存储的可恢复性验证结合起来;
2、可应用于云端多服务器数据存储,而且,在将原始数据存储到服务器之前,对其进行加密处理,提高了数据的机密性;
3、数据可恢复性验证采用“挑战-应答”模式,具有高度的安全性,可以有效防止敌手的预测和破环行为。
如图5所示,本公开另一实施例提供了一种云存储数据可恢复性验证系统,所述系统包括:密钥生成模块51、文件划分模块52、门限信息分配模块53、安全处理模块54、文件上传模块55、挑战模块56、聚合模块57以及验证模块58;
所述文件密钥生成模块51,用于生成文件密钥,所述文件密钥包括一个伪随机函数f的密钥kprf和随机矩阵βu;
所述文件划分模块52,用于将原始数据文件S分割成t个秘密信息:
所述门限信息分配模块53,用于对所述t个秘密信息分别采用门限秘密信息分配方法生成t×n个信息份额其中,0≤i≤t-1,0≤u≤n-1;
所述安全处理模块54,用于根据所述文件密钥对所述t×n个信息份额进行加密处理,生成对应的t×n个密文其中,0≤i≤t-1,0≤u≤n-1;
所述文件上传模块55,用于将所述t×n个密文通过秘密信道分别发送给云端n个服务器,所述n个服务器与所述t×n个密文中的n数目相同;
所述挑战模块56,用于向云端n个服务器分别发送挑战信息其中,为随机选取的挑战密文的行索引,是为每一个挑战密文的行索引随机选取的挑战矩阵;
所述聚合模块57,用于从云端n个服务器产生的响应信息中多次挑选任意k个响应信息,计算聚合秘密
所述验证模块58,用于将多次得到的聚合秘密进行比较,若所述多次得到的聚合秘密一致,则验证云端n个服务器中的数据是完整的。
其中,所述随机矩阵根据随机矩阵生成,其中,当m=u时,其中,当i=(p-m)mod p或i=(j+m)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1。
在本实施例中,所述系统还包括图中未示出的:
数据恢复模块,用于当验证云端n个服务器中的数据不完整时,对云端n个服务器存储的密文进行恢复;
所述数据恢复模块具体包括:请求信息发送单元、份额计算单元以及秘密计算单元;
所述请求信息发送单元,用于向云端n个服务器分别发送携带有密文传输量的请求信息;
所述份额计算单元,对从云端n个服务器接收到的密文进行解密,得到对应n个解密后的信息份额
所述秘密计算单元,用于从所述n个解密后的信息份额中随机选取k个解密后的信息份额采用门限秘密还原方式计算还原后的秘密其中,0≤i≤t-1,0≤u≤n-1。
其中,具体根据如下公式计算还原后的秘密
其中,至为包含0和1的随机信息串向量;
其中,Vk×k是根据k个已知聚合份额的条件从Hn×k中取k行的方阵,且可逆。
在本实施例中,所述门限信息分配模块53,具体包括图中未示出的:秘密信息向量生成单元、随机信息串向量生成单元、系数矩阵生成单元以及信息份额计算单元;
所述秘密信息向量生成单元,用于将将所述文件块分割成p-1份秘密信息:s0,s1,s2,…,sp-2,并根据所述秘密信息生成秘密信息向量其中,p为大于或等于n+1的素数;
所述随机信息串向量生成单元,用于生成(p-1)×(k-1)个只包含0和1的随机信息串ri,j,其长度与分割后的每一份长度相同,并根据生成的随机信息串ri,j生成随机信息串向量其中,0≤i≤p-2,0≤j≤k-2,k≤n;
所述系数矩阵生成单元,用于生成系数矩阵αu,所述系数矩阵根据随机
矩阵当m=u时,其中,当i=(j+m)mod p时ei,j取值为1,否
则取值为0,其中,0≤m≤p-1,0≤j≤p-1;
所述信息份额计算单元,用于根据所述秘密信息向量随机信息串向量和系数矩阵αμ计算得到信息份额其中,0≤u≤n-1,公式为:
其中,
令可得:
可看出每一个信息份额表示一个(p-1)×1的列向量。
在本实施例中,所述安全处理模块54,具体包括图中未示出的:伪随机序列生成单元和密文生成单元;
所述伪随机序列生成单元,用于根据所述文件密钥中的伪随机函数f的密钥kprf和所述信息份额的行标i生成伪随机序列
所述密文生成单元,用于根据所述伪随机序列和所述随机矩阵βu计算与所述t×n个信息份额对应的t×n个密文公式为:
在本实施例中,所述挑战模块56,具体包括图中未示出的:第一选取单元、第二选取单元、挑战信息生成单元以及挑战发起单元;
所述第一选取单元,用于从密文行索引i的集合[0,t-1]中随机选取含有l个行索引的子集,生成挑战密文行索引集合
所述第二选取单元,用于为所述挑战密文行索引集合中的每一个密文行索引随机选取挑战矩阵其中,0≤c≤l-1,所述挑战矩阵根据随机矩阵生成,其中,当m=u时,其中,当i=(j+u)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1;
所述挑战信息生成单元,用于生成挑战信息其中,
所述挑战发起单元,用于将所述挑战信息分别发送给所述云端n个服务器。
在本实施例中,所述聚合模块57,具体包括图中未示出的:
响应信息获取单元、密钥获取单元、信息份额还原单元以及秘密信息还原单元;
所述响应信息获取单元,用于从所述从云端n个服务器产生的响应信息
中多次挑选任意k个响应信息;
所述密钥获取单元,用于获取所述伪随机函数f的密钥kprf和所述随机矩阵βu;
所述份额聚合单元,用于根据所述伪随机函数f的密钥kprf、所述随机矩阵βu、所述k个响应信息以及所述挑战矩阵分别计算k个服务器的聚合份额公式为:
其中,为解密后的挑战密文,0≤u≤n-1;
所述秘密聚合单元,用于根据所述分别计算的k个服务器的聚合份额计算聚合秘密
需要说明的是,若本实施例中采取随机循环移位的方法突出挑战,提高了数据可恢复性验证的安全性,若是将挑战矩阵取为单位矩阵,将会减少服务器生成响应的计算量、所需比特值以及用户验证计算量,但是这种情况下,文件遭到敌手破坏却能正确发出响应而不被用户发现的概率为1/l,因此,这种方法安全性不高。
需要说明的是,这种对加密秘密信息进行随机抽样以验证文件完整性的成功概率非常高。例如,用户要求发现数据被损坏的概率达到99%以上,则只需要从10000个文件块中抽取460个块即可达到验证目的。所以,这种随机抽样的挑战方法非常高效。
本发明提供了一种云存储数据可恢复性验证系统,通过将门限秘密分享与云端多服务器存储有效结合,进行云存储数据可恢复性证明,并在将经门限秘密信息分配方法生成的信息份额分别发送给云端多个服务器之前,对信息份额进行加密处理,具有以下的有益效果:
1、将一种计算负荷小、效率高的门限秘密分享与远程数据存储的可恢复性验证结合起来;
2、可应用于云端多服务器数据存储,而且,在将原始数据存储到服务器之前,对其进行加密处理,提高了数据的机密性;
3、数据可恢复性验证采用“挑战-应答”模式,具有高度的安全性,可以有效防止敌手的预测和破环行为。
本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (10)
1.一种云存储数据可恢复性验证方法,其特征在于,所述方法包括:
将原始数据文件S分割成t个秘密信息:
对所述t个秘密信息分别采用门限秘密信息分配方法生成t×n个信息份额其中,0≤i≤t-1,0≤u≤n-1;
对所述t×n个信息份额进行加密处理,生成对应的t×n个密文其中,0≤i≤t-1,0≤u≤n-1;
将所述t×n个密文通过秘密信道分别发送给云端n个服务器,所述n个服务器与所述t×n个密文中的n数目相同;
向云端n个服务器分别发送挑战信息其中,为随机选取的挑战密文的行索引,是为每一个挑战密文的行索引随机选取的挑战矩阵;
从云端n个服务器产生的响应信息中多次挑选任意k个响应信息,计算聚合秘密
将多次得到的聚合秘密进行比较,若所述多次得到的聚合秘密一致,则验证云端n个服务器中的数据是完整的。
2.根据权利要求1所述的方法,其特征在于,当验证云端n个服务器中的数据不完整时,所述方法还包括:
向云端n个服务器分别发送携带有密文传输量的请求信息;
对从云端n个服务器接收到的密文进行解密,得到对应n个解密后的信息份额
从所述n个解密后的信息份额中随机选取k个解密后的信息份额采用门限秘密还原方式计算还原后的秘密其中,0≤i≤t-1,0≤u≤n-1。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:生成文件密钥,所述文件密钥包括一个伪随机函数f的密钥kprf和随机矩阵βu;
所述伪随机函数f的密钥kprf由密钥生成算法生成;
所述随机矩阵根据随机矩阵生成,其中,当m=u时,其中,当i=(p-m)mod p或i=(j+m)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1。
4.根据权利要求3所述的方法,其特征在于,所述对所述t×n个信息份额进行加密处理,生成对应的t×n个密文其中,0≤i≤t-1,0≤u≤n-1,具体包括:
根据所述文件密钥中的伪随机函数f的密钥kprf和所述信息份额的行标i生成伪随机序列
根据所述伪随机序列和所述随机矩阵βu计算与所述t×n个信息份额对应的t×n个密文公式为:
5.根据权利要求3所述的方法,其特征在于,所述向云端n个服务器分别发送挑战信息其中,为随机选取的挑战密文的行索引,是为每一个挑战密文的行索引随机选取的挑战矩阵,具体包括:
从密文行索引i的集合[0,t-1]中随机选取含有l个行索引的子集,生成挑战密文行索引集合
为所述挑战密文行索引集合中的每一个密文行索引随机选取挑战矩阵其中,0≤c≤l-1,所述挑战矩阵根据随机矩阵生成,其中,当m=u时,其中,当i=(j+u)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1;
生成挑战信息其中,
将所述挑战信息分别发送给所述云端n个服务器。
6.根据权利要求3所述的方法,其特征在于,所述从云端n个服务器产生的响应信息中多次挑选任意k个响应信息,计算聚合秘密具体包括:
从所述从云端n个服务器产生的响应信息中多次挑选任意k个响应信息;
获取所述伪随机函数f的密钥kprf和所述随机矩阵βu;
根据所述伪随机函数f的密钥kprf、所述随机矩阵βu、所述k个响应信息以及所述挑战矩阵分别计算k个服务器的聚合份额公式为:
其中,为解密后的信息份额,0≤u≤n-1;
根据所述分别计算的k个服务器的聚合份额计算聚合秘密
7.一种云存储数据可恢复性验证系统,其特征在于,所述系统包括:
密钥生成模块,用于生成文件密钥,所述文件密钥包括一个伪随机函数f的密钥kprf和随机矩阵βu;
文件划分模块,用于将原始数据文件S分割成t个秘密信息:
门限信息分配模块,用于对所述t个秘密信息分别采用门限秘密信息分配方法生成t×n个信息份额其中,0≤i≤t-1,0≤u≤n-1;
安全处理模块,用于根据所述文件密钥对所述t×n个信息份额进行加密处理,生成对应的t×n个密文其中,0≤i≤t-1,0≤u≤n-1;
文件上传模块,用于将所述t×n个密文通过秘密信道分别发送给云端n个服务器,所述n个服务器与所述t×n个密文中的n数目相同;
挑战模块,用于向云端n个服务器分别发送挑战信息其中,为随机选取的挑战密文的行索引,是为每一个挑战密文的行索引随机选取的挑战矩阵;
聚合模块,用于从云端n个服务器产生的响应信息中多次挑选任意k个响应信息,计算聚合秘密
验证模块,用于将多次得到的聚合秘密进行比较,若所述多次得到的聚合秘密一致,则验证云端n个服务器中的数据是完整的。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:数据恢复模块,用于当验证云端n个服务器中的数据不完整时,对云端n个服务器存储的密文进行恢复;
所述数据恢复模块具体包括:
请求信息发送单元,用于向云端n个服务器分别发送携带有密文传输量的请求信息;
份额计算单元,对从云端n个服务器接收到的密文进行解密,得到对应n个解密后的信息份额
秘密计算单元,用于从所述n个解密后的信息份额中随机选取k个解密后的信息份额采用门限秘密还原方式计算还原后的秘密其中,0≤i≤t-1,0≤u≤n-1。
9.根据权利要求7所述的系统,其特征在于,所述安全处理模块,具体包括:
伪随机序列生成单元,用于根据所述文件密钥中的伪随机函数f的密钥kprf和所述信息份额的行标i生成伪随机序列
密文生成单元,用于根据所述伪随机序列和所述随机矩阵βu计算与所述t×n个信息份额对应的t×n个密文公式为:
10.根据权利要求7-9任一项所述的系统,其特征在于,所述聚合模块,具体包括:
响应信息获取单元,用于从所述从云端n个服务器产生的响应信息中多次挑选任意k个响应信息;
密钥获取单元,用于获取所述伪随机函数f的密钥kprf和所述随机矩阵βu;
份额聚合单元,用于根据所述伪随机函数f的密钥kprf、所述随机矩阵βu、所述k个响应信息以及所述挑战矩阵分别计算k个服务器的聚合份额公式为:
其中,为解密后的信息份额,0≤u≤n-1;
秘密聚合单元,用于根据所述分别计算的k个服务器的聚合份额计算聚合秘密
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511021286.2A CN105516340B (zh) | 2015-12-30 | 2015-12-30 | 一种云存储数据可恢复性验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511021286.2A CN105516340B (zh) | 2015-12-30 | 2015-12-30 | 一种云存储数据可恢复性验证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105516340A CN105516340A (zh) | 2016-04-20 |
CN105516340B true CN105516340B (zh) | 2018-09-28 |
Family
ID=55723970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511021286.2A Expired - Fee Related CN105516340B (zh) | 2015-12-30 | 2015-12-30 | 一种云存储数据可恢复性验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105516340B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209850B (zh) * | 2016-07-13 | 2017-03-22 | 广西电网有限责任公司 | 基于可信计算的大数据信息网络自适应安全防护系统 |
CN106127081B (zh) * | 2016-07-18 | 2019-04-16 | 贵州大学 | 公开可验证的数据容错安全存储方法 |
CN106453285B (zh) * | 2016-09-27 | 2019-07-23 | 中国农业大学 | 一种秘密数据共享的验证方法及装置 |
CN107203723B (zh) * | 2017-04-06 | 2020-06-19 | 华南农业大学 | 基于散列表方法的多公共云上的文件存储及其检索方法 |
CN109977694A (zh) * | 2019-03-11 | 2019-07-05 | 暨南大学 | 一种基于协作深度学习的数据共享方法 |
CN110058820B (zh) * | 2019-04-23 | 2022-05-17 | 武汉汇迪森信息技术有限公司 | 基于固态盘阵列的数据安全写入、删除、读取方法及装置 |
CN110430042B (zh) * | 2019-06-28 | 2022-11-22 | 中国人民解放军战略支援部队信息工程大学 | 一种在异构冗余系统中存储秘钥的装置及方法 |
CN110601824B (zh) * | 2019-08-26 | 2023-06-13 | 北京思源理想控股集团有限公司 | 信息的传输方法及装置 |
CN112261020B (zh) * | 2020-10-15 | 2022-05-17 | 中国电子科技集团公司第五十四研究所 | 一种分布式远程外包数据审计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873212A (zh) * | 2010-06-09 | 2010-10-27 | 中国农业大学 | 门限秘密信息分配、还原装置及方法 |
CN101882992A (zh) * | 2010-06-21 | 2010-11-10 | 中国农业大学 | 门限秘密信息分配、还原方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4692297B2 (ja) * | 2006-01-23 | 2011-06-01 | ブラザー工業株式会社 | 情報配信システム、情報配信方法、ノード装置、ノード処理プログラム |
-
2015
- 2015-12-30 CN CN201511021286.2A patent/CN105516340B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873212A (zh) * | 2010-06-09 | 2010-10-27 | 中国农业大学 | 门限秘密信息分配、还原装置及方法 |
CN101882992A (zh) * | 2010-06-21 | 2010-11-10 | 中国农业大学 | 门限秘密信息分配、还原方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105516340A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105516340B (zh) | 一种云存储数据可恢复性验证方法及系统 | |
CN105939191B (zh) | 一种云存储中密文数据的客户端安全去重方法 | |
EP3704830B1 (en) | Multi-party threshold authenticated encryption | |
CN109150968B (zh) | 一种基于秘密共享的区块链分布式存储方法 | |
EP3375129B1 (en) | Method for re-keying an encrypted data file | |
CN109039639B (zh) | 基于分层确定性密码学技术的投标方法 | |
CN104038341B (zh) | 一种基于身份的跨系统代理重加密方法 | |
CN104320393B (zh) | 重加密可控的高效属性基代理重加密方法 | |
CN105406966B (zh) | 一种门限秘密信息分配、还原、完整性验证方法及装置 | |
CN104967693B (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
Nagaraj et al. | Image encryption using elliptic curve cryptograhy and matrix | |
CN104396182A (zh) | 加密数据的方法 | |
CN104158880A (zh) | 一种用户端云数据共享解决方法 | |
CN113726517A (zh) | 一种信息共享方法及装置 | |
CN110737907B (zh) | 基于联盟链的抗量子计算云存储方法及系统 | |
Mok et al. | Implementing the honey encryption for securing public cloud data storage | |
CN105653983B (zh) | 基于云存储的信息分配、还原、完整性验证方法及装置 | |
Dawson et al. | Ensuring Cloud Data Security Using the Soldier Ant Algorithm | |
CN114138823A (zh) | 一种加密文件检索方法及系统 | |
CN107317669B (zh) | 基于二元截断多项式环的无噪音全同态公钥加密方法 | |
CN117235342A (zh) | 基于同态哈希函数和虚拟索引的动态云审计方法 | |
CN116684061A (zh) | 一种基于密钥扩展的改进型aes算法的隐私图片加密方法和装置 | |
CN109412788B (zh) | 基于公共密钥池的抗量子计算代理云存储安全控制方法和系统 | |
CN108632257B (zh) | 支持分层搜索的加密健康记录的获取方法和系统 | |
CN105099693B (zh) | 一种传输方法及传输装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180928 |
|
CF01 | Termination of patent right due to non-payment of annual fee |