多地理位置存储的云端数据完整性验证方法

文档序号:7807438阅读:180来源:国知局
多地理位置存储的云端数据完整性验证方法
【专利摘要】本发明公开了一种多地理位置存储的云端数据完整性验证方法,主要解决现有技术验证效率低,且验证次数受限的问题。其实现步骤是:(1)用户加密原文件,并为其添加冗余码;(2)用户选择存储服务器并上传文件;(3)用户在存储服务器最近位置设置地标服务器,地标服务器对存储服务器进行挑战,存储服务器对挑战进行响应;(4)地标服务器验证存储服务器的响应,判断云端数据的完整性;(5)地标服务器根据挑战响应的时间,测量云存储数据的地理位置;(6)用户对存储服务器的测量位置做出判断。本发明能实现多地理位置存储的云端数据完整性验证,减少了验证过程中的计算和传输数据量,可用于云端存储数据的安全性和可靠性检测。
【专利说明】多地理位置存储的云端数据完整性验证方法

【技术领域】
[0001] 本发明属于信息安全【技术领域】,特别涉及多地理位置存储的云端数据完整性验证 方法,可用于云存储服务中,验证云存储服务商是否按协议要求在不同地理位置存储数据 及存储数据是否完整。

【背景技术】
[0002] 在当今时代,人们越来越多的使用和依赖云。无论在计算资源还是存储资源上,使 用云都能够使人们的工作更高效、方便。
[0003] 当用户将文件存储在云端时,是希望文件可以在云端完整的保存,从而保证用户 不需要在本地计算机存储文件的备份。而当用户需要使用文件时,能够方便地随时随地获 得其之前存储的文件。因此,用户往往希望云存储服务商能够为其完整的保存文件,并保证 文件的安全性。
[0004] 在某些情况下,为了确保文件的安全,用户会要求云存储服务商存储文件的多个 备份。然而即便如此,在有些情况下,知道文件被存储多份还是不够的。例如,如果多份文 件被存储在同一块硬盘上,而这块硬盘发生损坏;或者存储在同一个数据中心,而此数据中 心发生了大规模停电。这两种情况都会使用户无法获取其存储在云端的文件。因此,很多 情况下用户会要求云存储服务商在多个地理位置为其文件存储多个文件备份。将文件存储 在不同地理位置有多个优点:首先,当某个存储数据中心地区发生大规模停电或严重自然 灾害时,可以保证文件不丢失,仍然可以被用户获得;其次,在多个地理位置进行备份,当用 户请求数据时,可以根据请求的地理位置选择距离最近的文件备份,并将其发送给用户,从 而缩短用户获取文件的时间。
[0005] 在用户存储数据时,可能与存储服务商订立协议,存储服务商需要按照协议,将用 户数据进行多备份保存。而在这样的情况下,用户只能选择被动相信存储服务商的协议,而 无法主动进行验证。如果存储服务器存在欺骗行为,即没有将文件按照协议要求进行多备 份存储,用户只有在事故真正发生时,即产生实际损失时才能发现。虽然,可以依据协议要 求存储服务商进行相应的赔偿,但是,有时候造成的损失却是无法恢复的。因此,需要设计 一种方案,在损失未发生时,对云端的多个文件备份进行验证。确保存储服务商按照协议要 求为用户存储了多个数据备份。
[0006] 为了解决上述问题,业界提出了以下解决方案:
[0007] -. Karyn Benson等人使用基于传输时间的方法。他们使用多个地标服务器,向多 个数据中心进行数据请求。由于假设已知所有数据中心的位置,如果能够在某个指定时间 内获得数据,可以判定此数据中心存储有数据备份。此方案的问题是,必须知道所有数据中 心的准确位置,因为需要在数据中心附近设置地标服务器进行验证,并且需要地标服务器 与数据中心通信以得到标准的传输时间,此过程中可能存在欺骗行为;另外,此方案在验证 文件时,要求服务器将部分验证文件发回到地标服务器进行验证,因此该方法会占用很大 的带宽。
[0008] 二.基于对称密码学的方案以RSA公司的Juels和EMC公司的Kaliski提出的基 于岗哨的可恢复证明系统P0R为典型代表。其基本思想是首先用对称加密体制将文件加密 并用纠错码编码,然后在编码后的文件中的一些随机位置插入和文件数据不可区分的"岗 哨";检查者在挑战时要求服务器返回一些随机位置的岗哨。作者证明只有服务器以大于一 定值的概率做出有效的应答,则文件是可以恢复的。这种方法具有计算开销小的优点,但其 缺点在于每次需要消耗掉一个岗哨,因此只能执行有限次的挑战。此外,如果文件需要更新 时,这种方案需要找出所有未经使用的岗哨,然后重新编码,重新插入文件中,效率较低。
[0009] 三.几乎与P0R同时,Ateniese等人提出了可证明数据持有(provable data possession,TOP)模型。该模型主要原理是:令N为一个RSA模数,F为代表文件的大整 数,检查者保持k = Fmod ( Φ N);在挑战中,检查者发送ZN中的随机元素 g,服务器返回s = gFmodN ;检查者验证是否存在gkmodN = s,从而确定原始文件是否存在。元素的PDP技术也 只能处理静态数据,且计算开销较大,效率不高。


