大数据存储中数据完整性验证结果的检测算法

2017-12-08 05:30徐光伟白艳珂燕彩蓉杨延彬黄永锋
计算机研究与发展 2017年11期
关键词:完整性标签证据

徐光伟 白艳珂 燕彩蓉 杨延彬 黄永锋

(东华大学计算机科学与技术学院 上海 201620)

(gwxu@dhu.edu.cn)

大数据存储中数据完整性验证结果的检测算法

徐光伟 白艳珂 燕彩蓉 杨延彬 黄永锋

(东华大学计算机科学与技术学院 上海 201620)

(gwxu@dhu.edu.cn)

云存储作为云计算中最为广泛的应用之一,给用户带来了便利的接入和共享数据的同时,也产生了数据损坏和丢失等方面的数据完整性问题.现有的远程数据完整性验证中都是由可信任的第三方来公开执行数据完整性验证,这使得验证者有提供虚假伪造的验证结果的潜在威胁,从而使得数据完整性验证结果不可靠,尤其是当他与云存储提供者合谋时情况会更糟.提出一种数据验证结果的检测算法以抵御来自不可信验证结果的伪造欺骗攻击,算法中通过建立完整性验证证据和不可信检测证据的双证据模式来执行交叉验证,通过完整性验证证据来检测数据的完整性,利用不可信检测证据判定数据验证结果的正确性,此外,构建检测树来确保验证结果的可靠性.理论分析和模拟结果表明:该算法通过改善有效的验证结果来保证验证结果的可靠性和提高验证效率.

数据完整性验证;不可信验证结果;验证结果检测;双证据;检测树

云计算是基于互联网相关服务的可动态扩展的虚拟化资源,它通过网络方便地按需接入和较小代价可使得用户获取服务提供者的网络、服务器、存储和应用等资源池中的可配置计算资源[1].云存储作为云计算中最有潜力的一种应用,是通过互联网可动态扩展虚拟化存储的一种方式.云存储在给用户带来方便的同时,也会因为用户失去了对自己数据的绝对控制权,而使得用户数据的可用性和安全性受到威胁.在云存储的服务模式下,拥有可接入网络的用户设备既可以随时随地访问自己存储在云服务器中的数据,又能方便地按照一定规则与其他用户设备之间共享数据.云存储在为用户带来便利的同时,也会因自身的问题如病毒攻击、操作失误和来自网络的恶意攻击等,损坏或丢失用户存储的数据.甚至当数据损失发生时,云存储服务提供者(cloud storage provider, CSP)为维护自身利益和声誉,常隐瞒数据丢失或损坏.非预期的数据丢失或损坏会给数据完整性和可靠性带来灾难性后果[2].为避免云存储中的数据损失,使用户在有限的计算能力下确保大规模数据存储的完整性,Deswarte等人[3]提出一种基于加密的方法来验证远程数据的完整性,此后,远程数据存储的完整性验证成为解决这种问题的关键技术[4].

目前很多数据完整性验证算法被提出[5-25],这些算法主要分为可证明的数据持有技术(provable data possession, PDP)和可恢复证明技术(proof of retrievablity, POR)两大类,分别从验证的可公开性、动态数据、无状态验证、无块验证、批量验证、隐私保护、数据机密性、多云多副本验证等方面进行了研究,但这些算法都基于数据验证者(data verifier,DV)会提供可靠的验证结果而忽视了其不可信所带来的问题.这是由于在实际的开放云存储环境中,并不存在绝对可靠的数据验证者,他们也会因自私或恶意而对数据验证结果的准确性和可靠性造成危害.本文提出一种数据验证结果的检测算法以抵御来自不可信验证结果的伪造欺骗攻击,主要贡献有4个方面:

1) 生成完整性验证证据来检测数据的完整性;

2) 生成不可信检测证据来判定数据验证结果的正确性;

3) 通过构建验证结果的检测树来抵御伪造欺骗攻击和验证结果的不可篡改性;

4) 利用双证据来执行交叉验证以确保数据完整性验证结果的可靠性.

1 相关工作

远程数据完整性验证随着云存储应用的不断普及,越来越受到科学界和工业界的关注.自从Ateniese等人[5]和Juels等人[6]分别提出PDP和POR验证方案以来,出现了大量的远程数据完整性验证算法.

