云服务中数据完整性验证技术综述

2017-10-10 01:35孙明强田秀霞张安勤
上海电力大学学报 2017年4期
关键词:敌手挑战者完整性

孙明强, 田秀霞, 张安勤

(上海电力学院 计算机科学与技术学院, 上海 200090)

云服务中数据完整性验证技术综述

孙明强, 田秀霞, 张安勤

(上海电力学院 计算机科学与技术学院, 上海 200090)

随着业务量的不断增长,越来越多的企业接受了云计算,数据也从本地迁移到了云端.这种新的数据存储模式也引发了众多安全问题,而如何确保云服务器中数据的完整性是其中的关键问题.数据拥有者亟需一个稳定、安全、可信的完整性审计方案,用于审核云服务器中数据的完整性和可用性.阐述了云计算环境下数据完整性系统模型和安全模型,以及云存储数据完整性审计的研究现状,并重点分析了部分经典方案,通过方案对比,指出当前方案存在的优点、缺陷,以及云服务中数据完整性验证当前仍然面临的安全与隐私挑战,并探讨了该领域未来的研究趋势.

云服务; 数据完整性; 隐私保护; 纠删码

Web 2.0的出现及普及,大量的网页如雨后春笋般涌现,人们在网页交互的过程中产生了巨量的数据.2016年11月11日,阿里巴巴当天HiStore引擎处理数据记录超过6.0×1012条,原始存储数据量超过5 PB.

2013年10月,由于Adobe公司产品源代码上存在可被黑客利用的安全漏洞,致使其近300万客户的敏感信息及个人数据处于危险之中.这些隐私数据包括客户名称、加密信用卡或借记卡账号、产品失效期,以及与客户订单有关的其他信息等.2014年5月,小米论坛用户数据库疑似泄露,涉及用户约800万,并且已在网上公开传播下载,与小米官方数据吻合.

当用户使用云服务后,其存储在云网盘中的数据可能遭到其他用户或云服务提供商的未授权查看、恶意修改,甚至损坏.一般情况下,数据的安全性可通过加密、匿名等机制来确保[1-2].但用户使用云服务后,由于离线硬盘容量的限制,往往没有在本地保存数据副本,由此可能会面临以下3种数据损坏的状况.一是软件Bug或硬件老化导致数据丢失,这种失效属于小概率事件.二是存储在云中的数据可能遭到其他用户的未授权访问甚至恶意损坏.文献[3]以AmazonEC2云存储为例,指出恶意的用户可以对云环境中同一宿主机上的其他虚拟机用户发起攻击,未授权访问甚至恶意损坏其他用户的数据.三是在现有的云服务框架下,云盘中数据的完整性无法得到有效的确保[4].数据完整性证明机制能有效确保用户数据的完整性[5].

本文将从现有数据持有性证明机制和数据可恢复证明机制两个方面对现有工作进行总结,并探讨数据可恢复性的机制和类型.

1 系统模型

云服务存储的一般结构如图1所示.它由用户 (client)、云服务提供商 (cloud service provider,SCP)以及第三方审计 (thirdly party auditor,TPA)组成.

其中,云服务提供商具有较强的计算资源和存储能力;为了支持公开验证,云服务存储架构中引入可信的第三方审计,第三方审计由用户授权,对存储在云中的数据执行完整性审计检查.3者之间的业务流程如图1所示.

数据完整性验证机制本质上是一种“挑战-应答”协议.在系统初始化阶段,用户对数据文件进行预处理,并依据文件系统的加密模型,自生成或与CSP和TPA协商密钥,计算数据文件的元数据(Metadata),将数据存储在云存储服务器中.为了降低存储开销,用户往往会删除本地数据.而为了确保方案的高效性,TPA在验证过程中无需取回用户数据.验证过程中,TPA首先向CSP发送挑战信息challenge(通常为某个块的编号),CSP接收到challenge后,根据存储的数据计算并生成完整性验证证据p返回给TPA.然后,TPA对返回的证据进行验证,并得出结论,再将验证结论发送给用户.

图1 云服务存储的一般结构及业务流程

该验证方案主要由5个多项式级复杂度算法组成,分别定义如下:

(1) key_generate(1k)→(pk,sk) 由用户执行的密钥生成算法,输入安全参数k,输出用户的公开密钥pk和私有密钥sk;

(2) tag_generate(F,sk)→T由用户执行的标签生成算法,生成元数据,并将文件F和公钥pk作为输入,为每一个数据块生成一个标签,组成标签集合T;

(3) generate_challenge(c)→challenge 由用户执行,输入用户参数c,生成相关的挑战信息challenge;

(4) generate_proof(F,T,challenge)→(φ,τ)由服务器端执行,输入服务器保存的数据文件F和标签集合T以及挑战信息challenge,输出数据块证据φ和标签证据τ;

(5) verify(challenge,φ,τ,pk)→true/false 由TPA执行,输入挑战信息,服务器端返回的数据块证据φ和标签证据τ以及用户的公钥pk,如验证通过,返回true,否则返回false.

2 安全模型

明确云服务中完整性验证的需求和必要性是构建安全模型的基础,而构建数据完整性验证的安全模型是完整性证明和系统扩展以及优化的基础.

云网盘中的用户数据所受到的攻击类型分为替换攻击、伪造攻击和重放攻击3类.

对于支持公开验证的数据完整性验证方案,主要分析对不可信的云存储服务器的可验证安全性.服务器安全性的敌手模型定义和验证过程如下.

敌手模型即用户或者第三方审计机构作为挑战者,与敌手进行交互.敌手的目标是以不可忽略的概率欺骗挑战者,返回的验证信息通过TPA的验证而不被发现.

敌手与挑战者之间的完整性验证游戏主要包含setup,query,challenge,forge,verify 5个阶段.

(1) setup 挑战者选择参数k,运行key_generate (1k)算法,生成公私密钥对(pk,sk),挑战者将公钥pk发送给敌手.

(2) query 敌手与挑战者之间相互通信.敌手选择一些数据块mi(i=1,2,3,…,n),向挑战者2问询这些数据块的标签.挑战者针对敌手的的每一次查询,运行tag_generate(F,sk)方法,计算相应的验证标签τi(i=1,2,3,…,n)并返回给敌手.

(3) challenge 根据敌手问询过的所有数据块{m1,m2,m3,…,mn},挑战者可以向敌手发起挑战,将挑战信息chal发送给敌手.

(4) forge 敌手接受到挑战信息后,生成证据p返回给挑战者.

(5) verify 挑战者运行verify(chal,φ,τ,pk)方法,验证p的正确性.

如果挑战者最后输出“true”,表明敌手赢得游戏.

3 完整性验证的研究现状

在传统存储系统如在线存储系统、海量存储系统以及数据库管理系统中,数据完整性验证方案主要基于用户对数据的访问.用户通过访问需要的数据文件整体来确认文件的完整性,从而造成巨大的I/O开销,且受限于网络带宽.显然,这种验证方式在云存储环境下不可行.为了应对云端海量存储的数据,提出了新的数据完整性验证方法,即基于“挑战-应答”协议的数据完整性验证机制.在该机制下,用户或可信的第三方向云存储提供商发起挑战,云存储服务器生成相应数据,用户或可信第三方根据本地存储的元数据以及相应验证方法判断服务器返回结果,并返回判断结果.

数据完整性验证机制分类如图2所示.

图2 数据完整性证明机制

3.1 数据完整性验证机制

早在云存储产生之前,存储服务的可靠性就被广泛讨论[6].针对传统网络中远程数据的安全问题,DESWARTE Y等人[7]最先提出基于消息认证码(Message Authentication Code,MAC)的远程数据验证机制.在该机制中,用户预先计算数据的MAC值并保存在本地,然后将数据存储到远程节点.用户验证数据的完整性时,首先从远程存储器上下载所有数据,然后计算取回数据的MAC值,并将该值与存储在本地的MAC值进行比较,即可证明数据是否保存完整.然而,基于MAC的验证机制存在许多问题.首先,用户每次发起验证时,都需要取回存储在远程节点上的数据,不仅造成巨大的通信开销,还有可能泄露数据隐私.其次,用户验证结束后,需重新计算数据的MAC值,才能进行下一次验证,这样会带来巨大的计算负担.

