首页 > 技术 > CAE其它 > > 云存储服务中可证明数据持有及恢复技术研究

云存储服务中可证明数据持有及恢复技术研究

作者:Simwe    来源:万方数据    发布时间:2012-07-06    收藏】 【打印】  复制连接  【 】 我来说两句:(0逛逛论坛

清华大学的舒继武教授等人提出的数据持有性检查(data possession checking,DPC)[11]是国内第一篇关于数据持有性证明的论文。方案的基本思想是在一次挑战中,检查者指定文件中c个随机位置的数据块和一个 密钥k2,服务器根据这些数据块和密钥k2由单向Hash函数h(·)计算出一个Hash值,并和一个与之对应的校验块一起返回给检查者,检查者检查 Hash值和校验块是否匹配以确定应答是否有效。为了避免检查者为每个挑战记住c个随机位置和密钥,每次挑战的位置由伪随机置换g(·)根据一个密钥k1 生成,并且第j次挑战的k1和k2可由第j-1次挑战的k1和k2得到,这样检查者只需为每个文件记住两个密钥即可。同时提出一个基于校验块循环队列的挑 战更新机制,通过更新挑战允许动态增加检查者可发起的有效挑战的次数。分析表明检查者端的存储开销和检查者和服务器间的通信开销均为常数量级.测试结果表 明一次置信度为99.4%的持有性检查的计算开销为1.8ms,和磁盘I/O开销相比可以忽略不计。方案通过避免使用公钥密码系统,将文件预处理的计算开 销降低了3个数量级。但是他们没有提供安全性证明。

布朗大学(Brown University)的Erway等人提出两种动态数据持有性证明方案(Dynamic PDP, DPDP)[12]实现数据更新。一种使用基于等级的鉴别跳表(Rank-based authenticated skip lists),一种基于RSA树结构。他们的主要工作是实现动态性,即实现插入操作。整个方案仍然是基于RSA的模指运算。

文献[13]利用基于RSA的Hash函数的同态性,可以在初始化时间开销与用户的存储开销间进行权衡,该方案也是基于RSA,用户和存储服务器都有模指 运算,计算开销太大。文献[14]提出利用同态Hash构建同态标签实现无限次数据持有性验证,其缺点在于没有考虑数据的动态性。文献[15]提出利用代 数签名实现数据持有性验证,该方案简单高效,其基本方案只支持有限次数据验证,作者提出一种挑战更新方案。文献[16]提出一种高效的数据持有性证明,作 者还提出一种基于RSA的挑战更新机制,但它们的缺点仍然在于没有考虑数据的动态性。

3.2 POR方案

RSA实验室的Juels和EMC公司的Kaliski第一次提出POR的概念[17],并提出基于“哨兵”(sentinel)的POR方案。其基本思 想是首先将文件加密并使用纠错码编码,在编码后的文件中随机插入和文件数据不可区分的“哨兵”;检查者在挑战时要求服务器返回在这些随机位置的“哨兵”。 他们证明只要服务器以大于一定值的概率作出有效应答,则文件是可恢复的。因为每挑战一次就消耗一个岗哨,并且没有挑战更新机制,因此只能进行有限次的挑 战。因为编码及增加的“哨兵”导致文件的膨胀率达到15%。

加州大学圣地亚哥分校的Shacham和德克萨斯大学奥斯汀分校的Waters在文献[18]中提出的两个方案也是使用同态标签:一个方案基于伪随机函 数,不支持公开验证;另一个方案基于BLS签名[19],支持公开验证。他们使用纠删码编码,但是没有考虑数据更新问题。

在文献[20]中,Dodis等人第一次提出POR码,并对其进行形式化及理论分析工作,给出了几个将POR码转换为POR方案的方法。他们提出在安全性 与其它参数(如使用次数、挑战位置和服务器存储开销等)之间进行权衡的方案,但文中没有特别考虑通信开销及计算开销,也没有考虑数据更新问题。

RSA实验室的Bowers等人在文献[23]中提出的HAIL方案在多个存储服务提供者之间作数据副本或冗余,然后使用POR方案检测数据是否被破坏。 当检测到某一服务提供者的数据被破坏时,可以利用其它服务器的数据进行恢复。作者提出将MAC码嵌入奇偶校验块中。首先HAIL使用分散码 (dispersal code)将文件块分散到不同服务器上,因为MAC和奇偶校验块都可以基于UHFs (universal hash functions),因此就可能创建一个块同时是MAC和奇偶校验块,基于这个思想,作者构造保护完整性的纠错码IP-ECC,结合PRFs, ECCs及UHFs,实现纠错码的同时也是一种抵抗破坏的MAC码。文中对攻击模型有一个重要的约束条件:在一个给定的时间段,只能控制n个服务器中的b 个,这样的一个时间段叫做epoch,那么过了n/b个epoch,数据可能都被破坏。HAIL方案保护静态数据的完整性,不能进行数据更新,也不能进行 公开验证。

Curtmola等人集成前向纠错码(forward errorcorrecting codes,FEC)到PDP方案中,他们考虑不同的FEC编码有不同的性能、灵活性、纠错码效率和数据输出格式等.他们认为RS编码效率太低,所以将原 始文件交换位置,从中选择一部分进行RS编码,从而提高编码效率;而且攻击者不知道冗余码是从哪些块计算得到的,可以提高安全性。

3.3其它方案

圣塔克莱拉大学(Santa Clara University)的Schwarz和加州大学圣克鲁兹分校(UCSC)的Miller在文献[24]中提出使用线性纠删码将数据编码,使用代数签名 (algebraic signature)对块计算指纹。因为代数签名具同态属性,而且ECC是线性码,所以只要在相同的域上计算签名和奇偶校验,就可以使用数据的签名计算得 到唯一的奇偶校验的代数签名。他们考虑的是P2P的环境下,将数据编码后分条存放在Internet上的普通机器上,他们没有给出方案的安全性证明。

HP实验室的Lillibridge等人在文献[25]中提出利用Internet的普通机器实现P2P备份系统。每个计算机有一个伙伴集,并且由一个简 单的中心服务器来寻找伙伴。每个计算机周期地向中心服务器更新它的身份及需要的伙伴,中心服务器向它提供侯选伙伴集,该计算机再联系这些伙伴。为保证机密 性,数据发送给伙伴机前使用对称密码技术加密,并且使用Reed-Solomon纠错码在伙伴机器间进行冗余纠错。数据拥有者可以向伙伴机器发起挑战,判 断该伙伴是否完整保存数据,类似于PDP方案,验证时使用MAC码,额外的存储开销比较大。

HP实验室的Shah等人在文献[26]中提出了基于数据委托的方案。基于加密文件的MAC,第三方审计者通过挑战应答验证存储服务提供者持有一个加密的 文件。因为挑战是预计算的,只能进行有限次的验证,元数据也随挑战次数线性增长;并且方案只能用于加密的文件,要求审计者维护长期的状态信息。在文献 [27]中他们提出了具有隐私保护特性的方案,即不向第三方泄露任何信息。该方案也只能用于加密的文件,也要对整个文件计算MAC以及使用MAC验证数据 持有性,有较大的计算和存储开销,且没有考虑数据更新问题及相关数据恢复技术。

布朗大学(Brown University)的Heitzmann等人在文献[28]中提出验证服务器响应的数据与用户执行的更新是否一致。该方案不同于PDP方案,其目标不 在于检测到数据破坏,而是验证服务器响应的数据与Client执行的更新一致,因此,响应数据只被用于验证完整性,并且只在请求文件的时候才执行。方案使 用鉴别跳表维护认证信息,支持简单快速的更新。他们实现了一个在Amazon S3上的原型系统,用户只需存放一个Hash值,存储开销为O(1),服务器的计算开销是O(log(n))。

Sebe等人在文献[29]中提出的方案基于Diffie-Hellman问题,要求用户为每个块存放N位RSA模位数,因此其存储开销随块数线性增长,并且协议要求服务器访问整个文件。

新加坡国立大学(National University of Singapore)的Chang和Xu在文献[30]中提出Remote Integrity Check (RIC),RIC方案结合文献[6]中基于RSA的方案和文献[31]中基于ECC的鉴定器,它不是POR系统,但是所有在RIC下证明安全的方案也可 用于POR系统。RIC的目标在于只需要验证者存放少量的额外信息就可以定期地检测远程服务是否保存了一个大文件。但是他们的方案也继承了文献[6]和 [31]中方案的缺陷,基于公钥密码技术,并且要求对整个文件取幂,计算开销很大。

在文献[32]中,Yamamoto等人也提出使用基于RSA的同态Hash函数进行数据持有性验证,同时作者还提出使用批验证提高效率。

伊利诺理工大学(Illinois Institute of Technology)的Wang和伍斯特理工学院(Worcester Polytechnic Institute)的Lou在文献[33]中第一次在云计算环境下考虑数据存储的安全性,他们提出的方案可以定位发生错误的服务器,并实现了部分数据更 新操作,在接下来的工作[34]中,他们提出结合基于BLS[19]的同态鉴别器和MHT,支持公开验证和数据更新。在文献[35]中,他们考虑的是引入 一个第三方的审计者,结合随机掩码技术实现隐私保护,不向第三方审计者泄露信息。但是他们的数据持有性证明方案都是基于公钥密码技术,且没有考虑相关数据 恢复技术。

 
分享到: 收藏