技术摘要:
本发明公开了一种去中心化的多云自审计方法及系统,属于云存储技术领域,包括以下步骤:(1)可信机构TA首先生成系统参数,并为选择的v个多云服务器CS,产生结构E的(v,k 1,1)‑设计进行分组;(2)数据拥有者将原数据文件F分割为m个数据部分,并得到签名集合,将编码后的数 全部
背景技术:
近年来,云存储进入我们的日常生活,并成为一个重要的工具。云服务提供商提供 按需的高质量存储服务,用户将数据外包给云服务器减少本地存储负担和数据管理负担。 然而,对用户外包数据的安全威胁也存在。由于越来越多的数据泄露事件,外包数据可能被 行为不端的云服务器非法篡改,甚至被丢弃。幸运的是,云审计技术可以用来检查数据的完 整性。大量的工作为外包数据提供了不同审计方案。然而,这些方案大多集中于单个云服务 器场景上。如果单个服务器无法工作,它不仅不能保证数据的可用性,但也会导致数据丢 失。此外,根据权威研究结构IDC发布的报告指出,世界上没有任何服务器是完全可信和完 全安全的,即服务器容易遭受泄露外包数据的隐私。因此,用户倾向于将他们的数据分发到 多个云服务器,这样就没有一个服务器能够获得所有数据副本。在多云存储中,目前大部分 工作都引入组织者来分发天战请求,聚合审计证据,从而帮助完成外包数据的完整性验证。 不幸的是,作为中间人的组织者也很容易遭受拒绝服务攻击,这将导致审计任务中断,因为 它负责审计任务中最重要的部分。另一类的现有工作考虑将审计任务委托给可信第三方审 计者(TPA),以减少数据所有者的计算负担。虽然TPA有足够的专业知识和能力进行审计服 务,但是它可能成为性能瓶颈,因为它面临着大量的数据所有者和审计任务,同时需要与各 种云服务器通信。 为了检查云存储中外包数据的完整性,文献G.Ateniese ,R .Burns ,R .Curtmola, J .Herring,L .Kissner,Z .Peterson,and D .Song .Provable data possession at untrusted stores .In Proceedings of the 14th ACM conference on Computer and communications security,pages 598-609,2007.提出了一种可证明数据拥有(PDP)的方 案,该方案允许用户验证数据完整性,消除了传统方法需要下载全部的数据来验证数据完 整性的缺陷。文献A.Juels and B.S.Kaliski Jr.Pors:Proofs of retrievability for large files .In Proceedings of the 14th ACM conference on Computer and communications security,pages 584-597,2007 .提出了另一种称为“可恢复性证明 (PoR)”的方案,它预先嵌入了一些称为“哨兵”的值,能够使用户通过检查这些“哨兵”的存 在来检查数据的完整性。之后,云审计已经被广泛发展在许多具有重要性质的方案中,如公 共验证、数据更新、批量审计。但是,这些方案将数据集中存储在单云服务器。然而在单云服 务器上,集中存储数据是不合适的,因为云是不诚实的,同时对数据十分好奇。而且当数据 发生泄漏时,云服务器很容易获得全部数据。 一些文献讨论了多云存储中外包数据的完整性审计。基于纠删码,文献C.Wang, Q.Wang,K.Ren,N.Cao,and W.Lou.Toward secure and dependable storage services in cloud computing.IEEE transactions on Services Computing,5(2):220-232,2011提出 了动态的具有数据错误定位(TSDS)的多云存储方案,支持数据损坏时的数据恢复。不幸的 7 CN 111586036 A 说 明 书 2/14 页 是,该方案要求数据所有者存储验证元数据,这给数据所有者带来了沉重的存储负担。文献 Y.Zhu,H.Hu,G.Ahn,and M.Yu.Cooperative provable data possession for integrity verification in multicloud storage .IEEE transactions on parallel and distributed systems,23(12):2231-2244,2012.提出了一种多云环境下的外包数据的完 整性验证PDP方案(CPDP),该方案指定一个云服务器作为组织者,并与其他云服务器交互以 完成审计过程。然而,文献H.Wang and Y .Zhang .On the knowledge soundness of a cooperative provable data possession scheme in multicloud storage .IEEE Transactions on Parallel and Distributed Systems,25(1):264-267,2013.指出了在 CPDP方案中,恶意服务器能够在所有存储的数据都已损坏的情况下生成一个有效的证据。 文献K.He,C.Huang,J.Wang,H.Zhou,X.Chen,Y.Lu,L.Zhang,and B.Wang .An efficient public batch auditing protocol for data security in multi-cloud storage .In 2013 8th ChinaGrid Annual Conference,pages 51-56,2013.提出了一种面向多云存储 的批量审计方案,并引入了一个组织者将数据存储到不同的云服务器中。在审计阶段,组织 者帮助分发挑战请求,并聚合不同云服务器产生的证据。文献H.Wang .Identity-based distributed provable data possession in multicloud storage.IEEE Transactions on Services Computing,8(2):328-340,2014 .提出一种基于身份的分布式PDP方案 (DPDP),它引入了一个组织者(combiner)来分法数据-签名块和挑战消息,并将来自不同服 务器的证据聚合在一起。然而,文献S .Peng,F .Zhou,J .Xu,and Z .Xu .Comments on “identity-based distributed provable data possession in multicloud storage” .IEEE Transactions on Services Computing,9(6):996-998,2016.发现DPDP方案达不到 文中所称的安全性,即云服务器可以在不拥有原始数据块的情况下生成有效的证明,同时 提出一个新的解决方案。文献J.Li,H.Yan,and Y .Zhang .Efficient identity-based provable multi-copy data possession in multi-cloud storage.IEEE Transactions on Cloud Computing,2019.提出了一种基于身份的、可证明的用于云存储的多副本数据方 案(MCPDP)。然而,他们的工作需要将不同的数据副本存储在不同的云服务器,这导致额外 的存储和通信开销,同时还引入了一个组织者来帮助数据完整性审计。 因此,目前大多数的云审计方案是雇用了一个合并者(组织者或TPA)来完成审计 工作,这可能将数据泄露给组织者和TPA,同时造成额外开销。事实上,在实际中很难找到一 个完全信任的第三方。 针对上述外包数据的完整性审计中存在的若干问题,本发明提供了一种去中心化 的多云自审计方法及系统。
技术实现要素:
本发明的目的在于提供了一种去中心化的多云自审计方法,本发明所涉及的实体 分别是云服务提供商、云服务器和数据拥有者。 同时本申请还提供了一种能够实现上述去中心化的多云自审计方法的去中心化 的多云自审计系统。 本申请采用的技术方案是: 一种去中心化的多云自审计方法,其包括以下步骤: 8 CN 111586036 A 说 明 书 3/14 页 (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,g1,G1,GT,e,H1,H2,结构E的 (v,k 1,1)-设计),具体为:输入用于规定系统参数长度的安全参数λ和一个素数k,输出两 个p(p为素数且p>2λ)阶的乘法循环群G1和GT(g和g1是G1的两个生成元),一个双线性映射e: G ×G →G ,两个抗碰撞的哈希函数H :{0,1}*1 1 T 1 →G1和 生成结构E的(v,k 1,1)-设计,并选择v个云服务器(v=k2 k 1),根据结构E的(v,k 1, 1)-设计,将v个云服务器分为v个区组{E0,E1,...,Ev-1},每个区组Ei(i=0,1,…,v-1)由k 1 个云服务器组成,即结构E的(v,k 1,1)-设计中的第i个区组Ei中的元素t表示的是云服务 器CSt; (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个编码后的数据部分Ci={di1,di2,…,din}(i=1,…,v-1), 9 CN 111586036 A 说 明 书 4/14 页 数据拥有者为编码后的数据部分C i中的第j个数据块d i j (1≤j≤n)计算签名 其中IDi为第i个云服务器CSi的标识符,τ为编码后的数据 部分Ci的标识符,然后得到编码后的数据部分Ci对应的签名集合Φi={σi1,σi2,…,σin},最 后数据拥有者将编码后的数据部分Ci和签名集合Φi发送给第i个云服务器CSi,云服务器 CSi(i=0,1,…,v-1)接收并存储编码后的数据部分Ci和签名集合Φi。 进一步限定,所述步骤(3)具体为: (3.1)生成审计请求: 首先数据拥有者选定进行审计的文件F,其标识符为τ,其次数据拥有者从文件索 引集合{1,…,n}中随机挑选s个索引组成审计索引集合J={j1,j2,…,js}s≤n,并选择一组系 数{uj}j∈J,其中 最后数据拥有者将审计请求Ω={τ,J,{uj}j∈J}广播给云服务器 CSi(i=0,1,…,v-1); (3.2)证据生成: 当第i个云服务器CSi(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个区组Ei(i=0,1,…,v-1),如果区组Ei中含有云服务器CSt (t≠i),简洁表述为t∈Ei,则在固定的时间段Δt内,第t个云服务器CSt(t<v)需要发送自 存储数据的证据(σt,μt)给云服务器CSi;当云服务器CSi(i=0,1,…,v-1)从其他云服务器 CSt满足t∈Ei(t≠i)处接收到k个自存储数据的证据{(σt,μt)}(t∈Ei),然后计算得到部分 聚合证据(Pij,Λij),其中 (3.3.2)第二轮交互: 对于v个区组中的第i个区组Ei(i=0,1,…,v-1),如果区组Ei中含有云服务器CSt 10 CN 111586036 A 说 明 书 5/14 页 (t≠i),简洁表述为t∈Ei,则在固定的时间段Δt内,云服务器CSi需要发送部分聚合证据 (Pit,Λit)给云服务器CSt;当云服务器CSt(t=0,1,…,v-1)从其他云服务器CSi(t∈Ei)处接 收到k个部分聚合证据{(Pit,Λit)}(t∈Ei),然后可以计算得到完整性证据(P,Λ),其中 进一步限定,所述步骤(3)之后还包括步骤(a1)错误定位或步骤(a2)抵抗拒绝服 务攻击,具体为: (a1)错误定位 在步骤(3.4)自验证完成之后,数据拥有者会至多收到来自v个云服务器的v份审 计报告,如果其中有一份报告的内容为“False”时,数据拥有者会发起错误定位去定位行为 不端的云服务器,具体为: 首先,数据拥有者随机挑选一个参与审计的第i个云服务器CSi(0≤i≤v-1),其次 云服务器CSi自存储数据的证据 和部分聚合证据 给数据拥有 者,Et为v个区组中的第t个区组(0≤t≤v-1),然后数据拥有者用等式(1)检验自存储数据 的证据 和部分聚合证据 如果证据 没有通过验证,则表示第l个云服务器CSl(l<v)是行为不端的 云服务器;如果证据 没有通过验证,则云服务器CSw(w< v)就会被要求发送自存储数据的证据 给数据拥有者,其中Ew为v个区组 中的第w个区组(0≤w≤v-1),数据拥有者用等式(1)验证从云服务器CSw处接收的自存储数 据的证据 从而找到恶意的云服务器,最后数据拥有者记录下行为不端 的云服务器的标识符ID,进而实现错误定位; (a2)抵抗拒绝服务攻击: 在(3.3)证据聚合的过程中,在第一轮交互过程中,如果第i个云服务器CSi从满足 j∈Ei的云服务器CSj处收到k个自存储数据的证据,如果在固定的时间段Δt内,收到的自存 储数据的证据的数量小于k,云服务器CSi就推断没有发送自存储数据的证据的云服务器CSj 是恶意的云服务器或者云服务器CSj正在遭受拒绝服务攻击,这时备用的云服务器 将会 介入来帮助完成证据聚合,在第一轮交互过程中,备用的云服务器 代替云服务器CSj去 接收其他云服务器发送给它的自存储数据的证据,但是不需要发送自存储数据的证据给相 应的云服务器,并进行聚合数据的计算,在第二轮交互过程中,备用的云服务器 只需要 把聚合证据发送给云服务器CSt(t∈Ej),抵抗拒绝服务攻击,保护数据完整。 进一步限定,所述步骤(3)之后还包括步骤(a3)数据恢复或步骤(a4)服务器撤销; 具体为: (a3)数据恢复 对于文件F和对应的编码文件C,如果编码文件C中至少有m个编码后的数据部分 11 CN 111586036 A 说 明 书 6/14 页 没有损坏,则损坏的数据部分可以被恢复,首先,数据拥有者将这m个 编码后的数据部分 从对应的m个云服务器 处 取回,然后可以计算得到文件F的m个数据部分 其中 表示矩阵G的第 is列,随后数据拥有者将文件F重新编码并上传到相应的云服务器; (a4)服务器撤销 假设第i个云服务CSi是即将被撤销的服务器,首先数据拥有者取回存储在云服务 器CSi处的数据,如果数据被云服务器损坏的话,就恢复数据。然后,数据拥有者寻找信誉良 好的、标识符为IDj的新的云服务器CSj,使用(2.2)标签生成去重新计算该数据部分中数据 块的签名,最后把该数据部分和对应的签名集合签名上传到新的云服务器CSj处,提高系统 的鲁棒性,并支持恶意的云服务器的撤销,防止恶意云服务器进一步损坏外包数据。 进一步限定,所述步骤(3)之后还包括步骤(a5)批量审计,具体为: 对于文件集 其中τh是 的标识符,数据 拥有者为文件 的第i个数据部分 中的第j个数据块 计算签名 得到对应的签名集合 并将数据部分 和签名集合 发送给云服务器CSi(i=0,1,…,v-1)。在数据自审计阶段,数据拥有者发起对于文件 的审计,广播审计请求 给所有的 云服务器;当云服务器CSi(i=0,1,…,v-1)收到审计请求后,计算 其中 和自存储数据的证据 和 然后每个云服务器CSi广播Ri,并进行(3.3 .1)和(3.3 .1)的两轮交互得到完整性证据(P, Λ),最后用等式(2)验证完整性证据(P,Λ); 实现批量审计,大幅提高自审计效率。 一种实现上述的去中心化的多云自审计方法的自审计系统,其包括可信机构TA、 云服务器和数据拥有者; 所述可信机构TA,生成系统参数,选择v个云服务器CS,将这v个云服务器根据结构 E的(v,k 1,1)-设计进行分组; 所述数据拥有者,将原数据文件F进行分割、编码后生成签名集合,发送给云服务 器,并向云服务器发送审计请求; 所述云服务器,接收数据拥有者发送的审计请求,生成自存储数据的证据,通过两 12 CN 111586036 A 说 明 书 7/14 页 次交互,生成审计文件对应的部分聚合证据和完整性证据(P,Λ),验证完整证据,生成审计 结果的报告,并发送给数据拥有者。 与现有技术相比,本申请具有以下优点: (1)基于对称平衡不完全区组设计,本发明通过云服务器的交互来实现无需组织 者或TPA的自审计,允许数据所有者在审计阶段有效地检查数据完整性而不承担任何计算 成本,这是完全不同于传统的多云审计工作。此外,在本申请中,所有审计过程中的计算开 销被平均分配在到单个云服务器上,这将数据拥有者从受限的计算资源中解放出来。 (2)本发明可以以较低的计算开销和通信开销来定位恶意的云服务器,并提供了 一种方法来抵抗一些恶意云服务器发起的拒绝服务攻击,帮助剩余的云服务器来完成数据 的完整性审计,有效地提高了审计效率。 (3)本发明可以恢复损坏的数据,以提高系统的鲁棒性,并支持恶意的云服务器的 撤销,防止恶意云服务器进一步损坏外包数据,同时支持批处理审计,可以有效地提高审计 效率。 附图说明 图1为本发明的系统模型; 图2为本发明以7个云服务器为例展示的证据聚合的过程(k=2); 图3为本发明与现有技术在存储阶段的时间开销比较图; 图4为本发明与现有技术在审计阶段云服务器生成证据的时间开销比较图; 图5为本发明与现有技术在证据聚合阶段云服务器聚合证据的时间开销比较图; 图6为本发明与现有技术验证证据的时间开销比较图。