CN109818944A - 一种支持预处理的云数据外包及完整性验证方法及装置 - Google Patents
一种支持预处理的云数据外包及完整性验证方法及装置 Download PDFInfo
- Publication number
- CN109818944A CN109818944A CN201910014719.3A CN201910014719A CN109818944A CN 109818944 A CN109818944 A CN 109818944A CN 201910014719 A CN201910014719 A CN 201910014719A CN 109818944 A CN109818944 A CN 109818944A
- Authority
- CN
- China
- Prior art keywords
- data
- person
- outsourcing
- verification
- parameter
- 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.)
- Granted
Links
- 238000012946 outsourcing Methods 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012795 verification Methods 0.000 title claims abstract description 30
- 238000013524 data verification Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 27
- 125000004122 cyclic group Chemical group 0.000 claims description 13
- 238000010200 validation analysis Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000006116 polymerization reaction Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000004804 winding Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提出一种支持预处理的云数据外包及完整性验证方法,包括:数据外包者选取安全参数和抗碰撞哈希函数,生成公钥及私钥;数据外包者根据公钥执行第一预计算过程,生成离线数据处理参数;数据外包者根据私钥和离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签并上传至云存储服务器;数据验证者根据公钥和数据标签执行第二预计算过程,生成离线数据验证参数;数据验证者根据所述数据外包者的公钥和所述离线数据验证参数验证外包数据的数据标签,如果合法则生成挑战;云存储服务器根据存储的所述外包数据对收到的挑战计算响应;数据验证者根据公钥和离线数据验证参数对收到的响应进行验证,以判断对应外包数据的完整性。
Description
技术领域
本发明涉及信息安全密码领域,具体涉及一种支持预处理的云数据外包及完整性验证方法及装置。
背景技术
随着云计算技术的快速发展,云计算技术逐渐被广大用户接受和使用。然而,一旦用户将数据上传至云存储服务器之后,用户对该数据的控制权将转移到云存储服务器。如果云存储服务器对用户数据做了修改或删除,用户将难以察觉或取证。在此背景下,已提出了大量旨在确保云存储数据安全的密码方案。
在现有可公开验证的云数据完整性验证方案中,数据外包者在上传数据之前需要对该数据做相应的处理,该过程包含大量耗时的模幂运算,其运算量和数据的大小成正相关。另外,当数据上传到云存储服务器之后,数据验证者可以和云存储服务器进行交互,以验证该数据当前是否保存完整,该过程也要求数据验证者执行大量耗时的模幂运算。因此,有必要降低数据处理阶段和完整性验证阶段的用户计算负担,使得现有的可公开验证的云数据完整性验证方案能够运行于用户计算能力较弱的设备之上。
针对上述问题,目前已提出了在线/离线云数据完整性验证技术和可验证外包模幂运算技术。但是,现有的在线/离线云数据完整性验证技术仅解决了数据处理阶段计算效率较低的问题,且这些技术所生成的离线参数不能够重复使用,当用户需要外包大规模数据时,该用户必须能够安全存储所需的大量离线参数。此外,这些技术要求用户在执行预处理过程时输入私钥,这意味着云处理过程仅能由用户自己执行、无法委托他人执行,否则将泄露其私钥。
现有的可验证外包模幂运算技术考虑了如何同时提升数据处理阶段和完整性验证阶段的计算效率,该技术引入额外的云计算服务器负责执行用户外包的模幂运算任务。显然,这里要求用户将模幂运算外包之前需要对其参数做相应的处理,以确保它们的隐私,且最终对云计算服务器返回的结果也需进行验证,以确保外包计算结果的正确性。这个交互过程也将占用用户一定的计算时间和通信时间。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种支持预处理的云数据外包及完整性验证方法及装置,旨在解决云数据外包场景下计算能力较弱的设备难以高效处理数据和验证完整性的问题。
为实现上述目的及其他相关目的,本发明提供一种支持预处理的云数据外包及完整性验证方法,该方法包括:
数据外包者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据外包者根据自己的公钥执行第一预计算过程,生成一组离线数据处理参数;
数据外包者根据自己的私钥和所述离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签并将所述生成的处理后的数据和数据标签上传至云存储服务器;
数据验证者根据所述数据外包者的公钥和数据标签执行第二预计算过程,生成一组离线数据验证参数;
数据验证者根据所述数据外包者的公钥和所述离线数据验证参数验证外包数据的数据标签,如果合法则生成一个挑战,并将该挑战发送给云存储服务器;
云存储服务器根据存储的所述外包数据对收到的挑战计算一个响应,并将该响应回复给数据验证者;
数据验证者根据数据外包者的公钥和离线数据验证参数对收到的所述响应进行验证,以判断对应外包数据的完整性。
可选地,所述数据外包都的公钥为:其中,G和GT为阶为素数p的循环群,g表示循环群G的一个生成元,表示一个双线性映射运算G×G→GT,H1(·)和H2(·)抗碰撞哈希函数;υ=gα,ρ=ga,λ=gαz分别表示群G上的幂运算,u1,u2,...,us+1表示参数;
所述数据外包者的私钥表示为:sk=(α,a,z),α,a,z分别表示Zp域中的三个非0元素。
可选地,所述数据外包者根据自己的公钥执行第一预计算过程,生成一组离线数据处理参数,具体包括:
数据外包者计算|p|-1个参数0≤j≤|p|-1,其中得到一组离线的数据处理参数
可选地,所述数据外包者根据自己的私钥和所述离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签,具体包括:
数据外包者随机选取一个唯一的数据标识符Fid,将数据M划分为r个数据块mi,每个数据块mi包含s个数据段mi,l,即M=m1||m2||…||mr且mi=(mi,1,mi,2,…,mi,s),||表示字符串连接;
数据外包者随机选择Zp域中的两个非0元素β0,计算得到公开参数和其中β0[j]表示β0的第j位二进制数值,β1[j]表示β1的第j位二进制数值,0≤j≤|p|-1;
数据外包者对每个数据块mi,计算以及其中ci[j]表示ci的第j位二进制数值,θi表示数据块mi的元数据;
数据外包者构造一个字符串τ0←Fid||r||γ0||γ1,随机选择Zp域中的一个非0元素计算和δ=b+aH2(B||τ0)mod p,得到τ←τ0||B||δ,其中b[j]表示b的第j位二进制数值,τ表示数据M的数据标签;τ0表示字符串,包含了和数据M相关的参数;
数据外包者得到处理后的数据
可选地,所述数据验证者根据所述数据外包者的公钥和数据标签执行第二预计算过程,生成一组离线数据验证参数,具体包括:
数据验证者计算参数得到一组离线数据验证参数
可选地,所述数据验证者根据所述数据外包者的公钥和所述离线数据验证参数验证外包数据的数据标签,如果合法则生成一个挑战,具体包括;
数据验证者读取处理后的数据和数据标签τ,分解数据标签τ得到τ0、B和δ,计算h=H2(B||τ0),并验证是否成立,其中δ[j]表示δ的第j位二进制数值,h[j]表示h的第j位二进制数值;若不成立,则终止执行后续步骤;
数据验证者从[1,r]中随机选取一个子集I,随机选取域Zp中的两个非0元素ω,
最后,数据验证者得到挑战
可选地,云存储服务器根据存储的所述外包数据对收到的挑战计算一个响应,具体包括:
云存储服务器根据收到的挑战Q,以及存储的处理后的数据和对应的数据标签τ,计算随机变量ηi=ωi mod p,并计算聚合的元数据
云存储服务器对挑战的数据块进行聚合,计算得到聚合后的数据块μ=(μ1,μ2,…,μs),其中
云存储服务器基于μ=(μ1,μ2,…,μs)构造一个多项式计算表示模指数运算;
云存储服务器根据多项式除法计算得到计算其中u0=g,表示多项式的系数,0≤l≤s;
云存储服务器得到关于挑战Q的响应R=(ψ,y,θ)。
可选地,所述数据验证者根据数据外包者的公钥和离线数据验证参数对收到的所述响应进行验证,以判断对应外包数据的完整性,具体包括:
数据验证者计算和
数据验证者验证如下等式是否成立:
其中,χ0[j]表示χ0的第j位二进制数值,χ1[j]表示χ1的第j位二进制数值,y[j]表示y的第j位二进制数值,表示的第j位二进制数值;如果上述等式成立,则输出1,表示云存储服务器存放的数据保存完整;否则,输出0,表明该数据已遭到破坏。
为实现上述目的及其他相关目的,本发明还提供一种支持预处理的云数据外包及完整性验证装置,该验证装置包括:
用户密钥生成模块,用于数据外包者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据外包预处理模块,用于数据外包者根据自己的公钥执行第一预计算过程,生成一组离线数据处理参数;
数据处理模块,用于数据外包者根据自己的私钥和所述离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签并将所述生成的处理后的数据和数据标签上传至云存储服务器;
数据完整性验证预处理模块,用于数据验证者根据所述数据外包者的公钥和数据标签执行第二预计算过程,生成一组离线数据验证参数;
完整性挑战生成模块,用于数据验证者根据所述数据外包者的公钥和所述离线数据验证参数验证外包数据的数据标签,如果合法则生成一个挑战,并将该挑战发送给云存储服务器;
完整性响应模块,用于云存储服务器根据存储的所述外包数据对收到的挑战计算一个响应,并将该响应回复给数据验证者;
完整性验证模块,用于数据验证者根据数据外包者的公钥和离线数据验证参数对收到的所述响应进行验证,以判断对应外包数据的完整性。
如上所述,本发明的一种支持预处理的云数据外包及完整性验证方法及装置,具有以下
有益效果:
本发明所提出的方法允许数据外包者和数据验证者执行各自的预处理过程,且预处理过程无需使用用户私钥,因此用户可以根据需求将各自的预处理过程委托给他人执行;预计算过程所生成参数的规模不依赖于外包数据的大小,并可以重复使用,即数据外包者可以对不同的数据使用相同的离线参数进行处理、数据验证者能够使用相同的离线参数周期性的验证同一数据的完整性,因此本方法可以降低用户存储预处理阶段所生成参数的负担。
附图说明
为了进一步阐述本发明所描述的内容,下面结合附图对本发明的具体实施方式作进一步详细的说明。应当理解,这些附图仅作为典型示例,而不应看作是对本发明的范围的限定。
图1为***构架图;
图2为本发明所述的一种支持预处理的云数据外包及完整性验证方法的流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了使本领域技术人员对本发明的技术方案更加清晰的理解,先对本发明中的一些技术术语进行说明。如图1所示,为***架构图。
(1)数据外包者(Data Outsourcer,DO):计算自己的一对公私钥,将公钥公开;可以执行数据外包预处理过程和在线处理过程,预处理过程无需使用自己的私钥,可生成能够重复使用的数据处理参数;而在线处理过程则利用自己的私钥对数据进行处理,最后将处理后的数据和对应的数据标签上传到云存储服务器。
(2)数据验证者(DataVerifier,DV):可执行数据完整性验证预处理过程,生成可重复使用的验证参数;能够从云存储服务器读取数据外包者的数据内容和对应的数据标签,并能够和云存储服务器执行交互协议,验证该数据的完整性。
(3)云存储服务器(Cloud Storage Server,CS):具有强大的数据存储和计算能力,能够为用户提供数据存储服务和访问服务,但不受用户的完全信任。
本发明所述的一种支持预处理的云数据外包及完整性验证方法使用了双线性映射相关的数学知识,特在此作相关定义说明。
定义一个函数映射G×G→GT将循环群G中的元素映射到循环群GT中,其中G和GT均是两个阶为素数p的循环群。双线性映射需满足如下特性:
(1)双线性特性:对于任意α,β∈G,任意x,y∈Zp,均有e(αx,βy)=e(α,β)xy成立,其中Zp={0,1,2,..,p-1};
(2)非退化特性:群G中至少存在一个元素g,使得为群GT的生成元;
(3)高效性:存在有效的算法,使得对于任意α,β∈G,可以有效计算出的值。
本发明中使用的哈希函数具备两个基本特性:单向性和抗碰撞性;单向性是指从哈希函数的输入推导出输出是高效的,但从哈希函数的输出计算出其输入是不可行的;抗碰撞性是指无法找到两个不同的输入使其具有相同的哈希函数值。
如图2所示,本发明提供一种支持预处理的云数据外包及完整性验证方法,该方法包括以下步骤:
步骤1.数据外包者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥。
具体地,该步骤1具体包括以下子步骤:
步骤11:数据外包者输入***安全参数κ,运行初始化算法Θ(1κ),输出两个阶为素数p的循环群G和GT以及一个双线性映射运算G×G→GT;
其中,所述的初始化算法Θ(1κ),其运行方法如下:数据外包者输入***安全参数κ,***根据κ的大小,选择相应的椭圆曲线:Y2=X3+εX+ξ(ε和ξ为系数),用椭圆曲线上的点构成两个素数p阶的循环群G和GT,选择一种映射函数将循环群G中的元素映射到循环群GT中;一般,安全参数κ数值越大,所选取的椭圆曲线上的点也越多,循环群也越大。
步骤12:数据外包者运行随机数生成算法,随机选择循环群G的一个生成元g;
其中,所述的随机数生成算法,其方法如下:根据步骤11所选取的椭圆曲线Y2=X3+εX+ξ,随机选择自变量X的一个值计算对应因变量Y的值若点在所要映射的群中,则成功生成了随机元素;若点不在群中,则继续重新选择X的值,直到找到出现在群中的点。
步骤13:数据外包者选择两种抗碰撞哈希函数H1(·)和H2(·),抗碰撞哈希函数H1(·)和H2(·)满足抗碰撞哈希函数的所有特性。其中所述的抗碰撞哈希函数H1(·)和H2(·)能从Pairing-BasedCryptosystems库函数中调用运行。抗碰撞哈希函数H1(·)的输入为任意长度字符串,输出为域Zp中的一个元素;抗碰撞哈希函数H2(·)的输入为任意长度字符串,输出为域Zp中的一个元素。
步骤14:数据外包者随机选择Zp域中的三个非0元素α,a,计算υ=ga,ρ=ga,λ=gαz,以及s+1个参数
其中,表示域Zp的非零元素子集{1,2,..,p-1},随机选择中元素的函数能从Pairing-Based Cryptosystems库函数中调用运行。
最后,数据外包者的公钥表示为私钥表示为sk=(α,a,z)。
步骤2.数据外包者根据自己的公钥执行预计算过程,生成一组离线数据处理参数。
具体地,数据外包者计算|p|-1个参数其中得到一组离线的数据处理参数
步骤3.数据外包者根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签并上传至云存储服务器。
具体地,该步骤3具体包括以下子步骤:
步骤31:数据外包者随机选取一个唯一的数据标识符Fid,将数据M划分为r个数据块mi,每个数据块mi包含s个数据段mi,l,即M=m1||m2||…||mr且mi=(mi,1,mi,2,…,mi,s);
步骤32:数据外包者随机选择Zp域中的两个非0元素β0,计算得到和其中β0[j]表示β0的第j位(0≤j≤|p|-1)二进制数值,β1[j]表示β1的第j位(0≤j≤|p|-1)二进制数值;
步骤33:数据外包者对每个数据块mi(1≤i≤r),计算以及其中ci[j]表示ci的第j位(0≤j≤|p|-1)二进制数值,θi表示数据块mi的元数据;
步骤34:数据外包者构造一个字符串τ0←Fid||r||γ0||γ1,随机选择Zp域中的一个非0元素计算和δ=b+aH2(B||τ0)mod p,得到τ←τ0||B||δ,其中b[j]表示b的第j位(0≤j≤|p|-1)二进制数值,τ表示数据M的数据标签;
最后,数据外包者得到处理后的数据将其和数据标签τ一起上传至云存储服务器。τ0是一个字符串,包含了和数据M相关的参数;B和δ共同构成了对字符串τ0的一个数字签名。
步骤4.数据验证者根据数据外包者的公钥和数据标签执行预计算过程,生成一组离线数据验证参数。
具体地,数据验证者计算参数其中0≤j≤|p|-1,得到一组离线数据验证参数
步骤5.数据验证者根据数据外包者的公钥和离线数据验证参数验证外包数据的数据标签,如果合法则生成一个挑战,并将该挑战发送给云存储服务器。
具体地,该步骤5具体包括以下子步骤:
步骤51:数据验证者从云存储服务器读取处理后的数据和数据标签τ,分解数据标签τ得到τ0,B和δ,计算h=H2(B||τ0),并验证是否成立,其中δ[j]表示δ的第j位(0≤j≤|p|-1)二进制数值,h[j]表示h的第j位(0≤j≤|p|-1)二进制数值;如若上述等式不成立,则终止执行后续步骤;
步骤52:数据验证者从[1,r]中随机选取一个子集I,随机选取域Zp中的两个非0元素ω,
最后,数据验证者得到挑战并发送给云存储服务器。
步骤6.云存储服务器根据存储的外包数据对收到的挑战计算一个响应,并将该响应回复给数据验证者。
具体地,该步骤6具体包括以下子步骤:
步骤61:云存储服务器根据收到的挑战Q,以及存储的处理后的数据和对应的数据标签τ,计算ηi=ωi mod p(i∈I),并计算聚合的元数据ηi表示一个随机变量,和挑战Q包含的数据块一一对应,ωi表示模指数运算。
步骤62:云存储服务器对挑战的数据块进行聚合,计算得到μ=(μ1,μ2,…,μs),其中
步骤63:云存储服务器基于μ=(μ1,μ2,…,μs)构造一个多项式计算
步骤64:云存储服务器根据多项式除法计算得到计算其中u0=g,表示多项式的系数;
最后,云存储服务器得到关于挑战Q的响应R=(ψ,y,θ),将该响应返回给数据验证者。
步骤7.数据验证者根据数据外包者的公钥和离线数据验证参数对收到的响应进行验证,以判断对应外包数据的完整性。
具体地,该步骤7具体包括以下子步骤:
步骤71:数据验证者计算和
步骤72:数据验证者验证如下等式是否成立:
其中χ0[j]表示χ0的第j位(0≤j≤|p|-1)二进制数值,χ1[j]表示χ1的第j位(0≤j≤|p|-1)二进制数值,y[j]表示y的第j位(0≤j≤|p|-1)二进制数值,表示的第j位(0≤j≤|p|-1)二进制数值;如果上述等式成立,则输出1,表示云存储服务器存放的数据保存完整;否则,输出0,表明该数据已遭到破坏。
综上所述,本发明提出了一种支持预处理的云数据外包及完整性验证方法。首先,数据外包者能够执行预计算过程获得一组离线数据处理参数,这些参数被用于在线阶段的数据处理过程,使得在线阶段数据处理仅包含轻量级的计算,从而提升实时数据处理的效率;其次,数据验证者也可执行预计算过程获得一组离线数据验证参数,这些参数被用于和云存储服务器交互执行数据完整性验证协议,使得生成挑战仅包含轻量级的运算且验证云存储服务器的响应不再需要执行模指数运算,因此可加速数据完整性验证的执行效率;最后,数据外包者和数据验证者在预计算过程中分别获得的离线数据处理参数和离线数据验证参数均可多次使用,从而减轻了用户存储预处理计算结果的负担。
本发明提供一种支持预处理的云数据外包及完整性验证装置,该装置包括:
用户密钥生成模块,数据外包者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据外包预处理模块,数据外包者根据自己的公钥执行预计算过程,生成一组离线数据处理参数;
数据处理模块,数据外包者根据自己的私钥和离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签并上传至云存储服务器;
数据完整性验证预处理模块,数据验证者根据数据外包者的公钥和数据标签执行预计算过程,生成一组离线数据验证参数;
完整性挑战生成模块,数据验证者根据数据外包者的公钥和离线数据验证参数验证外包数据的数据标签,如果合法则生成一个挑战,并将该挑战发送给云存储服务器;
完整性响应模块,云存储服务器根据存储的外包数据对收到的挑战计算一个响应,并将该响应回复给数据验证者;
完整性验证模块,数据验证者根据数据外包者的公钥和离线数据验证参数对收到的响应进行验证,以判断对应外包数据的完整性。
本实施例中所述的模块的结构及其功能都可以通过前述的验证方法,此处不再赘述。
本发明中,数据外包者和验证者执行各自的预计算过程,分别生成离线数据处理参数和离线数据验证参数;数据外包者可以使用离线数据处理参数对外包数据进行处理,该过程仅包含轻量级的计算;数据验证者也可使用离线数据验证参数和云存储服务器交互执行完整性验证协议,以判断该外包数据的完整性,在此过程中数据验证者不需要执行耗时的模指数计算任务。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (9)
1.一种支持预处理的云数据外包及完整性验证方法,其特征在于,该方法包括:
数据外包者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据外包者根据自己的公钥执行第一预计算过程,生成一组离线数据处理参数;
数据外包者根据自己的私钥和所述离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签并将所述生成的处理后的数据和数据标签上传至云存储服务器;
数据验证者根据所述数据外包者的公钥和数据标签执行第二预计算过程,生成一组离线数据验证参数;
数据验证者根据所述数据外包者的公钥和所述离线数据验证参数验证外包数据的数据标签,如果合法则生成一个挑战,并将该挑战发送给云存储服务器;
云存储服务器根据存储的所述外包数据对收到的挑战计算一个响应,并将该响应回复给数据验证者;
数据验证者根据数据外包者的公钥和离线数据验证参数对收到的所述响应进行验证,以判断对应外包数据的完整性。
2.根据权利要求1所述的一种支持预处理的云数据外包及完整性验证方法,其特征在于,所述数据外包都的公钥为:其中,G和GT为阶为素数p的循环群,g表示循环群G的一个生成元,表示一个双线性映射运算H1(·)和H2(·)抗碰撞哈希函数;υ=gα,ρ=ga,λ=gαz分别表示群G上的幂运算,u1,u2,...,us+1表示参数;
所述数据外包者的私钥表示为:sk=(α,a,z),α,a,z分别表示Zp域中的三个非0元素。
3.根据权利要求2所述的一种支持预处理的云数据外包及完整性验证方法,其特征在于,所述数据外包者根据自己的公钥执行第一预计算过程,生成一组离线数据处理参数,具体包括:
数据外包者计算|p|-1个参数0≤j≤|p|-1,其中得到一组离线的数据处理参数
4.根据权利要求3所述的一种支持预处理的云数据外包及完整性验证方法,其特征在于,所述数据外包者根据自己的私钥和所述离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签,具体包括:
数据外包者随机选取一个唯一的数据标识符Fid,将数据M划分为r个数据块mi,每个数据块mi包含s个数据段mi,l,即M=m1||m2||…||mr且mi=(mi,1,mi,2,…,mi,s),||表示字符串连接;
数据外包者随机选择Zp域中的两个非0元素β0,计算得到公开参数和其中β0[j]表示β0的第j位二进制数值,β1[j]表示β1的第j位二进制数值,0≤j≤|p|-1;
数据外包者对每个数据块mi,计算以及其中ci[j]表示ci的第j位二进制数值,θi表示数据块mi的元数据;
数据外包者构造一个字符串τ0←Fid||r||γ0||γ1,随机选择Zp域中的一个非0元素计算和δ=b+aH2(B||τ0)modp,得到τ←τ0||B||δ,其中b[j]表示b的第j位二进制数值,τ表示数据M的数据标签;τ0表示字符串,包含了和数据M相关的参数;
数据外包者得到处理后的数据
5.根据权利要求4所述的一种支持预处理的云数据外包及完整性验证方法,其特征在于,所述数据验证者根据所述数据外包者的公钥和数据标签执行第二预计算过程,生成一组离线数据验证参数,具体包括:
数据验证者计算参数得到一组离线数据验证参数
6.根据权利要求5所述的一种支持预处理的云数据外包及完整性验证方法,其特征在于,所述数据验证者根据所述数据外包者的公钥和所述离线数据验证参数验证外包数据的数据标签,如果合法则生成一个挑战,具体包括;
数据验证者读取处理后的数据和数据标签τ,分解数据标签τ得到τ0、B和δ,计算h=H2(B||τ0),并验证是否成立,其中δ[j]表示δ的第j位二进制数值,h[j]表示h的第j位二进制数值;若不成立,则终止执行后续步骤;
数据验证者从[1,r]中随机选取一个子集I,随机选取域Zp中的两个非0元素ω,最后,数据验证者得到挑战
7.根据权利要求6所述的一种支持预处理的云数据外包及完整性验证方法,其特征在于,云存储服务器根据存储的所述外包数据对收到的挑战计算一个响应,具体包括:
云存储服务器根据收到的挑战Q,以及存储的处理后的数据和对应的数据标签τ,计算随机变量ηi=ωi modp,并计算聚合的元数据
云存储服务器对挑战的数据块进行聚合,计算得到聚合后的数据块μ=(μ1,μ2,…,μs),其中
云存储服务器基于μ=(μ1,μ2,…,μs)构造一个多项式计算xl+1表示模指数运算;
云存储服务器根据多项式除法计算得到计算其中u0=g,表示多项式的系数,0≤l≤s;
云存储服务器得到关于挑战Q的响应R=(ψ,y,θ)。
8.根据权利要求7所述的一种支持预处理的云数据外包及完整性验证方法,其特征在于,所述数据验证者根据数据外包者的公钥和离线数据验证参数对收到的所述响应进行验证,以判断对应外包数据的完整性,具体包括:
数据验证者计算和
数据验证者验证如下等式是否成立:
其中,χ0[j]表示χ0的第j位二进制数值,χ1[j]表示χ1的第j位二进制数值,y[j]表示y的第j位二进制数值,表示的第j位二进制数值;如果上述等式成立,则输出1,表示云存储服务器存放的数据保存完整;否则,输出0,表明该数据已遭到破坏。
9.一种支持预处理的云数据外包及完整性验证装置,其特征在于,该验证装置包括:
用户密钥生成模块,用于数据外包者选取安全参数和抗碰撞哈希函数,生成自己的公钥及私钥;
数据外包预处理模块,用于数据外包者根据自己的公钥执行第一预计算过程,生成一组离线数据处理参数;
数据处理模块,用于数据外包者根据自己的私钥和所述离线数据处理参数执行数据处理过程,生成处理后的数据和数据标签并将所述生成的处理后的数据和数据标签上传至云存储服务器;
数据完整性验证预处理模块,用于数据验证者根据所述数据外包者的公钥和数据标签执行第二预计算过程,生成一组离线数据验证参数;
完整性挑战生成模块,用于数据验证者根据所述数据外包者的公钥和所述离线数据验证参数验证外包数据的数据标签,如果合法则生成一个挑战,并将该挑战发送给云存储服务器;
完整性响应模块,用于云存储服务器根据存储的所述外包数据对收到的挑战计算一个响应,并将该响应回复给数据验证者;
完整性验证模块,用于数据验证者根据数据外包者的公钥和离线数据验证参数对收到的所述响应进行验证,以判断对应外包数据的完整性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910014719.3A CN109818944B (zh) | 2019-01-08 | 2019-01-08 | 一种支持预处理的云数据外包及完整性验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910014719.3A CN109818944B (zh) | 2019-01-08 | 2019-01-08 | 一种支持预处理的云数据外包及完整性验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109818944A true CN109818944A (zh) | 2019-05-28 |
CN109818944B CN109818944B (zh) | 2021-05-04 |
Family
ID=66604129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910014719.3A Active CN109818944B (zh) | 2019-01-08 | 2019-01-08 | 一种支持预处理的云数据外包及完整性验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109818944B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784094A (zh) * | 2019-01-21 | 2019-05-21 | 桂林电子科技大学 | 一种支持预处理的批量外包数据完整性审计方法及*** |
CN110727951A (zh) * | 2019-10-14 | 2020-01-24 | 桂林电子科技大学 | 具有隐私保护的轻量级外包文件多关键词检索方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103414690A (zh) * | 2013-07-15 | 2013-11-27 | 北京航空航天大学 | 一种可公开验证云端数据持有性校验方法 |
CN103425941A (zh) * | 2013-07-31 | 2013-12-04 | 广东数字证书认证中心有限公司 | 云存储数据完整性的验证方法、设备和服务器 |
CN105338004A (zh) * | 2015-12-15 | 2016-02-17 | 华东师范大学 | 云环境下低性能设备适用的具有隐私保护的公开审计方法 |
CN109145650A (zh) * | 2018-08-07 | 2019-01-04 | 暨南大学 | 一种云环境下高效安全的外包大数据审计方法 |
-
2019
- 2019-01-08 CN CN201910014719.3A patent/CN109818944B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103414690A (zh) * | 2013-07-15 | 2013-11-27 | 北京航空航天大学 | 一种可公开验证云端数据持有性校验方法 |
CN103425941A (zh) * | 2013-07-31 | 2013-12-04 | 广东数字证书认证中心有限公司 | 云存储数据完整性的验证方法、设备和服务器 |
CN105338004A (zh) * | 2015-12-15 | 2016-02-17 | 华东师范大学 | 云环境下低性能设备适用的具有隐私保护的公开审计方法 |
CN109145650A (zh) * | 2018-08-07 | 2019-01-04 | 暨南大学 | 一种云环境下高效安全的外包大数据审计方法 |
Non-Patent Citations (2)
Title |
---|
YUJUE WANG, ETAL.: "Online/Offline Provable Data Possession", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》 * |
王玉珏: "云存储完整性验证密码学技术研究进展", 《信息安全学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784094A (zh) * | 2019-01-21 | 2019-05-21 | 桂林电子科技大学 | 一种支持预处理的批量外包数据完整性审计方法及*** |
CN109784094B (zh) * | 2019-01-21 | 2023-05-30 | 桂林电子科技大学 | 一种支持预处理的批量外包数据完整性审计方法及*** |
CN110727951A (zh) * | 2019-10-14 | 2020-01-24 | 桂林电子科技大学 | 具有隐私保护的轻量级外包文件多关键词检索方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109818944B (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wesolowski | Efficient verifiable delay functions | |
Liu et al. | Zkcnn: Zero knowledge proofs for convolutional neural network predictions and accuracy | |
CN103780383B (zh) | 一种基于超球面的多变量公钥签名/验证***及方法 | |
CN103095453B (zh) | 应用私有集合交集的公钥加密的布隆过滤器 | |
CN108965258A (zh) | 一种基于全同态加密的云环境数据完整性验证方法 | |
CN104011781B (zh) | 信息处理设备、信息处理方法 | |
Šeděnka et al. | Secure outsourced biometric authentication with performance evaluation on smartphones | |
Yang et al. | Decentralized blacklistable anonymous credentials with reputation | |
Zhang et al. | A blockchain system based on quantum‐resistant digital signature | |
Hu et al. | Secure outsourced computation of the characteristic polynomial and eigenvalues of matrix | |
Yu et al. | Identity‐Based Proxy Signcryption Protocol with Universal Composability | |
JP7312293B2 (ja) | デジタル署名方法、署名情報の検証方法、関連装置及び電子機器 | |
El Kassem et al. | More efficient, provably-secure direct anonymous attestation from lattices | |
CN110351297A (zh) | 一种应用于区块链的验证方法及装置 | |
Chen | Introduction to secure outsourcing computation | |
CN103490897B (zh) | 一种多变量公钥签名/验证***及签名/验证方法 | |
CN109274504B (zh) | 一种基于云平台的多用户大数据存储分享方法及*** | |
CN109818944A (zh) | 一种支持预处理的云数据外包及完整性验证方法及装置 | |
Fiore et al. | Multi‐key homomorphic authenticators | |
Su et al. | Distributed attribute-based signature with attribute dynamic update for smart grid | |
CN109525669A (zh) | 一种支持指定人员验证的云数据安全存储方法及*** | |
Pullonen | Actively secure two-party computation: Efficient beaver triple generation | |
CN113206741B (zh) | 一种基于强puf的抗机器学习安全认证方法及装置 | |
CN105119929A (zh) | 单一恶意云服务器下的安全模指数外包方法及*** | |
CN117521102A (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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190528 Assignee: Guilin ruiweisaide Technology Co.,Ltd. Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY Contract record no.: X2023980046266 Denomination of invention: A cloud data outsourcing and integrity verification method and device that supports preprocessing Granted publication date: 20210504 License type: Common License Record date: 20231108 |
|
EE01 | Entry into force of recordation of patent licensing contract |