针对上述问题,SEBÉ F等人[8]提出了基于RSA签名的完整性验证机制,RSA签名的同态特性[9]使得该机制在验证过程中,无需取回用户数据即可完成验证.每次验证后,用户无需重新计算元数据,即该方案能支持无限次验证.但对于大型文件,用户在计算RSA签名值时,巨大的计算开销往往使得用户难以承受.

基于DESWARTE Y等人的方案,文献[10]从降低计算复杂度的角度出发,类似于密码学中的混合加密 (hybrid encryption),对元数据的计算方法进行了改进,先利用哈希函数计算出原始数据文件的哈希值,再计算相应的数据标签,以降低用户的计算开销.随后,SEBÉ F等人[8]提出了优化方案,将blocks/chunks的思想引入数据完整性验证机制,先将大的数据文件分块,然后生成块签名,由此降低了元数据的计算开销.

ATENIESE G等人[5]基于概率抽样的数据完整性验证机制,且利用RSA同态认证标签 (Homomorphic Verifiable Tags,HVTs)来降低通信开销.HVTs的同态性质可以将多个数据块的认证标签聚合作为证据返回给验证者,即服务器生成的证据不再随被挑战的数据块数目的增长而线性增长.因此,该方案既减少了服务器的计算负担,又降低了服务器与验证者之间的通信负担.但在预处理阶段,为每一个数据块计算的基于RSA的同态认证标签大小为128 B,用户计算负担仍然较大,并且将生成的大量元数据发送给服务器也导致较高的通信负担.针对云存储中用户频繁的更新操作,ATENIESE G等人[11]提出了一种支持动态更新操作的数据持有性证明方案,但该机制不能支持数据插入操作,仅支持追加、删除和修改数据的操作.

POR(Proofs of Retrievability)机制由JUELS A等人[12]首先提出.该机制不仅能识别数据损坏,还能在某种程度上恢复受损数据.但该方案存在验证次数有限的问题,并且不能支持用户的动态更新操作.ATENIESE G等人[5]提出了另外一种用于验证不可信服务器的模型,在方案中引入了“挑战-应答”模式.为了改善验证效率问题,后续提出的PDP(Provable Data Possession)的模型普遍提供了基于概率的验证方案[13-14].基于BLS签名方案的焦点在于服务器的虚假应答[15],在此方案中,将待验证数据块及相应元数据通过同态技术聚合起来,在降低了服务器响应时间的同时,也避免了服务器的虚假应答.

3.2 动态数据持有性证明机制

数据动态更新问题产生的主要原因是在元数据中加入了数据块的索引值,在更新数据(如插入一个新的数据块)时,插入位置后面所有的数据块索引值都会改变,相应的数据块标签值全部需要重新计算,造成巨大的计算开销,并且其更新过程复杂难以实现[16].

ERWAY C C等人[17]提出了一个支持全动态更新的数据持有性证明机制,该机制利用分块思想,首先将大的数据文件分割成小的数据块,然后为每个数据块生成相应的标签.该机制支持动态操作,但在验证过程中,服务器与客户端交互量过大,且对于大型数据,服务器构建的跳表结构认证路径过长.

ZHU Y等人[18]提出了一个高效的云存储数据完整性验证方案,该方案基于同态验证标签和哈希索引层次结构,能够减小服务端的计算开销和存储负担.WANG Q等人[19]通过设计新的数据结构,提出了支持全动态操作的数据完整性验证机制,该机制利用BLS签名来确保数据块的完整性,并通过哈希树来确保数据块的正确位置.

GRITTI C等人[20]利用对称双线性对,提出了一个高效的PDP方案.该方案无需进行指数运算,只执行3次双线性运算,因此较其他方案来说,该方案的性能得到了极大的提高.

3.3 基于位置感知的数据完整性验证

MAO J等人[21]为了验证基于位置感知的动态数据的完整性,提出了一个新的数据结构——位置感知的Merkle树,以支持云存储的有效完整性检查.精心设计的Merkle树确保了每个节点与其父节点的相对位置信息的密封,从而不需要检索整个树结构来计算根节点.基于位置感知的Merkle树开发了一个新的公开验证方案来检查云数据的完整性,该方案能有效地支持动态数据操作.Merkle Tree的结构如图3所示.

图3中,每个节点知道相对于其父节点的相对位置,并且其位置信息与每个节点的值绑定.

图3 Merkle Tree的结构示意

Ai是一个3元组,即:

Ai=(Ai.p,Ai.r,Ai.v)

式中:Ai.p——节点Ai相对其父节点的位置;Ai.r——隶属于节点Ai的叶子节点个数;Ai.v——节点Ai的hash值.

ERWAY C C等人[17]提出的基于调表结构的动态数据持有性证明,与文献[21]的方案具有原理一致性.

4 数据可恢复性的机制和类型

在设计一个POR协议的过程中所面临的主要的挑战是纠删码的结构,即数据块到校验块的映射,必须随机防止对抗服务器引入目标,无法检测文件损坏.STEFANOV E等人[22]在他们提出的云文件系统Aris中运用了两种技术.首先,在本地的门户缓存奇偶校验信息(仅在固定的时间间隔上传到云中).由于云端不能识别个别的文件更新,但修改的校验只有在很长一段时间间隔后聚集,云服务提供商不能轻易地推断从文件块到校验块的映射.其次,设计了一个新的稀疏二进制代码结构,与来自文件系统随机选择的块相结合为一个码字.代码支持通过二进制异或运算高效更新到文件系统中,它的稀疏结构支持非常大的文件系统.

在传统的存储方案中,我们通过硬盘RAID(Redundant Arrays of Independent Disks)或NAS (Network Attached Storage)来防止自己的数据意外损坏.而大部分的POR协议中,通过纠删码来防止服务器端数据的意外损坏.需要注意的是,数据的恶意篡改是不能通过纠删码来恢复的.

4.1 Hadoop raid

分布式文件系统用于解决海量数据存储的问题,很多云存储提供商采用Hadoop分布式文件系统(HDFS)作为数据存储的基础设施,并在其上构建如Hive,HBase,Spark等计算服务.

HDFS块存储采用三副本策略来保证数据的可靠性.但随着数据量的不断增长,三副本策略为可靠性牺牲的存储空间也越来越大.HDFS Raid以文件为单位计算校验,并将计算出来的校验block存储为一个HDFS文件.HDFS Raid支持XOR和RS两种编码方式,其中XOR以位异或生成校验信息;而RS又称里所码,即Reed-solomon codes[23],是一种纠错能力很强的信道编码,被广泛应用在CD,DVD,蓝光光盘的数据纠错中.Hadoop块存储与Hadoopraid块存储的对比如图4所示.

4.2 Ceph分布式存储系统

Ceph是根据WEIL S A的博士论文[24]所设计开发的新一代自由软件分布式文件系统.其设计遵循了数据与元数据的分离、动态的分布式的元数据管理和可靠统一的分布式对象存储机制3个原则.

Ceph是一个高可用、易于管理、开源的分布式存储系统,可以在一套系统中同时提供对象存储、块存储以及文件存储服务.

图4 Hadoop块存储与Hadoop raid块存储的对比

4.3 改进的纠删码

为降低数据恢复的通信量,FaceBook在2013年和加州大学共同发表了论文[25],并把这一成果用在“进阶版HDFS”上,其局部校验编码 (local reconstruction parity,LRC)方法如图5所示.

图5 局部校验编码的结构

在10个数据块后添加4个校验块,并将10个数据块均分为2组,每组单独计算出一个局部校验块.此种编码方式的空间冗余率为 (10+4+2)/10=1.6.

5 存在的问题

高效、安全且具有可恢复性的完整性审计方案对用户体验以及云存储服务器的工作效率至关重要.在提高数据完整性审计方案的计算、通信和存储效率的同时,还需要提高错误数据的检测概率,使得审计方案能以高概率和高精度检测到错误数据并最大限度地恢复数据.

在云服务中,数据的动态操作主要包括修改、插入、删除,完整性审计方案支持数据的动态操作对于云存储服务而言意义非凡,这一特性将决定云存储服务应用的深度和广度.现有的众多声称支持动态操作的审计方案仅提出了模型,未能在实践中检验动态操作的可行性和效率.

随着科技的进步以及需求的扩大,云储存服务愈发呈现出多用户、多服务器这一特性,研究一种高效的批量审计方案,将有效提高云存储服务的质量.多用户、多服务器的聚合验证技术在很大程度上会降低验证过程中的通信开销,因此该技术将大大降低云服务提供商的计算开销.

6 结 语

随着云服务的大量应用,用户对数据完整性审计方案的高效、安全及可恢复性等需求不断提高.结合已有的文献,以及数据存储新技术和新趋势,从数据分级、区块链、纠删码3个方面总结如下.

(1) 数据分级,多种方案并存.数据分为冷数据和热数据,不同类型的数据其价值相差甚大.数据分级以及加密分级是审计协议设计中需要考虑的问题,在数据备份成本固定的情况下,分级有利于云存储资源的集中利用,有利于提高审计框架的操作效率.

(2) 区块链技术在数据存储方面的应用.纠删码只能恢复数据的意外损坏,却不能修复被恶意篡改的数据.区块链技术的不可更改性和透明性,有助于防范数据的篡改,追踪数据的来源.区块链是首个自带对账功能的数字记账技术实现,与传统的记账技术相比,其特点如下:一是维护一条不断增长的链,只可能添加记录,而发生过的记录都不可篡改;二是去中心化,或者说多中心化,无需集中控制却能达成共识,节点的实现以分布式为主;三是通过密码学的机制来确保交易无法抵赖和破坏,并尽量保护用户信息和记录的隐私性.

(3) 结合工业界纠删码的实践,在数据可恢复性验证协议的设计过程中,需要综合考虑本地和云端的恢复机制,以最大限度保护数据.

[1] MACHANAVAJJHALA A,GEHRKE J,KIFER D,etal.L-diversity:privacy beyond k-anonymity[C]//International Conference on Data Engineering,Atlanta,Ga,USA,2006:24.

[2] SWEENEY L.k-Anonymity:a model for protecting privacy[J].International Journal of Uncertainty,Fuzziness and Knowledge-Based Systems,2012,10(5):1-14.

[3] RISTENPART T,TROMER E,SHACHAM H,etal.Hey,you,get off of my cloud:exploring information leakage in third-party compute clouds[C]//ACM Conference on Computer and Communications Security,CCS 2009,Chicago,Illinois,USA,2009:199-212.

[4] WANG Q,WANG C,LI J,etal.Enabling public verifiability and data dynamics for storage security in cloud computing[C]//European Conference on Research in Computer Security.Springer-Verlag,2009:355-370.

[5] ATENIESE G,BURNS R,CURTMOLA R,etal.Provable data possession at untrusted stores[C]//ACM Conference on Computer and Communications Security,2007:598-609.

[6] BAKER M,SHAH M,ROSENTHAL D S H,etal.A fresh look at the reliability of long-term digital storage[J].Eurosys Conference,2005,40(4):221-234.

[7] DESWARTE Y,QUISQUATER J J,SAÏDANE A.Remote integrity checking[M]//Integrity and Internal Control in Information Systems VI,Springer Link,2004:1-11.

[8] SEBÉ F,DOMINGO-FERRER J,MARTINEZ-BALLESTE A,etal.Efficient remote data possession checking in critical information infrastructures[J].IEEE Transactions on Knowledge & Data Engineering,2008,20(8):1 034-1 038.

[9] JOHNSON R,MOLNAR D,SONG D X,etal.Homomorphic signature schemes[C]//The Cryptographer′s Track at the Rsa Conference on Topics in Cryptology.Springer-Verlag,2002:244-262.

[10] FILHO D L G,BARRETO P S L M.Demonstrating data possession and uncheatable data transfer[J].IACR Cryptology ePrint Archive,2006(1):150.

[11] ATENIESE G,PIETRO R D,MANCINI L V,etal.Scalable and efficient provable data possession[C]//Proceedings of the 4th International Conference on Security and Privacy in Communication Networks,2008:1-10.

[12] JUELS A,KALISKI B S.Pors:proofs of retrievability for large files[C]//ACM Conference on Computer and Communications Security,2007:584-597.

[13] ZHU Y,WANG H,HU Z,etal.Efficient provable data possession for hybrid clouds[C]//Proceedings of the 17th ACM Conference on Computer and Communications Security,Chicago,Illinois,USA,2010:756-758.

