首页> 中国专利> 一种支持批处理校验且具备错误数据定位功能的云数据公开审计方法

一种支持批处理校验且具备错误数据定位功能的云数据公开审计方法

摘要

本发明公开了一种支持批处理校验且具备错误数据定位功能的云数据公开审计方法。本方法为:各云用户将其文件块和数据标签存储在云服务器中,将文件块的定位标签发送给TPA;TPA接收到用户的审计请求后对这些用户存储在多个云服务器上的数据进行挑战,在收到返回的证明后,TPA基于发送的挑战和服务器返回的证明进行有效性验证,若通过验证,则数据审计结果为通过;否则TPA校验定位标签,定位标签验证通过的则审计结果为通过,否则输出错误数据所属的云用户索引和所在服务器的索引。最后TPA向审计结果为通过的云用户发送审计成功,向审计结果为不通过的云用户发送错误数据所属服务器的索引。本发明便于让用户更快找出受损数据的位置。

著录项

  • 公开/公告号CN106911708A

    专利类型发明专利

  • 公开/公告日2017-06-30

    原文格式PDF

  • 申请/专利权人 中北大学;

    申请/专利号CN201710178312.5

  • 发明设计人 庞晓琼;王田琪;陈文俊;

    申请日2017-03-23

  • 分类号H04L29/06;H04L29/08;H04L9/32;H04L9/30;H04L9/06;

  • 代理机构北京君尚知识产权代理事务所(普通合伙);

  • 代理人司立彬

  • 地址 030051 山西省太原市学院路3号

  • 入库时间 2023-06-19 02:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-03

    授权

    授权

  • 2017-07-25

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20170323

    实质审查的生效

  • 2017-06-30

    公开

    公开

说明书

技术领域

本发明属于网络安全技术领域,尤其涉及一种支持批处理校验且具备错误数据定位功能的云数据公开审计方法。

背景技术

数据拥有性证明(Provable Data Possession,PDP)方案可以让用户在没有本地备份的情况下,不需要取回数据,就能以很高的概率远程校验存储在不可信服务器上的数据是否完整,节省了通信带宽。目前,大多数PDP方案是针对单用户存放在单个服务器上的数据进行完整性校验。但是现实的情境中,云存储提供的服务是面向很多用户的,同时,云服务提供商并不是单一的,每个云服务提供商所拥有的也不仅仅是单个服务器。为了更适应现实,近几年,多用户单服务器、单用户多服务器、多用户多服务器情景下的PDP方案陆续被提出。支持多用户多服务器的数据完整性批处理校验方案大大减小了计算开销,但是在数据出错后,往往无法精确快速的确定错误数据的来源。所以本发明的目的在于:在多用户多服务器环境下,实现批处理远程数据完整性校验的同时,还能实现对错误数据的定位,即找到错误数据属于哪个用户,且存放在哪个服务器上,这样便于让用户更快发现自己存放在哪些服务器上的数据受损。

相关工作

2013年,Wang等人利用BLS签名构造同态验证标签,在多用户单服务器环境下,提出了一种保护用户数据隐私的批处理校验方案,并利用二分查找判断哪个用户的数据出错。2016年,Mao等人同样利用了BLS短签名,提出了一种单用户多云服务器环境下支持批处理的数据完整性校验方案,但是方案没有考虑错误数据定位的问题。

2014年,Liu等人利用双线性对提出一种多用户多服务器情景下的批处理校验方案,并且使用有序的Merkle Hash Tree来抵抗置换攻击。Ren等人使用椭圆曲线上的Co-GDH签名构造同态验证标签,提出一种可公开校验且保护隐私的批处理校验方案,并利用数据更新信息表实现数据动态更新。2016年,Zhou等人利用双线性对和CDH问题提出了一种基于ID的批处理PDP方案。以上方案都能快速有效地一次性校验多个用户存放在多个服务器上的数据是否完整,但他们并未考虑错误数据的定位问题。

在多用户多服务器情景下的批处理方案中,也有人曾提出错误数据定位的想法。2013年,He等人利用可恢复的编码方法提出了一种可识别损毁数据的、支持批处理的数据完整性校验方案,可将所有数据出错的用户都检测出来,但是没有定位出错数据所处的服务器。2015年,Shin等人也提出了一种实现损毁数据识别的批处理数据完整性校验方案,但是,当有多个服务器返回的数据出错后,该方案只能确定出最后一个错误服务器,且无法确定错误数据的拥有者。

本发明提出了一种在多用户多服务器环境下支持错误数据定位的批处理云数据公开审计方法,云用户将数据完整性校验的审计工作委托给第三方审计员(Third PartyAuditor,TPA)。TPA收到多个云用户的审计请求后,批处理校验这些云用户存储在多个服务器上的数据的完整性。实现批处理校验的同时,可以在检测到数据出错后,于一次挑战中实现错误数据定位功能,即找到出错数据的拥有者与其所处的服务器。

发明内容

本发明技术针对现有技术的不足,本发明提供了一种支持批处理校验且具备错误数据定位功能的云数据公开审计方法。

本发明公开的是一种在多用户多服务器环境下,能支持错误数据定位和批处理校验的云数据公开审计方法,本发明包括:CA(Certificate Authority,认证中心)服务器进行初始化参数设置,所有云用户可以向CA申请属于自己的公私钥对;各个云用户将他们的文件块和数据标签存储在云服务器中,将文件块的定位标签发送给TPA;TPA接收到多个云用户的审计请求后,可同时对这些用户存储在多个云服务器上的数据进行挑战,在收到被挑战云服务器返回的证明后,TPA基于发送的挑战和服务器返回的证明进行有效性批量验证,若通过验证,则说明挑战中涉及的云用户的数据审计结果为通过。否则,TPA校验定位标签,对于定位标签验证通过的,说明相应的数据完整,即审计结果为通过;对于定位标签验证不通过的,说明数据遭到破坏,TPA输出错误数据所属的云用户索引和所在服务器的索引。最后TPA向审计结果为通过的云用户发送审计成功的审计报告。向审计结果为不通过的云用户发送错误数据所属服务器的索引。

与现有技术相比,本发明的有益效果:

实现了错误数据定位:本发明不仅实现了在多用户多服务器环境下,多个云用户可以委托第三方审计者对存储在多个云服务器中的数据进行批处理审计。另外在批处理审计不通过的情况下,仅做一次比较操作即可判断出特定用户存放在特定服务器上的数据是否遭到破坏。此外,本发明还能找出所有出错数据,同时定位出错数据所属的用户和所在服务器,便于让用户更快找出受损数据的位置,减少用户寻找错误数据的时间,且更容易判断云服务器的可靠程度。

本发明实现了多用户多服务器环境下,支持批处理的数据完整性验证,同时还构造了一种定位标签来实现错误数据的定位功能,可以在批处理校验后使数据受损的用户及时发现其数据出错,并可得知受损数据的位置,提高用户检测文件出错部位的效率。

附图说明

图1为本发明具体实施方法流程图。

图2为本发明具体实施方式的数据标签生成过程示意图。

图3为本发明具体实施方式的定位标签生成过程示意图。

图4为本发明具体实施方式的公开审计及错误数据定位过程示意图。

