支持动态更新的云数据公正审计系统及其审计方法与流程

文档序号:17860745发布日期:2019-06-11 22:50阅读:212来源:国知局
支持动态更新的云数据公正审计系统及其审计方法与流程

本发明涉及信息安全技术领域,具体涉及一种支持动态更新的云数据公正审计系统及其审计方法。



背景技术:

云存储是在云计算上延伸和发展出来的一个新概念,作为一种实用的工具,将数据外包给云是一种新兴的趋势。数据不再是用户存储的本地数据,用户不必担心本地软件或硬件故障。维护、财务成本、时间和其他资源造成的开销将大大减少,减轻了数据所有者和本地设备的负担。然而,外包给云的数据并没有得到安全的保存,从云存储平台角度而言,云服务器可以在其存储周期中秘密删除一些数据,为其他客户端数据节省存储空间,而且云服务器可能会隐藏因宕机等机器故障而导致数据损坏的事实,以此维护声誉,除此之外,云服务器可能尝试将数据泄露给他人进行金钱交易。因此,无论攻击是内部的还是外部的,云数据的保密性和完整性都处于危险之中。

传统上,所有者可以基于双方存储的审计协议检查数据完整性。但是在云存储系统中,让云服务器或数据所有者中的任何一方进行审计都是不合适的,因为它们都不能保证提供公正的审计结果。因此,设计高效的云数据审计协议已成为云存储的研究热点。通过审计,已经删除本地数据并失去对其直接控制的数据所有者可以远程验证他们的数据是否正确存储在云中。此外,云存储系统不仅仅是一个数据仓库,用户经常需要根据各种应用程序需求动态地更新数据,更新完成后又需重新验证。为了减轻客户端的负担,使验证过程更加方便和节能,引入了一个第三方审计者tpa,该实体接受数据拥有者数据所有者的委托,执行审计。

然而,当添加、修改或删除云存储数据时,不仅需要云服务器执行更新操作,而且因认证结构的改变数据所有者要重新计算验证标签,这在一定程度上加大了数据所有者的计算负担,故实现高效的动态更新很关键。另外,第三方审计者tpa是由数据所有者选择且信任的,但云服务器不一定信任第三方审计者。目前,研究的安全模型通常假设数据所有者是诚实的,实际上,除了云服务器对存储数据有非法操作的可能,数据所有者也有欺诈行为的动机。例如,恶意的数据所有者可能会故意上传无效的信息,导致诚实的云服务器无法通过审计验证而对其提出经济索赔。因此,对于审计方案而言,解决双方之间的公平问题至关重要。

近年来,越来越多的验证外包数据完整性审计方案被提出。如erway等人提出构建一个完全动态的可证明数据持有性(dpdp)方案,使用跳表避免数据动态性带来的标签重计算,但其通信代价与挑战块的数目成线性关系且不支持公共验证。wang等人将基于同态验证的bls签名与merkle哈希树结合,提供了完全动态的操作支持,但其通信开销和计算成本较大。针对公平性问题,现有方案完善了早期方案中的威胁模型,实现了更好的安全保障。如zheng等人提出了一种支持动态更新且公平的可恢复性证明(por)方案来防止不诚实的用户控告一个诚实的云服务器,但是他们的方案只适用私有审计,难以扩展到公共审计。kupccu等人基于dpdp方案提出了一种使用公平交换签名的思想来执行自动支付的通用仲裁协议。



技术实现要素:

本发明的目的在于克服现有审计方案中因数据动态更新需重新计算标签而带来较大的通信和计算开销、数据所有者委派信任的第三方用自己生成的标签进行审计的结果难以使云服务器信服、以及数据所有者存在不诚实的行为问题。本发明提供了一种支持动态更新的云数据公正审计系统与方法,能有效提高系统效率、识别双方非法操作,提供公正的审计结果。

为了达到上述目的,本发明提供一种支持动态更新的云数据公正审计系统,包括:私钥生成中心、数据所有者、云服务器和可信第三方;

云服务器,分布式平台,具有存储空间和计算能力,提供数据管理和存储服务;