[14] ATENIESE G,KAMARA S,KATZ J.Proofs of storage from homomorphic identification protocols[C]//International Conference on the Theory and Application of Cryptology and Information Security:Advances in Cryptology.Springer-Verlag,2009:319-333.

[15] SHACHAM H,WATERS B.Compact proofs of retrievability[C]//International Conference on the Theory and Application of Cryptology and Information Security,Springer Berlin Heidelberg,2008:90-107.

[16] 谭霜,贾焰,韩伟红.云存储中的数据完整性证明研究及进展[J].计算机学报,2015,38(1):164-177.

[17] ERWAY C C,PAPAMANTHOU C,TAMASSIA R.Dynamic provable data possession[J].ACM Transactions on Information and System Security (TISSEC),2015,17(4):1-29.

[18] ZHU Y,HU H,AHN G J,etal.Efficient audit service outsourcing for data integrity in clouds[J].Journal of Systems & Software,2012,85(5):1 083-1 095.

[19] WANG Q,WANG C,REN K,etal.Enabling public auditability and data dynamics for storage security in cloud computing[J].IEEE Transactions on Parallel & Distributed Systems,2011,22(5):847-859.

[20] GRITTI C,SUSILO W,PLANTARD T.Efficient dynamic provable data possession with public verifiability and data privacy[C].Information Security and Privacy,Springer,Cham,2015:395-412.

[21] MAO J,ZHANG Y,LI P,etal.A position-aware Merkle tree for dynamic cloud data integrity verification[J].Soft Computing,2015(11):1-14.

[22] STEFANOV E, DIJK M V,JUELS A,etal.Iris:a scalable cloud file system with efficient integrity checks[C].Computer Security Applications Conference,2011:229-238.

[23] WICKER S B.Reed-Solomon codes and their applications[J].Communications of the Acm Cacm Homepage,1994,24(9):583-584.

[24] WEIL S A,BRANDT S A,MILLER E L,etal.Ceph:a scalable,high-performance distributed file system[EB/OL].[2010-12-23].https://wenku.baidu.com/Diew/30d9e 7cdda3836baf1faebf.html.

[25] SATHIAMOORTHY M,ASTERIS M,PAPAILIOPOULOS D,etal.XORing elephants:novel erasure codes for big data[J].Proceedings of the Vldb Endowment,2013,6(5):325-333.

(编辑 胡小萍)

ASurveyofDataIntegrityVerificationTechniquesinCloudServices

SUNMingqiang,TIANXiuxia,ZHANGAnqin

(SchoolofComputerandInformationEngineering,ShanghaiUniversityofElectricPower,Shanghai200090,China)

With the growing volume of business,more and more enterprises are accepting the cloud computing,with data migrating from the local to the cloud.This new data storage model also causes many security problems,among which ensuring the integrity in the cloud server is a critical one.The data owner needs to have a stable,safe,reliable integrity audit framework,for auditing the integrity of the data in the cloud server and availability.The cloud computing environment data integrity and security model,system model and the research status of cloud storage data integrity audit are expounded,with focuses on analyzing some classical solution through scheme comparison.It is pointed out that the advantages and defects exist in the current scheme.Refining data integrity verification in cloud services is currently still facing the challenges of security and privacy problems,and the trend of research in this field are discussed.

cloud service; data integrity; privacy protection; eraser coding

10.3969/j.issn.1006-4729.2017.04.020

2017-03-09

田秀霞(1976-),女,博士,教授,河南安阳人.主要研究方向为数据库安全,隐私保护.E-mail:xxtian@shiep.edu.cn.

国家自然科学基金(61532021);上海市科学技术委员会地方能力建设项目(15110500700).

TP309

A

1006-4729(2017)04-0407-07

猜你喜欢
敌手挑战者完整性
“挑战者”最后的绝唱
与“敌”共舞
闪电远击侠“挑战者”2
不带着怒气做任何事
挑战者 敢闯敢创激发无限可能
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
精子DNA完整性损伤的发生机制及诊断治疗
桩身完整性检测中缺陷的综合判别
不带着怒气作战
不带着怒气做任何事