Ateniese等人[5]首次提出数据持有性证明的PDP模型,并利用RSA同态技术来验证远程存储数据的完整性,方案中采用随机抽样技术进行概率性验证,以减少数据验证过程中的计算量和通信量,但这种方法并不支持远程数据的动态操作.Juels等人[6]首次探索可恢复证明的 POR模型来确保远程数据存储可持有和可提取.Hovav等人[7]提出一种支持数据恢复的紧凑型POR.Erway等人[8]提出一种基于Rank的跳跃列表结构实现支持全动态(数据插入、删除、增加、修改等)操作的PDP方案,但却不能很好地保护用户数据的隐私.为了提高远程数据验证的效率,Wang等人[9]利用Merkle Hash树构建了一种支持批量验证的方案,并同时支持数据的动态操作和公开校验.后来,Wang等人[10]进一步利用随机掩码、加密盲化技术设计了一种能够保护数据隐私的可公开验证方案,它不仅可以防止恶意攻击者获得用户数据的真实内容,也可以防止将真实内容泄露给第三方验证者.Zhu等人[11]考虑多个云服务提供商在协同存储和共同维护客户数据的情况下,提出一种基于同态验证响应和Hash索引层次的合作PDP方案.Yang等人[12]提出了一种高效和隐私保护的数据审计协议,以支持在没有任何可信的组织者组织的情况下,多数据所有者和多个云存储的数据动态操作和批量审计.Wang等人[13]使用代理重签名技术允许云服务器在个别用户撤销签名时代表仍然存在的用户执行对存储数据的重签名.我们在文献[14]中提出一种概率验证的算法以抵御远程数据存储数据完整性遭受破坏时的欺骗攻击.谭霜等人[25]提出一种基于格的数据完整性验证方法.

但上述这些算法都是在假设验证者完全可信的前提下,或者校验者只会窃取用户的隐私数据,并不会对数据验证本身有任何欺骗行为.只是在Armknecht等人[23]的工作中假定验证者在未执行数据验证任务时给出欺骗数据所有者的验证结果,从而提出一种判定数据验证者的验证结果是否可信的检测算法.算法中在用户上传文件之前,验证者也对文件生成一份验证标签.在挑战时,服务器对来自数据所有者和验证者的2个不同标签也生成相应的验证证据,以此来判断验证者的结果是否保持一致.但这种算法需要在数据上传之前,首先需要指定验证者身份(这有明显的合谋攻击之嫌),并且该验证者也需要存储每次验证的日志文件(这将占用验证者的存储空间).

数据的完整性是数据所有者进行远程数据存储时最为关注的核心,本文将研究数据存储提供者和数据验证者都不可信时的验证检测算法,以尽可能少的检测计算、存储和传输开销,保证其可靠性和有效性.

2 验证模型与问题提出

2.1验证模型

我们选取现有的数据验证算法中普遍采用的基于第三方的可公开验证模型来描述数据完整性验证的过程和数据流向,如图1所示:

Fig. 1 Data verification model图1 数据验证模型图

验证模型主要包括3个实体,即数据所有者(data owner, DO)、云存储提供者和验证者.CSP为DO提供自由存取的数据存储服务时,也根据协议享受数据验证服务.当应DV的请求对CSP发起数据完整性挑战后,CSP根据DV提供的验证参数进行计算,然后将证据返回给DV,DV比较数据证据和DO提供的数据标签来判定相应的存储数据是否完整或已损坏.数据验证过程由如下5个阶段来描述.

1) KeyGen(·)→(sk,pk).DO利用密钥生成算法产生公私密钥对(其中sk为私钥,pk为公钥),并对外公布公钥pk信息.

2) TagGen(sk,M)→Φ.DO利用自己的私钥sk对数据块集合M中的第i个数据块mi(i∈[1,n])计算其相应的数据标签ti,最后将所有的数据标签信息放入标签集合Φ中,即Φ={ti}.

3) ChalGen(M)→Ω.DV接受DO发布的数据验证任务,对其中所包含的待验证数据块mi产生挑战随机数vi,并和其相应的数据块索引组成挑战集合Ω={i,vi},向CSP发起挑战.

4) ProofGen(M,Φ,Ω)→P.CSP接受DV的挑战后,根据挑战集合Ω和待验证的数据块集合M、标签集合Φ等计算得到待验证数据块的数据完整性证据集合,并将这些证据返回给DV作为判定依据.

5) Verify(Ω,P,pk)→truefalse.DV利用DO的公钥pk,Ω,P来判定CSP提供的数据完整性证据,并将判定结果发送给DO.

本文做了如下一些假设:

1) DV主动承担数据验证任务而不受CSP和DO控制,且DV数量足够多可保证验证任务都能被执行.

