CN109784094B - 一种支持预处理的批量外包数据完整性审计方法及系统 - Google Patents

一种支持预处理的批量外包数据完整性审计方法及系统 Download PDF

Info

Publication number
CN109784094B
CN109784094B CN201910052994.4A CN201910052994A CN109784094B CN 109784094 B CN109784094 B CN 109784094B CN 201910052994 A CN201910052994 A CN 201910052994A CN 109784094 B CN109784094 B CN 109784094B
Authority
CN
China
Prior art keywords
data
holder
auditor
outsourced
parameters
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
CN201910052994.4A
Other languages
English (en)
Other versions
CN109784094A (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.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
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 Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN201910052994.4A priority Critical patent/CN109784094B/zh
Publication of CN109784094A publication Critical patent/CN109784094A/zh
Application granted granted Critical
Publication of CN109784094B publication Critical patent/CN109784094B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提出一种支持预处理的批量外包数据完整性审计方法,包括:数据持有者生成自己的公钥及私钥;数据持有者根据自己的公钥执行预计算过程生成离线数据处理参数;数据持有者根据自己的私钥和离线数据处理参数执行数据处理过程生成处理后的外包数据和数据标签;数据审计员根据数据持有者的公钥和多个数据标签执行预计算过程生成离线数据审计参数;数据审计员根据数据持有者的公钥和离线数据审计参数验证多个外包数据的数据标签,如果合法则生成一个挑战,并将该挑战发送给云存储服务器;根据存储的多个外包数据对收到的挑战计算一个响应,并将该响应回复给数据审计员;数据审计员根据数据持有者的公钥和离线数据审计参数对收到的响应进行验证。

Description

一种支持预处理的批量外包数据完整性审计方法及系统
技术领域
本发明涉及信息安全密码领域,具体涉及一种支持预处理的批量外包数据完整性审计方法及系统。
背景技术
云计算技术近年来已取得极大的进步,越来越多的公司和企业选择借助于云平台为用户提供相关服务。通过云平台提供的数据存储服务,用户可以将其数据外包至云存储服务器,以降低在本地存储和管理数据的负担。但在云存储模式下的用户数据将由云存储服务器完全控制,如果用户数据在云端遭到篡改或误删等,用户将难以审计其数据的完整性。
在上述云存储背景下,研究人员已针对不同的应用场景提出了大量可公开验证的云存储数据完整性审计方案。这些方案的执行过程主要由两部分组成,其一是数据处理过程,其二是完整性审计协议,该协议要求数据审计员和云存储服务器进行交互。这两个执行过程均要求用户执行大量耗时的指数运算,因此计算效率较低,难以适用于用户计算能力较弱的设备。
为提升用户端计算效率,研究人员已提出了在线/离线云数据完整性审计技术和批量外包数据完整性审计技术。但前者仅提升了数据处理阶段的计算效率,使得数据持有者仅需执行轻量级的运算,不过离线阶段所生成的参数不能够在在线阶段重复使用,这也为用户存储离线参数提出了较高要求。另一方面,现有的批量外包数据完整性审计技术仅考虑如何在一轮完整性审计过程完成对多个外包的审计,从而节省用户端的计算资源和通信开销,但并未涉及如何提升数据处理阶段的效率。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种支持预处理的批量外包数据完整性审计方法及系统,旨在解决用户高效外包数据以及高效批量审计多个外包数据完整性的问题。
为实现上述目的及其他相关目的,本发明提供一种支持预处理的批量外包数据完整性审计方法,该方法包括:
数据持有者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据持有者根据自己的公钥执行预计算过程,生成一组离线数据处理参数;
数据持有者针对每个数据,根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的外包数据和数据标签并上传至云存储服务器;
数据审计员根据数据持有者的公钥和多个所述数据标签执行预计算过程,生成一组离线数据审计参数;
数据审计员根据数据持有者的公钥和所述离线数据审计参数验证多个外包数据的数据标签,如果多个所述外包数据的数据标签均合法则生成一个挑战,并将该挑战发送给云存储服务器;
云存储服务器根据存储的多个外包数据对收到的挑战计算一个响应,并将该响应回复给数据审计员;
数据审计员根据数据持有者的公钥和离线数据审计参数对收到的响应进行验证,以判断所挑战的多个外包数据的完整性。
可选地,数据持有者的公钥表示为
Figure BDA0001951446530000021
私钥表示为sk=(a,b,c,d),其中,G和GT分别表示阶为素数p的循环群,p为素数,循环群G的两个不同的生成元g1和g2分别表示循环群G的生成元,/>
Figure BDA0001951446530000022
G×G→GT表示双线性映射运算,H1(·)和H2(·)分别表示抗碰撞哈希函数,a,b,c,d为Zp域中的四个非0元素,
Figure BDA0001951446530000023
表示域Zp的非零元素子集{1,2,..,p-1}。
可选地,所述数据持有者根据自己的公钥执行预计算过程,生成一组离线数据处理参数,具体包括:
数据持有者计算参数
Figure BDA0001951446530000024
和/>
Figure BDA0001951446530000025
其中,0≤j≤|p|-1,/>
Figure BDA0001951446530000026
得到一组离线数据处理参数/>
Figure BDA0001951446530000027
可选地,所述数据持有者针对每个数据,根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的外包数据和数据标签,具体包括:
数据持有者随机选取一个唯一的数据标识符Dz,将数据Mz划分为n个数据块mz,i,即Mz=mz,1||mz,2||…||mz,n,1≤z≤s,||表示字符串连接;
数据持有者随机选择Zp域中的一个非0元素
Figure BDA0001951446530000028
计算得到数据处理参数
Figure BDA0001951446530000029
其中αz[j]表示αz的第j位二进制数值;
数据持有者对每个数据块mz,i,随机选择Zp域中的一个非0元素
Figure BDA00019514465300000210
计算参数βz,i=c(afz,i+bH1(Dz||i)+αzmz,i)modp以及元数据参数/>
Figure BDA00019514465300000211
其中βz,i[j]表示βz,i的第j位二进制数值,1≤i≤n;
数据持有者构造一个字符串τz'←Dz||n||wz,随机选择Zp域中的一个非0元素
Figure BDA0001951446530000031
计算/>
Figure BDA0001951446530000032
和tz=rz+dH2z||τz')modp,得到τz←τz'||Δz||tz,其中rz[j]表示rz的第j位二进制数值,τz表示数据Mz的数据标签,(Δz,tz)共同构成字符串τz'的数字签名;
数据持有者得到处理后的外包数据
Figure BDA0001951446530000033
可选地,所述数据审计员根据数据持有者的公钥和多个所述数据标签执行预计算过程,生成一组离线数据审计参数,具体包括:
数据审计员计算参数
Figure BDA0001951446530000034
以及
Figure BDA0001951446530000035
得到一组离线数据审计参数/>
Figure BDA0001951446530000036
可选地,所述数据审计员根据数据持有者的公钥和所述离线数据审计参数验证多个外包数据的数据标签,如果多个所述外包数据的数据标签均合法则生成一个挑战,具体包括:
数据审计员读取数据标签τz,分解所棕数据标签τz得到τz'、Δz和tz,计算哈希函数值hz=H2z||τz'),并验证等式
Figure BDA0001951446530000037
是否成立,其中t[j]表示
Figure BDA00019514465300000318
的第j位二进制数值,h[j]表示/>
Figure BDA00019514465300000319
的第j位二进制数值;如若等式不成立,则终止执行后续步骤;
数据审计员从[1,n]中随机选取一个子集C,随机选取域Zp中的|C|个非0元素
Figure BDA00019514465300000310
以及域Zp中的s个非0元素/>
Figure BDA00019514465300000311
其中i∈C;
数据审计员得到挑战Γ={(i,υi):i∈C}∪{ρz:1≤z≤s}。
可选地,所述云存储服务器根据存储的多个外包数据对收到的挑战计算一个响应,并将该响应回复给数据审计员,具体包括:
云存储服务器根据收到的挑战Γ,以及存储的s个外包数据
Figure BDA00019514465300000312
和对应的数据标签τz,计算聚合的元数据参数/>
Figure BDA00019514465300000313
和/>
Figure BDA00019514465300000314
云存储服务器对挑战Γ的每个外包数据/>
Figure BDA00019514465300000315
的数据块进行聚合,计算得到聚合的数据块/>
Figure BDA00019514465300000316
云存储服务器得到关于挑战Γ的响应
Figure BDA00019514465300000317
将该响应返回给数据审计员。
可选地,所述数据审计员根据数据持有者的公钥和离线数据审计参数对收到的响应进行验证,以判断所挑战的多个外包数据的完整性,具体包括:
数据审计员计算参数
Figure BDA0001951446530000041
和/>
Figure BDA0001951446530000042
数据审计员计算参数
Figure BDA0001951446530000043
其中1≤z≤s;
数据审计员验证如下等式是否成立:
Figure BDA0001951446530000044
其中,θ[j]表示θ的第j位二进制数值,
Figure BDA0001951446530000045
表示/>
Figure BDA0001951446530000046
的第j位二进制数值,ξz[j]表示ξz的第j位二进制数值;如果上述等式成立,则表示s个外包数据/>
Figure BDA0001951446530000047
均在云存储服务器保存完整;否则表明至少某个外包数据已遭到破坏。
为实现上述目的及其他相关目的,本发明还提供一种支持预处理的批量外包数据完整性审计系统,该系统包括:
用户密钥生成模块,用于数据持有者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据外包预处理模块,用于数据持有者根据自己的公钥执行预计算过程,生成一组离线数据处理参数;
数据处理模块,用于数据持有者针对每个数据,根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的外包数据和数据标签并上传至云存储服务器;
数据审计预处理模块,用于数据审计员根据数据持有者的公钥和多个所述数据标签执行预计算过程,生成一组离线数据审计参数;
完整性挑战生成模块,用于数据审计员根据数据持有者的公钥和所述离线数据审计参数验证多个外包数据的数据标签,如果多个所述外包数据的数据标签均合法则生成一个挑战,并将该挑战发送给云存储服务器;
完整性响应模块,用于根据存储的多个外包数据对收到的挑战计算一个响应,并将该响应回复给数据审计员;
完整性审计模块,用于数据审计员根据数据持有者的公钥和离线数据审计参数对收到的响应进行验证,以判断所挑战的多个外包数据的完整性。
如上所述,本发明的一种支持预处理的批量外包数据完整性审计方法及系统,具有以下有益效果:
本发明提供一种支持预处理的批量外包数据完整性审计方法,与现有的批量外包数据完整性验证方法相比进一步降低了数据审计员的计算任务。本方法允许数据持有者和数据审计员分别执行各自的预处理过程,生成相应的离线数据并进行保存,由于预处理过程不需要输入用户的私钥,因此可以委托给他人执行。数据持有者针对每个外包数据,使用预处理生成的离线数据处理参数执行数据处理过程,生成处理后的外包数据和数据标签,此过程不再含有耗时的指数运算,仅包含轻量级的运算,因此适用于计算能力较弱的用户设备。在批量数据完整性审计阶段,数据审计员可以一次对多个外包数据的完整性进行审计,即通过和云存储服务器执行一次交互便可审计这些外包数据的完整性,由于使用预处理阶段生成的离线数据审计参数,因此数据审计员在执行完整性审计过程时也不需执行耗时的指数运算。
附图说明
为了进一步阐述本发明所描述的内容,下面结合附图对本发明的具体实施方式作进一步详细的说明。应当理解,这些附图仅作为典型示例,而不应看作是对本发明的范围的限定。
图1为本发明所述的一种支持预处理的批量外包数据完整性审计方法的流程图;
图2为本发明所述的一种支持预处理的批量外包数据完整性审计系统的系统架构图;
图3为本发明所述的一种支持预处理的批量外包数据完整性审计系统的框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了使本领域技术人员对本发明的技术方案更加清晰的理解,先对本发明中的一些技术术语进行说明。
(1)数据持有者(Data Owner,DO):计算自己的一对公钥和私钥,将公钥公开;可以在不输入私钥的前提下执行数据外包预处理过程,生成能够重复使用的离线数据处理参数;可以对自己每一个数据执行在线处理过程,利用自己的私钥和离线数据处理参数对数据进行处理,最后将处理后的数据和对应的数据标签外包到云存储服务器。
(2)数据审计员(DataAuditor,DA):可根据数据持有者的公钥和数据标签执行数据完整性审计预处理过程,生成可重复使用的审计参数;能够从云存储服务器读取数据持有者的外包数据和对应的数据标签,并能够和云存储服务器执行挑战-响应-审计协议,一次对多个外包数据的完整性进行批量审计。
(3)云存储服务器(Cloud Storage Server,CS):具有强大的数据存储和计算能力,能够为普通用户提供大规模数据存储服务,但不被用户完全信任。
本发明所涉及的一种支持预处理的批量外包数据完整性审计方法使用了双线性映射相关的数学知识,特在此作相关定义说明。
(1)定义一个函数映射
Figure BDA0001951446530000061
G×G→GT将循环群G中的元素映射到循环群GT中,其中G和GT均是两个阶为素数p的循环群。双线性映射/>
Figure BDA0001951446530000062
需满足如下特性:
(1)双线性特性:对于任意δ,η∈G,任意x,y∈Zp,均有
Figure BDA0001951446530000063
成立,其中Zp={0,1,2,..,p-1};
(2)非退化特性:群G中至少存在一个元素g,使得
Figure BDA0001951446530000064
为群GT的生成元;
(3)高效性:存在有效的算法,使得对于任意δ,η∈G,可以有效计算出
Figure BDA0001951446530000065
的值。
本发明中使用的哈希函数具备两个基本特性:单向性和抗碰撞性;单向性是指从哈希函数的输入推导出输出是高效的,但从哈希函数的输出计算出其输入是不可行的;抗碰撞性是指无法找到两个不同的输入使其具有相同的哈希函数值。
如图1所示,本发明提供一种支持预处理的批量外包数据完整性审计方法,该方法包括以下步骤:
步骤1.数据持有者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥。
具体地,该步骤1具体包括以下子步骤:
步骤11:数据持有者输入系统安全参数l,运行初始化算法Θ(1l),输出两个阶为素数p的循环群G和GT以及一个双线性映射运算
Figure BDA0001951446530000066
G×G→GT
其中,所述的初始化算法Θ(1l),其运行方法如下:数据持有者DO输入系统安全参数l,系统根据l的大小,选择相应的椭圆曲线:
Figure BDA0001951446530000067
(/>
Figure BDA0001951446530000068
和ψ为系数),用椭圆曲线上的点构成两个素数p阶的循环群G和GT,选择一种映射函数/>
Figure BDA0001951446530000069
将循环群G中的元素映射到循环群GT中;一般,安全参数l数值越大,所选取的椭圆曲线上的点也越多,循环群也越大。
步骤12:数据持有者运行随机数生成算法,随机选择循环群G的两个不同的生成元g1和g2
其中,所述的随机数生成算法,其方法如下:根据步骤11所选取的椭圆曲线
Figure BDA0001951446530000071
随机选择自变量X的一个值/>
Figure BDA0001951446530000072
计算对应因变量Y的值/>
Figure BDA0001951446530000073
若点/>
Figure BDA0001951446530000074
在所要映射的群中,则成功生成了随机元素;若点/>
Figure BDA0001951446530000075
不在群中,则继续重新选择X的值,直到找到出现在群中的点。
步骤13:数据持有者选择两种抗碰撞哈希函数H1(·)和H2(·),抗碰撞哈希函数H1(·)和H2(·)满足抗碰撞哈希函数的所有特性。其中所述的抗碰撞哈希函数H1(·)和H2(·)能从Pairing-BasedCryptosystems库函数中调用运行。抗碰撞哈希函数H1(·)的输入为任意长度字符串,输出为域Zp中的一个元素;抗碰撞哈希函数H2(·)的输入为任意长度字符串,输出为域Zp中的一个元素。
步骤14:数据持有者随机选择Zp域中的四个非0元素
Figure BDA0001951446530000076
计算
Figure BDA0001951446530000077
Figure BDA0001951446530000078
和/>
Figure BDA0001951446530000079
其中,
Figure BDA00019514465300000710
表示域Zp的非零元素子集{1,2,..,p-1},随机选择/>
Figure BDA00019514465300000711
中元素的函数能从Pairing-Based Cryptosystems库函数中调用运行。
最后,数据持有者的公钥表示为
Figure BDA00019514465300000712
私钥表示为sk=(a,b,c,d)。
步骤2.数据持有者根据自己的公钥执行预计算过程,生成一组离线数据处理参数。
具体地,数据持有者计算参数
Figure BDA00019514465300000713
和/>
Figure BDA00019514465300000714
(0≤j≤|p|-1),其中
Figure BDA00019514465300000715
得到一组离线的数据处理参数/>
Figure BDA00019514465300000716
步骤3.数据持有者针对每个数据Mz(1≤z≤s),根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签并上传至云存储服务器。
具体地,该步骤3具体包括以下子步骤:为便于表述,本发明假设所有数据Mz(1≤z≤s)具有相同的长度。
步骤31:针对每个数据Mz(1≤z≤s),数据持有者随机选取一个唯一的数据标识符Dz,将数据Mz划分为n个数据块mz,i,即Mz=mz,1||mz,2||…||mz,n
步骤32:针对每个数据Mz(1≤z≤s),数据持有者随机选择Zp域中的一个非0元素
Figure BDA00019514465300000717
计算得到数据处理参数/>
Figure BDA00019514465300000718
其中αz[j]表示αz的第j位(0≤j≤|p|-1)二进制数值;
步骤33:针对每个数据Mz(1≤z≤s),数据持有者对每个数据块mz,i(1≤i≤n),随机选择Zp域中的一个非0元素
Figure BDA00019514465300000719
计算参数βz,i=c(afz,i+bH1(Dz||i)+αzmz,i)modp以及元数据参数/>
Figure BDA0001951446530000081
其中,βz,i[j]表示βz,i的第j位(0≤j≤|p|-1)二进制数值;
步骤34:针对每个数据Mz(1≤z≤s),数据持有者构造一个字符串τz'←Dz||n||wz,随机选择Zp域中的一个非0元素
Figure BDA0001951446530000082
计算/>
Figure BDA0001951446530000083
和tz=rz+dH2z||τz')modp,得到τz←τz'||Δz||tz,其中rz[j]表示rz的第j位(0≤j≤|p|-1)二进制数值,τz表示数据Mz的数据标签,(Δz,tz)共同构成τz'的数字签名;
最后,对于每个数据Mz(1≤z≤s),数据持有者得到处理后的数据
Figure BDA0001951446530000084
将其和数据标签τz一起上传至云存储服务器。
步骤4.数据审计员根据数据持有者的公钥和多个数据标签执行预计算过程,生成一组离线数据审计参数。
具体地,数据审计员计算参数
Figure BDA0001951446530000085
以及/>
Figure BDA0001951446530000086
其中0≤j≤|p|-1,1≤z≤s,得到一组离线数据审计参数
Figure BDA0001951446530000087
步骤5.数据审计员根据数据持有者的公钥和离线数据审计参数验证多个外包数据的数据标签,如果均合法则生成一个挑战,并将该挑战发送给云存储服务器。
具体地,该步骤5具体包括以下子步骤:
步骤51:数据审计员从云存储服务器读取数据标签τz(1≤z≤s),分别分解数据标签τz得到τz',Δz和tz,计算哈希函数值hz=H2z||τz'),并验证等式
Figure BDA0001951446530000088
是否成立,其中t[j]表示/>
Figure BDA0001951446530000089
的第j位(0≤j≤|p|-1)二进制数值,h[j]表示/>
Figure BDA00019514465300000810
的第j位(0≤j≤|p|-1)二进制数值;如若上述等式不成立,则终止执行后续步骤;
步骤52:数据审计员从[1,n]中随机选取一个子集C,随机选取域Zp中的|C|个非0元素
Figure BDA00019514465300000811
(i∈C)以及域Zp中的s个非0元素/>
Figure BDA00019514465300000812
(1≤z≤s);
最后,数据审计员得到挑战Γ={(i,υi):i∈C}∪{ρz:1≤z≤s},并发送给云存储服务器。
步骤6.云存储服务器根据存储的多个外包数据对收到的挑战计算一个响应,并将该响应回复给数据审计员。
具体地,该步骤6具体包括以下子步骤:
步骤61:云存储服务器根据收到的挑战Γ,以及存储的s个外包数据
Figure BDA0001951446530000091
和对应的数据标签τz,计算聚合的元数据参数/>
Figure BDA0001951446530000092
和/>
Figure BDA0001951446530000093
步骤62:云存储服务器对挑战的每个外包数据
Figure BDA0001951446530000094
(1≤z≤s)的数据块进行聚合,计算得到/>
Figure BDA0001951446530000095
最后,云存储服务器得到关于挑战Γ的响应
Figure BDA0001951446530000096
将该响应返回给数据审计员。
步骤7.数据审计员根据数据持有者的公钥和离线数据审计参数对收到的响应进行验证,以判断所挑战的多个外包数据的完整性。
具体地,该步骤7具体包括以下子步骤:
步骤71:数据审计员计算参数
Figure BDA0001951446530000097
和/>
Figure BDA0001951446530000098
步骤72:数据审计员计算参数
Figure BDA0001951446530000099
其中1≤z≤s;
步骤73:数据审计员验证如下等式是否成立:
Figure BDA00019514465300000910
其中,θ[j]表示θ的第j位(0≤j≤|p|-1)二进制数值,
Figure BDA00019514465300000911
表示/>
Figure BDA00019514465300000912
的第j位(0≤j≤|p|-1)二进制数值,ξz[j]表示ξz的第j位(0≤j≤|p|-1,1≤z≤s)二进制数值;如果上述等式成立,则输出1,表示s个外包数据/>
Figure BDA00019514465300000913
(1≤z≤s)均在云存储服务器保存完整;否则,输出0,表明至少某个外包数据已遭到破坏。
综上所述,本发明提出了一种支持预处理的批量外包数据完整性审计方法。首先,综合使用预处理技术和批量完整性审计技术,一次审计过程可以完成对多个外包数据的完整性验证,大幅降低了数据审计员针对多个外包数据进行完整性审计的计算量;其次,数据持有者和数据审计员可以分别执行各自的预处理过程,得到相应的离线数据处理参数和离线数据审计参数,这些预处理结果可以重复使用,因此能够减轻数据持有者和数据审计员在预处理阶段的存储负担;最后,数据持有者和数据审计员的预处理过程均不要求输入用户的私钥,因此便于用户将各自的预计算过程委托给计算能力较强的其他用户执行,且在此过程中不会泄露用户的隐私。
本发明还提供一种支持预处理的批量外包数据完整性审计系统,其系统框架如图2所示。图3为一种支持预处理的批量外包数据完整性审计系统的原理框图,如图3所示,该系统包括:
用户密钥生成模块,数据持有者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据外包预处理模块,数据持有者根据自己的公钥执行预计算过程,生成一组离线数据处理参数;
数据处理模块,数据持有者针对每个数据,根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签并上传至云存储服务器;
数据审计预处理模块,数据审计员根据数据持有者的公钥和多个数据标签执行预计算过程,生成一组离线数据审计参数;
完整性挑战生成模块,数据审计员根据数据持有者的公钥和离线数据审计参数验证多个外包数据的数据标签,如果均合法则生成一个挑战,并将该挑战发送给云存储服务器;
完整性响应模块,云存储服务器根据存储的多个外包数据对收到的挑战计算一个响应,并将该响应回复给数据审计员;
完整性审计模块,数据审计员根据数据持有者的公钥和离线数据审计参数对收到的响应进行验证,以判断所挑战的多个外包数据的完整性。
本发明所述的一种支持预处理的批量外包数据完整性审计系统,不但实现了对多个外包数据的批量完整性审计,而且支持数据处理阶段和完整性审计阶段的预处理机制,使得数据外包过程仅包含轻量级运算,以及批量完整性审计过程不再要求数据审计员执行耗时的指数运算,极大减轻了数据持有者和数据审计员的计算负担,可运行于计算能力较弱的用户设备之上。
综上所述,本发明在云存储环境下使用该方法处理用户数据以及批量审计云端存储的数据完整性,在线阶段能够充分利用预处理阶段生成的参数以降低实时计算量,尤其在线数据处理过程仅需执行轻量级的运算,在线数据完整性审计过程用户端不再含有指数运算,解决了现有相关批处理完整性审计方案要求用户执行大量耗时的指数运算的问题。该方法的优点和功效是:
本发明方法在外包数据完整性审计阶段同时支持预处理和批量数据审计机制,使得数据审计员实时计算任务不再包含耗时的指数运算,且对于多个外包数据的批量完整性审计只需执行两个双线性对运算,因此具有较高的计算效率。
本发明方法在数据外包预处理模块和数据审计预处理模块生成的离线参数均可重复使用,使得数据持有者不需针对不同的外包数据单独生成离线数据处理参数,并且数据审计员也不需针对不同轮次的审计过程单独生成离线数据审计参数。
3)本发明方法的数据外包预处理模块和数据审计预处理模块均不要求输入用户的私钥,因此用户可以在设备空闲阶段执行预处理过程,也可将各自的预处理过程授权给其他具有较强计算能力的用户执行,在进一步降低预处理过程计算负担的同时不会泄露用户的私钥。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (5)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910052994.4A CN109784094B (zh) 2019-01-21 2019-01-21 一种支持预处理的批量外包数据完整性审计方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910052994.4A CN109784094B (zh) 2019-01-21 2019-01-21 一种支持预处理的批量外包数据完整性审计方法及系统