数据所有者,一个成员或者一个组织,向云服务器上传数据,并可以远程访问和更新存储在云服务器中的数据;

可信第三方,完全可信任的审计机构,独立于数据所有者和云服务器,为数据所有者远程审计云服务器存储的数据的完整性;可信第三方还通过检验数据所有者和云服务器的交互行为来实现审计中的公平性,保障双方的利益;

私钥生成中心,完全可信任的基于身份的密钥管理机构,为系统提供公共参数,并根据数据所有者、云服务器提交的身份信息计算生成对应的私钥,分别发送给数据所有者、云服务器。

本发明还提供一种支持动态更新的云数据公正审计方法,采用本发明所述的支持动态更新的云数据公正审计系统实现的,包含步骤:

s1、密钥生成阶段:

数据所有者和云服务器分别将各自的身份信息发送给私钥生成中心;私钥生成中心生成系统公共参数并公布,同时还生成保密的主私钥,然后分别根据数据所有者、云服务器各自提交的身份信息计算生成对应的私钥skd和skc,并分别发送给数据所有者、云服务器;进入s2;

s2、文件存储阶段:

数据所有者将需要存入云服务器的文件f分为若干个数据块,对每个数据块计算标签,得到f的总标签集合σ;数据所有者生成f的元数据ω,并将f、σ、ω上传至云服务器;数据所有者基于上传操作生成签名sigd,并将ω和sigd发给可信第三方;

云服务器存储f、σ、ω,并基于存储操作生成签名sigc,将sigc发送给可信第三方;

可信第三方首先根据元数据ω建立索引切换器,再判断sigd和sigc的有效性,判断文件存储阶段双方是否诚实;当sigd和sigc均有效,且双方均诚实,进入s3;

s3、验证文件完整性阶段:

数据所有者从文件f的数据块中选取部分数据块作为请求块发送给可信第三方;可信第三方从所述请求块中随机选择若干个数据块生成挑战请求chal并发给云服务器;云服务器基于chal和存储的文件f生成一个证明π,并将π发回给可信第三方;

可信第三方通过审计π来验证云服务器存储的文件完整性;当可信第三方判断文件存储完整,且数据所有者需要更新存储在云服务器的文件时,进入s4;否则,审计结束;

s4、动态更新阶段:

数据所有者更新文件f,为更新后的文件f生成新的元数据ω′,基于更新操作生成签名sig′d,并将ω′和sig′d发送给可信第三方;

数据所有者向云服务器发送数据更新请求update_req;

云服务器验证更新请求update_req有效时,依据update_req更新文件f,基于更新操作生成新的签名sig′c,并将sig′c发给可信第三方;

最后,可信第三方更新索引切换器,其次判断签名sig′d和sig′c的有效性,判断动态更新阶段双方是否诚实;当sig′d和sig′c均有效,且双方均诚实,进入s3。

所述步骤s1具体包含:

s11、数据所有者提交身份信息idd给私钥生成中心,其中idd=(idd1,idd2,…,iddl)∈{0,1}l;{0,1}l表示长度为l的0、1字符串;idd1,idd2,…,iddl为idd的l个元素;

s12、云服务器提交身份信息idc给私钥生成中心,其中idc=(idc1,idc2,…,idcl)∈{0,1}l;idc1,idc2,…,idcl为idc的l个元素;

s13、私钥生成中心随机选择令主密钥msk=x,保密msk,其中为模p的整数加法群,p为素数;

s14、私钥生成中心公布系统参数pp;

pp=(g1,g2,p,e,g,μ1,μ2,…,μl,u,h)(1)

其中:g1、g2为私钥生成中心选取的两个阶为p的乘法循环群;g为g1的生成元;双线性映射e:g1×g1→g2,μ1,μ2,…,μl,u∈g1;

h为哈希函数,表达式为:

h(·):{0,1}*→g1(2)

其中,{0,1}*表示任意长度的0、1字符串;

s15、私钥生成中心以idd作为数据所有者的公钥,为数据所有者生成私钥skd并发送给数据所有者;

其中为随机值;