2) DV的不可信行为表现为返回给DO的验证结果是伪造的.其原因可能是自私或恶意(如自身设备性能和能耗受限等),使得他在无力承担这些数据验证任务而做出伪证.

2.2对手模型

正如引言所述,现有的数据验证主要是针对云存储提供者可能存在的数据损坏欺骗行为.而执行数据验证任务的DV也可能返回虚假伪造的验证结果.此时,由于现有的数据验证模型中没有应对的检测机制,会导致DO在面对验证者的验证结果时只能盲目服从,而丧失了自己作为数据完整性验证的主体作用.此外,如果不可信CSP和DV进行合谋欺骗,那会对DO造成更大的损失.

2.3问题提出

从数据验证模型和对手攻击中可以看出,需要在现有的模型中增加对不可信验证结果的检测,以解决现有算法中的3个问题:

1) 识别CSP提供的不可信验证数据;

2) 识别DV提供的不可信验证结果;

3) 识别不可信CSP和DV的合谋攻击.

3 不可信验证结果的检测算法

为便于描述,一些符号定义为:Q是挑战集合;ti是数据块mi的标签;P是完整性验证证据;P′是不可信检测证据;sk是私钥;pk1,pk2是2个公钥;e是群G1,G2到群GT的双线性映射;TP{·}是标签证据;DP{·}是实际数据证据.

3.1不可信验证结果的检测证据生成

传统的数据验证方案中,CSP接受DV的挑战后,在ProofGen(·)阶段根据挑战集合Q和待验证的数据块mi组成的数据集合M、标签集合Φ等计算待验证数据块的数据完整性证据集合P,并将其返回给DV作为判定依据.在我们的算法中,增加一个不可信验证结果的检测证据以判别DV的虚假验证结果.

定义1. 完整性验证证据. CSP接受DV的挑战后,发送给DV的面向待验证数据所生成的完整性拥有的验证证据,被标记为P.

定义2. 不可信检测证据. CSP接受DV的挑战后,发送给DO的面向DV的不可信验证结果的检测证据, 被标记为P′.

为此,在ProofGen(·)阶段,CSP除计算完整性验证证据以外,还要增加一个不可信验证结果的检测证据P′,具体过程如下:

1) 在KeyGen(·)阶段,在安全参数确定后,通过执行概率性算法多产生一个公钥pk2.

2) 在ProofGen(·)阶段,不可信检测证据P′={TP2,DP2}中实际数据证据DP2的计算公式为

其中,vi为p中选取的对应于每个数据块mi的一个随机数,r为p中任意选取的随机数,u为群G1中的一个元素,g2为群G2的生成元,R为挑战标记.

不可信检测证据P′={TP2,DP2}中标签证据TP2的计算公式为

3)CSP发送检测证据P′给DO作为不可信验证结果的检测依据.这些证据的生成算法见4.3节.

3.2不可信验证结果的检测

云存储环境下的数据验证中,通常数据的验证量比较大.此外,验证者的设备能力差异,都制约着所有数据验证任务由一个DV来执行,因此,验证任务可由多个DV采用分布式处理的方式来执行.在此,我们以一个DV所完成的数据验证结果为例,来研究其不可信验证结果的检测方法.为避免检测过程中DV为应对DO的检测而临时篡改数据,我们引入Merkle Hash树技术[26]来建立验证结果的检测树.

Merkle Hash树是一棵二叉树,其每个叶子节点对应一个数据块mi的验证结果Ri,每个非叶子节点值为其子节点的Hash值,最后构成检测树由DV发送给DO.为区分不同数据块的验证结果,我们用每个数据块mi的身份标识mi,id和DV的验证结果(truefalse)组合而成,即mi→Ri.给定一个k位返回值的Hash函数f:{0,1}→{0,1}k,例如Hash函数MD5和SHA-2.树中的非叶子节点H(Ri‖Ri+1)的值为其左右2个子节点Ri和Ri+1级联后的Hash值,即H(Ri‖Ri+1)=f(Ri+Ri+1),其中的“+”表示级联运算.如图2所示,我们建立了一个由8个被验证数据块组成的检测树,其中的叶子节点R1和R2分别是数据块m1和m2的验证结果,非叶子节点H(R1‖R2)是2个叶子节点R1和R2级联后的Hash值.依次从叶子节点向根节点级联运算,最后得到根节点的Hash值φ=H(R1‖R8) .

Fig. 2 Check tree of verification results图2 验证结果的检测树

不可信验证结果的检测原理是:当DV执行完验证任务后,发送每个数据块的验证结果和检测树的根节点值φ给DO.若DO怀疑来自DV的验证结果,他任意抽取一个数据块的验证结果进行检测.为方便描述,任意选取一个数据块mi来研究其检测过程.