Publications (2)

Publication Number Publication Date
CN109784094A CN109784094A (zh) 2019-05-21
CN109784094B true CN109784094B (zh) 2023-05-30

Family

ID=66501968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910052994.4A Active CN109784094B (zh) 2019-01-21 2019-01-21 一种支持预处理的批量外包数据完整性审计方法及系统

Country Status (1)

Country Link
CN (1) CN109784094B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611626B (zh) * 2020-05-26 2023-08-18 福建师范大学 一种支持快速私自验证的云存储数据完整性公开审计方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547099A (zh) * 2009-05-07 2009-09-30 张键红 基于椭圆曲线的自认证签名方法与装置
CN102647433A (zh) * 2012-05-21 2012-08-22 北京航空航天大学 一种高效的云存储数据持有性验证方法
CN103414690A (zh) * 2013-07-15 2013-11-27 北京航空航天大学 一种可公开验证云端数据持有性校验方法
GB201414539D0 (en) * 2014-08-15 2014-10-01 Ibm Method for securing integrity and consistency of a cloud storage service with efficient client operations
CN105978695A (zh) * 2016-05-03 2016-09-28 西南石油大学 一种用于云存储数据的批量自审计方法
CN107124272A (zh) * 2017-05-02 2017-09-01 西南石油大学 支持数据代理上传的格基云存储数据安全审计方法
CN107172071A (zh) * 2017-06-19 2017-09-15 陕西师范大学 一种基于属性的云数据审计方法及系统
CN109246098A (zh) * 2018-08-31 2019-01-18 桂林电子科技大学 一种支持备份服务器同步密文比较的方法
CN109818944A (zh) * 2019-01-08 2019-05-28 桂林电子科技大学 一种支持预处理的云数据外包及完整性验证方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254569B2 (en) * 2007-12-29 2012-08-28 Nec (China) Co., Ltd. Provable data integrity verifying method, apparatuses and system
US8694467B2 (en) * 2010-03-31 2014-04-08 Xerox Corporation Random number based data integrity verification method and system for distributed cloud storage

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547099A (zh) * 2009-05-07 2009-09-30 张键红 基于椭圆曲线的自认证签名方法与装置
CN102647433A (zh) * 2012-05-21 2012-08-22 北京航空航天大学 一种高效的云存储数据持有性验证方法
CN103414690A (zh) * 2013-07-15 2013-11-27 北京航空航天大学 一种可公开验证云端数据持有性校验方法
GB201414539D0 (en) * 2014-08-15 2014-10-01 Ibm Method for securing integrity and consistency of a cloud storage service with efficient client operations
CN105978695A (zh) * 2016-05-03 2016-09-28 西南石油大学 一种用于云存储数据的批量自审计方法
CN107124272A (zh) * 2017-05-02 2017-09-01 西南石油大学 支持数据代理上传的格基云存储数据安全审计方法
CN107172071A (zh) * 2017-06-19 2017-09-15 陕西师范大学 一种基于属性的云数据审计方法及系统
CN109246098A (zh) * 2018-08-31 2019-01-18 桂林电子科技大学 一种支持备份服务器同步密文比较的方法
CN109818944A (zh) * 2019-01-08 2019-05-28 桂林电子科技大学 一种支持预处理的云数据外包及完整性验证方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Multi authority attribute based encryption against data integrity and scalability issues in cloud data services";Praveena.A等;《IEEE》;20150813;全文 *
"云环境中外包数据安全访问关键技术研究";李昊星;《中国博士学位论文全文数据库 信息科技辑》;20190115;全文 *
"指定审计员的云数据安全存储方案";赵萌等;《技术研究》;20181110(第11期);全文 *

