一种支持用户全动态并行操作的抗泄露公开云审计方法技术

技术编号:20686787 阅读:30 留言:0更新日期:2019-03-27 20:39
在保护数据机密性或隐私性的前提下,公开证明外包动态云存储数据的完整性一直是公开云审计技术的关注热点和难点。本发明专利技术公开了一种支持用户全动态并行操作的抗泄露公开云审计方法。首先,引进了动态累加器这一数据认证结构,实现了无论第三方审计者进行多少次审计且不管每次审计挑战块是否重复,好奇的第三方审计者均无法获得关于云外包数据的任何数据内容,巧妙地规避了泄露挑战数据块隐私的风险,达到抗数据泄露的功能;其次,结合双链的动态哈希表和动态累加器,使得用户可以远程对外包存储数据进行插入、删除和修改的全动态并行操作,且具有验证动态更新操作是否正确执行的功能。

【技术实现步骤摘要】
一种支持用户全动态并行操作的抗泄露公开云审计方法
本专利技术属于云计算中外包云存储数据安全的
,具体是基于动态累加器提出的一种支持用户动态操作的抗泄露公开云审计方法。
技术介绍
云存储是云计算的一个重要分支,允许数据拥有者(DataOwner,DO)将数据远程存到云端,并为用户提供强大的外包计算和存储服务。近年来,由于功能日趋强大的处理器、丰富的带宽资源和灵活的网络连接,越来越多的客户选择将数据外包给云服务提供商(CloudServerProvider,CSP),以减轻本地购买硬件、数据维护等人力物力的投资。虽然这种新的数据存储模式被认为是互联网上一个很有前景的服务平台,但高度集中的计算资源给云存储在安全性和性能方面带来了严峻的挑战。首先,数据拥有者DO将数据存储到云端后,就失去了对数据的物理控制能力,这种数据所有权和控制权的分离,确实给管理带来了困难。对数据拥有者DO而言,如何确定云服务器是否完整、安全地存储着数据拥有者DO的数据是最值得关注的问题之一,造成这种问题的实际原因如下:(1)无论云存储服务提供商CSP采取多可靠的措施,偶尔也会因软件失效或硬件损坏的原因丢失数据。更糟糕的情况是,云存储服务提供商CSP可能为了自己的利益而决定对用户隐瞒这些数据错误。(2)云存储服务提供商CSP可能会丢弃未被访问过或很少被访问的数据,以节省存储空间,并声称这些数据仍然被正确地存储在云服务器上。因此,开发有效的审计技术,使用户确信数据被安全完整地存储在远程云服务器上是至关重要的,其核心是如何有效地远程验证数据完整性。其次,解决上述问题的方案根据验证者的不同分为两类:私有审计和公开审计。传统上,只有数据拥有者DO自己跟云存储服务提供商CSP进行私有审计协议来检查数据的完整性,这样做的好处是数据拥有者不用担心数据隐私被其他审计方获取,缺点是相关审计数据上传、动态更新以及数据私有审计等需要大量的通信和计算资源,这会使通信和计算资源有限的数据拥有者DO的数据维护工作量非常大,容易造成系统的通信和计算瓶颈。此外,让数据拥有者DO或云存储服务提供商CSP其中一方执行整个审计过程也是不恰当的,因为数据拥有者DO和云存储服务提供商CSP之间往往互不信任,从而没有一方能够保证提供可靠和公正的审计结果。因此,可引入一个独立可信第三方审计者(TrustedPartyAuditor,TPA)代替数据拥有者DO以公开交互方式来验证外包云存储数据的完整性和可靠性,即公开云审计技术,也是目前云外包数据完整性检验中的主流方法。可是,目前云存储中公开审计仍存在一些棘手的问题亟待解决。第一是如何保证维护外包云存储数据对第三方审计者TPA的机密性和隐私保护,即第三方审计者TPA虽然和数据存储方CSP进行了多次交互式数据完整性审计协议,可第三方审计者TPA依旧无法从接收到的审计信息中获取数据拥有者DO数据的任何实际内容。虽然加密外包数据是保护外包云存储数据机密性和隐私性的一种有效方法,但加密后数据却会给数据动态更新等操作带来很大的不便,且若处理不当,第三方审计者TPA依旧会获得外包云存储数据的隐私信息,造成信息泄漏事故。第二是外包云存储的数据在整个数据存储生命周期内不会保持一成不变。事实上,数据拥有者DO会根据各种实际需求和变化对数据文件执行动态操作,如修改、插入、删除等数据动态操作。事实上,支持外包云存储数据的动态操作是公开云审计中一个非常现实的需求。因此,设计一种独立于数据加密的公开抗泄露公开云审计方法对云存储系统具有重要的实际意义。为了保证数据机密性和支持动态审计,文献AtenieseG,PietroRD,ManciniLV,etal.Scalableandefficientprovabledatapossession[C].InternationalConferenceonSecurity&PrivacyinCommunicationNetowrks,ACM,Istanbul,Turkey,No.9,2008.首次提出了一种动态数据持有性证明(DynamicProvableDataPossession,DPDP)协议。但是,由于此协议在建立阶段需要预先计算一定数量的元数据,从而导致查询和数据动态更新的次数有限,且此协议不支持全动态的数据操作,特别是不支持在任意位置插入数据块(它只支持添加类型的插入)。文献ErwayC,PapamanthouC,etal.Dynamicprovabledatapossession[J].AcmTransactionsonInformation&SystemSecurity,2015,17(4):1-29.给出一个扩展的原始数据持有性证明(ProvableDataPossession,PDP)模型,并利用基于行列的认证跳表(skiplist)提出了一个动态PDP方案来支持全动态数据操作。此方案主要给出动态数据审计协议构造的一般方法,即将动态数据结构与验证算法相结合,缺陷是会给服务器造成沉重的计算负担,从而导致其成为计算瓶颈。文献WangQ,WangC,RenK,etal.EnablingPublicAuditabilityandDataDynamicsforStorageSecurityinCloudComputing[J].IEEETransactionsonParallel&DistributedSystems,2011,22(5):847-859.提出了另一种典型的动态公开云审计方法,利用默克尔哈希树(MerkleHashTree,MHT)以支持全动态的数据操作,但此协议要求云存储服务提供商CSP向第三方审计者TPA发送挑战数据块的线性组合,如果第三方审计者TPA有意重复选择相同挑战数据块获得不同的线性组合值,在积累一定量的审计信息的情况下,存在将数据内容泄露给第三方审计者TPA的风险。针对这一点,文献WangC,WangQ,RenK,etal.Privacy-PreservingPublicAuditingforDataStorageSecurityinCloudComputing[C].2010ProceedingsIEEEINFOCOM,IEEE,SanDiego,CA,USA,2010.通过将同态认证器和随机掩码技术结合来实现数据隐私的保护,该协议可以确保第三方审计者TPA不能获得用户存储在云中数据的任何实际内容。但是,这两种方案在更新和验证过程中都会产生非常高的通信量和计算代价。文献ZhuY,WangH,HuZ,etal.Dynamicauditservicesforintegrityverificationofoutsourcedstoragesinclouds[C].AcmSymposiumonAppliedComputing,ACM,TaiChung,Taiwan,pp.1550-1557,2011.提出了基于索引哈希表(IndexHashTable,IHT)的动态公开审计方案,并将索引哈希表存储在可信第三方审计者TPA处,而不是云存储服务提供商CSP中。因此,与之前的方案相比,该方法降低了计算成本和通信开销。但是,由于索引哈希表是序列结构,其中插本文档来自技高网...

