一种多数据完整性验证中重复数据的优化验证方法与流程

文档序号:18621346发布日期:2019-09-06 22:31阅读:387来源:国知局
一种多数据完整性验证中重复数据的优化验证方法与流程

本发明涉及一种多数据完整性验证中重复数据的优化验证方法,属于云计算、信息安全技术领域,适用于云存储。



背景技术:

随着云计算的快速发展,云存储作为新一代计算基础设施得到越来越多的关注。与此同时,越来越多的云存储服务涌现出来,为用户提供低成本且庞大的数据存储空间。尽管云存储可以随时提供便捷的存储和快速的数据访问等,但是当用户将拥有的数据上传到云服务器后,便失去了数据的绝对控制,所存储数据的完整性和安全性问题无法得到有效的保证。且存在云服务提供商为了节省存储空间,对未被访问或访问频率较少的用户数据执行删除操作,并对用户反馈假的数据完整性验证结果。为避免云存储中数据的损失,需要使用户在有限的计算能力下确保大规模数据存储的完整性。

现有技术中为了解决上述问题,提出了数据完整性验证的方法。但是现有云存储中完整性验证方法都是只针对单一验证者对多个文件提出完整性验证请求,并没有考虑多个验证者对多个文件提出完整性验证的情况。当多个用户对多个数据文件提出完整性验证请求时,很可能会对相同的数据文件进行验证。对于热门文件、计算机程序以及其他信息会有多个用户对同一个文件提出完整性验证的情况。因此这导致了多个验证者会对同一文件提出完整性验证,但是云服务器并不能对同一挑战请求进行批处理,造成额外的开销。因此,一种高效的云存储数据完整性验证方法是亟待解决的问题。



技术实现要素:

本发明所要解决的技术问题是:如何提高云服务器在计算重复挑战数据效率,在保护用户隐私的同时验证远程存储版本数据的完整性。具体地说,当存在多个验证者对同一个数据块提出完整性验证请求时,如何减少云服务器在计算数据证据以及标签证据时的计算量的同时验证远程存储版本数据的完整性。

为了解决上述问题,本发明的技术方案是提供了一种重复挑战数据取出的完整性验证方法,其特征在于,首先对挑战集合计算频繁项集,在计算数据证据以及标签证据之前,先找出挑战集合重叠的部分,进行批处理,减少证据计算时的计算量;接着处理挑战集合中非重复的部分,计算这部分数据的数据证据以及标签证据;最后,将重叠部分和非重叠部分的数据合并,将证据发送给第三方验证者。

优选地,为了保护数据的隐私性,在所述第三方验证者进行数据验证时,还应用双线性映射和同态技术来保证验证的安全性和验证结果的可靠性,同时降低网络通信的流量成本。

优选地,具体步骤如下:

步骤1:生成链密钥,为了确保不同版本文件之间的关联,在密钥的生成中应用链密钥;在基本密钥的基础上,通过其前一版本文件的散列密钥来计算每个版本文件的处理密钥;

步骤2:生成数据标签,用户为加密文件中的每个数据块生成一个标签,最后输出一组数据标签t={ti},i∈[1,n];

步骤3:批量挑战,由验证者执行,从域zp中选择一个随机数生成挑战c;

步骤4:频繁项的提取,通过对所有的挑战集合计算频繁项集,找出这些集合具有的相同项,计算这些频繁项的数据证据以及标签证据;

步骤5:生成证据,对原始挑战集合,计算非频繁项的数据证据以及标签证据;最后,将频繁项的证据和非频繁项的证据进行合并,计算验证者i发送过来的挑战集合的证据p,其中包括标签证据tpi和数据证据dpi;

步骤6:批量验证,第三方验证者根据从步骤5中获得的tpi和数据证据dpi以及数据块的哈希值来验证存储在云上的数据的完整性;

步骤7:验证结果返回,云服务器将自己验证后的结果通过安全通道反馈给验证者。

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

1、本发明使用频繁项集,对不同验证者发送过来的挑战集合计算重复项,改进了现有方法逐个计算证据的方法。它可以通过对多个验证者发送过来的挑战集合计算频繁项集,提取多个验证任务中的相同数据对象,使得云服务器不需要重复计算不同验证者对相同数据对象提出的验证任务。这样,在验证成本有限的情况下,本发明提高了证据计算时的效率,与此同时能够有效地验证数据完整性;