Also Published As

Publication number Publication date
CN109784094A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
CN108965258B (zh) 一种基于全同态加密的云环境数据完整性验证方法
CN105264819B (zh) 最小披露凭证验证和撤销
CN106254374B (zh) 一种具备去重功能的云数据公开审计方法
CN110351096B (zh) 多重签名方法、签名中心、程序介质及电子设备
Wei et al. Security and privacy for storage and computation in cloud computing
Liu et al. Public auditing for big data storage in cloud computing--a survey
AU2021204543B2 (en) Digital signature method, signature information verification method, related apparatus and electronic device
WO2022141839A1 (zh) 联邦学习模型的更新方法、装置、电子设备及存储介质
CN109274504B (zh) 一种基于云平台的多用户大数据存储分享方法及系统
Wu et al. Privacy-preserving certificateless cloud auditing with multiple users
Hu et al. Secure outsourced computation of the characteristic polynomial and eigenvalues of matrix
CN106790311A (zh) 云服务器存储完整性检测方法及系统
CN110363509A (zh) 一种信息保护方法及装置
CN113704357A (zh) 一种基于区块链的智慧城市数据共享方法及系统
Chen Introduction to secure outsourcing computation
WO2021134898A1 (zh) 区块链交易数据证明监管方法、系统及相关设备
CN109784094B (zh) 一种支持预处理的批量外包数据完整性审计方法及系统
CN111080296A (zh) 一种基于区块链系统的验证方法及装置
CN109818944B (zh) 一种支持预处理的云数据外包及完整性验证方法及装置
Sun et al. Public data integrity auditing without homomorphic authenticators from indistinguishability obfuscation
CN111314080B (zh) 一种基于sm9算法的协同签名方法、装置、介质
CN112800482A (zh) 基于身份的在线/离线安全云存储审计方法
CN116628504A (zh) 一种基于联邦学习的可信模型训练方法
CN115906149A (zh) 基于有向无环图的kp-abe及区块链的用户数据可信共享方法
CN113344551B (zh) 基于零知识证明技术的多头授信方法、装置、设备及介质

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