DO得到DV对数据块mi的验证结果Ri后.他首先利用来自CSP的TP2,DP2,pk2检测验证结果Ri的正确性.如果Ri不正确,那么表明DV提供了虚假的验证结果;如果Ri正确,这也不能证明DV是诚实的,因为可能是在他被要求提供该数据块的验证结果时重新计算所得的.此时,DO利用正确的Ri和相应的各兄弟节点,重新构造一颗从该叶子节点到根节点的树,并获得重构后的根节点值φ′,由于Hash函数是单向函数,通过比较根节点的值φ和φ′是否相等,可以判定叶子节点对应的验证结果是否真实.我们以图2中的叶子节点R4为例叙述其过程.

DO收到DV发送的根节点φ值后,随机选择一个叶子节点R4来检测验证结果.DO利用DV提供的R3,H(R1‖R2),H(R1‖R4),H(R5‖R8)值重构从叶子节点R4到根节点的路径(图2中虚线箭头所指路径),并重新计算根节点的值φ′.如果重新计算的φ′与DV原来发送的φ值相等,即φ′=φ,则表示DV的验证结果是真实的,否则是虚假的.

3.3不可信验证的检测算法

本文提出的算法不仅能验证CSP存储的数据完整性,还能检测DV的验证结果的可靠性和有效性.

为此,需要在传统的数据验证模型基础上进行必要的完善.在图3中,相对于现有模型,我们增加了步骤④(检测证据的生成和发送)和步骤⑥(验证结果的检测).不可信验证结果的检测流程如图4所示:

Fig. 3 Check scheme of untrusted verification results图3 不可信验证结果的检测方案

Fig. 4 Check process of untrusted verification results图4 不可信验证结果的检测过程

群G1,G2,GT是具有相同大素数p阶的乘法循环群,g1,g2分别是群G1,G2的生成元,p是模p的剩余类,e:G1×G2→GT是群G1,G2到GT的双线性映射,h:{0,1}*→G1是一个Hash映射.算法的详细描述如下:

1) KeyGen(λ)→(sk,pk1,pk2).在给定输入安全参数后,执行一个概率性算法,生成DO的私有密钥sk和公有密钥{pk1,pk2}.随机选择sk∈p作为DO的私有密钥,相应的公钥为pk1=,pk2=,并将{pk1,pk2}公开.

2) TagGen(sk,M)→Φ.DO读取经加密重新编码后的文件M和自己的私钥sk,生成文件M中各数据块mi的相应标签ti.为了增加数据处理的安全性,在p中随机选择一个随机数a,并计算u=.DO将已加密的数据文件M按照约定分割成固定大小的n个数据块,然后对每一个数据块mi(i∈[1,n]),计算其相应的数据标签

ti=(h(Wi)×umi)s k,

其中Wi=Mi d‖i,且Mi d是文件M的标识,i是数据块的索引号,‖代表数据的连接操作.将所有生成的数据块标签ti放入标签集合Φ.随后将数据文件M和标签集合Φ一起上传至CSP的空间保存.

3) ChalGen(M)→Ω.DV选取数据文件M中的c≤n个数据块发起挑战,并产生相应的挑战信息.该算法根据DO的请求,在数据文件M中随机选取c个索引号,组成挑战数据块索引集合Q.并为每一个待验证的数据块索引i在p中任意选取一个随机数vi与之对应,即产生二元组(i,vi)(i∈Q).另在p中选取一个随机数r,计算挑战标记最后将所有的二元组(i,vi)和挑战标记放在一起组成挑战Ω={(i,vi)i∈Q,R},并向CSP发起数据完整性挑战.

4) ProofGen(M,Φ,Ω)→(P1,P2).CSP根据数据文件M和数据文件对应的标签集合Φ,以及来自DV的挑战信息Ω,计算相应的数据完整性证据P1(包括标签证据TP1和数据证据DP1)和验证结果检测证据P2中的数据证据DP2.数据完整性证据P1中的标签证据TP1计算公式为

数据完整性证据P1中的数据证据DP1计算公式为

CSP将数据完整性证据P1=(TP1,DP1)发送给DV.同时,CSP按照式(1)和式(2)计算验证结果检测证据P2=(TP2,DP2)并发送给DO.

5) VerifyData(Ω,P1,pk1)→(i,truefalse).DV接收到CSP发送的数据完整性证据P1后,利用数据完整性验证算法验证数据的完整性,根据挑战信息Ω 和公钥pk1做出数据是否完整的判断,如果数据完整则输出true,否则输出false.其判断公式为