s16、私钥生成中心以idc作为云服务器的公钥,为云服务器生成私钥skc并发送给云服务器;

s17、私钥生成中心公布idd和idc。

所述步骤s2具体包含:

s21、数据所有者将文件f分成n个数据块,f={mi}i∈[1,n];其中mi为数据块,i为数据块的索引,i∈[1,n];

s22、数据所有者随机选取计算mi的标签生成总标签集合σ={σi}i∈[1,n],其中ti为mi的标签索引;

s23、数据所有者计算验证值v并公开,其中v=gα

s24、数据所有者生成f的元数据ω,ω={(i,ti)}i∈[1,n],并将f、σ、ω上传至云服务器;

s25、数据所有者采用私钥skd基于上传操作生成签名sigd,并将ω和sig发送给可信第三方;

sigd=sigskd(seqd,timed,ωd)(5)

其中sig是一种基于私钥的签名算法;seqd和timed分别为数据所有者上传文件f的次数、上传操作的时间戳;ωd为数据所有者存储的元数据,当数据所有者诚实时,ωd=ω;

s26、云服务器存储f、σ、ω并反馈相应信息给数据所有者,采用私钥sk基于存储操作生成签名sigc,将sigc发送给可信第三方;

其中,seqc和timec分别表示云服务器存储数据f的次数和存储操作的时间戳;ωc为云服务器存储的元数据,当云服务器诚实时,ωc=ω;

s27、可信第三方根据接收到的ω建立索引切换器,然后利用idd和idc验证sigc和sigd的有效性,若sigd无效则惩罚数据所有者;若sigc无效则惩罚云服务器;当sigc和sigd均有效,进入s28;

s28、可信第三方通过比较seqd和seqc的大小关系来判断文件存储阶段双方是否诚实;若seqd<seqc,表明云服务器对数据所有者进行重放攻击,云服务器不诚实;若seqd>seqc,表明数据所有者对云服务器进行重放攻击,数据所有者不诚实;当sigc和sigd均有效,且双方均诚实,进入s3。

所述步骤s3具体包含:

s31、数据所有者从文件f的数据块中选取部分数据块作为请求块发送给可信第三方;

s32、可信第三方从所述请求块中随机选取c个数据块生成挑战请求chal,并发送给云服务器;其中chal={(i,ri)}i∈i,|i|=c,1≤c≤n;

s33、云服务器根据挑战请求chal,计算生成一个证明π,并将π发送给可信第三方;其中π=(t,d),d=∑i∈imi·ri;

s34、可信第三方根据存储的元数据ω和π,验证式(7):

如果式(7)成立,可信第三方通知数据所有者,云服务器已经正确存储文件f,若数据所有者需要更新存储在云服务器的文件f,进入s4;否则,可信第三方通知数据所有者,云服务器存储的文件f已损坏,审计结束。

所述步骤s4具体包含:

s41、数据所有者为更新后的文件f生成新的元数据ω′和数据更新请求update_req并发送给云服务器,将ω′发给可信第三方ttp更新索引切换器;云服务器依据update_req更新文件f和σ;

s42、数据所有者基于更新操作生成签名sig′d,并将ω′和sig′d发送给可信第三方;其中,

seq′d和time′d分别表示数据所有者更新文件f的次数和更新操作的时间戳;ω′d为数据所有者存储的更新后的文件f的元数据,当数据所有者诚实时,ω′d=ω′;

s43、云服务器基于更新操作生成新的签名sig′c,并将sig′c发给可信第三方;其中,

seq′c和time′c分别表示云服务器更新文件f的次数和更新操作的时间戳;ω′c为云服务器存储的更新后的文件f的元数据,当云服务器诚实时,ω′c=ω′;

s44、可信第三方根据ω′更新索引切换器,然后利用idd和idc判断签名sig′d和sig′c的有效性,当sig′d和sig′c均有效,且seq′d=seq′c,说明双方均诚实,进入s3;否则可信第三方判断动态更新阶段过错方。

步骤s41具体包含:

s411、数据所有者要向文件f插入数据块时,进入s412;数据所有者需修改文件f的数据块时,进入s413;数据所有者需删除文件f中的数据块时,进入s414;

