一种基于双线性对累加器的云存储数据完整性验证方法技术

技术编号:21838662 阅读:75 留言:0更新日期:2019-08-10 20:22
本发明专利技术公开了一种基于双线性对累加器的云存储数据完整性验证方法,包括如下步骤:S1:根据双线性映射,选择两个素数阶相同的群G和GT,生成一个配对e;S2:通过AES密钥生成算法,生成两个对称密钥KH和KE;S3:数据所有者根据对称密钥KE对需要发送的数据生成加密数据块;S4:数据所有者通过加密数据块和配对e,将辅助值F存储在验证方中;S5:云存储提供商通过验证值向验证方发送证明;S6:验证方根据证明和辅助值F对云存储数据进行验证。本发明专利技术支持动态数据,能够抵御标签伪造,数据删除、替换、重放和泄漏攻击。同时本方明能够一次对所有云储存数据块都进行完整性验证,而且验证方能够对云存储数据块执行无限次的数据完整性验证。

A Data Integrity Verification Method for Cloud Storage Based on Bilinear Pair Accumulator

【技术实现步骤摘要】
一种基于双线性对累加器的云存储数据完整性验证方法
本专利技术涉及计算机科学
,尤其涉及一种基于双线性对累加器的云存储数据完整性验证方法。
技术介绍
云存储中数据所有者将其拥有的数据外包给云存储服务器,这样能够为数据所有者节省大量的存储空间,同时也减轻了数据所有者日常管理这些数据的负担。然而,数据所有者担心上传的数据可能在不知情或未经允许的情况下被修改或删除。因此要解决此问题,验证者必须执行定期的数据完整性检查以验证数据的所有权并检测任何未经授权的修改。从技术上讲,有两种方法可以执行此类完整性检查:确定性方法:验证者要求一次就能够检查所有数据块,并验证其完整性,从而100%保证数据完整性和拥有权。概率性方法:验证者请求检查随机选择的数据块以验证其完整性,从而不能提供100%的数据完整性和拥有权保证。此外,在该方法中:数据所有者可以对某个数据块进行验证的次数是有限的,如果验证次数过多,将导致数据存在泄漏的风险。当前可用的云存储数据完整性验证方法都是概率性方法,即随机抽取存储于云服务器的数据块来验证云存储数据的完整性,而不是检查所有的云存储数据块。对于现在的用户来说概率性方案是不够的。与概率性方法不同的是,使用确定性方法的验证者将检查数据集中的所有数据块,而不是仅检查几个,从而消除了任何云存储服务器操纵数据的可能性。
技术实现思路
专利技术目的:针对现有验证方不能对数据块执行无限次的数据完整性验证,以及不能一次就对所有云存储数据的完整性进行验证的问题,本专利技术提出了一种基于双线性对累加器的云存储数据完整性验证方法。技术方案:为实现本专利技术的目的,本专利技术所采用的技术方案是:一种基于双线性对累加器的云存储数据完整性验证方法,所述方法包括如下步骤:S1:根据双线性映射,选择两个素数阶相同的群G和GT,生成一个配对e,具体为:G×G→GT其中:G和GT为两个素数阶相同的群;S2:通过AES密钥生成算法,生成两个对称密钥KH和KE;S3:数据所有者根据所述对称密钥KE对需要发送到云存储提供商中的数据生成加密数据块;S4:数据所有者通过所述加密数据块和配对e,将辅助值F存储在验证方中;S5:云存储提供商通过验证值向验证方发送证明;S6:验证方根据所述证明和辅助值F对云存储数据进行验证。进一步地讲,所述对称密钥KH发送给验证方,所述对称密钥KE发送给数据所有者。进一步地讲,所述步骤S3数据所有者根据对称密钥KE对需要发送到云存储提供商中的数据生成加密数据块,具体如下:S3.1:数据所有者将所述需要发送到云存储提供商中的数据分为n个数据块,具体为:M={m1,…,mn}其中:M为待发送的数据,mn为待发送数据的数据块;S3.2:数据所有者通过所述对称密钥KE对待发送数据的数据块进行加密,生成加密数据块,具体为:其中:ci为待发送数据的加密数据块,KE为对称密钥,mn为待发送数据的数据块,i为段索引。进一步地讲,所述步骤S4将辅助值F存储在验证方中,具体如下:S4.1:数据所有者根据所述加密数据块生成标记,并将所述标记附加到对应的加密数据块中,生成预先计算的数据块,具体为:其中:τi为待发送数据的加密数据块生成的标记,ci为待发送数据的加密数据块,KH为对称密钥,bn为预先计算的数据块,i为段索引;S4.2:数据所有者根据所述标记,将所述标记的副本保存在标记索引数据结构表中;S4.3:根据所述预先计算的数据块组成数据文件,数据所有者通过Gen(1*,t)算法计算数据文件的累计值,具体为:其中:B为数据文件,accB为数据文件的累计值,bi为预先计算的数据块,n为待发送数据分成的段数,为小于G和GT群的两个素数阶的整数群,g为生成元,i为段索引;S4.4:根据所述群G和配对e,设置辅助值E和辅助值F,具体为:其中:为小于G和GT群的两个素数阶的整数群,g为生成元,e为群G和GT生成的配对,yF为辅助值F,aux为辅助值E,n为待发送数据分成的段数。进一步地讲,所述保存有标记副本的标记索引数据结构表、数据文件的累计值和辅助值F均存储在验证方中。进一步地讲,所述数据文件和辅助值E均发送给云存储提供商。进一步地讲,所述步骤S5云存储提供商通过验证值向验证方发送证明,具体如下:S5.1:云存储提供商通过所述辅助值E将数据文件累计值的指数转换为s的多项式,具体为:其中:为小于G和GT群的两个素数阶的整数群,ai为s的系数,n为待发送数据分成的段数,i为段索引;S5.2:通过所述待发送数据的数据块,确定质询块;S5.3:根据所述s的多项式和质询块,云存储提供商获取质询块的证人,具体为:其中:为小于G和GT群的两个素数阶的整数群,g为生成元,ai为s的系数,n为待发送数据分成的段数,为质询块的证人,i为段索引;S5.4:云存储提供商根据所述质询块和质询块的证人,获取验证值,并将所述验证值作为证明发送给验证方,所述验证值具体为:其中:L为验证值,为质询块的证人,bj为质询块。进一步地讲,所述步骤S6验证方根据证明和辅助值F对云存储数据进行验证,具体如下:S6.1:根据所述对称密钥KH和质询块对应的加密数据块,获取所述质询块的加密数据块对应的标记,具体为:τ′j=H(cj||kH)其中:τ′j为质询块的加密数据块对应的标记,kH为对称密钥,cj为质询块对应的加密数据块;S6.2:验证方根据所述验证值和辅助值F进行如下验证,具体为:其中:为小于G和GT群的两个素数阶的整数群,accB为数据文件的累计值,g为生成元,为质询块的证人,bj为质询块;S6.3:验证方直接从质询块中提取数据块或加密数据块和其对应的标记,同时验证方根据所述标记索引数据结构表定位接收质询块中的标记副本,验证所述质询块中的标记副本、计算出的质询块中数据块或加密数据块对应的标记、质询块直接提取的数据块或加密数据块对应的标记三者是否相等;S6.4:若步骤S6.2和S6.3中的验证均相等,则云存储数据完整,若步骤S6.2和S6.3中任意验证不相等,则云存储数据不完整。进一步地讲,所述验证方法根据标记索引数据结构表支持数据动态变换,所述数据动态变换包括数据的插入、数据的删除和数据的更新。有益效果:与现有技术相比,本专利技术的技术方案具有以下有益技术效果:(1)本专利技术的云存储数据完整性验证方法支持动态数据,能够抵御标签伪造,数据删除、替换、重放和泄漏攻击,而且本专利技术不是随机对数据块进行抽检,而是一次就能够对所有云存储数据块进行完整性验证;(2)本专利技术的云存储数据完整性验证方法基于双线性对累加器,允许数据所有者和验证方执行无限次数的数据完整性检查,对于验证方来说,由于该方法基于双线性对累加器,所以验证操作与验证的块数无关,从而使得验证方的验证开销大大降低,进而将计算开销保持在可接受的水平内;(3)本专利技术的云存储数据完整性验证方法通过使用标记索引数据结构表,支持数据所有者插入、删除和更新数据的动态操作。附图说明图1是本专利技术的验证方法流程示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。其中,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本专利技术的实施例的详细描述本文档来自技高网...