2、本发明将频繁项集和完整性验证结合,设计了一种对多个挑战集合选取频繁项集的方法,即根据提取多个挑战集合中的相同的部分,进行批处理;

3、本发明改进了证据生成方法,在验证中,通过提取不同挑战集合中的频繁项,并进行批处理后,将提取出来的频繁项合并到原始挑战集合中,减少了云服务器在计算相同数据对象的计算开销。

4、本方法改进了云服务器在证据生成的方法。对于到达云服务器的任务集合,提取该任务集中的相同的数据对象。云服务器将优先计算所提取出来的频繁项的证据,再计算剩余数据的证据。最后将频繁项的证据和非频繁项的证据合并。这样,在验证成本有限的情况下,本方法提高了云服务器在多验证者时计算证据时的效率,有效地保护了数据的完整性。

本发明通过多挑战时云服务器在计算证据时的计算方法,减少了证据计算时的计算量。本发明提高验证效率的同时,保证了验证的安全性和正确性。

附图说明

图1为实施例提供的重复挑战数据去除的完整性验证的整体流程;

图2为集合拆分和合并的过程。

具体实施方式

为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。

实施例

在本实施例中设g1和gt为具有素数p的乘法群,并且e:g1→gt为双线性映射。令g1和g2分别为g1和gt的生成元。

以下内容具体说明本发明提供的一种重复挑战数据去除的完整性验证方法:

步骤1:数据所有者随机选择一个私钥sk,并计算一个公钥pk=gsk

步骤2:生成数据标签方法taggen(m,sk)→t,设m为外包数据集。标签生成方法为由n个数据块即m1,…,mn组成的文件m中的每个数据块mi生成标签ti,其中i∈[1,n]。首先为每个文件选择随机值xi∈zp。对于每个数据块mi计算其数据标签ti为:

其中,mi·id是数据块mi的标识,a为选择的随机数。它输出一组数据标签t={ti}i∈[1,n]。

步骤3:提取挑战数据。验证者tpai选取数据文件m中的c≤n个数据块发起挑战,产生c个索引号,组成索引集合qi,并为每个待验证的数据块索引ji在zp中任意选取一个随机数与之对应,即产生二元组

步骤4:频繁项的提取,对于步骤3中得到的任务集,云服务器将通过fp-growth算法提取任务集中多个任务的频繁项集,集合的拆分和合并的过程如图2所示。同时,保存数据频繁项集的数据对象所对应的每一个随机数。它首先计算所有受挑战数据块的线性组合计算所有属于同一个挑战索引的随机数的平均值然后计算频繁项集的数据证据和标签证据

步骤5:生成证据,对原始挑战集合,计算非频繁项挑战数据块的线性组合接着计算数据证据以及标签证据最后,将频繁项的证据和非频繁项的证据进行合并,则数据证据标签证据为得到验证者i发送过来的挑战集合的证据pi,其中包括标签证据和数据证据

步骤6:批量验证,第三方验证者根据从步骤6中获得的标签证据和数据证据以及数据块的哈希值h(mi·id)来验证存储在云上的数据的完整性。当完成所有挑战文件的计算时,通过的验证方程验证证明如下所示:

如果式(1)为真,则输出1并且指示所有经验证的文件是完整的;否则,输出0,表示存在损坏的文件。

利用上述分析方法,本发明所有的测试都在云存储平台和两台笔记本电脑上进行。由两台服务器组成的云存储平台,每台配备至e5-24031.8ghzcpu和32gbram作为云服务提供商,配备intelcorei5-4210m2.60ghzcpu和4gb内存的两款笔记本电脑分别作为用户和第三方验证者使用。在实验过程中,为了减少实验时间,本方法将存储文件的大小设置为40g,设数据块的大小固定为320byte,并设置挑战数据块数为50000块,验证者个数为10人,与此同时,每个验证者之间存在10%的挑战块是重复的。在证据计算阶段,云服务器计算数据证据以及标签证据的时间减少了19%。实验结果表明本发明减少云服务器在计算数据证据以及标签证据时的计算量。而且,由于同时减少了验证成本,因此减少了验证中的传输开销。

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