s412、数据所有者要将数据块m′k插入文件f的第k-1个数据块和第k个数据块之间时,根据插入操作生成更新请求update_req发送给云服务器,其中

update_req={insert,k,t′k,ω′,m′k,σ′k}(10)

insert为更新操作类型,表示插入操作,t′k为m′k的标签索引,σ′k为m′k的标签,

云服务器验证式(11)

式(11)成立时,云服务器将m′k插入其存储的文件f的第k-1个数据块和第k个数据块之间更新f,云服务器将σ′k插入σ的第k-1个标签和第k个标签之间更新存储的σ;否则,云服务器拒绝更新f和σ;

s413、数据所有者要将文件f的第k个数据块修改为m′k时,根据修改操作生成数据更新请求update_req发送给云服务器,其中

update_req={modify,k,t′k,ω′,m′k,σk′}(12)

modify为更新操作类型,表示插入操作,t′k为m′k的标签索引,σ′k为m′k的标签,

云服务器验证式(11)

式(11)成立时,云服务器将存储的文件f的第k个数据块修改为m′k,更新f,将σ′k替换σk更新存储的总标签集合σ;否则,云服务器拒绝更新f和σ;

s414、数据所有者要删除文件f的第k个数据块时,根据删除操作生成数据更新请求update_req为

update_req={delete,k,ω′}(13)

delete为更新操作类型,表示删除操作;

云服务器从存储的文件f中删除第k个数据块mk,从存储的总标签集合σ中删除标签σk。

所述步骤s44中可信第三方判断动态更新阶段过错方,具体是指:

当seq′d<seq′c,可信第三方判断云服务器对数据所有者进行重放攻击,惩罚云服务器;

当seq′d=seq′c+1,若time′d=time′c,可信第三方判断数据所有者的更新请求是无效的,云服务器拒绝更新;若time′d<time′c,可信第三方判断数据所有者的更新请求是有效的,但云服务器利用无效签名响应;若time′d>time′c,可信第三方判断数据所有者的更新请求是有效的,但云服务器恶意拒绝更新;

当seq′d>seq′c+1,可信第三方判断数据所有者对云服务器进行重放攻击,惩罚数据所有者。

与现有技术相比,本发明的优点在于:

①公开审计

可信第三方代替数据所有者远程验证存储于云服务器中文件的完整性,减轻了数据所有者的计算负担以及与云服务器交互的网络负担,允许任何拥有公钥的实体验证云存储文件的完整性。

②隐私保护

可信第三方无法从获取的信息中获取文件的真实内容。

③动态更新

允许数据所有者对存储于云服务器的数据进行更新操作,并且能够通过可信第三方验证更新操作的正确性,此外,本发明通过索引切换器中元数据的块索引和标签索引来验证块的身份,避免动态更新带来的文件总标签集合重计算,大大提高了数据动态处理的效率。

④公正审计

允许可信第三方通过记录元数据和双方的签名,在存储数据周期中远程验证数据的完整性,以及在上传初始数据和更新数据的过程中判断实体之间操作的合法性,消除数据安全隐患,提供公正的审计结果。

⑤存储正确性及不可伪造性

云服务器在没有正确存储数据的情况下无法通过可信第三方的审计,同样地,数据所有者在伪造数据信息发送给云服务器的情况下无法通过可信第三方的验证。

⑥轻量

本发明引入了私钥生成中心,基于身份的密码体制减少了管理密钥的存储与计算开销,也减少了用户彼此间验证公钥的开销。此外,索引切换器的存储结构为更新文件减少了计算标签的开销,提高了更新数据和验证数据完整性的效率。

附图说明

为了更清楚地说明本发明技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图:

图1为本发明的支持动态更新的云数据公正审计系统模型图;

图2为本发明的审计方法中密钥生成阶段的流程图;

图3为本发明的审计方法中文件存储阶段和验证文件完整性阶段的流程图;

图4为本发明的审计方法中动态更新阶段的流程图;

图5为本发明的应用实施例中在索引切换器里插入、修改以及删除数据块的过程示意图。

