本发明涉及云环境下外包存储数据的安全审计技术领域,特别涉及一种基于代数签名和异或同态函数的外包大数据审计方案。
背景技术:
随着网络化的发展和数据的爆炸式增长,大数据时代已经到来。大数据出现在人们生活的方方面面,包括信息记录,趋势分析以及数字在线服务等。通常,这些数据是存储在云服务端,由云服务提供商进行数据管理。由于在云计算环境下,云服务器并非完全可信的,比如云服务器可能删除一下较少访问的文件以节省存储开销,而企业或个人将数据外包到云中,这意味着企业或个人失去了对数据的完全控制,那么就出现了数据的安全和完整性验证的问题。如何建立一种有效、安全的对外包大数据完整性验证的机制,这已成为亟待解决的问题。
2007年,ateniese等人在文献《provabledatapossessionatuntrustedstores》中首次提出了数据安全审计的概念,并利用同态可验证标签构造出两个数据审计方案,安全地应用于云环境下的数据完整性验证。随后,wang等人在《enablingpublicauditabilityanddatadynamicsforstoragesecurityincloudcomputing》基于双线性聚合签名技术和merkle哈希树设计了一个远程数据完整性验证方案。2015年,yu等人在文献《remotedatapossessioncheckingwithenhancedsecurityforcloudstorage》中基于随机抽样技术提出一种数据审计方案,解决了以往研究中存在的一些安全缺陷,实现了数据的完整性验证功能。然而,由于这些方案是基于公钥加密技术或者采用了双线性配对计算,验证过程计算开销昂贵。
为了提升数据完整性验证的效率,部分文献利用代数签名构建数据审计方案。例如,chen等人基于代数签名提出的数据审计方案《usingalgebraicsignaturestocheckdatapossessionincloudstorage》,但是该方案不能抵抗重放攻击和恶意服务器删除攻击,并且该方案没有引用第三方审计者,给数据拥有者带来了巨大的计算开销。最近,sookhak等人在文献《dynamicremotedataauditingforsecuringbigdatastorageincloudcomputing》设计了一种基于代数签名的外包数据审计方案,有效地实现了数据完整性验证。但是,该方案是不安全的,存在重放攻击,并且挑战信息不包含随机值导致云服务器生成的证明信息没有完全随机。
到目前为止,大多数的数据审计方案要么计算开销较大,要么存在安全问题,如何设计一个高效安全的外包大数据安全审计方案已成为一个关键问题。
技术实现要素:
本发明的目的在于克服现有技术的缺点与不足,提出了一种云环境下高效安全的外包大数据审计方法,灵活地实现了外包大数据的安全审计。本发明通过引入可信第三方审计者ttpa,有效地降低了数据拥有者的计算开销。安全证明表明,本发明在安全模型下可证明安全,能抵御多种攻击。性能分析表明,与已有方案相比,本发明具有较少的计算、存储和通信费用,有效地实现了云环境下外包大数据的完整性验证。
本发明的目的通过以下的技术方案实现:一种云环境下高效安全的外包大数据审计方法,包括以下步骤:
s1、当数据拥有者do想要将多个文件外包存储到云服务器,他首先运行系统建立算法setup(1λ)得到系统参数params和私钥sk,其中sk由do秘密保存;
s2、然后数据拥有者do执行标签生成算法tagblock(params,sk,f)为每一个文件块生成文件标签ti;do将这些文件块和对应的标签上传到云服务器cs;
s3、一旦数据拥有者do想要检查文件是否完整保存在云服务器cs,他将授权给ttpa执行;ttpa调用挑战算法challenge,生成挑战信息chal并将其传给云服务器cs;
s4、云服务器cs根据收到的chal,调用证明算法proof(params,f,ti,chal)得到证明信息prf并返回给ttpa;
s5、最后,ttpa通过调用验证算法verification(params,sk,chal,prf),对文件完整性进行验证;如果验证算法输出为1,则说明prf是有效的并且文件完整保存在云服务器;否则输出为0,说明文件被损坏。
优选的,本方法包括预处理阶段,采用数据分段技术将文件f分为n块,每个文件块表示为f[i],1≤i≤n。
优选的,步骤s1中,系统建立算法setup(1λ):数据拥有者do首先随机选取
优选的,步骤s2中,标签生成算法tagblock(params,sk,f):do首先选取n个随机数
那么对于每个文件块的标签为ti=sγ(ci||infoi);do将
优选的,步骤s3中,挑战算法challenge:可信第三方审计者ttpa选取n个随机数
优选的,步骤s4步骤中,证明算法proof(params,f,ti,chal):收到挑战信息chal后,cs计算:
并将
优选的,步骤s5中,验证算法verification(params,sk,chal,prf):收到证明信息prf后,ttpa首先计算
如果上述等式成立,则验证算法输出1,表明云服务器完整地保存了文件f;否则输出为0,说明文件被损坏。
本发明与现有技术相比,具有如下优点和有益效果:
由于在大数据外包的场景中,云服务器可能为了节省存储开销,没有完整保存用户的数据或文件,而现有的许多完整性验证方案存在计算费用较高以及安全的问题。因此,为了实现云环境下安全有效的数据完整性验证,本发明提出了一种基于代数签名和异或同态函数的外包数据审计方案。通过采用代数签名技术,本发明相比已有方案,具有低计算开销和通信费用。此外,本发明引入了可信第三方审计者ttpa,由ttpa实现大数据完整性验证,有效地降低了数据拥有者的计算开销。安全证明表明,提出的方案在安全模型下可证明安全。性能分析表明,与已有方案相比,本发明对于服务器具有较少的计算开销,并且有效减低了验证者的计算、存储和验证过程中的通信费用。
附图说明
图1是实施例外包大数据的审计方案流程图。
图2是外包大数据审计方案的挑战算法、证明算法和验证算法中ttpa和cs的交互过程示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
外包大数据审计方案的形式化定义:
一个云环境下高效安全的外包大数据审计方案,由以下5个多项式时间算法组成:
(1)系统建立算法setup(1λ):输入安全参数λ,输出系统公共参数params和私钥sk;
(2)标签生成算法tagblock(params,sk,f):输入系统公共参数params,私钥sk和文件f。假设文件f分为n块,每个文件块表示为f[i](1≤i≤n),输出文件标签ti;
(3)挑战算法challenge:输出挑战信息chal;
(4)证明算法proof(params,f,ti,chal):输入系统公共参数params,文件f,文件标签ti和挑战信息chal,输出证明信息prf;
(5)验证算法verification(params,sk,chal,prf):输入系统公共参数params,私钥sk,挑战信息chal和证明信息prf,输出0或者1。
方案设计:
在云环境下,实现外包大数据的审计方案的具体例子如图1所示。该图由以下三个实体组成:云服务器(cloudserver,cs),数据拥有者(dataowner,do),可信第三方审计者(trustedthird-partyauditor,ttpa)。
当数据拥有者do想要将多个文件外包存储到云服务器,他首先运行系统建立算法setup(1λ)得到系统参数params和私钥sk,其中sk由do秘密保存;然后执行tagblock(params,sk,f)为每一个文件块生成文件标签ti。do将这些文件块和对应的标签上传到云服务器cs。一旦do想要检查文件是否完整保存在cs,他将授权给ttpa执行。ttpa调用挑战算法challenge,生成挑战信息chal并将其传给cs。云服务器cs根据收到的chal,调用证明算法proof(params,f,ti,chal)得到证明信息prf并返回给ttpa。最后,ttpa通过调用验证算法verification(params,sk,chal,prf),对文件完整性进行验证。如果验证算法输出为1,则说明prf是有效的并且文件完整保存在云服务器。
预处理阶段,采用数据分段技术将文件f分为n块,每个文件块表示为f[i](1≤i≤n)。本专利提出的外包大数据审计方案由如下算法构成:
(1)系统建立算法setup(1λ):数据拥有者do首先随机选取
(2)标签生成算法tagblock(params,sk,f):do首先选取n个随机数
那么对于每个文件块的标签为ti=sγ(ci||infoi)。do将
(3)挑战算法challenge:可信第三方审计者ttpa选取n个随机数
(4)证明算法proof(params,f,ti,chal):收到挑战信息chal后,cs计算:
并将
(5)验证算法verification(params,sk,chal,prf):收到证明信息prf后,ttpa首先计算
如果上述等式成立,则验证算法输出1,表明云服务器完整地保存了文件f。否则输出为0,说明文件被损坏。图2阐述了本文提出的外包大数据审计方案的挑战算法、证明算法和验证算法中ttpa和cs的交互过程。
方案的正确性分析如下:
在计算、存储、通信开销方面,本实施例通过将提出的方案与文献[1][2][3][4]对比,具体包括加密机制是采用公钥加密还是对称加密、服务器和验证者的计算开销、验证过程的通信开销、验证者的存储开销以及是否利用第三方审计者完成验证等,如表1所示。其中,n代表系统中加密文件的最大数目,服务器计算开销主要考虑生成证明信息的计算费用,而验证者的计算开销主要考虑验证过程的计算费用。
表1本文方案与相关方案的对比
从表1可以看出,本实施例提出的方案和文献[1][2][3][4]都保持验证者的存储开销为o(1),然而本实施例方案的服务器的计算开销、验证者的计算开销、验证过程的通信开销也为o(1),优于复杂度为ο(logn)的文献[2][3][4],与文献[1]一样。另一方面,文献[1][2][3]是基于公钥密码机制,而本实施例方案及文献[4]是基于对称密码机制。通常来说,对称加密机制计算开销是低于公钥加密机制。此外,由表1可知,文献[1][2][4]没有通过第三方验证,也就是由数据拥有者实现对文件的完整性验证,而本实施例方案及文献[3]引入了第三方验证者,允许可信第三方审计者执行数据审计操作,大大降低了数据拥有者的计算开销。综合考虑,本实施例提出的方案优于文献[1][2][3][4],具有较少的计算、存储和通信开销。
参考文献:
[1]atenieseg,burnsr,curtmolar,etal.provabledatapossessionatuntrustedstores.in:proceedingsofthe14thacmconferenceoncomputerandcommunicationssecurity,alexandria,2007.598-609.
[2]erwaycc,papamanthouc,tamassiar.dynamicprovabledatapossession.acmtransinfsystsecur,2009,17:213-222.
[3]wangq,wangc,renk,etal.enablingpublicauditabilityanddatadynamicsforstoragesecurityincloudcomputing.ieeetransparalldistribsyst,2011,22:847-859.
[4]yuy,zhangy,nij,etal.remotedatapossessioncheckingwithenhancedsecurityforcloudstorage.futuregenercomputsyst,2015,52:77-85.
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。