如果式(6)成立,则向DO报告数据完整,否则报告数据损坏,输出数据完整性的验证结果Ri={i,truefalse}.

此外,DV构建验证结果的检测树,并计算根节点的φ值,与Ri一起发送给DO.

6) ResultCheck(Ri,DP2,φ)→YN.DO利用CSP发送的验证结果检测证据P2、检测DV发送的验证结果Ri和检测树的φ值,判定验证结果的正确性.DV首先利用CSP发送的验证结果检测证据P2中的TP2和DP2来判定公式

是否满足.如果式(7)不成立,则说明数据是不完整的;如果成立,则需要根据检测树来进一步判定DV是否提供虚假检测结果.

DO任意选择一个数据块的验证结果Ri,利用DV发来的该节点在检测树中的所有兄弟节点,重构检测树并计算根节点值φ′.比较φ与φ′的值,若

φ′=φ,

则说明DV正确执行了验证任务并输出Y,否则说明其未按照约定执行验证任务并输出N.

经过VerifyData(·)和ResultCheck(·)的检测,可识别CSP和DV是否提供了可信的验证结果.

3.4分段检测的支持

考虑到数据在分块的基础上还有进一步划分数据段的方式[12],为提高检测证据生成的适应性,我们也提供了这种方式下的生成方法.假设数据块mi被分成s个数据段mij(j∈[1,s]),则不可信检测证据的生成过程如下:

DO在p中选取s个随机数,即a1,a2,…,as∈p,并计算uj=∈G1.利用这些参数对所有数据段进行聚合处理,即检测证据的生成过程如下:

1)DO计算相应的数据块mi的标签为

检测证据中数据证据的计算为

4 算法安全性分析

4.1检测的正确性分析

检测算法是否能够对数据完整性的DV提供的验证结果进行检测,依赖于算法的正确性,即式(6)和式(7)是否成立.式(7)的正确性证明如下.

证明.

证毕.

式(6)的正确性证明与式(7)证明相似,此处省略.

4.2抵御攻击能力分析

本文提出的远程数据完整性验证的检测算法,其安全性建立在离散对数的假设之上.我们首先给出安全性定义域假设.

计算性Diffie-Hellman问题(简称CDH问题): 设a∈将g1,∈G1,h∈G1作为输入,输出ha∈G1.

计算性离散对数问题(简称DL问题) 群G是具有素数(p)阶的循环群,g是群G的生成元,即g=G,∀γ∈G,输入γ,输出a∈使得ga=γ.

定义3. 离散对数计算假设(简称DL假设).存在一个可以忽略的概率εgt;0,任意敌手利用一个可能的多项式时间算法Θ在群G上求解DL问题的概率满足:

P(Θ(g,γ)=a|ga=γ)lt;ε .

求解DL问题的可能性等价于在中随机选择一个元素进行碰撞攻击,即对于元素γ=ga,在中随机选取一个元素a′,使得γ=ga′,由于|G|=|p,所以必须有a=a′,那么明显,其碰撞的概率为P(·)=1p(p为一个足够大的素数),因此满足P(·)lt;ε .也就是说,对于任何一个可能的多项式算法,求解DL问题的概率几乎是可以忽略的,即任意敌手求解DL问题的概率接近于0.那么,在DL假设成立的情况下,在群G上解决DL问题在计算上是不可能或者困难的.

云存储提供者伪造攻击:CSP试图通过DV的数据完整性验证,即满足式(6)的验证,正如在文献[8]中描述的,在计算上是不可行的,CSP无法进行隐藏伪造攻击,本文将不再赘述其分析过程.

验证者伪造验证结果攻击:DV试图通过DO对其验证结果的检测,即满足式(7)和式(8)的验证.对于式(7),其中的关键数据DP2,TP2尽管都是由CSP产生的,但根据同态验证的原理,它们是无法伪造的.对于式(8),根据检测树的构建原理,DV一旦提供了φ值后,DO生成φ′值时,他是无法参与伪造的.因此,从上述分析可以看出,DV也无法伪造验证结果进行攻击.

此外,DO不必每次亲自检测数据的完整性,否则就丧失了DV执行数据验证的作用.因此,DO对DV的验证结果执行的是随机检测方式,即随机对DV返回的验证结果进行检测.此时,DV在每次验证后提交给DO的每个数据块验证结果可通过检测的概率是1/2.当DO执行多个数据块(如x块)检测后,验证结果能够通过检测的概率是(1/2)x.例如当x≥5时,DV的验证结果能够通过用户验证的概率小于5%.所以DO执行一定数量的数据块完整性验证结果的检测后,就能识别不可信的DV.

5 实验分析

实验在1台双CPU(主频Xeon E5-2403 1.8 GHz)、8 GB内存的服务器上搭建云存储服务环境,采用2台CPU(主频Intel Core i5-4210M 2.60 GHz)、8 GB内存的笔记本电脑分别作为数据所有者和验证者.检测算法用Java语言编写,利用JPBC函数库实现.为测试我们提出算法的有效性,命名提出的算法为CIVR(check algorithm of incredible verification results),并选择算法W-POR[12]和Fortress[23]作对比分析.实验中测试数据为20次的平均值.

1) 验证能力

Fig. 5 Verification capability图5 验证能力

验证能力指的是验证相同数量的数据块时所耗费的计算时间,让每个数据块大小为32 KB,其实验结果如图5所示:

从图5可以看出,CIVR的数据验证能力与Fortress相似,但都稍逊于W-POR.其原因在于CIVR和Fortress都需要服务器生成2对验证证据,而W-POR在数据验证过程中只产生1对验证证据,这节省了服务器生成证据的计算开销,也节省了数据验证的时间.但考虑到实际云计算环境中云服务器的强大运算能力,生成证据的时间差别可以由分布式计算来弥补.

2) 存储开销

存储开销指的是数据验证过程中各验证方所产生的验证数据存储量.3种算法的实验结果如图6所示.可以看出,CIVR和W-POR的存储开销相似,且都近似为Fortress的一半,且它们与实际数据的大小成正比关系,随着数据块数的增加,它们也线性增加.这些算法的存储开销差别主要体现在数据标签的存储量上.由于在Fortress中,云存储提供者除了要保存数据所有者计算的一套标签外,还要保存验证者计算的一套标签,在相同数据块数量和每个标签大小相同时,存储总量增加了1倍.

Fig. 6 Storage cost图6 存储开销

3) 传输开销

传输开销指的是数据验证过程中各验证方之间所产生的验证数据传输量.3种算法的实验结果如图7所示.可以看出,CIVR和W-POR的传输开销都比Fortress的小,且CIVR略微高于W-POR.在验证传输开销的构成中,主要有数据块标签的传输量,以及验证时各种验证参数和验证证据的传输量.其中,Fortress需要传输2套标签,所以传输量会比其他2个算法接近高出一倍.此外,由于在CIVR和Fortress在验证时都需要传输2对证据(或标签),因此,它们这部分的传输量都要高于W-POR.但由于批量处理集成后的2对证据(或标签)的传输量非常小,其大小近似于一个数据块的标签大小,所以相对于W-POR的传输量增加是可以忽略的.

Fig. 7 Transmission cost图7 传输开销

4) 验证的可靠性

验证的可靠性指的是验证者提供的所有验证结果中,可以确保验证结果具有可靠性的数量占接受验证的数据量的比值.让在接受验证的数据块中都存在云存储提供者和验证者的合谋欺骗,在此情况下3种算法的实验结果如图8所示.可以看出,CIVR和Fortress可以达到100%,而W-POR算法为0.这主要是因为CIVR和Fortress不仅能分别识别云存储提供者的不可信验证结果,而且还能识别验证者的不可信验证结果;然而,W-POR只能抵御公开数据完整性验证中不可信云存储提供者的欺骗攻击.

Fig. 8 Reliability of verification results图8 验证结果的可靠性

综上所述,CIVR结合了W-POR和Fortress的优点,且避免了Fortress由于增加了1套数据标签和日志文件的额外存储量.此外,CIVR在密钥的管理上也区别于Fortress.在Fortress中,当验证者在接受数据所有者的质疑时,需要公开自己的私钥而使得所有上传到云存储提供者空间中的数据标签失效.而CIVR的私钥一直不被公开,所以安全性更高.

6 总 结

为避免数据完整性验证中因验证结果被伪造欺骗而导致验证结果的不可靠问题,本文提供一种数据验证结果的检测算法以抵御这种不可信验证结果的伪造欺骗攻击,算法中引入双验证证据来交叉检测验证结果,并构建检测树来保证检测的可靠性.该算法在验证过程中进一步保证了验证的可靠性.未来,我们将进一步优化算法提高算法的验证能力.

[1]Mell P, Grance T. NIST definition of cloud computing, 800-145[R]. Gaithersburg, MD: NIST Special Publication, 2016

