CN110958116B - 一种基于格签名的多副本云数据完整性审计方法 - Google Patents

一种基于格签名的多副本云数据完整性审计方法 Download PDF

Info

Publication number
CN110958116B
CN110958116B CN201911244615.8A CN201911244615A CN110958116B CN 110958116 B CN110958116 B CN 110958116B CN 201911244615 A CN201911244615 A CN 201911244615A CN 110958116 B CN110958116 B CN 110958116B
Authority
CN
China
Prior art keywords
user
file
cloud server
key
generates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911244615.8A
Other languages
English (en)
Other versions
CN110958116A (zh
Inventor
张永淳
桑应朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201911244615.8A priority Critical patent/CN110958116B/zh
Publication of CN110958116A publication Critical patent/CN110958116A/zh
Application granted granted Critical
Publication of CN110958116B publication Critical patent/CN110958116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于格签名的多副本云数据完整性审计方法。包括:S1.设置阶段:用于设置一些系统参数;S2.提取密钥阶段:密钥生成机构会根据用户的ID生成用户的部分密钥;S3.在密钥生成阶段,用户生成整个方案的公钥和私钥;S4.副本生成阶段:用户根据原文件生成多个副本文件;S5.标签生成阶段:用户根据源文件生成文件的标签;S6.挑战阶段:第三方审计者会根据用户的请求生成挑战发送给云服务器;S7.证明生成阶段:云服务器根据第三方审计者发送的挑战生成关于副本文件的证明,并将证明返回给第三方审计者;S8.证明验证阶段:第三方审计者验证云服务器发送的证明以确认所有副本文件是否完好无损。

Description

一种基于格签名的多副本云数据完整性审计方法
技术领域
本发明属于云计算技术领域,更具体地,涉及一种基于格签名的多副本云数据完整性审计方法。
背景技术
随着云计算技术的发展和用户本地存储的数据量的急剧增加,越来越多的企业和个人倾向于将数据存放在云服务器上,从而节省数据存放在本地主机上所需要的硬件成本。然而,云服务器可能会因为出现一些问题,如硬件损坏、软件缺陷和人为失误,造成存放在云服务器上的用户数据出现泄露、损坏甚至丢失的现象。而运行云服务器的云服务器运营商可能会出于利益或者声誉方面的原因选择隐瞒出现的数据泄漏、损坏和丢失事故。因此,云服务器的用户非常有必要阶段性地对自己存放在云服务器上的数据的完整性作出校验。
为了保证云服务器上数据完整性校验结果的准确性和公正性,并减少用户进行云数据完整性校验这一审计任务时所需要的计算资源和网络资源的开支,现有技术都选择让用户雇佣一个第三方审计者来代替用户进行审计任务。第三方审计者必须拥有足够的能力和专业性来执行审计任务,并且审计结果是正确的、受到用户信任的。然而,第三方审计者可能会试图获取用户存放在云上的数据的内容。因此,为了保护用户数据隐私,在第三方审计者执行审计任务的过程中,必须保证第三方审计者在完成审计任务的同时无法获取用户存放在云上的数据内容。在解决这个问题的过程中,使用的技术属于密码学领域。设计出的能够解决问题的密码体制主要必须满足以下两个条件:一、云服务器有且仅有在完整保存用户上传数据的情况下,才能通过对用户数据的完整性校验;二、第三方审计者在审计过程中无法获取用户数据内容,即必须实现零知识证明。在实际运用中,为了保证一些重要数据的完整性,避免因云服务器出错而导致重要数据损坏或丢失,用户可能会将一份重要文件复制成多个副本存储在多个云服务器上。
目前,提出的Provable Data Possession模型虽然能够使用户不需要将云数据下载到本地验证就能验证云数据的完整性,但由于审计任务是由用户进行的,加重了用户在计算资源和通信资源方面的负担。另外,提出的多副本版本Provable Data Possession模型因为使用了同样的模型也没有减轻用户在计算资源和同行资源方面的负担。在一些现有方法中虽然实现了公开审计,减轻了用户在审计过程中的负担,并进一步提升了审计效率,但这些解决方案都使用公钥基础设施(Public Key Infrastructure,PKI)来管理公钥证书,而PKI对证书的管理需要消耗大量计算机资源,并且PKI的安全性可能得不到保证。其中一些方法使用基于身份的密码体制来解决云数据的完整性验证问题,节省了PKI所带来的资源消耗,进一步提升了审计效率,但对比格签名方案效率不高,并且不能低于量子攻击;另外提出的基于格签名的隐私保护公开审计方案,虽然提高了审计效率,但是并没有考虑到多副本文件的审计问题,导致审计多副本文件的时候计算开支和通信开支较高,效率偏低。
发明内容
本发明为克服上述现有技术中的缺陷,提供一种基于格签名的多副本云数据完整性审计方法,设计了一个基于格签名的、能够抵抗量子攻击且审计多副本文件效率较高的云服务器上多副本文件隐私保护公开审计方案。
为解决上述技术问题,本发明采用的技术方案是:一种基于格签名的多副本云数据完整性审计方法,包括以下步骤:
S1.设置阶段:用于设置一些系统参数,包括一些矩阵及其短陷门基,以及一些哈希函数;
S2.提取密钥阶段:密钥生成机构会根据用户的ID生成用户的部分密钥;
S3.在密钥生成阶段,用户生成整个方案的公钥和私钥;
S4.副本生成阶段:用户根据原文件生成多个副本文件;
S5.标签生成阶段:用户根据源文件生成文件的标签;
S6.挑战阶段:第三方审计者会根据用户的请求生成挑战发送给云服务器;
S7.证明生成阶段:云服务器根据第三方审计者发送的挑战生成关于副本文件的证明,并将证明返回给第三方审计者;
S8.证明验证阶段:第三方审计者验证云服务器发送的证明以确认所有副本文件是否完好无损。
进一步的,所述的设置阶段具体包括:
S11.给定一个安全参数n,密钥生成机构运行陷门基生成算法TrapGen(n,m,q),算法生成一个矩阵
Figure BDA0002307194450000031
及格
Figure BDA0002307194450000032
的短陷门基TA
S12.云服务器运行陷门基生成算法TrapGen(n,m,q)算法生成一个矩阵
Figure BDA0002307194450000033
及格
Figure BDA0002307194450000034
的短陷门基TB
S13.密钥生成机构选择两个哈希函数:
Figure BDA0002307194450000035
Figure BDA0002307194450000036
和一个伪随机函数
Figure BDA0002307194450000037
S14.最后,密钥生成机构设置params={n,m,q,g,A,B,H1,H2,ψ}为公共参数,并设置主密钥msk=TA
进一步的,所述的提取密钥阶段具体包括:给定用户ID,密钥生成机构运行格基抽样算法SampleBasis(A,TS,g,H1(ID)),生成矩阵
Figure BDA0002307194450000038
作为部分密钥发送给用户。
进一步的,所述的密钥生成阶段包括:在收到部分密钥M1后,用户随机选取矩阵
Figure BDA0002307194450000039
M2满足||M2||≤b,b为一个正整数,并设置私钥sk=(M1,M2),公钥pk=A×M2
进一步的,所述的副本生成阶段包括:
S41.用户将原文件F分为l块,每一个文件块用一个向量表示,记为
Figure BDA00023071944500000310
并选择fname∈{0,1}*作为文件F的标识;针对文件F,用户生成c个副本{F1,F2,…,Fj};
S42.用户随机选取一个向量
Figure BDA00023071944500000311
S43.接着,对每一个文件块向量fi,i=1,…,l,取j=1,…,c,用户计算bi,j=fiτ((fname||i||j)mod q;其中bi,j指第j个副本文件中第i个文件块的向量表示;
S44.对于每个副本文件Fj=b1,j,…,bl,j),j=1,…,c,用户可以通过计算fi=bi,jτ(fname||i||j)来恢复原文件;
S45.用户将{F1,…,Fj}上传到云服务器,并将随机数种子τ设为私有;τ必须对云服务器保密。
进一步的,所述的标签生成阶段包括:
S51.用户执行标签生成算法以获得文件F中文件块的标签集合Φ={σ12,…,σl},其中标签σi对应文件块fi的标签;
S52.用户取r∈Zq,将{Φ,r,IDS(r||fname)}存放到云服务器,其中IDS(r||fname)是在r||fname上基于身份的签名。
进一步的,所述的挑战阶段具体包括:在这一阶段,用户首先向第三方审计者发送审计请求和文件标识fname、随机数种子τ;收到审计请求后,第三方审计者随机选取{1,…,l}的子集I;对每个i∈I,第三方审计者随机选取vi∈Zq;将挑战信息设为chal=({i,vi});最后,第三方审计者向云服务器发送挑战信息。
进一步的,所述的证明生产阶段具体包括:
S71.在收到挑战之后,云服务器计算:
Figure BDA0002307194450000041
Figure BDA0002307194450000042
S72.接着云服务器随机选取向量
Figure BDA0002307194450000043
w必须满足||w||≤β;
S73.云服务器计算C=Bw mod q,
Figure BDA0002307194450000044
并计算γ=H2(C);然后计算μ=w+γμ′mod q,将证明设为proof=(r,IDS(r||fname),μ,σ,C)并将证明返回给第三方审计者。
进一步的,所述的证明验证阶段具体包括:收到证明后,第三方审计者首先计算IDS(r||fname)验证证明中的签名IDS(r||fname)的有效性;若无效,则向用户返回0,表示文件不完整;若有效,则第三方审计者计算γ=H2(C)并验证以下等式是否成立:
Figure BDA0002307194450000045
若等式成立,证明存储在云服务器上的所有副本文件都是完整的;否则,说明某些副本中的数据已损坏。
与现有技术相比,有益效果是:本发明提出的一种基于格签名的多副本云数据完整性审计方法,在基于格签名的隐私保护公开审计方案基础上,实现了基于格签名的云服务器上多副本文件隐私保护公开审计方案。针对现有多副本文件隐私保护公开审计方案的效率不高,且不能抵抗量子攻击,而现有的格签名方案并没有实现多副本文件审计方案,用来审计多副本文件效率偏低的现状,设计了一个基于格签名的、能够抵抗量子攻击且审计多副本文件效率较高的云服务器上多副本文件隐私保护公开审计方案。
附图说明
图1是本发明系统模型示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本发明的限制。
如图1所示,为本发明的系统模型示意图,这个系统模型有四个角色:密钥生成机构,用户,云服务器和第三方审计者。密钥生成机构负责根据用户的身份标识ID为用户生成部分密钥。用户是云服务的使用者,在云服务器上存放了大量的数据文件而且没有在本地持有备份。云服务器是一个大容量存储和卓越的计算性能的角色,能够向用户提供数据存储服务。第三方审计者有着用户所没有的专业性和能力,在获得用户授权的情况下根据用户的请求为用户验证云服务器上数据的完整性。
一.与本发明相关的算法
(1)格的一些定义
m维格的定义如下:
Figure BDA0002307194450000051
其中矩阵B=(b1,b2,...,bn)∈Rm×n且向量组(b1,...,bn)是线性无关的。我们称B为格L(B)的一个基。给定正整数n,q及矩阵
Figure BDA0002307194450000052
定义m维q模格如下:
Figure BDA0002307194450000053
同时,可以通过一个固定的向量
Figure BDA0002307194450000054
定义
Figure BDA0002307194450000055
的陪集:
Figure BDA0002307194450000056
其中t是是At=vmodq的一个整数向量解。
(2)格上的离散高斯
任给向量r∈Rm,s>0,在Rm上以r为中心,且带参数s的高斯函数定义如下:
Figure BDA0002307194450000061
其中||x-r||代表向量x-r的欧几里得距离。然后我们可以定义m维格L上的离散高斯分布为:
Figure BDA0002307194450000062
其中ρs,r(L)=∑α∈Aρs,r(α)。
(3)格的陷门和抽样算法
运用现有技术中的一些算法,来生成签名,细节如下:
3.1陷门基生成算法TrapGen(n,m,q)
任给
Figure BDA00023071944500000621
其中q≥2且m≥5nlg q,我们能够生成矩阵
Figure BDA0002307194450000063
以及格
Figure BDA0002307194450000064
的一个短基B,其中
Figure BDA0002307194450000065
其中||B||代表B中各列向量欧几里得距离的最大值,
Figure BDA0002307194450000066
代表
Figure BDA0002307194450000067
的不同素因子的个数。
3.2原像抽样算法SamplePre(A,TA,u,i)
给定n,q,m∈N*,其中q≥2且m≥5nlg q,输入一个矩阵
Figure BDA0002307194450000068
以及格
Figure BDA0002307194450000069
的一个陷门基,一个向量
Figure BDA00023071944500000610
和一个整数
Figure BDA00023071944500000611
存在一个多项式时间复杂度的算法SamplePre,根据输入的参数,生成一个向量
Figure BDA00023071944500000612
且满足
Figure BDA00023071944500000613
其中,
Figure BDA00023071944500000614
3.3格基抽样算法SampleBasis(A,S,TS,I)
取正整数n,m,q,k,其中q≥2且m≥5nlg q。输入矩阵A∈Zn×km,集合
Figure BDA00023071944500000615
Figure BDA00023071944500000616
的一个陷门基TS,以及满足
Figure BDA00023071944500000617
的整数I,输出
Figure BDA00023071944500000618
的一个基B,B满足||B||≤I。
3.4格上的小整数解难题
给定一个整数q,一个实数β和一个矩阵
Figure BDA00023071944500000619
其中β=poly(n)且
Figure BDA00023071944500000620
要得到Av=0(mod q)的一个非零向量解v∈Λ(A)且使||v||≤β。
二.本发明提出的一种基于格签名的多副本云数据完整性审计方法,具体包括8个阶段,分别是:
S1.设置阶段:用于设置一些系统参数,包括一些矩阵及其短陷门基,以及一些哈希函数;
S2.提取密钥阶段:密钥生成机构会根据用户的ID生成用户的部分密钥;
S3.在密钥生成阶段,用户生成整个方案的公钥和私钥;
S4.副本生成阶段:用户根据原文件生成多个副本文件;
S5.标签生成阶段:用户根据源文件生成文件的标签;
S6.挑战阶段:第三方审计者会根据用户的请求生成挑战发送给云服务器;
S7.证明生成阶段:云服务器根据第三方审计者发送的挑战生成关于副本文件的证明,并将证明返回给第三方审计者
S8.证明验证阶段:第三方审计者验证云服务器发送的证明以确认所有副本文件是否完好无损。
方案具体细节如下:
给定一个常数c,输入一个安全参数n,取m∈Zq满足m>c·nlog q且q≥σω(logn),其中q是一个大素数,σ=poly(n)(即n的多项式和)。然后计算高斯参数
Figure BDA0002307194450000071
其中
Figure BDA0002307194450000072
表示
Figure BDA0002307194450000073
的素因子个数。
设置阶段:
给定一个安全参数n,密钥生成机构运行陷门基生成算法TrapGen(n,m,q)算法生成一个矩阵
Figure BDA0002307194450000074
及格
Figure BDA0002307194450000075
的短陷门基TA;云服务器运行陷门基生成算法TrapGen(n,m,q)算法生成一个矩阵
Figure BDA0002307194450000076
及格
Figure BDA0002307194450000077
的短陷门基TB。随后,密钥生成机构选择两个哈希函数:
Figure BDA0002307194450000078
和一个伪随机函数
Figure BDA0002307194450000079
最后,密钥生成机构设置params={n,m,q,q,A,B,H1,H2,ψ}为公共参数,并设置主密钥msk=TA
提取密钥阶段:
给定用户ID,密钥生成机构运行格基抽样算法SampleBasis(A,Ts,g,H1(ID)),生成矩阵
Figure BDA00023071944500000710
作为部分密钥发送给用户。
密钥生成阶段:
在收到部分密钥M1后,用户随机选取矩阵
Figure BDA00023071944500000711
M2满足||M2||≤b,b为一个正整数,并设置私钥sk=(M1,M2),公钥pk=A×M2
副本生成阶段:
用户将原文件F分为l块,每一个文件块用一个向量表示,记为
Figure BDA00023071944500000712
并选择fname∈{0,1}*作为文件F的标识。针对文件F,用户生成c个副本{F1,F2,…,Fj}:首先,用户随机选取一个向量
Figure BDA00023071944500000713
接着,对每一个文件块向量fi,i=1,…,l,取j=1,…,c,用户计算bi,j=fiτ(fname||i||j)mod q。其中bi,j指第j个副本文件中第i个文件块的向量表示。对于每个副本文件Fj=(b1,j,…,bl,j),j=1,…,c,用户可以通过计算fi=bi,jτ(fname||i||j)来恢复原文件。接着,用户将{F1,…,Fj}上传到云服务器,并将随机数种子τ设为私有。τ必须对云服务器保密。
标签生成阶段:
用户执行标签生成算法以获得文件F中文件块的标签集合Φ={σ12,…,σl},其中标签σi对应文件块fi的标签。然后用户取r∈Zq,将{Φ,r,IDS(r||fname)}存放到云服务器,其中IDS(r||fname)是在r||fname上基于身份的签名。其中,生成标签集合{σi}的算法如下:
Figure BDA0002307194450000081
挑战阶段:
在这一阶段,用户首向第三方审计者发送审计请求和文件标识fname、随机数种子τ。收到审计请求后,第三方审计者随机选取{1,…,l}的子集I。对每个i∈I,第三方审计者随机选取vi∈Zq。将挑战信息设为chal=({i,vi})。最后,第三方审计者向云服务器发送挑战信息。
证明生成阶段:
在收到挑战之后,云服务器计算
Figure BDA0002307194450000082
Figure BDA0002307194450000091
接着云服务器随机选取向量
Figure BDA0002307194450000092
w必须满足||w||≤β。此后,云服务器计算
Figure BDA0002307194450000093
并计算γ=H2(C)。然后计算μ=w+γμ′mod q,将证明设为proof=(r,IDS(r||fname),μ,σ,C)并将证明返回给第三方审计者。
证明验证阶段:
收到证明后,第三方审计者首先计算IDS(r||fname)验证证明中的签名IDS(r||fname)的有效性。若无效,则向用户返回0,表示文件不完整;若有效,则第三方审计者计算γ=H2(C)并验证以下等式是否成立:
Figure BDA0002307194450000094
若等式成立,证明存储在云服务器上的所有副本文件都是完整的;否则,说明某些副本中的数据已损坏。
三.下面通过分析本发明创造的计算开支和通信开支来表现本发明创造在审计过程中的高效。
(1)计算开支:
记l为文件F所切分成的文件块的数量,c为由文件F生成的副本数量,
Figure BDA0002307194450000095
为TPA在挑战中所请求校验的文件块数量。令ψ代表运行伪随机函数ψτ所消耗的时间;
Figure BDA0002307194450000096
Figure BDA0002307194450000097
分别代表运行哈希函数H1和H2所消耗的时间;MulMat代表两个矩阵相乘所需要消耗的时间;
Figure BDA0002307194450000098
代表一个向量与其系数相乘所消耗的时间;
Figure BDA0002307194450000099
代表两个向量相加所需要消耗的时间;Sam代表运行原像抽样算法SamplePre(A,TA,u,i)所消耗的时间。
在与基于格签名的隐私保护公开审计方案在多副本云数据审计环境下对比的过程中,由于设置阶段、提取密钥阶段和密钥生成阶段的时间消耗远小于其他阶段(设置阶段只运行了陷门基生成算法TrapGen算法而提取密钥阶段只运行了格基抽样算法SampleBasis算法),并且基于格签名的隐私保护公开审计方案与本发明在这三个阶段有着相同的时间消耗,因此我们省略了设置阶段、提取密钥阶段和密钥生成阶段的时间消耗的对比。具体对比结果如表1所示:
表1本发明与基于格签名的隐私保护公开审计方案对比结果
Figure BDA0002307194450000101
通过表1,我们做出以下分析,结果表明本发明创造比基于格签名的隐私保护公开审计方案消耗更少时间,体现了本发明创造的高效性:
1.当c>1时,本发明创造在标签生成阶段消耗的时间比基于格签名的隐私保护公开审计方案少。无论c的取值为多少,本发明创造只需要为所有副本生成一个标签集合,而基于格签名的隐私保护公开审计方案在标签生成阶段消耗的时间取决于c的取值。
2.当c>1时,本发明创造在证明生成阶段消耗的时间比基于格签名的隐私保护公开审计方案少。基于格签名的隐私保护公开审计方案在证明生成阶段的时间消耗依赖于c的取值。特别是在矩阵乘法MulMat以及
Figure BDA0002307194450000102
这两个会消耗较多时间的计算操作上,消耗的时间与c的取值成正比。而本发明创造在证明生成阶段消耗的时间是独立于c的,明显比基于格签名的隐私保护公开审计方案效率更高。
3.在证明验证阶段,本发明创造在
Figure BDA0002307194450000103
Figure BDA0002307194450000104
计算操作上所消耗的时间比基于格签名的隐私保护公开审计方案多。但是当c>1时,本发明创造在证明验证阶段所需要的矩阵乘法操作次数上比基于格签名的隐私保护公开审计方案少很多。
(2)通信开支:
在挑战阶段,第三方审计者向云服务器发送挑战集{i,vi}。在实践中,在设置阶段可以设置两个伪随机函数ρ和φ作为公开参数。这样,在挑战阶段中,可以不需要发送挑战集,而是向云服务器发送两个常数k1,k2∈Zq,分别作为两个函数的伪随机种子,通过
Figure BDA0002307194450000111
计算出{i},通过
Figure BDA0002307194450000112
计算出{vi}。利用这种方法可以将挑战阶段的通信开支降低到长度log2k1+log2 k2位,从而减少通信开支。在证明生成阶段,在云服务器生成并发送给第三方审计者的证明中,签名(r,IDS(r||fname))通常由椭圆曲线上的两个点组成,长度为320位。
Figure BDA0002307194450000113
上的一个向量长度为mlog2 q位。因此在证明生成阶段的通信开支长度为320+3mlog2 q位。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (1)

1.一种基于格签名的多副本云数据完整性审计方法,其特征在于,包括以下步骤:
S1.设置阶段:用于设置一些系统参数,包括一些矩阵及其短陷门基,以及一些哈希函数;具体的,给定一个常数c,输入一个安全参数n,取m∈Zq满足m>c·nlog q且q≥σω(logn),其中q是一个大素数,σ=poly(n);然后计算高斯参数
Figure FDA0002684601350000011
其中
Figure FDA0002684601350000012
表示
Figure FDA0002684601350000013
的素因子个数;包括以下步骤:
S11.给定一个安全参数n,密钥生成机构运行陷门基生成算法TrapGen(n,m,q),算法生成一个矩阵
Figure FDA0002684601350000014
及格
Figure FDA0002684601350000015
的短陷门基TA
S12.云服务器运行陷门基生成算法TrapGen(n,m,q)算法生成一个矩阵
Figure FDA0002684601350000016
及格
Figure FDA0002684601350000017
的短陷门基TB
S13.密钥生成机构选择两个哈希函数:H1
Figure FDA0002684601350000018
H2
Figure FDA0002684601350000019
Figure FDA00026846013500000110
和一个伪随机函数ψ:
Figure FDA00026846013500000111
S14.最后,密钥生成机构设置params={n,m,q,g,A,B,H1,H2,ψ}为公共参数,并设置主密钥msk=TA
S2.提取密钥阶段:密钥生成机构会根据用户的ID生成用户的部分密钥;具体包括:给定用户ID,密钥生成机构运行格基抽样算法SampleBasis(A,TS,g,H1(ID)),生成矩阵
Figure FDA00026846013500000112
作为部分密钥发送给用户;
S3.在密钥生成阶段,用户生成整个方案的公钥和私钥;具体包括:在收到部分密钥M1后,用户随机选取矩阵
Figure FDA00026846013500000113
M2满足||M2||≤b,b为一个正整数,并设置私钥sk=(M1,M2),公钥pk=A×M2
S4.副本生成阶段:用户根据原文件生成多个副本文件;具体包括:
S41.用户将原文件F分为l块,每一个文件块用一个向量表示,记为f1,f2,…,fl
Figure FDA00026846013500000114
并选择fname∈{0,1}*作为文件F的标识;针对文件F,用户生成c个副本{F1,F2,…,Fj};
S42.用户随机选取一个向量
Figure FDA0002684601350000021
S43.接着,对每一个文件块向量fi,i=1,…,l,取j=1,…,c,用户计算bi,j=fiτ((fname||i||j)mod q;其中bi,j指第j个副本文件中第i个文件块的向量表示;
S44.对于每个副本文件Fj=(b1,j,…,bl,j),j=1,…,c,用户可以通过计算fi=bi,jτ(fname||i||j)来恢复原文件;
S45.用户将{F1,…,Fj}上传到云服务器,并将随机数种子τ设为私有;τ必须对云服务器保密;
S5.标签生成阶段:用户根据源文件生成文件的标签;具体包括:
S51.用户执行标签生成算法以获得文件F中文件块的标签集合Φ={σ1,σ2,…,σl},其中标签σi对应文件块fi的标签;
S52.用户取r∈Zq,将{Φ,r,IDS(r||fname)}存放到云服务器,其中IDS(r||fname)是在r||fname上基于身份的签名;
S6.挑战阶段:第三方审计者会根据用户的请求生成挑战发送给云服务器;在这一阶段,用户首先向第三方审计者发送审计请求和文件标识fname、随机数种子τ;收到审计请求后,第三方审计者随机选取{1,…,l}的子集I;对每个i∈I,第三方审计者随机选取vi∈Zq;将挑战信息设为chal=({i,vi});最后,第三方审计者向云服务器发送挑战信息;
S7.证明生成阶段:云服务器根据第三方审计者发送的挑战生成关于副本文件的证明,并将证明返回给第三方审计者;具体包括:
S71.在收到挑战之后,云服务器计算:
Figure FDA0002684601350000022
Figure FDA0002684601350000023
S72.接着云服务器随机选取向量
Figure FDA0002684601350000031
w必须满足||w||≤β;
S73.云服务器计算C=Bw mod q,
Figure FDA0002684601350000032
并计算γ=H2(C);然后计算μ=w+γμ′modq,将证明设为proof=(r,IDS(r||fname),μ,σ,C)并将证明返回给第三方审计者;
S8.证明验证阶段:第三方审计者验证云服务器发送的证明以确认所有副本文件是否完好无损;收到证明后,第三方审计者首先计算IDS(r||fname)验证证明中的签名IDS(r||fname)的有效性;若无效,则向用户返回0,表示文件不完整;若有效,则第三方审计者计算γ=H2(C)并验证以下等式是否成立:
Figure FDA0002684601350000033
若等式成立,证明存储在云服务器上的所有副本文件都是完整的;否则,说明某些副本中的数据已损坏。
CN201911244615.8A 2019-12-06 2019-12-06 一种基于格签名的多副本云数据完整性审计方法 Active CN110958116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911244615.8A CN110958116B (zh) 2019-12-06 2019-12-06 一种基于格签名的多副本云数据完整性审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911244615.8A CN110958116B (zh) 2019-12-06 2019-12-06 一种基于格签名的多副本云数据完整性审计方法

Publications (2)

Publication Number Publication Date
CN110958116A CN110958116A (zh) 2020-04-03
CN110958116B true CN110958116B (zh) 2021-02-26

Family

ID=69980196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911244615.8A Active CN110958116B (zh) 2019-12-06 2019-12-06 一种基于格签名的多副本云数据完整性审计方法

Country Status (1)

Country Link
CN (1) CN110958116B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011074824A2 (ko) * 2009-12-18 2011-06-23 주식회사 안철수연구소 시그니처 데이터베이스 업데이트 시스템 및 방법과 클라이언트 단말기의 데이터베이스 업데이트 장치
CN103888262A (zh) * 2014-03-31 2014-06-25 公安部第三研究所 用于云数据审计的密钥变化和签名更新的方法
CN105787389A (zh) * 2016-03-02 2016-07-20 四川师范大学 云文件完整性公开审计证据生成方法及公开审计方法
CN107276749A (zh) * 2017-06-02 2017-10-20 中山大学 一种代理重指定验证者签密方法
CN107679045A (zh) * 2016-08-01 2018-02-09 华为技术有限公司 版权授权管理方法及系统
CN110175473A (zh) * 2019-05-22 2019-08-27 西安电子科技大学 基于格上困难问题的数字签名方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3998640B2 (ja) * 2004-01-16 2007-10-31 株式会社東芝 暗号化及び署名方法、装置及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011074824A2 (ko) * 2009-12-18 2011-06-23 주식회사 안철수연구소 시그니처 데이터베이스 업데이트 시스템 및 방법과 클라이언트 단말기의 데이터베이스 업데이트 장치
CN103888262A (zh) * 2014-03-31 2014-06-25 公安部第三研究所 用于云数据审计的密钥变化和签名更新的方法
CN105787389A (zh) * 2016-03-02 2016-07-20 四川师范大学 云文件完整性公开审计证据生成方法及公开审计方法
CN107679045A (zh) * 2016-08-01 2018-02-09 华为技术有限公司 版权授权管理方法及系统
CN107276749A (zh) * 2017-06-02 2017-10-20 中山大学 一种代理重指定验证者签密方法
CN110175473A (zh) * 2019-05-22 2019-08-27 西安电子科技大学 基于格上困难问题的数字签名方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于格的密码体制及其基础模块的研究";张煌;《中国优秀硕士学位论文全文数据库信息科技辑》;20150131;全文 *

Also Published As

Publication number Publication date
CN110958116A (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
Guo et al. Outsourced dynamic provable data possession with batch update for secure cloud storage
CN110677487B (zh) 一种支持隐私和完整性保护的外包数据去重云存储方法
Liu et al. Privacy-preserving public auditing for regenerating-code-based cloud storage
Wang et al. Privacy-preserving public auditing for data storage security in cloud computing
Rathee et al. Elsa: Secure aggregation for federated learning with malicious actors
Garg et al. Comparative analysis of cloud data integrity auditing protocols
CN112104619A (zh) 基于外包密文属性加密的数据访问控制系统和方法
CN111597590B (zh) 一种基于区块链的数据完整性快速检验方法
US20230006836A1 (en) Multi-party and multi-use quantum resistant signatures and key establishment
Huang et al. Certificateless public verification scheme with privacy-preserving and message recovery for dynamic group
CN105787390B (zh) 一种数据完整性的验证方法及其系统
Wu et al. Robust and auditable distributed data storage with scalability in edge computing
CN115514471A (zh) 利用相乘半群进行数字签名的方法和系统
Xie et al. A novel blockchain-based and proxy-oriented public audit scheme for low performance terminal devices
Tian et al. DIVRS: Data integrity verification based on ring signature in cloud storage
Liu et al. A blockchain-based compact audit-enabled deduplication in decentralized storage
Abo-Alian et al. Auditing-as-a-service for cloud storage
Armknecht et al. Sharing proofs of retrievability across tenants
Nayak et al. Privacy preserving provable data possession for cloud based electronic health record system
CN110958116B (zh) 一种基于格签名的多副本云数据完整性审计方法
Servan-Schreiber et al. Private access control for function secret sharing
Zhao Improvement of cloud computing medical data protection technology based on symmetric encryption algorithm
CN113489690B (zh) 强抗密钥暴露的在线/离线外包数据完整性审计方法
Ji et al. Proofs of retrievability with tag outsourcing based on Goppa codes
Li et al. Blockchain-based auditing with data self-repair: From centralized system to distributed storage

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant