您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 云存储中数据完整性验证综述
云存储中数据完整性验证综述摘要:随着大数据时代的到来,越来越多的人享受着云服务带来的便利。相应的,大量的用户隐私数据存储在云上,确保云上数据的安全性与隐私性至关重要。由于数据文件存储在远程节点上,用户失去了对数据的绝对控制权,如何判断云上数据是否被不诚实的云服务供应商篡改或损坏等需要提供数据完整性验机制去检验。本文主要是对数据完整性证明机制(PDP,POR协议)的各个现有方案进行归类,对比各个方案的优缺点,并介绍当前需要解决的问题。虽然现有方案已经解决了大数据完整性验证的问题,但方案的效率性和安全性仍有待提高。如何设计出安全、高效和支持动态审计的数据完整性验证协议是我们亟需要解决的重要问题。关键词:PDP;POR;审计协议;云存储1引言云计算是一种计算方式,它依赖于共享计算资源,而不是本地服务器或个人设备来处理应用程序。在云计算模式下,大量的计算工作由云计算数据中心的计算机集群来完成,用户只需要在客户端下利用网络就可以完成各种计算工作。对企业来说,云计算使资源共享和空间利用效率最大化,降低了运维成本和风险。对用户来说,云计算让我们以最小的花销和最快的速度得到我们想要的结果。在云存储系统中,用户可以随时访问、处理和共享远程服务器上的数据。我们在享受云计算给我们带来的极大便利的同时,云存储的安全性和隐私性引起了我们的密切关注。在云存储系统中用户存储在云中的数据可能遭到其他用户或云计算提供商的篡改或损坏。由于用户失去了对存储在远程节点上数据的绝对控制权,无法判断远程节点上的数据是否被修改等。这就需要云存储系统提供数据完整性证明机制验证其云端数据的完整性。通常,数据的机密性可通过数据加密、匿名机制等机制来确保。数据完整性证明机制能及时地识别云中损坏数据的行为。本文主要是对数据完整性证明机制的各个现有方案进行归类,对比各个方案的优缺点,并介绍数据完整性的最新研究进展和面临的挑战。2概述云存储是一种数据远程维护、管理和备份的服务。该服务允许用户在线存储文件,以便他们可以通过互联网从任何位置访问它们。在云存储模式下,用户不需要下载数据就可以跨多个远程节点管理数据,备份数据以及添加新节点或删除现有节点。从智能手机到平板电脑,从笔记本到台式机,我们每天都使用各种各样的设备,每个设备间切换文件可能很麻烦和复杂。但是在云存储服务中,无论是移动设备还是计算机我们都可以连接任意互联网访问我们的数据,并且支持数据在所有设备上同步。尤其对企业来说,将机密或敏感数据存储在云中通常比在本地存储更安全。使用云存储服务,数据被加密存储在云中,未经授权的用户无法访问文件。无论我们是想要共享单个文件还是大量文件,云存储服务可以让我们和任意用户轻松共享文件。2.1数据存储模型云存储环境下数据完整性证明所采用的数据存储模型由用户、不可信的云服务供应商及可信第三方审计机构组成。用户可以按照自己的需求向云服务供应商随意请求服务,将数据存储在服务器中,而不保留本地副本。云服务供应商为用户提供数据存储和计算服务,拥有快速的计算能力和大量的存储空间。如果服务器修改了客户端数据的任何部分,客户端都应该能够检测到。可信的第三方审计机构可以替代用户对远程节点中存储的数据进行完整性验证,大大减轻了用户在验证阶段的计算负担。云存储模型使得用户只需要少量信息即可验证数据的完整性。2.2云存储系统标准一个合格的云存储系统应该满足这样的标准:(1)高效的计算能力和交互能力,低存储开销。(2)系统允许第三方可信审计无限次进行数据完整性验证。(3)无状态认证,验证过程无需保存任何验证状态。(4)公开验证,为了缓解用户在存储和计算上的压力,云环境下的数据完整性验证机制最好能支持公开认证,允许任意的第三方来替代用户来完成数据完整性验证。3数据完整性证明机制远程数据完整性检查在云存储中是至关重要的。它可以让客户端验证他们的外包数据是否保存完整,而不需要下载整个数据。同时,为了降低验证方的开销,完整性验证协议必须是高效的。数据完整性验证机制根据是否对数据文件采用了容错预处理分为数据持有性证明PDP机制(ProvableDataPossession,PDP)和数据可恢复性证明POR机制(ProofsofRetrievability,POR)。这两种完整性验证机制均采用抽样的策略概率性的验证数据的完整性,PDP机制能快速识别远程节点上的数据是否被损坏,POR机制不仅能识别远程节点上的数据是否损坏,而且还能恢复已损坏的数据(当发现数据的损坏程度小于某一阈值ε时,通过容错机制恢复损坏数据,大于ε则返回给用户数据失效的结论)。以下将分别介绍PDP机制和POR机制的各个现有方案的优缺点。3.1基本知识远程数据完整性验证协议有两个安全要求:⑴支持公开验证。⑵对第三方验证者的隐私保护。数据完整性证明机制由Setup和Challenge两个阶段组成,通过采用抽样的策略对存储在云中的数据文件发起完整性验证。审计协议的核心算法由系统建立算法、挑战应答算法和验证算法组成。下面将介绍这些算法:⑴系统建立算法该算法对应机制的Setup阶段。数据拥有者输入系统的安全参数,算法输出该拥有者的公私钥对。接着数据拥有者将原文件进行分块,执行数据块标签生成算法,用其私钥为每个文件生成同态验证标签(homomorphicverifiabletag,简称HVT)集合,作为认证元数据。最后数据拥有者将HVT和对应的文件块一起加密并存储在云服务器上,并将其公钥发送给第三方审计。⑵挑战应答算法该算法是审计机制的核心算法。第三方审计机构通过向服务器发送随机数据块索引的验证请求发起挑战(challenge),服务器利用被请求的数据块索引和对应的同态标签生成证据(proof),并将其返回。⑶验证算法该算法用来验证响应的正确性。该算法由用户或第三方审计机构运行,输入数据拥有者的公钥,挑战请求和证据返回验证正确或错误。由于审计机构是以一定概率验证数据完整性的,所以如果审计机构想以更高的概率确认数据是否完整可以反复多次发起挑战请求并验证。3.2数据持有性证明机制为了验证远程节点上数据的完整性,Ateniese等人首先提出了PDP机制,以确保在不可信任的云服务器上数据的完整性。他们提出了一个静态的基于RSA签名机制的采用概率性的策略来完成完整性验证的方案。由于RSA签名机制的同态特性,云服务器可以将证据聚集成一个小的值,这大大降低了通信开销。他们还提出了一个支持公开验证的版本,允许任何第三方对云服务器发起挑战验证数据的持有性。在该方案中,由于任何第三方都可以验证数据的完整性,因此极大地扩展了PDP协议的应用程序领域。但是,由于对数据块索引的依赖,这些方案对动态操作中的重放攻击是不安全的,且并不适合于并行和分布式系统上的多云存储服务。为了让用户可以对远程节点上存储的数据进行插入、删除和修改等操作,审计机制要求提供动态操作。Erway等人提出了用动态数据结构来组织数据块来实现动态操作的PDP机制。该方案(DPDP-Ⅰ)基于Merkle哈希树使用一个经过身份验证的跳跃表来验证数据的完整性。但该方案并没有构建分布式的Merkle树,并不支持在多云服务器下存储数据,而且其认证路径过长,每次认证都需要大量的辅助信息,大大增加了计算和通信开销。该方案与Ateniese等人提出的原PDP机制相比,有相同的检测概率。之后,Erway等人利用RSA树构建了一个DPDP机制(DPDP-Ⅱ),该方案提高了数据完整性的检测概率,但也相应提高了云服务器的计算开销。Wang等人提出了另外一种支持数据插入的全动态操作的PDP机制,该机制采用Merkle认证哈希树来确保数据块在位置上的正确性,而数据块值则通过BLS签名机制来确保。执行动态更新操作时,在更新节点的同时,需要将辅助认证信息返回给数据拥有者,数据拥有者重新生成根节点的哈希值。之后,更新后的数据存储在第三方审计机构中的根哈希值。相比Erway等人使用的跳表数据结构组织数据,Merkle认证哈希树具有更简单的数据结构。该方案虽然引入了第三方审计机构代替数据拥有者对远程节点上的数据进行完整性验证,但却存在着隐私泄露的风险。通过n次挑战请求后,恶意的第三方有可能获取数据拥有者存储在远程节点上的文件块内容和元验证数据。然后恶意的第三方可以通过解方程组来获得块索引,也可以获得块索引所对应的签名标签。为了解决这个问题,Wang等人通过在证据上附加一个随机数来保护隐私,使得第三方审计机构无法知道数据内容并支持对多个用户的批量审计。然而,由于大量的数据标记,他们的审计协议可能会在服务器上造成大量的存储开销。虽然在上述已提出各种审计协议,但这些方案并不支持混合云存储下数据的完整性验证。上述各种PDP方案都是在同态验证标签上构建的,通过同态验证标签服务器可以根据单个响应值生成多个文件块的标签。但是,在混合云存储中,来自多个云服务供应商的响应并不能合并成单个值。由于缺乏同态响应,客户端必须反复调用PDP协议来验证存储在多个云服务器中的文件块的完整性。而且客户端还需要知道文件块的确定位置。在这种情况下,验证过程将大大增加了客户端的通信开销和计算成本。为了解决这个问题,Zhu等人提出了一个基于同态可验证响应和分层的哈希索引结构的分布式PDP(CPDP)方案。该方案支持对多个云服务器进行批量审计,支持公开验证,任何人(不仅仅是客户端)都可以验证数据的完整性并且对数据隐私保护。与非分布式PDP方案相比,降低了计算成本和通信开销。之后,Zhu等人将其扩展成支持混合云存储数据的动态审计。下面表1列出上述几种PDP协议的比较。表1几种PDP协议的比较ProtocolPublicverificationPrivacyDynamicMulti-cloudNoNoNoNoDPDP-ⅠNoNoYesNoDPDP-ⅡNoNoYesNoYesNoYesNoYesYesYesNoYesYesNoYesYesYesYesYes3.3数据可恢复性证明机制上述各种PDP协议只能快速验证远程节点上数据完整性而不能对已损坏数据进行一定程度上的恢复。POR协议对文件采用容错预处理既能实现数据的完整性验证也能恢复已损坏数据。Juels等人提出了一种基于哨兵的数据可恢复性证明机制(POR机制),该机制不仅能判断远程节点上的数据是否已损坏,并且可以恢复一定程度的数据失效。在该方案中,一些被称为“哨兵”的检验数据块被随机嵌入到数据文件中用来检测数据,一旦远程节点上的某数据块损坏也会损坏到对应检验块。云服务器是无法识别这些检验数据块的。但由于这些检验块存储在客户端,对数据进行验证客户端必然要进行大量计算工作来生成数据的标签,而且只能进行有限次验证且不支持公开验证和动态操作。虽然之后又有很多人,,,不断改进方案,但均没有实现动态更新证据的操作。只有,,提出的方案实现了较弱的动态更新操作。为了解决上述问题,Shacham等人,提出了基于BLS签名的可公开验证的POR审计协议。该方案使用了公开可验证的可验证的同态验证器,这些验证器是由BLS签名构建的,并且在随机预言机模型中被证明是安全的,允许无限次发起挑战请求。由于在初始化阶段引入了数据容错预处理,所以并不支持数据的动态操作而且也不具有对数据拥有者数据的隐私保护。随后,Wang等人提出利用Reed-Solomon纠错码的线性特征来支持部分动态操作,但不支持插入操作。该方案可以检测出远程节点中数据是否损坏,并获取在远程节点上数据发生错误的位置。但是该机制并不支持公开验证且只能进行有限次的数据完整性检测,也不能保证数据拥有者的数据隐私。之后,Li、Wang等人又提出了基于BLS签名和Merkle哈希树的允许数据动态变化的可公开验证的POR协议。后来,Li、Wang等人利用聚合签名技
本文标题:云存储中数据完整性验证综述
链接地址:https://www.777doc.com/doc-1917874 .html