图5为云用户DO1以a1t为参数,针对云服务器CS1上存放的4个数据块M111,M112,M113,M114构建的MHT(Merkle>11t。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的方法流程如图1所示,其步骤为:

1、CA服务器进行初始化参数设置;

●以k为安全参数,选择两个阶为q的乘法循环群G1和G2,q是一个大素数且满足q>2k,取G1的生成元为g,在群G1和G2上选择一个双线性映射e:G1×G1→G2

●选择四个密码学Hash函数H1,H2,H3,H4和一个伪随机函数f,其中H1:{0,1}*→G1,H2:{0,1}*→Zq,H3:{0,1}*→G1,H4:{0,1}*→Zq(H1和H3,H2和H4分别是不同的Hash函数),其中Zq={0,1,2,…,q-1},每一个用户索引可以表示为wi比特的串,每个服务器索引可以表示为wj比特的串,每个文件块索引可以表示为wk比特的串。

●随机选择作为分区系数,并令λ=k作为每个用户对相同数据构建MHT(Merkle Hash Tree,Merkle哈希树)的数量。

●随机选择作为主私钥msk,并令主公钥为mpk=gx

●将公共参数params=(G1,G2,q,g,e,H1,H2,H3,H4,f,{vl},λ)和主公钥mpk=gx公开,将主私钥msk=x秘密保存。

2、云用户DOi向CA申请自己的公私钥对

●DOi生成密钥申请请求并发送至CA服务器,CA服务器为DOi生成密钥对(pki,ski),其中公钥pki=H1(IDi),私钥ski=H1(IDi)x=pkix,i为云用户DOi的索引,IDi为DOi的身份标识符。

3、CA服务器将私钥ski通过安全信道发送给DOi

4、DOi将待上传文件块进行预处理(图2即为数据标签生成过程)

●DOi对待上传文件进行定长分割,令Mijk表示云用户DOi存放在服务器CSj上的第k个块,每个块由s个分区构成,令Fijkl表示DOi存放在CSj上的第k个块里的第l个分区。

●DOi对每个数据块Mijk生成一个标签值σijk=(Sijk,Tijk),具体生成方法为:DOi随机选取对自己的每个文件块Mijk计算hi=H2(IDi),hpk=H3(mpk),并计算

5、DOi将文件块及数据标签上传到相应的云服务器中

DOi将其所有的文件块{Mijk}和对应的数据标签{σijk}按服务器索引发送给相应的服务器。

6、每个服务器校验其收到的数据标签的可用性如图2,每个服务器收到用户发送的数据块和数据标签后,通过校验下面的等式是否成立来确定数据标签是否正确。

如果等式成立,则说明用户上传的数据标签可用,服务器存储校验通过的数据块与数据标签;若等式不成立,则云服务器要求用户重新上传。

7、DOi生成定位标签并将其发送给TPA(图3即为定位标签生成过程)

●设存储DOi上传文件数据的服务器索引集合为Ji,且DOi在服务器CSj(j∈Ji)上存储的文件块块数为Nij。DOi随机选择DOi对每一个服务器CSj(j∈Ji),分别以ait(1≤t≤λ)为MHT参数,对其存储在CSj上的Nij个数据块,构建λ棵MHT。每棵树用TRijt(1≤t≤λ)表示,TRijt的根节点用Rijt表示。

例如用户DO1在服务器CS1上共存放了4个数据块M111、M112、M113、M114,使用a1t(1≤t≤λ)作为参数,TR11t的构建如图5,树的根为R11t

●DOi构建一张定位索引表其中ait(1≤t≤λ)为MHT参数,令chrijt=Rijt(j∈Ji,1≤t≤λ)表示DOi存放在CSj上所有数据的第t个定位标签。若chrijt不存在,即则令chrijt=-1。其中η表示服务器的个数。DOi构建的定位索引表Indexi如表2所示。

●DOi将定位索引表,即定位标签发送给TPA。

表2 为用户DOi构建的定位索引表Indexi

8、云用户DOi向TPA发起审计请求

●审计请求为DOi上传文件的所有数据块的索引集{(i,j,k)},包括云用户DOi索引i,存储DOi数据的云服务器CSj索引j∈Ji,存放在云服务器CSj上的数据块索引k。

9、TPA根据用户的审计请求生成挑战(步骤9~13详细过程由图4反应)

●收到多个云用户的审计请求后,TPA将所有审计请求做并集,得到总的审计请求集合Q=∪{(i,j,k)}。

●TPA从总的审计请求集合Q中选出c个块进行校验,令(1≤n≤c,(in,jn,kn)∈Q)表示被选中的c个块,以这c个块的索引为元素构建集合I={(in,jn,kn)|n=1,...,c}。

●TPA构建映射f1:I→Zq满足当is=it时,有令集合

●TPA随机选取TPA构建映射满足当is=it时,有其中MHT参数由云用户在第7步中生成,并通过定位索引表发送给TPA。令MHT参数集合

●总挑战chal=(I,K,α)。

●设被TPA选中的c个数据块所在云服务器的索引集合{j}用U表示,TPA将总挑战chal按被挑战云服务器的不同,划分成|U|个分挑战{chalj},|U|表示集合U中的元素个数,满足每个chalj=(Ij,Kjj),其中Ij={(in,jn,kn)|(in,jn,kn)∈I并且jn=j},

●TPA将chalj发送给服务器CSj

10、收到挑战的服务器计算相应证明

●收到挑战chalj的云服务器CSj对Ij中的每一个数据块索引(in,jn,kn),分别以相应的为密钥,利用伪随机函数f计算即每一个数据块索引对应一个rn。其中由CA在第一步中选取并公开。

●云服务器CSj对Ij中属于同一用户(如用户DOi)的所有数据块{(in,jn,kn)|(in,jn,kn)∈Ij并且in=i,jn=j}的第l∈[1,s]个分区,计算得到包含有s个元素的集合{Fijl|l=1,...,s},其中表示索引为in的云用户存储在索引为j的云服务器CSj上的第kn个数据块的第l个分区。云服务器CSj对Ij中所有的用户做上述相同的操作,并将所有得到的集合做并集组成新的集合{F′ijl|i∈Oj,l=1,...,s},其中Oj表示Ij中包含的所有云用户的索引的集合。

●对Ij中所有数据块的数据标签CSj计算是第in个云用户存放在第jn个服务器上的第kn个数据块的数据标签,包含两部分即

●云服务器CSj针对每个被挑战的云用户DOi(i∈Oj),对存储在其上的所有数据块,以αj中与云用户DOi的数据块索引对应的a为参数,按照如图5所示的方法构建一棵MHT,表示为TRijτ,其树根为Rijτ。其中αj由chalj=(Ij,Kjj)给出。所有Oj中云用户的数据块构建的MHT树根和其对应的用户、服务器索引构成集合{(i,j,Rijτ)|i∈Oj}。

●云服务器CSj构造证明Pj=(S′j,T′j,{F′ijl|i∈Oj,l=1,...,s},{(i,j,Rijτ)|i∈Oj})。

11、所有被挑战的云服务器将证明发送给校验者TPA

12、TPA批处理校验证明

●TPA收到所有被挑战服务器返回的证明后,对这些证明进行批处理校验,校验步骤如下:先计算然后校验等式(1)是否成立,其中等式(1)中O表示校验者生成的总挑战chal中所涉及的云用户的索引集合。

1)若等式(1)成立,说明批处理校验通过,即总挑战中涉及的云用户的数据审计结果为验证通过。

2)若等式(1)不成立,则对云服务器CSj(j∈U)返回的集合{(i,j,Rijτ)|i∈Oj}中的每个元素(i,j,Rijτ),TPA利用(i,j)和τ(τ由TPA在第9步中选取),查询定位索引表Indexi中第τ行,第j+1列中的值chrijτ,并校验等式(2)是否成立

若等式(2)成立,说明云用户DOi存放在云服务器CSj上的数据完整,即DOi存放在CSj上的数据审计结果为验证通过。

若等式(2)不成立,说明云用户DOi存放在云服务器CSj上的数据遭到破坏,即审计结果为验证不通过。TPA输出错误数据所属的云用户索引和所在服务器的索引(i,j)。

13、TPA向审计结果为验证通过的相应云用户发送审计成功的审计报告。向审计结果为验证不通过的相应用户发送错误数据块所属服务器的索引。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号