具体实施方式

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

如图1所示,本发明提供一种支持动态更新的云数据公正审计系统,包括:私钥生成中心(pkgprivatekeygenerator)、数据所有者(dodataowner)、云服务器(cscloudserver)和可信第三方(ttptrustedthirdparty);

云服务器,分布式平台,具有存储空间和计算能力,提供数据管理和存储服务;

数据所有者,一个成员或者一个组织,向云服务器上传数据,并可以远程访问和更新存储在云服务器中的数据;

可信第三方,完全可信任的审计机构,独立于数据所有者和云服务器,为数据所有者远程审计云服务器存储的数据的完整性;可信第三方还通过检验数据所有者和云服务器的交互行为来实现审计中的公平性,保障双方的利益;

私钥生成中心,完全可信任的基于身份的密钥管理机构,为系统提供公共参数,并根据数据所有者、云服务器提交的身份信息计算生成对应的私钥,分别发送给数据所有者、云服务器。

本发明还提供一种支持动态更新的云数据公正审计方法,采用本发明所述的支持动态更新的云数据公正审计系统实现的,包含步骤s1~s4。

s1、密钥生成阶段,如图2所示,其具体包含步骤:

s11、数据所有者提交身份信息idd给私钥生成中心,其中idd=(idd1,idd2,…,iddl)∈{0,1}l;{0,1}l表示长度为l的0、1字符串;idd1,idd2,…,iddl为idd的l个元素;

s12、云服务器提交身份信息idc给私钥生成中心,其中idc=(idc1,idc2,…,idcl)∈{0,1}l;idc1,idc2,…,idcl为idc的l个元素;

s13、私钥生成中心随机选择令主密钥msk=x,保密msk,其中为模p的整数加法群,p为素数;

s14、私钥生成中心公布系统参数pp;

pp=(g1,g2,p,e,g,μ1,μ2,…,μl,u,h)(1)

其中:g1、g2为私钥生成中心选取的两个阶为p的乘法循环群;g为g1的生成元;双线性映射e:g1×g1→g2,μ1,μ2,…,μl,u∈g1;

h为哈希函数,表达式为:

h(·):{0,1}*→g1(2)

其中,{0,1}*表示任意长度的0、1字符串;

s15、私钥生成中心以idd作为数据所有者的公钥,为数据所有者生成私钥skd并发送给数据所有者;

其中为随机值;

s16、私钥生成中心以idc作为云服务器的公钥,为云服务器生成私钥skc并发送给云服务器;

s17、私钥生成中心公布idd和idc,进入s2。

s2、文件存储阶段,如图3所示,其具体包含步骤:

s21、数据所有者将文件f分成n个数据块,f={mi}i∈[1,n];其中mi为数据块,i为数据块的索引,i∈[1,n];

s22、数据所有者随机选取计算mi的标签生成总标签集合σ={σi}i∈[1,n],其中ti为mi的标签索引;

s23、数据所有者计算验证值v并公开,其中v=gα

s24、数据所有者生成f的元数据ω,ω={(i,ti)}i∈[1,n],并将f、σ、ω上传至云服务器;

s25、数据所有者采用私钥skd基于上传操作生成签名sigd,并将ω和sigd发送给可信第三方;

其中sig是一种基于私钥的签名算法;seqd和timed分别为数据所有者上传文件f的次数、上传操作的时间戳;ωd为数据所有者存储的元数据,当数据所有者诚实时,ωd=ω;

s26、云服务器存储f、σ、ω并反馈相应信息给数据所有者,所述相应信息为云服务器已经完成存储f、σ、ω的信息;云服务器采用私钥skc基于存储操作生成签名sigc,将sigc发送给可信第三方;

其中,seqc和timec分别表示云服务器存储数据f的次数和存储操作的时间戳;ωc为云服务器存储的元数据,当云服务器诚实时,ωc=ω;

s27、可信第三方根据接收到的ω建立索引切换器,然后利用idd和idc验证sigc和sigd的有效性,若sigd无效则惩罚数据所有者;若sigc无效则惩罚云服务器;当sigc和sigd均有效,进入s28;否则,审计结束;

