1.一种支持预处理的批量外包数据完整性审计方法,其特征在于,该方法包括:数据持有者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据持有者根据自己的公钥执行预计算过程,生成一组离线数据处理参数;
数据持有者针对每个数据,根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的外包数据和数据标签并上传至云存储服务器;
数据审计员根据数据持有者的公钥和多个所述数据标签执行预计算过程,生成一组离线数据审计参数;
数据审计员根据数据持有者的公钥和所述离线数据审计参数验证多个外包数据的数据标签,如果多个所述外包数据的数据标签均合法则生成一个挑战,并将该挑战发送给云存储服务器;
云存储服务器根据存储的多个外包数据对收到的挑战计算一个响应,并将该响应回复给数据审计员;
数据审计员根据数据持有者的公钥和离线数据审计参数对收到的响应进行验证,以判断所挑战的多个外包数据的完整性。
2.根据权利要求1所述的一种支持预处理的批量外包数据完整性审计方法,其特征在于,数据持有者的公钥表示为 私钥表示为sk=(a,b,c,d),其中,G和GT分别表示阶为素数p的循环群,p为素数,循环群G的两个不同的生成元g1和g2分别表示循环群G的生成元, 表示双线性映射运算,H1(·)和H2(·)分别表示抗碰撞哈希函数,a,b,c,d为Zp域中的四个非0元素, 表示域Zp的非零元素子集{1,2,..,p-1}。
3.根据权利要求2所述的一种支持预处理的批量外包数据完整性审计方法,其特征在于,所述数据持有者根据自己的公钥执行预计算过程,生成一组离线数据处理参数,具体包括:数据持有者计算参数 和 其中, 得到一
组离线数据处理参数
4.根据权利要求3所述的一种支持预处理的批量外包数据完整性审计方法,其特征在于,所述数据持有者针对每个数据,根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的外包数据和数据标签,具体包括:数据持有者随机选取一个唯一的数据标识符Dz,将数据Mz划分为n个数据块mz,i,即Mz=mz,1||mz,2||…||mz,n,1≤z≤s,||表示字符串连接;
数据持有者随机选择Zp域中的一个非0元素 计算得到数据处理参数其中αz[j]表示αz的第j位二进制数值;
数据持有者对每个数据块mz,i,随机选择Zp域中的一个非0元素 计算参数βz,i=c(afz,i+bH1(Dz||i)+αzmz,i)modp以及元数据参数 其中βz,i[j]表示βz,i的第j位二进制数值,1≤i≤n;
数据持有者构造一个字符串τz'←Dz||n||wz,随机选择Zp域中的一个非0元素 计算 和tz=rz+dH2(Δz||τz')modp,得到τz←τz'||Δz||tz,其中rz[j]表示rz的第j位二进制数值,τz表示数据Mz的数据标签,(Δz,tz)共同构成字符串τz'的数字签名;
数据持有者得到处理后的外包数据
5.根据权利要求4所述的一种支持预处理的批量外包数据完整性审计方法,其特征在于,所述数据审计员根据数据持有者的公钥和多个所述数据标签执行预计算过程,生成一组离线数据审计参数,具体包括:数据审计员计算参数 以及
得到一组离线数据审计参数
6.根据权利要求5所述的一种支持预处理的批量外包数据完整性审计方法,其特征在于,所述数据审计员根据数据持有者的公钥和所述离线数据审计参数验证多个外包数据的数据标签,如果多个所述外包数据的数据标签均合法则生成一个挑战,具体包括:数据审计员读取数据标签τz,分解所棕数据标签τz得到τz'、Δz和tz,计算哈希函数值hz=H2(Δz||τz'),并验证等式 是否成立,其中t[j]表示的第j位二进制数值,h[j]表示 的第j位二进制数值;如若等式不成立,则终止执行后续步骤;
数据审计员从[1,n]中随机选取一个子集C,随机选取域Zp中的|C|个非0元素 以及域Zp中的s个非0元素 其中i∈C;
数据审计员得到挑战Γ={(i,υi):i∈C}∪{ρz:1≤z≤s}。
7.根据权利要求6所述的一种支持预处理的批量外包数据完整性审计方法,其特征在于,所述云存储服务器根据存储的多个外包数据对收到的挑战计算一个响应,并将该响应回复给数据审计员,具体包括:云存储服务器根据收到的挑战Γ,以及存储的s个外包数据 和对应的数据标签τz,计算聚合的元数据参数 和云存储服务器对挑战Γ的每个外包数据 的数据块进行聚合,计算得到聚合的数据块云存储服务器得到关于挑战Γ的响应 将该响应返回给数据审计员。
8.根据权利要求7所述的一种支持预处理的批量外包数据完整性审计方法,其特征在于,所述数据审计员根据数据持有者的公钥和离线数据审计参数对收到的响应进行验证,以判断所挑战的多个外包数据的完整性,具体包括:数据审计员计算参数 和
数据审计员计算参数 其中1≤z≤s;
数据审计员验证如下等式是否成立:
其中,θ[j]表示θ的第j位二进制数值, 表示 的第j位二进制数值,ξz[j]表示ξz的第j位二进制数值;如果上述等式成立,则表示s个外包数据 均在云存储服务器保存完整;
否则表明至少某个外包数据已遭到破坏。
9.一种支持预处理的批量外包数据完整性审计系统,其特征在于,该系统包括:用户密钥生成模块,用于数据持有者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据外包预处理模块,用于数据持有者根据自己的公钥执行预计算过程,生成一组离线数据处理参数;
数据处理模块,用于数据持有者针对每个数据,根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的外包数据和数据标签并上传至云存储服务器;
数据审计预处理模块,用于数据审计员根据数据持有者的公钥和多个所述数据标签执行预计算过程,生成一组离线数据审计参数;
完整性挑战生成模块,用于数据审计员根据数据持有者的公钥和所述离线数据审计参数验证多个外包数据的数据标签,如果多个所述外包数据的数据标签均合法则生成一个挑战,并将该挑战发送给云存储服务器;
完整性响应模块,用于根据存储的多个外包数据对收到的挑战计算一个响应,并将该响应回复给数据审计员;
完整性审计模块,用于数据审计员根据数据持有者的公钥和离线数据审计参数对收到的响应进行验证,以判断所挑战的多个外包数据的完整性。