[2]Li Mingqiang, Shu Jiwu. Preventing silent data corruptions from propagating during data reconstruction[J]. IEEE Trans on Computers, 2010, 59(12): 1611-1624

[3]Deswarte Y, Quisquater J, Saïdane A. Remote integrity checking[C]Proc of the 6th Working Conf on Integrity and Internal Control in Information Systems(IICIS’04). London: Chapman amp; Hall, 2004: 1-11

[4]Ren Kui, Wang Cong, Wang Qian. Security challenges for the public cloud[J]. IEEE Internet Computing, 2012, 16(1): 69-73

[5]Ateniese G, Burns R, Curtmola R, et al. Provable data possession at untrusted Stores[C]Proc of the 14th ACM Conf on Computer and Communications Security. New York: ACM, 2007: 598-609

[6]Juels A, Burton S. Pors: Proofs of retrievability for large files[C]Proc of the 14th ACM Conf on Computer and Communications Security. New York: ACM, 2007: 584-597

[7]Hovav S, Brent W. Compact proofs of retrievability[C]Proc of the 14th Int Conf on the Theory and Application of Cryptology and Information Security. Berlin: Springer, 2008: 90-107

[8]Erway C, Küpçü A, Papamanthou C, et al. Dynamic provable data possession[C]Proc of the 16th ACM Conf on Computer and Communications Security. New York: ACM, 2009: 213-222

[9]Wang Qian, Wang Cong, Ren Kui, et al. Enabling public auditability and data dynamics for storage security in cloud computing[J]. IEEE Trans on Parallel and Distributed Systems, 2011, 22(5): 847-859

[10]Wang Cong, Chow S, Wang Qian, et al. Privacy-preserving public auditing for secure cloud storage[J]. IEEE Trans on Computers, 2013, 62( 2): 362-375

[11]Zhu Yan, Hu Hongxin, Ahn G, et al. Cooperative provable data possession for integrity verification in multicloud storage[J]. IEEE Trans on Parallel and Distributed Systems, 2012, 23(12): 2231-2244

[12]Yang Kan, Jia Xiaohua. An efficient and secure dynamic auditing protocol for data storage in cloud computing[J]. IEEE Trans on Parallel and Distributed Systems, 2013, 24(9): 1717-1726

[13]Wang Boyang, Li Baochun, Li Hui. Public auditing for shared data with efficient user revocation in the cloud[C]Proc of IEEE INFOCOM. Piscataway, NJ: IEEE, 2013: 2904-2912

[14]Xu Guangwei, Yang Yanbin, Yan Cairong, et al. A probabilistic verification algorithm against spoofing attacks on remote data storage[J]. International Journal of High Performance Computing and Networking, 2016, 9(3): 218-229

[15] Ren Yongjun, Yang Zhengqi, Wang Jin, et al. Attributed based provable data possession in public cloud storage[C]Proc of the 10th Int Conf on Intelligent Information Hiding and Multimedia Signal Processing (IIH-MSP). Piscataway, NJ: IEEE, 2014: 710-713

[16]Yu Xiaojun, Wen Qiaoyan. MF-PDP: Multi-function provable data possession scheme in cloud computing[C]Proc of the 3rd IEEE Int Conf on Cloud Computing and Intelligence Systems. Piscataway, NJ: IEEE, 2014: 597-603

[17] Ren Yongjun, Shen Jian, Wang Jin, et al. Outsourced data tagging via authority and delegable auditing for cloud storage[C]Proc of the Int Carnahan Conf on Security Technology (ICCST). Piscataway, NJ: IEEE, 2015: 131-134

[18] Thao T, Kho L, Lim A. SW-POR: A novel POR scheme using Slepian-Wolf coding for cloud storage[C]Proc of Ubiquitous Intelligence and Computing, the 11th IEEE Int Conf on Autonomic and Trusted Computing, and the 14th IEEE Int Conf on Scalable Computing and Communications. Piscataway, NJ: IEEE, 2014: 464-472

[19]Huang Kun, Liu Jian, Xian Ming, et al. Enabling dynamic proof of retrievability in regenerating-coding-based cloud storage[C]Proc of IEEE Int Conf on Communications Workshops (ICC). Piscataway, NJ: IEEE, 2014: 712-717

[20]Omote K, Thao T. A new efficient and secure POR scheme based on network coding[C]Proc of the 28th IEEE Int Conf on Advanced Information Networking and Applications. Piscataway, NJ: IEEE, 2014: 98-105