【发明内容】

[0010] 本发明的目的在于针对上述已有技术的不足,提出一种多地理位置存储的云端数 据完整性验证方法,以不受限制的、高效的对云存储数据进行完整性和多地理位置的验证。
[0011] 本发明的技术方案是:采用基于时间延迟的地理位置判定方法对多地理位置进行 验证,采用基于数据可恢复性证明方法对数据的完整性进行验证。其实现步骤如下:
[0012] 一 ·技术原理:
[0013] 为了解决"多地理位置存储的云端数据"场景中的完整性验证问题,本发明提出一 个基于时延的、高效的证明方案。在该方案包括两个部分,分别是该方案包括两个部分:
[0014] 1.利用基于时延的方法对数据段地理位置进行判定。本方案采用基于时延的方 法,即利用数据的传输时延在一定程度上与数据发送和接收端的距离成正相关的规律,来 估计发送端到接收端之间的距离。为了测量时延,需要在每个数据中心附近部署一个位置 已知的地标服务器,并用其请求两个数据中心的数据,根据请求时延以及两个地标服务器 的位置,对数据中心的可能位置进行判断。最后通过验证两个数据中心可能位置是否重合, 来判断两个数据中心是否位于不同的地理位置。
[0015] 2.利用数据可恢复性验证方法来确保文件的完整性。本方案采用数据可恢复性验 证方案,即按照规则对云端数据进行挑战,并根据响应结果对云端存储数据的完整性进行 验证。使用P0R方案,在数据存储到数据中心之前,向数据中添加冗余码,并将数据进行对 称加密处理。然后将数据分块,并对每一块数据计算标签,最后将文件与标签一起发送到数 据中心进行存储。在验证过程中,要求数据中心将文件指定块以及数据标签与某个随机值 进行运算,并将两者的计算结果都返回,进行数据的可恢复性验证。
[0016] 二·实现步骤:
[0017] 1. 一种多地理位置存储的云端数据完整性验证方法,包括如下步骤:
[0018] (1)文件拥有者User处理原始文件F及生成密钥ktag :
[0019] la)文件拥有者User利用对称加密算法,对其希望存储在云端的原始文件F进行 加密,并为加密后的文件添加冗余码得到密文文件P ;
[0020] lb)文件拥有者User将密文文件Γ分为η块,并将每块文件分为s节,利用伪随 机数生成算法生成计算密文文件标签时需要的密钥ktag,并根据对密文文件Γ的指定分节 数s,生成计算标签时需要的s个加盐数据{ α ρ α 2, . . .,a s};
[0021] lc)文件拥有者User利用生成的密钥ktag及s个加盐数据{ α ρ α 2,. . .,a J,分 别计算密文文件P的n块数据所对应的标签σ i ;
[0022] (2)文件拥有者User选择存储服务器并上传密文文件F'及标签〇 i :
[0023] 2a)文件拥有者User根据其对要存储的文件的地理位置要求,从云存储服务商 Provider提供的文件存储服务器中选择满足其要求的一个服务器集合C ;
[0024] 2b)文件拥有者User将密文文件F'及其标签〇 i -起上传云储存服务商,云存 储服务商将密文文件F'及其标签〇 ,发送至服务器集合C中的每一个文件存储服务器;
[0025] (3)文件存储服务器Storage对文件标签〇 i进行重编码:
[0026] 3a)云存储服务商Provider为每个文件存储服务器Storage分配一个唯一的服务 器标记P ;
[0027] 3b)文件存储服务器Storage使用其服务器标记P,对文件标签〇 ,进行重编码, 得到此存储服务器独有的文件标签σ p>i,并将该文件标签σ p i和密文文件Γ同时存储;
[0028] (4)地标服务器L对文件存储服务器Storage进行挑战,并记录挑战和响应的时间 差:
[0029] 4a)用户根据文件存储服务器的位置,在每个存储服务器的最近位置设置一个地 标服务器L,根据两地标服务器之间的距离Len,测量两个地标服务器之间时延为t,得到两 地标服务器间数据传输速率