【技术保护点】
1.一种抗泄露公开云审计方法,包括以下步骤:1)建立1.1)系统参数生成:云存储服务提供商CSP利用参数生成算法ParamGen(1k)→(p,G,GT,g,e,H,N)生成系统参数cp并公开所生成的系统参数,具体为:系统参数cp=(p,G,GT,g,e,H,N),其中大素数p取值是由安全参数k所决定,G、GT是阶为大素数p的乘法循环群,g为乘法循环群G的生成元,e:G×G→GT是一个双线性映射,H:{0,1}*→G是一个密码学安全的哈希函数,正整数N<2p;1.2)密钥生成:数据拥有者DO利用密钥生成算法

【技术特征摘要】
1.一种抗泄露公开云审计方法,包括以下步骤:1)建立1.1)系统参数生成:云存储服务提供商CSP利用参数生成算法ParamGen(1k)→(p,G,GT,g,e,H,N)生成系统参数cp并公开所生成的系统参数,具体为:系统参数cp=(p,G,GT,g,e,H,N),其中大素数p取值是由安全参数k所决定,G、GT是阶为大素数p的乘法循环群,g为乘法循环群G的生成元,e:G×G→GT是一个双线性映射,H:{0,1}*→G是一个密码学安全的哈希函数,正整数N<2p;1.2)密钥生成:数据拥有者DO利用密钥生成算法生成密钥,具体为:挑选两个随机数α←Zp和随机数γ←Zp;计算得到u←gα,进而得私钥sk=(α,γ)和公钥数据拥有者DO初始化值计算公开参数公开公开参数pub;2)存储2.1)存储准备:2.1.1)文件分块:数据拥有者DO利用分块算法FileSplit(F,n)→(d1,d2,…,dn)对文件F进行分块,具体为:将文件F分为n块{d1,d2,…,dn},其中di∈Zp且di≤N,i=1,2,…,n,文件F表示为F={d1,d2,…,dn},对应数据块索引集合为{1,2,…,n};2.1.2)数据块版本信息初始化:数据拥有者DO利用数据版本信息初始化算法VIGen(F)→(VI)创建所有数据块的版本信息,具体为:数据块的版本信息VI={(vi,ti)|i=1,2,…,n},其中vi和ti分别表示数据块di的版本信息和建立版本信息时的时间戳;2.1.3)生成数据块累加值:数据拥有者DO利用累加值生成算法AccGen(F,pub)→accF计算所有数据块的累加值,具体为:计算累加值2.1.4)生成数据块签名:数据拥有者DO利用签名生成算法SigGen(F,VI,sk,pub)→(Φ)计算所有数据块对应的签名,具体为:计算签名令表示所有数据块对应的签名集合;2.2)分发:数据拥有者DO将文件F={d1,d2,…,dn}和签名集合发送给云存储服务提供商CSP,云存储服务提供商CSP按数据块对应顺序存储文件F和签名集合Φ的内容;同时数据拥有者DO将数据块的版本信息VI={(vi,ti)|i=1,2,…,n}和累加值发送给第三方审计者TPA,第三方审计者TPA将版本信息添加到双链的动态哈希表中存储,并存储数据块的累加值accF;确定云存储服务提供商CSP和第三方审计者TPA存储成功后,数据拥有者DO从本地存储中删除{F,Φ,VI},保留accF;2.3)生成数据块标签:云存储服务提供商CSP利用数据块标签生成算法TagGen(F,pub)→(Ω)生成每个数据块di的对应标签其中i=1,2,…,n,具体为:计算标签令表示所有数据块对应的标签集合;云存储服务提供商CSP存储标签集合Ω;3)审计3.1)生成挑战请求:第三方审计者TPA利用挑战请求算法ChalGen(n,c)→chal生成审计挑战,具体为:从文件F的数据块索引集合{1,2,…,n}中随机挑取出c个索引,记为chal={s1,s2,…,sc}c≤n,作为挑战请求信息发送给云存储服务提供商CSP;3.2)证据生成:云存储服务提供商CSP利用证据生成算法ProofGen(F,Φ,Ω,chal,pub)→P,生成完整性证据P,具体为:云存储服务提供商CSP作为证明者,根据存储在其服务器上的文件及其对应的签名集合和标签集合{F,Φ,Ω}和接收到的挑战信息chal={s1,s2,…,sc}c≤n,生成完整性证据P=(ω,σ,τ),其中然后将完整性证据P=(ω,σ,τ)作为存储数据的完整性证明发送给第三方审计者TPA;3.3)证据验证:第三方审计者TPA利用验证算法ProofCheck(P,chal,VI,pk)→{TRUE/FALSE}进行验证,具体为:第三方审计者TPA根据双链动态哈希表中的信息VI,对挑战的所有数据块对应的版本信息计算哈希值{H(vi||ti)|i∈chal};检验等式一验证τ的合法性:检验等式一若检验等式一不成立,则第三方审计者TPA输出FALSE,表示验证失败;否则,第三方审计者TPA再检验等式二是否成立:检验等式二若检验等式二成立,则第三方审计者TPA输出TRUE,表示验证成功,完整性验证通过;否则输出FALSE,表示验证失败。2.一种支持用户全动态并行操作的抗泄露公开云审计方法,包括以下步骤:1)建立1.1)系统参数生成:云存储服务提供商CSP利用参数生成算法ParamGen(1k)→(p,G,GT,g,e,H,N)生成系统参数cp并公开所生成的系统参数,具体为:系统参数cp=(p,G,GT,g,e,H,N),其中大素数p取值是由安全参数k所决定,G、GT是阶为大素数p的乘法循环群,g为乘法循环群G的生成元,e:G×G→GT是一个双线性映射,H:{0,1}*→G是一个密码学安全的哈希函数,正整数N<2p;1.2)密钥生成:数据拥有者DO利用密钥生成算法生成密钥,具体为:挑选两个随机数α←Zp和随机数γ←Zp;计算得到u←gα,进而得私钥sk=(α,γ)和公钥数据拥有者DO初始化值计算公开参数公开公开参数pub;2)存储2.1)存储准备:2.1.1)文件分块:数据拥有者DO利用分块算法FileSplit(F,n)→(d1,d2,…,dn)对文件F进行分块,具体为:将文件F分为n块{d1,d2,…,dn},其中di∈Zp且di≤N,i=1,2,…,n,文件F表示为F={d1,d2,…,dn},对应数据块索引集合为{1,2,…,n};2.1.2)数据块版本信息初始化:数据拥有者DO利用数据版本信息初始化算法VIGen(F)→(VI)创建所有数据块的版本信息,具体为:数据块的版本信息VI={(vi,ti)|i=1,2,…,n},其中vi和ti分别表示数据块di的版本信息和建立版本信息时的时间戳;2.1.3)生成数据块累加值:数据拥有者DO利用累加值生成算法AccGen(F,pub)→accF计算所有数据块的累加值,具体为:计算累加值2.1.4)生成数据块签名:数据拥有者DO利用签名生成算法SigGen(F,VI,sk,pub)→(Φ)计算所有数据块对应的签名,具体为:计算签名令表示所有数据块对应的签名集合;2.2)分发:数据拥有者DO将文件F={d1,d2,…,dn}和签名集合发送给云存储服务提供商CSP,云存储服务提供商CSP按数据块对应顺序存储文件F和签名集合Φ的内容;同时数据拥有者DO将数据块的版本信息VI={(vi,ti)|i=1,2,…,n}和累加值发送给第三方审计者TPA,第三方审计者TPA将版本信息添加到双链的动态哈希表中存储,并存储数据块的累加值accF;确定云存储服务提供商CSP和第三方审计者TPA存储成功后,数据拥有者DO从本地存储中删除{F,Φ,VI},保留accF;2.3)生成数据块标签:云存储服务提供商CSP利用数据块标签生成算法TagGen(F,pub)→(Ω)生成每个数据块di的对应标签其中i=1,2,…,n,具体为:计算标签令表示所有数据块对应的标签集合;云存储服务提供商CSP存储标签集合Ω;3)动态更新:对已存储的文件F进行动态操作并更新相关数据,得到新文件F'和对应的更新后相关数据;4)动态更新验证:验证云存储服务提供商CSP是否正确执行了数据更新的操作。3.根据权利要求2所述的支持用户全动态并行操作的抗泄露公开云审计方法,其特征在于:步骤3)动态更新操作为插入数据块,具体为:3.a1)插入准备:3.a1.1)数据拥有者DO确定插入文件F中的插入数据块新文件形式化表示为F'=F∪D*;数据拥有者DO确定在文件F中的插入位置索引集合X和每个位置之后将被插入数据块的数量所组成的集合Y,其中X为文件F的索引集合{1,2,…,n}的子集X={i1,i2,…,ix},1≤x≤m,表示X中的每个位置之后将要被插入数据块的数量,其中且具体描述为:在文件F第i1块之后插入个数据块、第i2块之后插入个数据块、…、第ix的块之后插入个数据块;3.a1.2)插入数据块D*的版本信息初始化:数据拥有者DO利用数据版本信息初始化算法VIGen(D*)→(VI*)创建所有插入数据块对应的版本信息其中和分别表示插入数据块的版本信息和建立版本信息时的时间戳;3.a1.3)更新数据块累加值:数据拥有者DO利用插入数据块D*和保存在本地的原始累加值accF计算更新累加值3.a1.4)生成插入数...

【专利技术属性】
技术研发人员:李艳平吴姣姣梁岩荣
申请(专利权)人:陕西师范大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1