————————————————————————————————————————————————基于动态Bloomfilter的云存储安全去重方案作者王平雁,柳毅机构广东工业大学计算机学院DOI10.3969/j.issn.1001-3695.2018.07.0432基金项目国家自然科学基金资助项目(61572144)预排期卷《计算机应用研究》2019年第36卷第12期摘要现有的所有权证明去重方案容易遭受诚实但好奇服务器的威胁影响,借助可信第三方解决该问题将导致开销过大。基于动态Bloomfilter提出一种改进的、无需可信第三方的所有权证明安全去重方案,采用收敛加密算法抵抗诚实但好奇的服务器,并通过服务器检查数据块密文和标签的一致性来防止数据污染攻击。此外,采用密钥链机制对收敛密钥进行管理,解决了现有方案中收敛密钥占用过多存储空间的问题。分析与比较表明,该方案具有较小的密钥存储开销和传输开销。关键词云存储;数据去重;Bloomfilter;收敛加密;所有权证明作者简介王平雁(1990-),男,广东湛江人,硕士研究生,主要研究方向为云计算安全(1126877291@qq.com);柳毅(1976-),男,教授,博士,主要研究方向为云计算机安全、网络安全等.中图分类号TP309.2访问地址投稿日期2018年7月13日修回日期2018年8月31日发布日期2018年10月10日引用格式王平雁,柳毅.基于动态Bloomfilter的云存储安全去重方案[J/OL].2019,36(12).[2018-10-10].第36卷第12期计算机应用研究Vol.36No.12录用定稿ApplicationResearchofComputersAcceptedPaper——————————收稿日期:2018-07-13;修回日期:2018-08-31基金项目:国家自然科学基金资助项目(61572144)作者简介:王平雁(1990-),男,广东湛江人,硕士研究生,主要研究方向为云计算安全(1126877291@qq.com);柳毅(1976-),男,教授,博士,主要研究方向为云计算机安全、网络安全等.基于动态Bloomfilter的云存储安全去重方案*王平雁,柳毅(广东工业大学计算机学院,广州510006)摘要:现有的所有权证明去重方案容易遭受诚实但好奇服务器的威胁影响,借助可信第三方解决该问题将导致开销过大。基于动态Bloomfilter提出一种改进的、无需可信第三方的所有权证明安全去重方案,采用收敛加密算法抵抗诚实但好奇的服务器,并通过服务器检查数据块密文和标签的一致性来防止数据污染攻击。此外,采用密钥链机制对收敛密钥进行管理,解决了现有方案中收敛密钥占用过多存储空间的问题。分析与比较表明,该方案具有较小的密钥存储开销和传输开销。关键词:云存储;数据去重;Bloomfilter;收敛加密;所有权证明中图分类号:TP309.2doi:10.3969/j.issn.1001-3695.2018.07.0432SecurededuplicationschemebasedondynamicBloomfilterincloudstorageWangPingyan,LiuYi(SchoolofComputersGuangdongUniversityofTechnology,Guangzhou510006,China)Abstract:ExistingProofofOwnershipschemesarevulnerabletothethreatofhonest-but-curiousservers.Withthehelpofatrustedthirdpartytosolvetheproblemcanleadtohighoverhead.ThispaperproposedanimprovedProofofOwnershipschemebasedonDynamicBloomFilter,whichdoesn’trequireatrustedthirdparty.Theschemeusesconvergentencryptionagainsthonest-but-curiousservers.Toresistdatapoisoningattack,itcheckswhethertheencryptedblockscorrespondwiththetokensatserverside.Moreover,akeychainingmechanismisusedtosolvetheproblemthatconvergentkeysrequiretoomuchstoragespaceinexistingschemes.Analysesandcomparisonsshowthattheschemehaslowerkeystorageoverheadandtransferringoverhead.Keywords:cloudstorage;datadeduplication;bloomfilter;convergentencryption;proofofownership0引言随着云计算技术的不断发展,越来越多的用户选择将数据外包给云端进行存储和管理。TheCISCOGlobalCloudIndex(2015-2020)显示[1],2015年,全球数据中心业务总量为4.7ZB,其中云数据业务3.8ZB,占比81%;预计在2020年,全球数据中心业务总量增长三倍将达到15.3ZB,其中云数据业务14.1ZB,占比92%。面对空前庞大规模的数据量,如何经济、高效、安全地进行数据存储,是云服务提供商迫切需要解决的一个难题。数据去重(deduplication)技术,也称为重复数据删除技术,是一种消除冗余文件或文件内部冗余数据块的技术。由于该技术仅保留一份数据副本,因此可以极大地节省云存储空间[2,3]。典型的存储系统常常采取文件的摘要作为用户的文件拥有凭证,导致攻击者仅凭借文件的摘要就可以获得整个文件[4]。针对于此,Halevi等人[5]首次提出了所有权证明(proofofownership,PoW)的概念,用户必须通过所有权证明才能拥有文件的权限,但该方案客户端的计算开销和I/O开销过大。DiPietro等人[6]提出一种改进的方案s-PoW,通过选取文件中随机的比特来对用户进行验证,该方案提高了客户端的效率和减小带宽消耗,但在服务器端效率较低。Blasco等人[7]提出基于Bloomfilter的方案bf-PoW,云服务器通过Bloomfilter能够快速验证用户的响应结果,该方案在服务器端相比s-PoW方案效率更高,然而存在着Bloomfilter误判率随元素增加而不断增加的问题。Yu等人[8]提出了一种适用于移动云计算的PoW去重方案,提高了客户端的效率。由于上述方案未考虑数据机密性,容易遭受诚实但好奇(honest-but-curious)服务器的威胁[9],一些方案[10-14]借助可信第三方进行数据管理,从而保证了用户数据的机密性。然而,增加可信第三方使得开销过大,在实际的云服务系统中难以实现。González-Manzano等人[15]提出一种结合收敛加密算法、无可信第三方的ce-PoW方案,有效防止诚实但好奇的服务器查看文件,同时还考虑了数据污染攻击的问录用定稿王平雁,等:基于动态Bloomfilter的云存储安全去重方案第36卷第12期题,但该方案收敛密钥占用了客户端较大的存储空间。刘竹松等人[16]基于Bloomfilter提出一种结合收敛加密的高效安全去重方案,但该方案未考虑Bloomfilter误判率增长的问题,并且不能抵抗污染攻击。张曙光等人[17]提出一种无需可信第三方的自适应重复数据删除方案,首先检查数据的流行度,当数据为非流行数据时,借助PAKE协议进行密钥传递。由于PAKE协议共享密钥需要双方同时在线,因此该方案在实用性方面受到限制。针对上述方案存在的缺陷,本文基于动态Bloomfilter提出了一种无需可信第三方的所有权证明方案DBF-Dedup。本方案通过对BloomFilter的状态进行动态管理,有效缓解BloomFilter误判率的快速增长问题;采用收敛加密算法保证了数据机密性,同时采用密钥链机制来管理收敛密钥,解决了密钥管理的难题。1问题描述1.1系统模型如图1所示,本文方案的系统模型包括云服务提供商(CSP)和用户(User)。a)云服务提供商(CSP)。提供外包数据服务的实体,由主服务器和存储服务器构成。主服务器负责文件重复性检测、生成挑战数据和验证标签等;存储服务器负责存储文件的数据块密文,向合法用户发送其申请访问的文件。b)用户(user)。外包数据存储到云存储系统的实体。对于云存储系统中未存在的数据,用户只需要上传一次;对于云存储系统中已经存在的数据,用户只需要通过所有权证明即可获得数据权限,不需要重复上传,节省了带宽消耗。CSP上传/下载请求验证,返回结果User图1系统模型1.2威胁模型在本文方案的威胁模型中,将攻击者来源分两大类:a)内部攻击者。通常指的是来自CSP内部的恶意员工,他们的目标是从用户存储的数据中获取有价值的信息,甚至会与外部攻击者进行串谋。另外,内部攻击者可能为了达到某些目的而破坏数据的完整性。b)外部攻击者。通常指的是来自CSP外部的攻击者,他们企图冒充合法的用户来获取云存储系统中的数据。外部攻击者可能从其他地方得到部分信息,比如文件的摘要,希望通过该信息来获得全部的数据。外部攻击者可能与合法的用户进行合作,或与内部攻击者进行串谋。2预备知识2.1BloomfilterBloomfilter[18]是一种高效的概率性数据结构,用于判断某个元素是否属于特定的集合,通常由1个二进制向量和k个相互独立的哈希函数组成。设一个Bloomfilter中有m比特的二进制向量,初始化所有比特位为0。集合中有n个元素,每个元素通过计算k个哈希函数{H1,H2,…,Hk}映射到{1,2,…,m}的范围中。当插入元素x时,将k个哈希函数映射的位置Hi(x)置为1。如图2所示,n=2,k=3,箭头指向的地方即是哈希函数映射的比特位,将其置为1。xy1101011图2BloomFilter映射方法示意图当查询某个数据对象s时,计算{H1(s),H2(s),…,Hk(s)},查看映射位置是否全为1,若不全为1,则判断该集合一定不包含s;若全为1,s很可能属于该集合,但也有一定概率出现误判。假设某个不属于集合的元素的k个函数映射位置恰好全为1,则会误判该元素属于集合,这种现象被称为假阳性(falsepositives),而且当集合中元素越多误判率就越高。元素存在的误判率为pf:1(1(1))(1)knknkkmfpem(1)除此之外,BloomFilter另一个缺陷是不能删除已存在的元素。针对以上缺点,采用动态Bloomfilter(dynamicBloomfilter,DBF)[19]能有效控制误判率的增加。动态Bloomfilter由若干个标准Bloomfilter(standardBloomfilter,SBF)组成。初始阶段DBF中的SBF数量是1,状态是active,表示误判率小于上限值;随着不断插入新的元素,最后状态将变为full,即误判率达到上限值,此时增加一个新的SBF,确保状态一直是active。通过监控SBF的状态并保持动态更新,有效控制了误判率。除了插入操作,DBF还可以执行查询、删除、合并等操作。DBF需要初始化以下几个参数:DBF的最大误判率,SBF数量s的上限值,SBF的最大误判率,集合中元素个数n,单个SBF的大小m,单个SBF的容量c,单个SBF的哈希函数数量k。易知/snc