【权利要求】
1. 一种多地理位置存储的云端数据完整性验证方法,包括如下步骤: (1) 文件拥有者User处理原始文件F及生成密钥ktag : la) 文件拥有者User利用对称加密算法,对其希望存储在云端的原始文件F进行加密, 并为加密后的文件添加冗余码得到密文文件P ; lb) 文件拥有者User将密文文件Γ分为η块,并将每块文件分为s节,利用伪随机 数生成算法生成计算密文文件标签时需要的密钥k tag,并根据对密文文件Γ的指定分节数 s,生成计算标签时需要的s个加盐数据
lc) 文件拥有者User利用生成的密钥ktag及s个加盐数据'
'分别计 算密文文件P的η块数据所对应的标签σ i ; (2) 文件拥有者User选择存储服务器并上传密文文件F'及标签〇i: 2a)文件拥有者User根据其对要存储的文件的地理位置要求,从云存储服务商 Provider提供的文件存储服务器中选择满足其要求的一个服务器集合C ; 2b)文件拥有者User将密文文件F'及其标签σ i -起上传云储存服务商,云存储服 务商将密文文件F'及其标签〇i发送至服务器集合C中的每一个文件存储服务器; (3) 文件存储服务器Storage对文件标签σ ,进行重编码: 3a)云存储服务商Provider为每个文件存储服务器Storage分配一个唯一的服务器标 记P ; 3b)文件存储服务器Storage使用其服务器标记P,对文件标签〇 ,进行重编码,得到 此存储服务器独有的文件标签σ p,i,并将该文件标签σ p i和密文文件Γ同时存储; (4) 地标服务器L对文件存储服务器Storage进行挑战,并记录挑战和响应的时间差: 4a)用户根据文件存储服务器的位置,在每个存储服务器的最近位置设置一个地标服 务器L,根据两地标服务器之间的距离Len,测量两个地标服务器之间时延为t,得到两地标 服务器间数据传输速率
4b)地标服务器L使用伪随机数生成算法,生成一组挑战数据Q发送给文件存储服务器 Storage,并记录发送挑战的时间tA,该挑战数据Q包括要挑战的文件块号i和参与挑战的 随机值Vi ; 4c)文件存储服务器Storage在接到挑战数据Q后,将其存储的密文文件Γ的数据块 及文件标签σ p 与挑战中的伪随机值Vi进行乘法求和运算,并将文件响应值{ μ }和标签 响应值σ ρ发送给地标服务器L,地标服务器L记录接收响应的时间; (5) 地标服务器L服务器判断文件的完整性和地理位置: 5a)地标服务器L使用收到的文件响应值{ μ },与密钥ktag及加盐数据{ α ρ α 2,..., as}进行计算,得到结果标签验证结果标签h是否与收到的标签响应值ο ρ相同,如 果验证通过,执行步骤5b),否则结束验证; 5b)地标服务器L根据发送挑战时间和接收响应的时间,计算存储服务器与地标 服务器L的距离为
并将该距离r发送给文件拥有者User ; 5c)使用另一地标服务器L'对同一文件存储服务器Storage进行挑战,按照5b)的方 法得到存储服务器与地标服务器L'的距离为r',并将r'发送给文件拥有者User 5d)文件拥有者User分别以所述的地标服务器L、L'的位置为圆心,以r与r'为半径 作圆,用该两圆的交汇区域作为存储服务器Storage的测量位置; (6)文件拥有者User按照步骤5b)-5d),计算服务器集合C中所有存储服务器的测量 位置,判断所有存储服务器测量位置是否满足User对地理位置的要求,若满足,则证明云 存储服务商按照协议内容存储密文文件F',否则,说明云存储服务商违反协议内容,则退 出验证并向云存储服务商提出申诉。
2. 根据权利要求1所述的多地理位置存储的云端数据完整性验证方法,其特征在于, 所述步骤lc)中计算每一块文件对应的标签〇 i,通过如下公式计算:
其中,i e [l,n],表示n个文件块中的第i块,j e [l,s],表示s节文件中的第j节, Hli,」表示第i块文件的第j节数据,叫是文件第j节的加盐数据,//^.?表示使用kprf作 为密钥,以i为输入的伪随机数生成器,σ i表示计算得到的密文文件第i块数据的标签。
3. 根据权利要求1所述的多地理位置存储的云端数据完整性验证方法,其特征在于, 所述步骤3b)中对文件标签进行重新编码,得到此存储服务器独有的文件标签 〇 p,i,通过 如下公式计算:
其中,是文件标签进行重编码时使用的密钥,P是存储服务器的标签是以 P为输入的哈希算法,〇1是文件上传者生成的第i块文件的文件标签,〇p,i是存储服务 器P对文件标签进行重编码后得到的新文件标签。
4. 根据权利要求1所述的多地理位置存储的云端数据完整性验证方法,其特征在于, 所述步骤4b)的地标服务器L使用伪随机数生成方法,生成一组挑战Q,其表示如下:
其中,(i,vj表示挑战文件块号和挑战值组合,
表示对第i块文件进行挑 战,Vi是地标服务器L生成的伪随机数。
5. 根据权利要求1所述的多地理位置存储的云端数据完整性验证方法,其特征在于, 所述步骤4c)的文件存储服务器Storage对接收到的挑战数据Q进行响应,按如下步骤进 行: 4cl)文件存储服务器Storage根据收到的挑战数据Q,使用文件标签σ p,i计算得到标 签的响应值σ p :
其中,(i,vj表示挑战文件块号和挑战值组合,
表示对第i块文件进行挑 战,Vi是地标服务器L生成的伪随机数; 4c2)文件存储服务器Storage根据收到的挑战数据Q,使用文件块计算文件的响应值 {μ},其中
是第j节文件的响应值,μ ^的计算公 式如下:
其中,my表示第i块文件的第j节数据; 4c3)文件存储服务器Storage将计算得到的标签响应值σ p和文件响应值{μ}发送 给发出挑战的地标服务器L。
6.根据权利要求1所述的多地理位置存储的云端数据完整性验证方法,其特征在于, 所述步骤5a)中的结果标签通过下式计算:
其中,σ p和μ」表示从存储服务器收到的标签响应和文件响应,i e [l,n],表示n个 文件块中的第i块,j e [1,s],表示s节文件中的第j节,Vi表示挑战Q中的伪随机值, //W(〇表示使用^乍为密钥,以i作为输入的伪随机数生成器,h&(p)表示存储服务器 P进行标签重编码的函数,表示文件第j节的加盐数据。
【文档编号】H04L29/08GK104052819SQ201410299677
【公开日】2014年9月17日 申请日期:2014年6月27日 优先权日:2014年6月27日
【发明者】周洪丞, 杨超, 马建峰, 董超, 张明月, 张坤, 姚亮, 张鹏 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1