【技术保护点】
1.一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述方法包括如下步骤:S1:根据双线性映射,选择两个素数阶相同的群G和GT,生成一个配对e,具体为:G×G→GT其中:G和GT为两个素数阶相同的群;S2:通过AES密钥生成算法,生成两个对称密钥KH和KE;S3:数据所有者根据所述对称密钥KE对需要发送到云存储提供商中的数据生成加密数据块;S4:数据所有者通过所述加密数据块和配对e,将辅助值F存储在验证方中;S5:云存储提供商通过验证值向验证方发送证明;S6:验证方根据所述证明和辅助值F对云存储数据进行验证。

【技术特征摘要】
1.一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述方法包括如下步骤:S1:根据双线性映射,选择两个素数阶相同的群G和GT,生成一个配对e,具体为:G×G→GT其中:G和GT为两个素数阶相同的群;S2:通过AES密钥生成算法,生成两个对称密钥KH和KE;S3:数据所有者根据所述对称密钥KE对需要发送到云存储提供商中的数据生成加密数据块;S4:数据所有者通过所述加密数据块和配对e,将辅助值F存储在验证方中;S5:云存储提供商通过验证值向验证方发送证明;S6:验证方根据所述证明和辅助值F对云存储数据进行验证。2.根据权利要求1所述的一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述对称密钥KH发送给验证方,所述对称密钥KE发送给数据所有者。3.根据权利要求1或2所述的一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述步骤S3数据所有者根据对称密钥KE对需要发送到云存储提供商中的数据生成加密数据块,具体如下:S3.1:数据所有者将所述需要发送到云存储提供商中的数据分为n个数据块,具体为:M={m1,…,mn}其中:M为待发送的数据,mn为待发送数据的数据块;S3.2:数据所有者通过所述对称密钥KE对待发送数据的数据块进行加密,生成加密数据块,具体为:其中:ci为待发送数据的加密数据块,KE为对称密钥,mn为待发送数据的数据块,i为段索引。4.根据权利要求3所述的一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述步骤S4将辅助值F存储在验证方中,具体如下:S4.1:数据所有者根据所述加密数据块生成标记,并将所述标记附加到对应的加密数据块中,生成预先计算的数据块,具体为:其中:τi为待发送数据的加密数据块生成的标记,ci为待发送数据的加密数据块,KH为对称密钥,bn为预先计算的数据块,i为段索引;S4.2:数据所有者根据所述标记,将所述标记的副本保存在标记索引数据结构表中;S4.3:根据所述预先计算的数据块组成数据文件,数据所有者通过Gen(1*,t)算法计算数据文件的累计值,具体为:其中:B为数据文件,accB为数据文件的累计值,bi为预先计算的数据块,n为待发送数据分成的段数,为小于G和GT群的两个素数阶的整数群,g为生成元,i为段索引;S4.4:根据所述群G和配对e,设置辅助值E和辅助值F,具体为:其中:为小于G和GT群的两个素数阶的整数群,g为生成元,e为群G和GT生成的配对,yF为辅助值F,aux为辅助值E,n为待发送数据分成的段数。5.根据权利要求4所述的...

【专利技术属性】
技术研发人员:任勇军祁健刘业鹏冷彦朱福建高语秋
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:江苏,32

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

1