[21]Liu Dongxi, Zic J. Proofs of encrypted data retrievability with probabilistic and homomorphic message authenticators[C]Proc of IEEE TrustcomBigDataSEISPA, Vol1. Piscataway, NJ: IEEE, 2015: 897-904

[22]Liu Chang, Yang Chi, Zhang Xuyuan, et al. External integrity verification for outsourced big data in cloud and IoT: A big picture[J]. Future Generation Computer Systems, 2015, 49: 58-67

[23]Armknecht F, Bohli J, Karame G, et al. Outsourced proofs of retrievability[C]Proc of ACM SIGSAC Conf on Computer and Communications Security (CCS’14). New York: ACM, 2014: 831-843

[24]Sookhak M, Talebian H, Ahmed E, et al. A review on remote data auditing in single cloud server: Taxonomy and open issues[J]. Journal of Network and Computer Applications, 2014, 43(5): 121-141

[25] Tan Shuang, He Li, Chen Zhikun, et al. A method of provable data integrity based on lattice in cloud storage[J]. Journal of Computer Research and Development, 2015, 52(8): 1862-1872 (in Chinese) (谭霜, 何力, 陈志坤, 等. 云存储中一种基于格的数据完整性验证方法[J]. 计算机研究与发展, 2015, 52(8): 1862-1872)

[26]Merkle R. A digital signature based on a conventional encryption function[G]LNCS 293: Proc of Advances in Cryptology—CRYPTO’87. Berlin: Springer, 1987: 369-378

XuGuangwei, born in 1969. PhD, associate professor. His main research interests include the data integrity verification and data privacy protection, parallel and distributed computing, QoS of the wireless and sensor networks.

BaiYanke, born in 1993. Master candidate. Her main research interests include the verification of data integrity and data security.

YanCairong, born in 1978. PhD, associate professor. Her main research interests include parallel and distributed computing, cloud computing, and big data processing.

YangYanbin, born in 1991. Master candidate. His main research interests include the verification of data integrity and data security.

HuangYongfeng, born in 1971. PhD, associate professor. His main research interests include parallel and distributed computing, and big data processing.

CheckAlgorithmofDataIntegrityVerificationResultsinBigDataStorage

Xu Guangwei, Bai Yanke, Yan Cairong, Yang Yanbin, and Huang Yongfeng

(College of Computer Science and Technology, Donghua University, Shanghai 201620)

Cloud storage is one of the most widely used applications in cloud computing. It makes it convenient for users to access and share the data yet producing data integrity issues such as data corruption and loss. The existing remote data verification algorithms are based on the trusted third party who works as a public verifier to verify the outsourced data integrity. In this case, the verifier has a potential threat to provide false verification results, which cannot ensure the reliability of data verification. Especially, the situation can be even worse while the verifier is in collusion with the cloud storage providers. In this paper, we propose a check algorithm of incredible verification results in data integrity verification (CIVR) to resist the attacks of forgery and deception in incredible verification results. We utilize double verification proofs, i.e., integrity verification proof and incredible check proof, to execute the cross check. The integrity verification proof is to verify whether the data are intact. The incredible check proof is to check whether the verification results are correct. Moreover, the algorithm constructs the check tree to ensure the reliability of verification results. Theoretical analysis and simulation results show that the proposed algorithm can guarantee the reliability of verification results and increase the efficiency by improving the valid verification.

data integrity verification; incredible verification results; verification results checking; dual proofs; check tree

2016-11-15;

2017-06-27

上海自然科学基金项目(15ZR1400900,15ZR1400300,16ZR1401100);上海市教育科研项目(C160076);国家自然科学基金项目(61402100,61772128);同济大学高密度人居环境生态与节能教育部重点实验室种子基金项目;东华大学中央高校基本科研业务费专项资金项目(2232015D3-29)

This work was supported by the Natural Science Foundation of Shanghai (15ZR1400900, 15ZR1400300, 16ZR1401100), Shanghai Education and Scientific Research Project (C160076), the National Natural Science Foundation of China (61402100, 61772128), the Key Laboratory of Ecology and Energy-Saving Study of Dense Habitat of Ministry of Education (Tongji University), and the Fundamental Research Funds for the Central Universities of Donghua University (2232015D3-29).

燕彩蓉(cryan@dhu.edu.cn)

TP391

猜你喜欢
完整性标签证据
关于防火门耐火完整性在国标、英标、欧标和美标中的比对分析
ELM及IS/OS完整性对年龄相关性黄斑变性预后视力的影响
更正说明
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
手上的证据
家庭暴力证据搜集指南
让衣柜摆脱“杂乱无章”的标签
手上的证据
科学家的标签