一种云存储数据可恢复性验证方法及系统的制作方法_2

文档序号:9754798阅读:来源:国知局
性验证方法的流程图;
[0066] 图2为本发明一实施例中加密后的信息份额存储到云端η个服务器的文件块示意 图;
[0067] 图3为本发明一实施例提供的当(k = 3,n = 4,p = 5)时门限秘密分享的示意图; [0068]图4为本发明一实施例中进行可恢复性验证时响应信息的计算方法原理图;
[0069]图5为本发明一实施例提供的一种云存储数据可恢复性验证系统的结构示意图。
【具体实施方式】
[0070] 下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本公开保护的范围。
[0071] 如图1所示,本公开实施例提供了一种云存储数据可恢复性验证方法,该方法包括 如下步骤:
[0072] S1、将原始数据文件S分割成t个秘密信息:《名,乓,…,心;
[0073] 其中,分割的秘密信息可以根据用户的需求设为任意大小。
[0074] S2、对所述t个秘密信息分别采用门限秘密信息分配方法生成tXn个信息份额 九,,其中,0<i<t-l,0<u<n-l;
[0075] 其中,以一个文件块爲为例,对文件块4采用门限秘密信息分配方法,生成η个信息 份额,那么对t个文件块分别采用门限秘密信息分配方法就得到tXn个信息份额。
[0076] S3、对所述tXn个信息份额)进行加密处理,生成对应的tXn个密文斤",其中,0 < i < t-1 ?0 < u < n-1 ;
[0077] S4、将所述tXn个密文式,"通过秘密信道分别发送给云端η个服务器,所述η个服务 器与所述t X η个密文6,,中的η数目相同;
[0078] 图2示出了云端η个服务器中存储加密后的信息份额的文件块示意图。举例说明, 若将原始数据文件S分割成100个秘密信息,再对每个秘密信息分别采用门限秘密信息分配 方法,生成5个信息份额,则100个秘密信息一共生成100 X 5个信息份额,将加密处理生成 100X5个密文分别发送给云端的5个服务器中,既云端每个服务器中都由存储原始数据文 件所分割成的100个加密后的信息份额。
[0079] S5、向云端η个服务器分别发送挑战信息0 = 其中,\为随机选取的挑 战密文的行索引,\是为每一个挑战密文的行索引t随机选取的挑战矩阵;
[0080] S6、从云端η个服务器产生的响应信
4中多次挑选任意k个响应 信息,计算聚合秘密矣;
[0081] S7、将多次得到的聚合秘密.?9进行比较,若所述多次得到的聚合秘密&一致,则验 证云端η个服务器中的数据是完整的。
[0082] 举例说明,将加密处理生成100X5个密文分别发送给云端的5个服务器中,若k = 3,1 = {1,5,9},即随机选取第1行、第5行和第9行的行索引为挑战密文的行索引为每一 个挑战密文的行索引I随机选取挑战矩阵\,生成挑战信息= \ ,将生成的挑战 信息发送给云端5个服务器,从接收的5个服务器产生的响应信息中任意选取3个服务器产 生的响应信息,根据3个服务器产生的响应信息分别对100个秘密信息中的第1、第5以及第9 个秘密信息计算得到聚合份额爲,从而用户可以将3个服务器的聚合份额通过秘密还原的 方式还原出聚合秘密&。通过比较多次得到的聚合秘密是否一致,对云端多个服务器中的 数据的完整性进行验证。应说明的是,此处为方便举例,仅选取3个行索引进行挑战。在实际 应用中,应该根据挑战成功率的要求,选择合适的挑战集合的数目。
[0083]本实施例提供的一种云存储数据可恢复性验证方法,通过将门限秘密分享与云端 多服务器存储有效结合,进行云存储数据可恢复性证明,并在将经门限秘密信息分配方法 生成的信息份额分别发送给云端多个服务器之前,对信息份额进行加密处理,既实现了对 多云存储数据的可恢复性验证又保证了云存储数据的安全性。
[0084] 在本实施例中,所述方法还包括:生成文件密钥,所述文件密钥包括一个伪随机函 数f的密钥kprf和随机矩阵妒;
[0085] 所述伪随机函数f的密钥kprf由密钥生成算法生成;
[0086] 所述随机矩阵,艮据随机矩阵=£二生成,其中,当m = u时, 其中,.,当i = (Pi〇mod p或i = (j+m)mod p时ei,j取值为 1,否则取值为0, $中,0 < m < p_l,0 < j < p_l。
[0087] 在本实施例中,步骤S2具体包括图中未示出的如下细分步骤:
[0088] A1、将所述文件块&分割成p-1份秘密信息:s〇, si,S2,…,sp-2,并根据所述秘密信 息生成秘密信息向量写=^,^2,^_ 2/,其中,?为大于或等于11+1的素数;
[0089] 其中,将所述文件块与.分割成p-1份秘密信息的优选分割方式为等长均分。
[0090] A2、生成(p-l)X(k-l)个只包含0和1的随机信息串其长度与*|分割后的每一 份长度相同,并根据生成的随机信息串rij生成随机信息串向量;^. ,·?: ,. ?ζφ,0< 1 <p-2,0< j <k-2,k<n;
[0091 ] A3、生成系数矩阵α11,所述系数矩阵:aa =根据随机矩阵生成,当m = u时, 句-丨=左;:―4 =(€v)(/,_nx(i,_u,其中,当i = ( j+m)mod p时ei,j取值为1,否则取值为0,其中,0 < p-1,0 < p-1;其中,在整数环上的矩阵乘法构成一个交换群,其 中Ip-i为单位元。
[0092] A4、根据所述秘密信息向量焉、随机信息串向量'和系数矩阵#计算得到信息份 额艮"二[少⑷,乃'",,…,凡~-2 ],其中,〇<u<n-l,公式为:
[0093]
[0094]
[0095]
[0096]
[0097] 可看出每一个信息份额天,"表示一个(p-1) XI的列向量。
[0098] 举例说明,当k = 3,n = 4,p = 5时,门限秘密分享的示意图如图3所示:当n = 4时,共 生成4个信息份额Λ。,,艿,2,瓦3,当p = 5时,图中共有p-1中不同斜率的直线,每种不同斜 率的直线所过节点的异或和既是对应的份额。
[0099]还需说明的是,本实施例中,乘号"X"在向量之间的操作为内积运算,其操作定义 为:令(6,?)是像({0,1}<1,?)这样的交换群,{0,1}(1表示长度为(113^的二进制串(包含0和 1的串),0是其单位元。令13£6,&£{0,1},定义 :&\匕=匕\& = 13(11;'&=1)|0(11;'& = 0),再 令·Τ'= (-Τ(),,…心.4)是G中的向量,/^ .= (4 , A ,… Γ.Κ.)是{0,1}中的向量,定义群 上的向量与GF(2)上向量的内积:= = (?ixxQ)十(qxxj十…十(fXd)。由定义 可见,整个内积的计算只用异或操作即可完成,效率很高;乘号"X"在矩阵与向量之间的操 作为矩阵乘法,其操作可以视为多个向量与向量之间作内积的和,从而可转化为如内积运 算。
[0100]在本实施例中,当验证云端η个服务器中的数据不完整时,所述方法还包括图中未 示出的如下步骤:
[0101 ] B1、向云端η个服务器分别发送携带有密文4,/传输量的请求信息;
[0102] B2、对从云端η个服务器接收到的密文进行解密,得到对应η个解密后的信息份额 I
[0103] 其中,解密方法如下:
[0104] 获取伪随机函数f的密钥kprf和随机矩阵β11,按照如下公式计算解密后的信息份额 yhi? *
[0105]
[0106] B3、从所述η个解密后的信息份额Λ,,中随机选取k个解密后的信息份额 Λ。,。….?,采用门限秘密还原方式计算还原后的秘密晃:,其中,0 < i《卜1,〇 < u < n~l 〇
[0107] 其中,具体根据如下公式计算还原后的秘密:? :
[0108]
[0109] 其中
至弘为包含0和1的随机信息串向量。
[0110] 其中,Vkxk是根据上述k个份额. …, ,B WHnXk中取出的对应k行的方阵, 且已知它可逆应说明的是,所i
据从所述门限秘密分配方法得到的 如下公式中得出:
[0111]
[0112] 其中,
[0113] 应说明的是,所?具体根据门限秘密共享方法中的如下公 式得到:

[0114]
[0115]
[0116] 其中,0《u《n-l,0《i《t-l。
[0117] 在本实施例中,当验证数据完整性有误时,用户请求服务器传回一定量的密文还 原出原始文件S,从而实现可恢复性,保证了云端数据的安全性。
[0118] 在本实施例中,步骤S3具体包括图中未示出的如下细分步骤:
[0119] C1、根据所述文件密钥中的伪随机函数f的密钥kprf和所述信息份额无#的行标i生 成伪随机序列·ΛΡ, (0;
[0120] 具体的,乂,的=?,「〇1"「11___?,「什__,其中,〇<1^-1,即共生成伪随机序列的七个值。 用户可根据需求取每一个伪随机序列值的长度为Ν位,即: 其中,0 < k < N-1,ak的值仅为0或1。
[0121] C2、根据所述伪随机序列/^(〇和所述随机矩阵妒计算与所述tXn个信息份额民" 对应的tXn个密文4,",公式为:
[0122] ? .,. (〇 + .?··,,,χ 广。
[0123] 其中,密文%为列向量。
[0124] 在本实施例中,步骤S5具体包括图中未示出的如下细分步骤:
[0125] D1、从密文行索引i的集合[0,t-Ι ]中随机选取含有1个行索引的子集,生成挑战密 文行索引集合1 = {nL,···,&};
[0126] D2、为所述挑战密文行索引集合中的每一个密文行索引&随机 选取挑战矩阵\,其中,〇 < c < 1-1,所述挑战矩阵& 根据随机矩阵€二生成,其中, ^m = u0t. Ε"ρΛ = Emp_x j , E"'^ ^i = (j+u)mod pBtei, , 值为0,其中,〇<m<p-l,0< j《p-l;
[0127] D3、生成挑战信息?,其中,ε/;
[0128] D4、将所述挑战信息= ^发送给所述云端η个服务
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1