发明内容
本发明的目的在于提供了一种去中心化的多云自审计方法,本发明所涉及的实体分别是云服务提供商、云服务器和数据拥有者。
同时本申请还提供了一种能够实现上述去中心化的多云自审计方法的去中心化的多云自审计系统。
本申请采用的技术方案是:
一种去中心化的多云自审计方法,其包括以下步骤:
(1)可信机构TA首先生成系统参数,并为选择的v个多云服务器CS,产生结构E的(v,k+1,1)-设计进行分组;
(2)数据拥有者将原数据文件F分割为m个数据部分,并将每个数据部分分割为n个数据块,生成矩阵G=(Im×m|Pm×(v-m))(v>m),用矩阵G对原数据文件F进行编码,得到编码文件C=(C0,C1,…,Ci,…,Cv-1),其中Ci={di1,di2,…,din}(i=0,…,v-1)为编码文件C中第i个编码后的数据部分,数据拥有者为编码后的数据部分Ci(i=0,1,…,v-1)中的每个数据块计算签名,得到对应的签名集合Φi(i=0,…,v-1),并将编码后的数据部分Ci(i=0,1,…,v-1)和签名集合Φi(i=0,…,v-1)发送给对应的云服务器CSi(i=0,1,…,v-1);
(3)数据拥有者生成原数据文件F的审计请求,将该审计请求广播给所有的云服务器,当所有的云服务器收到审计请求后,首先生成自己存储数据的完整性证据,然后与其他云服务器进行第一次交互生成原数据文件F的部分聚合完整性证据,最后与其他云服务器进行第二次交互生成原数据文件F的完整性证据(P,Λ),每个云服务器验证该完整性证据,得到审计结果报告,并将审计结果报告发送给数据拥有者。
进一步限定,所述步骤(1)具体为:
(1.1)系统参数生成:
TA执行Setup算法生成并公开系统参数params=(p,g,g
1,G
1,G
T,e,H
1,H
2,结构E的(v,k+1,1)-设计),具体为:输入用于规定系统参数长度的安全参数λ和一个素数k,输出两个p(p为素数且p>2
λ)阶的乘法循环群G
1和G
T(g和g
1是G
1的两个生成元),一个双线性映射e:G
1×G
1→G
T,两个抗碰撞的哈希函数H
1:{0,1}
*→G
1和
生成结构E的(v,k+1,1)-设计,并选择v个云服务器(v=k2+k+1),根据结构E的(v,k+1,1)-设计,将v个云服务器分为v个区组{E
0,E
1,...,E
v-1},每个区组E
i(i=0,1,…,v-1)由k+1个云服务器组成,即结构E的(v,k+1,1)-设计中的第i个区组E
i中的元素t表示的是云服务器CS
t;
(1.2)密钥生成:
数据拥有者在集合
选取随机数α,计算其公钥y=g
α,
进而得到其公钥pk=(y,z)和私钥sk=α。
进一步限定,所述步骤(2)具体为:
(2.1)文件分割与编码:
文件分割,具体为:数据拥有者将具有标识符τ=H2(F)的原数据文件F分割为m个数据部分{F0,F1,…,Fm-1},对于原数据文件F的第x个数据部分Fx(x=1,2,…,m-1),数据拥有者将Fx分割为n块{di1,di2,…,din};
文件编码,具体为:首先构建矩阵G=(Im×m|Pm×(v-m)),其中Im×m是一个单位矩阵,Pm×(v-m)(v>m)是一个柯西矩阵,其次用矩阵G对原数据文件F进行编码得到编码文件C=(C0,C1,…,Ci,…,Cv-1),其中Ci={di1,di2,…,din}(i=0,1,…,v-1)为编码文件C的第i个编码后的数据部分且Ci的标识符也为τ;
(2.2)标签生成:
对于编码文件C的第i个编码后的数据部分C
i={d
i1,d
i2,…,d
in}(i=1,…,v-1),数据拥有者为编码后的数据部分C
i中的第j个数据块d
ij(1≤j≤n)计算签名
其中ID
i为第i个云服务器CS
i的标识符,τ为编码后的数据部分C
i的标识符,然后得到编码后的数据部分C
i对应的签名集合Φ
i={σ
i1,σ
i2,…,σ
in},最后数据拥有者将编码后的数据部分C
i和签名集合Φ
i发送给第i个云服务器CS
i,云服务器CS
i(i=0,1,…,v-1)接收并存储编码后的数据部分C
i和签名集合Φ
i。
进一步限定,所述步骤(3)具体为:
(3.1)生成审计请求:
首先数据拥有者选定进行审计的文件F,其标识符为τ,其次数据拥有者从文件索引集合{1,…,n}中随机挑选s个索引组成审计索引集合J={j
1,j
2,…,j
s}
s≤n,并选择一组系数{u
j}
j∈J,其中
最后数据拥有者将审计请求Ω={τ,J,{u
j}
j∈J}广播给云服务器CS
i(i=0,1,…,v-1);
(3.2)证据生成:
当第i个云服务器CS
i(i=0,1,…,v-1)收到审计请求Ω,首先计算
其中随机数
其次计算文件F中被审计数据块聚合签名
和文件块的线性组合
最后得到自存储数据的证据(σ
i,μ
i);
(3.3)证据聚合:
第i个云服务器CSi(i=0,1,…,v-1)首先广播Ri,其次云服务器CSi需要与其他云服务器进行两轮交互,最后得到文件F完整性证据(P,Λ);
(3.4)自验证:
第i个云服务器CSi(i=0,1,…,v-1)可以得到完整性证据(P,Λ)和所有的Ri(i=0,1,…,v-1),并利用等式(1)来检验完整性证据(P,Λ);如果方程(4)成立,云服务器生成内容为“True”的审计报告并发送给给数据拥有者,否则,云服务器生成内容为“False”的审计报告并发送给给数据拥有者;
进一步限定,所述步骤(3.3)具体为:
(3.3.1)第一轮交互:
对于v个区组中的第i个区组E
i(i=0,1,…,v-1),如果区组E
i中含有云服务器CS
t(t≠i),简洁表述为t∈E
i,则在固定的时间段Δt内,第t个云服务器CS
t(t<v)需要发送自存储数据的证据(σ
t,μ
t)给云服务器CS
i;当云服务器CS
i(i=0,1,…,v-1)从其他云服务器CS
t满足t∈E
i(t≠i)处接收到k个自存储数据的证据{(σ
t,μ
t)}(t∈E
i),然后计算得到部分聚合证据(P
ij,Λ
ij),其中
(3.3.2)第二轮交互:
对于v个区组中的第i个区组E
i(i=0,1,…,v-1),如果区组E
i中含有云服务器CS
t(t≠i),简洁表述为t∈E
i,则在固定的时间段Δt内,云服务器CS
i需要发送部分聚合证据(P
it,Λ
it)给云服务器CS
t;当云服务器CS
t(t=0,1,…,v-1)从其他云服务器CS
i(t∈E
i)处接收到k个部分聚合证据{(P
it,Λ
it)}(t∈E
i),然后可以计算得到完整性证据(P,Λ),其中
进一步限定,所述步骤(3)之后还包括步骤(a1)错误定位或步骤(a2)抵抗拒绝服务攻击,具体为:
(a1)错误定位
在步骤(3.4)自验证完成之后,数据拥有者会至多收到来自v个云服务器的v份审计报告,如果其中有一份报告的内容为“False”时,数据拥有者会发起错误定位去定位行为不端的云服务器,具体为:
首先,数据拥有者随机挑选一个参与审计的第i个云服务器CS
i(0≤i≤v-1),其次云服务器CS
i自存储数据的证据
和部分聚合证据
给数据拥有者,E
t为v个区组中的第t个区组(0≤t≤v-1),然后数据拥有者用等式(1)检验自存储数据的证据
和部分聚合证据
如果证据
没有通过验证,则表示第l个云服务器CS
l(l<v)是行为不端的云服务器;如果证据
没有通过验证,则云服务器CS
w(w<v)就会被要求发送自存储数据的证据
给数据拥有者,其中E
w为v个区组中的第w个区组(0≤w≤v-1),数据拥有者用等式(1)验证从云服务器CS
w处接收的自存储数据的证据
从而找到恶意的云服务器,最后数据拥有者记录下行为不端的云服务器的标识符ID,进而实现错误定位;
(a2)抵抗拒绝服务攻击:
在(3.3)证据聚合的过程中,在第一轮交互过程中,如果第i个云服务器CS
i从满足j∈E
i的云服务器CS
j处收到k个自存储数据的证据,如果在固定的时间段Δt内,收到的自存储数据的证据的数量小于k,云服务器CS
i就推断没有发送自存储数据的证据的云服务器CS
j是恶意的云服务器或者云服务器CS
j正在遭受拒绝服务攻击,这时备用的云服务器
将会介入来帮助完成证据聚合,在第一轮交互过程中,备用的云服务器
代替云服务器CS
j去接收其他云服务器发送给它的自存储数据的证据,但是不需要发送自存储数据的证据给相应的云服务器,并进行聚合数据的计算,在第二轮交互过程中,备用的云服务器
只需要把聚合证据发送给云服务器CS
t(t∈E
j),抵抗拒绝服务攻击,保护数据完整。
进一步限定,所述步骤(3)之后还包括步骤(a3)数据恢复或步骤(a4)服务器撤销;具体为:
(a3)数据恢复
对于文件F和对应的编码文件C,如果编码文件C中至少有m个编码后的数据部分
没有损坏,则损坏的数据部分可以被恢复,首先,数据拥有者将这m个编码后的数据部分
从对应的m个云服务器
处取回,然后可以计算得到文件F的m个数据部分
其中
表示矩阵G的第i
s列,随后数据拥有者将文件F重新编码并上传到相应的云服务器;
(a4)服务器撤销
假设第i个云服务CSi是即将被撤销的服务器,首先数据拥有者取回存储在云服务器CSi处的数据,如果数据被云服务器损坏的话,就恢复数据。然后,数据拥有者寻找信誉良好的、标识符为IDj的新的云服务器CSj,使用(2.2)标签生成去重新计算该数据部分中数据块的签名,最后把该数据部分和对应的签名集合签名上传到新的云服务器CSj处,提高系统的鲁棒性,并支持恶意的云服务器的撤销,防止恶意云服务器进一步损坏外包数据。
进一步限定,所述步骤(3)之后还包括步骤(a5)批量审计,具体为:
对于文件集
其中τ
h是
的标识符,数据拥有者为文件
的第i个数据部分
中的第j个数据块
计算签名
得到对应的签名集合
并将数据部分
和签名集合
发送给云服务器CS
i(i=0,1,…,v-1)。在数据自审计阶段,数据拥有者发起对于文件
的审计,广播审计请求
给所有的云服务器;当云服务器CS
i(i=0,1,…,v-1)收到审计请求后,计算
其中
和自存储数据的证据
和
然后每个云服务器CS
i广播R
i,并进行(3.3.1)和(3.3.1)的两轮交互得到完整性证据(P,Λ),最后用等式(2)验证完整性证据(P,Λ);
实现批量审计,大幅提高自审计效率。
一种实现上述的去中心化的多云自审计方法的自审计系统,其包括可信机构TA、云服务器和数据拥有者;
所述可信机构TA,生成系统参数,选择v个云服务器CS,将这v个云服务器根据结构E的(v,k+1,1)-设计进行分组;
所述数据拥有者,将原数据文件F进行分割、编码后生成签名集合,发送给云服务器,并向云服务器发送审计请求;
所述云服务器,接收数据拥有者发送的审计请求,生成自存储数据的证据,通过两次交互,生成审计文件对应的部分聚合证据和完整性证据(P,Λ),验证完整证据,生成审计结果的报告,并发送给数据拥有者。
与现有技术相比,本申请具有以下优点:
(1)基于对称平衡不完全区组设计,本发明通过云服务器的交互来实现无需组织者或TPA的自审计,允许数据所有者在审计阶段有效地检查数据完整性而不承担任何计算成本,这是完全不同于传统的多云审计工作。此外,在本申请中,所有审计过程中的计算开销被平均分配在到单个云服务器上,这将数据拥有者从受限的计算资源中解放出来。
(2)本发明可以以较低的计算开销和通信开销来定位恶意的云服务器,并提供了一种方法来抵抗一些恶意云服务器发起的拒绝服务攻击,帮助剩余的云服务器来完成数据的完整性审计,有效地提高了审计效率。
(3)本发明可以恢复损坏的数据,以提高系统的鲁棒性,并支持恶意的云服务器的撤销,防止恶意云服务器进一步损坏外包数据,同时支持批处理审计,可以有效地提高审计效率。
具体实施方式
现结合附图和实施例对本申请的技术方案进行进一步说明。
本申请的去中心化的多云自审计系统,包括可信机构、云服务器和数据拥有者实现;
其中,可信机构(TA)首先生成系统参数,选择v个云服务器CS,这v个云服务器根据结构E的(v,k+1,1)-设计进行分组;
数据拥有者,将原数据文件F进行分割、编码后生成签名集合,发送给云服务器,并向云服务器发送审计请求;
云服务器,接收数据拥有者发送的审计请求,生成自存储数据的证据,通过两次交互,生成原数据文件文件F对应的部分聚合证据和完整性证据(P,Λ),验证完整证据,生成审计结果的报告,并发送给数据拥有者。
用上述的去中心化的多云自审计系统实现去中心化的多云自审计方法,具体由以下步骤实现:
(1)可信机构(TA)首先生成系统参数,选择v个云服务器CS,这v个云服务器根据结构E的(v,k+1,1)-设计进行分组;
(1.1)系统参数生成:
TA执行Setup算法生成并公开系统参数params=(p,g,g
1,G
1,G
T,e,H
1,H
2,结构E的(v,k+1,1)-设计),具体为:输入用于规定系统参数长度的安全参数λ和一个素数k,输出两个p(p为素数且p>2
λ)阶的乘法循环群G
1和G
T(g和g
1是G
1的两个生成元),一个双线性映射e:G
1×G
1→G
T,两个抗碰撞的哈希函数H
1:{0,1}
*→G
1和
生成结构E的(v,k+1,1)-设计,并选择v个云服务器(v=k2+k+1),根据结构E的(v,k+1,1)-设计,将v个云服务器分为v个区组{E
0,E
1,...,E
v-1},每个区组E
i(i=0,1,…,v-1)由k+1个云服务器组成,即结构E的(v,k+1,1)-设计中的第i个区组E
i中的元素t表示的是云服务器CS
t。
(1.2)密钥生成:
数据拥有者在集合
选取随机数α,计算其公钥y=g
α,
进而得到其公钥pk=(y,z)和私钥sk=α。
(2)数据拥有者将原数据文件F分割为m个数据部分,并将每个数据部分分割为n个数据块,生成矩阵G=(Im×m|Pm×(v-m))(v>m),用矩阵G对原数据文件F进行编码,得到编码文件C=(C0,C1,…,Ci,…,Cv-1),其中Ci={di1,di2,…,din}(i=0,…,v-1)为编码文件C中第i个编码后的数据部分,数据拥有者为编码后的数据部分Ci(i=0,1,…,v-1)中的每个数据块计算签名,得到对应的签名集合Φi(i=0,…,v-1),并将编码后的数据部分Ci(i=0,1,…,v-1)和签名集合Φi(i=0,…,v-1)发送给对应的云服务器CSi(i=0,1,…,v-1);
文件分割,具体为:数据拥有者将具有标识符τ=H2(F)的原数据文件F分割为m个数据部分{F0,F1,…,Fm-1},对于原数据文件F的第x个数据部分Fx(x=1,2,…,m-1),数据拥有者将Fx分割为n块{di1,di2,…,din};
文件编码,具体为:首先构建矩阵G=(Im×m|Pm×(v-m)),其中Im×m是一个单位矩阵,Pm×(v-m)(v>m)是一个柯西矩阵,其次用矩阵G对原数据文件F进行编码得到编码文件C=(C0,C1,…,Ci,…,Cv-1),其中Ci={di1,di2,…,din}(i=0,1,…,v-1)为编码文件C的第i个编码后的数据部分且Ci的标识符也为τ;
(2.2)标签生成:
对于编码文件C的第i个编码后的数据部分C
i={d
i1,d
i2,…,d
in}(i=1,…,v-1),数据拥有者为编码后的数据部分C
i中的第j个数据块d
ij(1≤j≤n)计算签名
其中ID
i为第i个云服务器CS
i的标识符,τ为编码后的数据部分C
i的标识符,然后得到编码后的数据部分C
i对应的签名集合Φ
i={σ
i1,σ
i2,…,σ
in},最后数据拥有者将编码后的数据部分C
i和签名集合Φ
i发送给第i个云服务器CS
i,云服务器CS
i(i=0,1,…,v-1)接收并存储编码后的数据部分C
i和签名集合Φ
i。
(3)数据拥有者生成文件F的审计请求,将该审计请求发送给云服务器,当云服务器收到审计请求后,先生成自存储数据的证据,与其他云服务器进行第一次交互生成审计文件F的部分聚合证据,再与其他云服务器交互生成审计文件F的完整性证据(P,Λ),每个云服务器验证该完整证据,得到审计结果的报告,并将审计结果报告发送给数据拥有者。
(3.1)生成审计请求:
首先数据拥有者选定审计的文件F,其标识符为τ,其次数据拥有者从文件索引集合{1,…,n}中随机挑选s个索引组成审计索引集合J={j
1,j
2,…,j
s}
s≤n,并选择一组系数{u
j}
j∈J,其中
最后数据拥有者将审计请求Ω={τ,J,{u
j}
j∈J}广播给云服务器CS
i(i=0,1,…,v-1)。
(3.2)证据生成:
当第i个云服务器CS
i(i=0,1,…,v-1)收到审计请求Ω,首先计算
其中随机数
其次计算文件F中被审计数据块聚合签名
和文件块的线性组合
最后得到自存储数据的证据(σ
i,μ
i);
(3.3.1)第一轮交互:
对于v个区组中的第i个区组E
i(i=0,1,…,v-1),如果区组E
i中含有云服务器CS
t(t≠i),简洁表述为t∈E
i,则在固定的时间段Δt内,云服务器CS
t需要发送自存储数据的证据(σ
t,μ
t)给云服务器CS
i;当云服务器CS
i(i=0,1,…,v-1)从其他云服务器CS
t满足t∈E
i(t≠i)处接收到k个自存储数据的证据{(σ
t,μ
t)}(t∈E
i),然后计算得到部分聚合证据(P
ij,Λ
ij),其中
(3.3.2)第二轮交互:
对于v个区组中的第i个区组E
i(i=0,1,…,v-1),如果区组E
i中含有云服务器CS
t(t≠i),简洁表述为t∈E
i,则在固定的时间段Δt内,云服务器CS
i需要发送部分聚合证据(P
it,Λ
it)给云服务器CS
t;当云服务器CS
t(t=0,1,…,v-1)从其他云服务器CS
i(t∈E
i)处接收到k个部分聚合证据{(P
it,Λ
it)}(t∈E
i),然后可以计算得到完整性证据(P,Λ),其中
(3.3)证据聚合:
第i个云服务器CSi(i=0,1,…,v-1)首先广播Ri,其次云服务器CSi需要与其他云服务器进行两轮交互,最后得到文件F完整性证据(P,Λ);
(3.4)自验证:
每个云服务器得到完整性证据(P,Λ)和所有的Ri(i=0,1,…,v-1),并利用等式(1)来检验完整性证据(P,Λ);如果方程(4)成立,云服务器生成内容为“True”的审计报告并发送给给数据拥有者,否则,云服务器生成内容为“False”的审计报告并发送给给数据拥有者;
实施例1
本实施例去中心化的多云自审计方法,结合图1和图2,由以下步骤实现:
(1)系统建立:系统建立阶段产生系统参数,同时为数据拥有者产生密钥。
(1.1)系统参数生成:
TA执行Setup算法生成并公开系统参数params=(p,g,g
1,G
1,G
T,e,H
1,H
2,结构E的(v,k+1,1)-设计),具体为:输入安全参数λ,输出两个p(p为素数且p>2
λ)阶的乘法循环群G
1和G
T(g和g
1是G
1的两个生成元),一个双线性映射e:G
1×G
1→G
T,两个抗碰撞的哈希函数H
1:{0,1}
*→G
1和
生成结构E的(v,k+1,1)-设计,并选择v(v=k
2+k+1)个云服务器,根据结构E的(v,k+1,1)-设计,将v个云服务器分为v个区组{E
0,E
1,…,E
v-1},每个区组E
i(0≤i≤v-1)由k+1个云服务器组成,即结构E的(v,k+1,1)-设计中的第i个区组E
i中的元素t表示的是云服务器CS
t。
结构E的(v,k+1,1)-设计的生成,具体为:首先构造结构B的(v,k+1,1)-设计,结构B的(v,k+1,1)-设计由v(v=k2+k+1)个区组{B0,B1,…,Bv-1}构成,其中区组Bi(i=0,1,…,v-1)中的第j(j=0,1,…,k)个元素Bij为:
其次,结构E的(v,k+1,1)-设计可以由结构B的(v,k+1,1)-设计得到:对于0≤i≤k
2+k,如果i=0,则E
0=B
0;如果i≤k,则E
t=B
i,其中t=B
ji,j=i*k+1;如果i mod k==1,则E
t=B
i,其中t=B
i,0;否则E
t=B
i,其中t=B
ji,
最后,我们可以得到结构E的(v,k+1,1)-设计的v(v=k
2+k+1)个区组{E
0,E
1,…,E
v-1}。
(1.2)密钥生成:
数据拥有者在集合
选取随机数α,计算其公钥y=g
α,
进而得到其公钥pk=(y,z)和私钥sk=α。
(2)数据存储
(2.1)文件分割与编码:
文件分割,具体为:数据拥有者将具有标识符τ=H2(F)的原数据文件F分割为m个数据部分{F0,F1,…,Fm-1},对于原数据文件F的第x个数据部分Fx(x=1,2,…,m-1),数据拥有者将Fx分割为n块{di1,dj2,…,din};
文件编码:首先构建矩阵G=(Im×m|Pm×(v-m)),其中Im×m是一个单位矩阵,Pm×(v-m)(v>m)是一个柯西矩阵,其次用矩阵G对原数据文件F进行编码得到编码文件C=(C0,C1,…,Ci,…,Cv-1),其中Ci={di1,di2,…,din}(i=0,1,…,v-1)为编码文件C的第i个编码后的数据部分且Ci的标识符也为τ;
(2.2)标签生成:
对于编码文件C的第i个编码后的数据部分C
i={d
i1,d
i2,…,d
in}(i=1,…,v-1),数据拥有者为编码后的数据部分C
i中的第j个数据块d
ij(1≤j≤n)计算签名
其中ID
i为第i个云服务器CS
i的标识符,τ为编码后的数据部分C
i的标识符,然后得到编码后的数据部分C
i对应的签名集合Φ
i={σ
i1,σ
i2,…,σ
in},最后数据拥有者将编码后的数据部分C
i和签名集合Φ
i发送给第i个云服务器CS
i,云服务器CS
i(i=0,1,…,v-1)接收并存储编码后的数据部分C
i和签名集合Φ
i。
(3)自审计
(3.1)生成审计请求:
首先数据拥有者选定审计的文件F,其标识符为τ,其次数据拥有者从文件索引集合{1,…,n}中随机挑选s个索引组成审计索引集合J={j
1,j
2,…,j
s}
s≤n并选择一组系数{u
j}
j∈J,其中
最后数据拥有者将审计请求Ω={τ,J,{u
j}
j∈J}广播给云服务器CS
i(i=0,1,…,v-1);
(3.2)证据生成:
当第i个云服务器CS
i(i=0,1,…,v-1)收到审计请求Ω,首先计算
其中随机数
其次计算文件F中被审计数据块聚合签名
和文件块的线性组合
最后得到自存储数据的证据(σ
i,μ
i);
(3.3)证据聚合:
云服务器CSi(i=0,1,…,v-1)首先广播Ri,其次云服务器CSi需要与其他云服务器进行两轮交互,最后得到文件F完整性证据(P,Λ)。
(3.3.1)第一轮交互:
对于v个区组中的第i个区组E
i(i=0,1,…,v-1),如果区组E
i中含有云服务器CS
t(t≠i),简洁表述为t∈E
i,则在固定的时间段Δt内,云服务器CS
t需要发送自存储数据的证据(σ
t,μ
t)给云服务器CS
i;当云服务器CS
i(i=0,1,…,v-1)从其他云服务器CS
t满足t∈E
i(t≠i)处接收到k个自存储数据的证据{(σ
t,μ
t)}(t∈E
i),然后计算得到部分聚合证据(P
ij,Λ
ij),其中
(3.3.2)第二轮交互:
对于v个区组中的第i个区组E
i(i=0,1,…,v-1),如果区组E
i中含有云服务器CS
t(t≠i),简洁表述为t∈E
i,则在固定的时间段Δt内,云服务器CS
i需要发送部分聚合证据(P
it,Λ
it)给云服务器CS
t;当云服务器CS
t(t=0,1,…,v-1)从其他云服务器CS
i(t∈E
i)处接收到k个部分聚合证据{(P
it,Λ
it)}(t∈E
i),然后可以计算得到完整性证据(P,Λ),其中
(3.4)自验证:
云服务器CSi(i=0,1,…,v-1)可以得到完整性证据(P,Λ)和所有的Ri(i=0,1,…,v-1),并利用方程(2)来检验完整性证据(P,Λ);如果方程(4)成立,云服务器生成内容为“True”的审计报告并发送给给数据拥有者,否则,云服务器生成内容为“False”的审计报告并发送给给数据拥有者;
实施例2
本实施例的去中心化的多云自审计方法,不仅仅能够实现自审计功能,还可以对错误报告的错误进行定位,具体是:
在实施例1的基础上,数据拥有者会至多收到来自v个云服务器的v份审计报告,如果其中有一份报告的内容为“False”时,数据拥有者会发起错误定位去定位行为不端的云服务器,具体为:
首先,数据拥有者随机挑选一个参与审计的第i个云服务器CS
i(0≤k≤v-1),其次云服务器CS
i自存储数据的证据
和部分聚合证据
给数据拥有者,E
t为v个区组中的第t个区组(0≤t≤v-1),然后数据拥有者用方程(2)检验自存储数据的证据
和部分聚合证据
如果证据
没有通过验证,则表示第l个云服务器CS
l(l<v)是行为不端的云服务器;如果证据
没有通过验证,则云服务器CS
w(w<v)就会被要求发送自存储数据的证据
给数据拥有者,其中E
w为v个区组中的第w个区组(0≤w≤v-1),数据拥有者用方程(2)验证从云服务器CS
w处接收的自存储数据的证据
从而找到恶意的云服务器,最后数据拥有者记录下行为不端的云服务器的标识符ID;
实施例3
本实施例的去中心化的多云自审计方法,不仅仅能够实现自审计功能,还可以抵抗拒绝服务攻击,具体是:
在实施例1的基础上,在进行(4.3.3)证据聚合的过程中,如果有云服务器没有发送自存储数据的证据给指定的云服务器,这会导致(4.3.3)证据聚合没有办法完成,从而影响整个自审计的过程。这时,备用的云服务器
将会介入来帮助完成证据聚合的过程,具体为:
在(4.3.3)证据聚合的过程中,在第一轮交互过程中,如果,云服务器CS
i从满足j∈E
i的云服务器CS
j处收到k个自存储数据的证据。如果在固定的时间段Δt内,收到的自存储数据的证据的数量小于k,云服务器CS
i就推断没有发送自存储数据的证据的云服务器CS
j是恶意的云服务器或者云服务器CS
j正在遭受拒绝服务攻击,这时备用的云服务器
将会帮助完成证据聚合。在第一轮交互过程中,备用的云服务器
代替云服务器CS
j去接收其他云服务器发送给它的自存储数据的证据,但是不需要发送自存储数据的证据给相应的云服务器,并进行聚合数据的计算。在第二轮交互过程中,备用的云服务器
只需要把聚合证据发送给云服务器CS
t(t∈E
j)。
实施例4
本实施例的去中心化的多云自审计方法,不仅仅能够实现自审计功能,还可以对数据进行恢复,具体是:
在实施例1的基础上,如果数据拥有者发现外包数据被恶意的云服务器损坏,这时他可以进行损坏数据的恢复,具体为:
对于文件F和对应的编码文件C,如果编码文件C中至少有m个编码后的数据部分
没有损坏,则损坏的数据部分可以被恢复。首先,数据拥有者将这m个编码后的数据部分
从对应的m个云服务器
处取回,然后可以计算得到文件F的m个数据部分
其中
表示矩阵G的第i
s列,随后数据拥有者将文件F重新编码并上传到相应的云服务器;
实施例5
本实施例的去中心化的多云自审计方法,不仅仅能够实现自审计功能,还可以对服务器撤销,具体是:
在实施例1的基础上,如果数据拥有者想要去撤销某个云服务器,即不在该云服务器上存储数据,具体为:
假设第i个云服务CSi是即将被撤销的服务器,首先数据拥有者取回存储在云服务器CSi处的数据,如果数据被云服务器损坏的话,就恢复数据。然后,数据拥有者寻找信誉良好的、标识符为IDj的新的云服务器CSj,使用(2.2)标签生成去重新计算该数据部分中数据块的签名,最后把该数据部分和对应的签名集合签名上传到新的云服务器CSj处。
实施例6
本实施例的去中心化的多云自审计方法,不仅仅能够实现自审计功能,还可以实现批量审计,具体是:
在实施例1的基础上,数据拥有者为了提高外包数据的审计效率,同时进行对多个外包文件的审计,具体为:
对于文件集
其中τ
h是
的标识符,数据拥有者为文件
的第i个数据部分
中的第j个数据块
计算签名
得到对应的签名集合
并将数据部分
和签名集合
发送给云服务器CS
i(i=0,1,…,v-1)。在数据自审计阶段,数据拥有者发起对于文件
的审计,广播审计请求
给所有的云服务器;当云服务器CS
i(i=0,1,…,v-1)收到审计请求后,计算
其中
和自存储数据的证据
和
然后每个云服务器CS
i广播R
i,并进行(3.3.1)和(3.3.1)的两轮交互得到完整性证据(P,Λ),最后用等式(3)验证完整性证据(P,Λ);
基于PBC库,经过实际地模拟本发明方法的主要核心步骤,从实验模拟和分析可以看出本发明方法相比现有技术性能更优良,实现了审计阶段低通信开销、低计算开销。具体对比结果如图3-6所示。
其中图3为本发明(DSAS)与现有技术在标签生成阶段的计算开销,可以看出本发明的时间开销是较小的;图4为本发明(DSAS)与现有技术在自审计阶段云服务器生成自存储数据的证据的时间开销,可以看出本发明的时间开销是最小;图5为本发明(DSAS)与现有技术在证据聚合阶段聚合证据的时间开销,可以看出本发明所需的时间开销是最小的,因为本发明将计算量平均分摊到了单个云服务器上,而现有的技术是利用一个固定的云服务器来进行证据聚合;图6为本发明(DSAS)与现有技术在验证证据阶段的时间开销,可以看出本发明的时间开销是最小的。