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所述的一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述保存有标记副本的标记索引数据结构表、数据文件的累计值和辅助值F均存储在验证方中。
6.根据权利要求4所述的一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述数据文件和辅助值E均发送给云存储提供商。
7.根据权利要求4所述的一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述步骤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为验证值, 为质询块的证人,bN为质询块。
8.根据权利要求7所述的一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述步骤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中任意验证不相等,则云存储数据不完整。
9.根据权利要求8所述的一种基于双线性对累加器的云存储数据完整性验证方法,其特征在于,所述验证方法根据标记索引数据结构表支持数据动态变换,所述数据动态变换包括数据的插入、数据的删除和数据的更新。