s28、可信第三方通过比较seqd和seqc的大小关系来判断文件存储阶段双方是否诚实;若seqd<seqc,表明云服务器对数据所有者进行重放攻击,云服务器不诚实;若seqd>seqc,表明数据所有者对云服务器进行重放攻击,数据所有者不诚实;当sigc和sigd均有效,且双方均诚实,进入s3。

s3、验证文件完整性阶段,如图3所示,其具体包含:

s31、数据所有者文件f的数据块中选取部分数据块作为请求块发送给可信第三方;

s32、可信第三方从所述请求块中随机选取c个数据块生成挑战请求chal,并发送给云服务器;其中chal={(i,ri)}i∈i,|i|=c,1≤c≤n;

s33、云服务器根据挑战请求chal,计算生成一个证明π,并将π发送给可信第三方;其中π=(t,d),

s34、可信第三方根据存储的元数据ω和π,验证式(7):

如果式(7)成立,可信第三方通知数据所有者,云服务器已经正确存储文件f,若数据所有者需要更新存储在云服务器的文件f,进入s4;否则,可信第三方通知数据所有者,云服务器存储的文件f已损坏,审计结束。

s4、动态更新阶段,如图4所示其具体包含步骤:

s41、数据所有者为更新后的文件f生成新的元数据ω′和数据更新请求update_req并发送给云服务器,将ω′发给可信第三方ttp更新索引切换器;云服务器依据update_req更新文件f和σ;

s42、数据所有者基于更新操作生成签名sig′d,并将ω′和sig′d发送给可信第三方;其中,

seq′d和time′d分别表示数据所有者更新文件f的次数和更新操作的时间戳;ω′d为数据所有者存储的更新后的文件f的元数据,当数据所有者诚实时,ω′d=ω′;

s43、云服务器基于更新操作生成新的签名sig′c,并将sig′c发给可信第三方;其中,

seq′c和time′c分别表示云服务器更新文件f的次数和更新操作的时间戳;ω′c为云服务器存储的更新后的文件f的元数据,当云服务器诚实时,ω′c=ω′;

s44、可信第三方根据ω′更新索引切换器,然后利用idd和idc判断签名sig′d和sig′c的有效性,当sig′d和sig′c均有效,且seq′d=seq′c,说明双方均诚实,进入s3;否则可信第三方判断动态更新阶段过错方,具体是指:

当seq′d<seq′c,可信第三方判断云服务器对数据所有者进行重放攻击,惩罚云服务器;

当seq′d=seq′c+1,若time′d=timec′,可信第三方判断数据所有者的更新请求是无效的,云服务器拒绝更新;若time′d<timec′,可信第三方判断数据所有者的更新请求是有效的,但云服务器利用无效签名响应;若time′d>time′c,可信第三方判断数据所有者的更新请求是有效的,但云服务器恶意拒绝更新;

当seq′d>seq′c+1,可信第三方判断数据所有者对云服务器进行重放攻击,惩罚数据所有者。

步骤s41具体包含:

s411、数据所有者要向文件f插入数据块时,进入s412;数据所有者需修改文件f的数据块时,进入s413;数据所有者需删除文件f中的数据块时,进入s414;

s412、数据所有者要将数据块m′k插入文件f的第k-1个数据块和第k个数据块之间时,根据插入操作生成更新请求update_req发送给云服务器,其中

update_req={insert,k,t′k,ω′,m′k,σk′}(10)

insert为更新操作类型,表示插入操作,t′k为m′k的标签索引,σ′k为m′k的标签,

云服务器验证式(11)

式(11)成立时,云服务器将m′k插入其存储的文件f的第k-1个数据块和第k个数据块之间更新f,云服务器将σk′插入σ的第k-1个标签和第k个标签之间更新存储的σ,替换元数据为ω′;否则,云服务器拒绝更新f、σ、ω;

s413、数据所有者要将文件f的第k个数据块修改为m′k时,根据修改操作生成数据更新请求update_req发送给云服务器,其中

update_req={modify,k,t′k,ω′,m′k,σk′}(12)

modify为更新操作类型,表示插入操作,t′k为m′k的标签索引,σ′k为m′k的标签,

云服务器验证式(11)

式(11)成立时,云服务器将存储的文件f的第k个数据块修改为m′k,更新f,将σ′k替换σk更新存储的总标签集合σ,替换元数据为ω′;否则,云服务器拒绝更新f、σ、ω;

s414、数据所有者要删除文件f的第k个数据块时,根据删除操作生成数据更新请求update_req为

update_req={delete,k,ω′}(13)

delete为更新操作类型,表示删除操作;

云服务器从存储的文件f中删除第k个数据块mk,从存储的总标签集合σ中删除标签σk,并更新元数据为ω′。

如图5所示,在本应用实施例中,文件f={m1,m2,m3,m4,m5},索引切换器的元数据ω={(1,1),(2,2),(3,3),(4,4),(5,5)},总标签集合为σ={σ1,σ2,σ3,σ4,σ5}。依次执行对文件f的插入、修改和删除操作:

第一步、插入数据块,数据所有者需在文件f第3个数据块m3和第4个数据块m4之间插入数据块m′4。

数据所有者为m′4分配标签索引t′4=6,计算m′4的标签数据所有者更新自身存储的文件、元数据、总标签集合。其更新后的文件f={m1,m2,m3,m′4,m4,m5},更新后的元数据为ω1={(1,1),(2,2),(3,3),(4,6),(5,4),(6,5)},更新后的总标签集合为σ={σ1,σ2,σ3,σ4′,σ4,σ5}。

数据所有者生成数据更新请求update_req={insert,4,6,ω1,m′k,σ′4},并将update_req发送给云服务器,将ω1发送给可信第三方更新索引切换器。

云服务器验证式

如果式(14)成立,云服务器将m′4插入其存储的文件的第3个数据块和第4个数据块之间更新其存储的文件,并相应的更新其存储的元数据、总标签集合;否则,云服务器拒绝插入数据块。

第二步、修改数据块,数据所有者需将f={m1,m2,m3,m′4,m4,m5}的第3个数据块修改为m′3;

数据所有者为m′3分配标签索引t′3=7,并计算标签数据所有者更新自身存储的文件、元数据、总标签集合。其更新后的文件f={m1,m2,m′3,m′4,m4,m5},更新后的元数据为ω2={(1,1),(2,2),(3,7),(4,6),(5,4),(6,5)},更新后的总标签集合为σ={σ1,σ2,σ′3,σ′4,σ4,σ5}。

数据所有者生成数据更新请求,update_req={modify,3,7,ω2,m′3,σ3′},并将update_req发送给云服务器,将ω2发送给可信第三方更新索引切换器。

云服务器验证式

如果式(15)成立,云服务器将其存储的文件的第3个数据块改为m′3更新其存储的文件,并相应的更新其存储的元数据、总标签集合;否则,云服务器拒绝修改数据块。

第三步、删除数据块,数据所有者需删除f={m1,m2,m′3,m′4,m4,m5}的第5个数据块,并更新自身存储的文件、元数据、总标签集合。其更新后文件f={m1,m2,m′3,m′4,m5},更新后的元数据ω3={(1,1),(2,2),(3,7),(4,6),(5,5)},更新后的总标签集合为σ={σ1,σ2,σ′3,σ′4,σ5}。

数据所有者生成数据更新请求update_req={delete,5,ω3},并将update_req发送给云服务器,将ω3发送给可信第三方更新索引切换器。

云服务器删除其存储的文件的第5个数据块,并相应的更新其存储的元数据、总标签集合。

为检测本发明的支持动态更新的云数据公正审计方法的性能,将本发明提出的方法和几种传统的云存储审计方法做了比较。如下表1所示:

表1多种云存储审计方法性能对比表

从表1可以看出,与传统的云存储审计方法相比,本发明提出的支持动态更新的云数据公正审计系统与方法不仅可以实现动态更新和公正审计的功能,还能极大地减少验证开销,提高系统效率。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1