支持数据代理上传的格基云存储数据安全审计方法与流程

文档序号:11410648阅读:222来源:国知局

本发明属于信息安全技术领域,具体的说是涉及支持数据代理上传的格基云存储数据安全审计方法。



背景技术:

随着云计算技术的快速发展,特别是在大数据时代,将会有越来越多的用户将海量数据存储在云服务器上。这将势必造成用户对存储在远程云服务器的数据隐私安全的担忧,由于用户失去了对数据的实际掌控,存储在云服务器上的数据是否被篡改,即数据完整性是用户最关心的。

云存储数据审计方案能够有效解决远程数据完整性验证的问题,这不仅能够释放终端用户管理数据的压力,也避免了终端用户对存储在云服务器上的远程数据遭到篡改的担忧。在一些特殊的应用环境中,数据拥有者访问公共云服务器的权利受限,如数据拥有者(经理)可能因为经济纠纷问题,或者被投诉其具有商业欺骗的行为而遭到质疑和调查,为了防止合谋欺骗,数据拥有者暂时被取消处理公司的相关数据的权利,但是这段时间内这位数据拥有者(经理)的合法事物还需要继续处理。当他所在的公司每日产生海量的数据,为了不让公司遭受损失,他将指定代理者(如秘书)帮助其及时处理公司的数据。目前已经出现很多具有数据完整性验证功能的云存储数据安全审计方案,而真正具有支持数据代理上传的云存储数据安全审计方案还非常少,仅有一个具有这种功能的构造方案,但此方案不能抵抗量子计算机的攻击能力。这是因为此云存储数据安全审计方案是基于需要计算开销更高的双线性对运算设计的,其安全性是基于离散对数的密码学困难问题,这在量子计算的环境下是很容易被攻破的。而格密码被认为是抗量子计算的密码,即后量子密码中最有前景的一类密码。因为格在代数结构上实质上是一个加法交换群,在几何上是空间的一些排列整齐的离散点集合,结构比较简单,在系统中硬件和软件都容易实现。而且密码学者ajta开创性地证明了某类格中一些平均情况下的困难问题和np困难问题的难度等价,这一结论极大地促进了格密码算法的发展。另外,格上具有丰富的困难问题假设,包括最短向量问题、最近向量问题、近似最短向量问题、近似最近向量问题等,这些困难性问题之间都有现成的可证明安全归约技术,极大地增强了人们对格公钥密码算法安全性的信心。

因此,考虑到大数据将会在量子时代长期存在,研究支持数据代理上传的基于格困难问题假设的云存储数据安全审计方法具有重要的应用价值。



技术实现要素:

本发明的目的在于,针对上述目的,提出一种支持数据代理上传的格基云存储数据安全审计方法,需要说明的是,在本发明的方法中要求原始数据拥有者不仅需要授权代理者帮助其产生数据的签名和上传数字签名到云服务器,而且需要数据拥有者指定一个专门的可信审计者帮助其审计存储在云服务器上的数据完整性;此外为了避免复杂的证书管理,本发明的审计方法需要在基于身份的密码学的基础上设计。

为了便于理解本发明的技术方案,在详细描述本发明的技术方案之前,先集中描述本发明采用的符号的定义和介绍本发明采用的基础算法:

符号定义:

q=poly(n):q是关于正整数n的多项式;{0,1}*:随机长度比特串;

模q上的n维向量;模q上的m维向量;

模q上的n×m维矩阵;模q上的m×m维矩阵;

表示从均匀随机的选取模q上的n维向量ξ;

f=<η,λ>:f为η与λ的内直积;||t||:表示矩阵的欧式范数;

q模格:给定矩阵其中q是素数,m,n为正整数,定义q模格如下:

基于低范数m×m维可逆矩阵的离散噪声分布;

基础算法:

陷门生成算法(trapgen):令正整数q≥2和m≥5nlogq,存在概率多项式时间算法trapgen(q,n)在多项式时间内输出一个矩阵和格的一个短基使得a在统计上接近均匀分布并且短基满足||ta||=o(nlogq),其中o(nlogq)表示关于nlogq的多项式计算复杂度。

格基代理算法(newbasisdel):令q≥2,以及可逆矩阵取自分布是格的短基,存在概率多项式时间算法newbasisdel(a,r,ta,σ1),在多项式时间内输出格的短基

原像抽样算法(samplepre):输入矩阵的短基高斯安全参数σ2,对任意给定的向量samplepre(a,ta,ξ,σ2)算法输出为从统计接近于离散高斯分布χ中抽取的一个向量其满足ae=ξmodq。

本发明的技术方案是:

支持数据代理上传的格基云存储数据安全审计方法,其特征在于,包括以下步骤:

s1、系统初始化:

系统首先对数据文件进行分块处理,设置此阶段所需格密码算法的安全参数以及安全的哈希函数;密钥产生中心kgc(keygenerationcenter)调用格基代理算法分别产生原始签名者、代理签名者以及云服务器的公私钥对;

s2、代理签名私钥产生阶段:

原始签名者为了授权代理签名权利给代理签名者,利用原像抽样算法导出基于代理授权委任书的合法签名;所述的授权委任书中有明确的关于原始签名者和代理签名者的执行权利信息描述,验证者将其作为验证信息的组成部分;代理签名者验证授权委任书签名的有效性,并据此利用格基代理算法产生代理签名私钥;

s3、数据代理签名产生与上传阶段:

代理签名者利用步骤s2中获得的代理签名私钥,采用格上基于身份的线性同态代理签名算法产生原始签名者的数据文件的代理签名,代理签名者将这些数据文件、文件名称以及数据文件的代理签名的集合上传到公共云服务器,并且在客户端将这些数据删除;

s4、审计证明产生与验证阶段:

可信审计者产生审计挑战信息给云服务器,云服务器根据审计挑战信息,计算聚合数据文件以及聚合签名,并选取随机向量作为盲化种子信息,根据原像抽样算法产生此随机向量的数字签名,将聚合数据文件盲化,并发送审计证明响应信息给可信审计者;最后,可信审计者按照格上基于身份的线性同态代理签名算法的验证步骤来验证此审计证明响应信息的有效性。

进一步的,所述步骤s1的具体方法为:

s11、系统首先对数据文件进行分块处理,设置此阶段所需格密码算法的安全参数以及安全的哈希函数:

系统将预处理文件f分为个数据块,即其中代表f中的第i个数据块,其中对于安全参数n,设置素数q=poly(n),整数m≥2nlogq,设置χ为离散高斯噪声分布;为了格基代理算法newbasisdel,原像抽样算法samplepre能够正确运行,系统分别设置两个安全的高斯参数σ1,σ2;

系统运行陷门产生函数产生密钥产生中心kgc的主公钥a,主私钥ta;设置抗碰撞的安全哈希函数哈希函数其中,h1和h3的输出值在分布中;则系统输出公共参数为σ={a,h1,h2,h3,h4,h5};

s12、密钥产生中心kgc调用格基代理算法分别产生原始签名者、代理签名者以及云服务器的公私钥对:

输入步骤s11中设定的系统公共参数σ={a,h1,h2,h3,h4,h5},主私钥ta,原始签名者身份ido,密钥产生中心kgc计算原始签名者ido的私钥如下:

计算ido的公钥

密钥产生中心kgc运行格基代理算法产生格上随机格基作为ido对应的私钥,然后,密钥产生中心kgc发送给原始签名者;以类似方法,输入代理签名者的身份idp,得到代理签名者的私钥输入云服务器的身份idc,得到云服务器私钥

进一步的,所述步骤s2中原始签名者为了授权代理签名权利给代理签名者,利用原像抽样算法导出基于代理授权委任书的合法签名的具体方法为:

原始签名者ido根据代理签名要求产生授权委任书mω,该授权委任书mω包括明确的代理签名权利和原始签名者的信息,即代理签名者idp不能处理或上传原始签名者ido的数据,除非代理签名者idp的权限满足授权委任书mω的内容;

原始签名者ido选择一个随机的向量并利用哈希函数h2计算:向量然后运行原像抽样算法产生m维向量获得授权委任书的签名信息为(mω,vω,θω),原始签名者ido发送授权委任书的签名信息(mω,vω,θω)给代理签名者idp;这里,每一个人都能够验证授权委任书mω的签名信息的有效性。

进一步的,所述步骤s2中代理签名者验证授权委任书签名的有效性,并据此利用格基代理算法产生代理签名私钥的具体方法为:

代理签名者一旦接收到来自原始签名者ido的授权委任书mω的签名消息(mω,vω,θω),代理签名者idp验证方程和不等式是否成立,如果二者都成立,则授权委任书mω签名是有效的,同时代理签名者idp利用哈希函数h3计算运行格基代理算法产生代理签名者idp的代理签名私钥如果不成立,则验证不成功,代理签名者idp拒绝,并通知原始签名者ido。

进一步的,所述步骤s3的具体方法为:

当代理签名者idp满足授权委任书mω的代理权利范围,代理签名者idp将帮助原始签名者ido产生签名并上传数据到云服务器;利用代理签名私钥代理签名者idp产生数据文件签名步骤如下:

s31、计算代理签名公钥

利用哈希函数h4计算关于数据块的线性数据块其中,ni代表第i个数据块fi的文件名称,是云服务器的公钥,运行原像抽样算法产生

s32、对于每一个数据块fi,计算n维向量以及内直积ρi,j=<ηi,λj>∈zq,1≤j≤n,其中向量设置最后,代理签名者idp运行原像抽样算法samplepre(qpro,tpro,ρi,s2)产生向量定义签名集合代理签名者idp得到所有的数据为并上传这些数据到公共云服务器;

s33、云服务器首先验证代理签名者idp是否满足授权委任书mω的权利范围;如果不满足,云服务器拒绝提供存储服务;如果满足,云服务器再进一步验证授权委任书mω的签名信息(mω,vω,θω),即验证方程和不等式是否成立;如果二者成立,云服务器确定mω是有效的,云服务器接收并存储相关数据;否则,云服务器拒绝提供此次存储服务,并通知原始签名者ido再次授权代理上传数据。

进一步的,所述步骤s4中可信审计者产生审计挑战信息给云服务器,云服务器根据审计挑战信息,计算聚合数据文件以及聚合签名,并选取随机向量作为盲化种子信息,根据原像抽样算法产生此随机向量的数字签名,将聚合数据文件盲化,并发送审计证明响应信息给可信审计者的具体方法为:

s41、假设原始签名者ido授权远程数据完整性验证任务给可信的第三方审计者tpa;为了验证数据文件真实存在于云服务器,可信审计者tpa从集合中随机选取含有c个元素的子集ω={l1,…,lc};相应地,可信审计者tpa选取随机比特串最后可信审计者tpa发送审计挑战信息chal={i,βi}i∈ω给云服务器,挑战信息定位了需要被验证的数据块;

s42、云服务器接收来自可信审计者tpa的审计挑战信息chal={i,βi}i∈ω,云服务器计算聚合数据块聚合签名为了进一步盲化聚合数据块f′,云服务器随机选取向量并运行原像抽样算法产生向量ξ的签名最后,云服务器利用哈希函数h6计算盲化后的聚合数据块然后发送审计证明响应信息proof=(f,e,ξ)给可信审计者tpa作为审计证明响应信息。

进一步的,所述步骤s4中可信审计者按照格上基于身份的线性同态代理签名算法的验证步骤来验证此审计证明响应信息的有效性的具体方法为:

接收到审计证明响应信息后proof=(f,e,ξ),可信审计者tpa验证其有效性步骤包括:

s43、计算n维向量利用哈希函数h5计算向量

s44、利用ηi和λj计算内直积ρi,j=<ηi,λj>∈zq,其中1≤j≤n,设置向量设置矩阵并计算向量

s45、可信审计者tpa通过验证方程qproe=μmodq和不等式是否成立,若成立,则判断审计证明响应信息有效;若不成立,则则判断审计证明响应信息无效。

根据上述的技术方案可知:本发明提供的是具有隐私保护的支持数据代理上传的格上基于身份的云存储数据安全审计方法。该审计方法有助于数据拥有者授权给代理签名者产生数据的代理签名并上传到云服务器,有助于可信的审计者对云存储数据进行完整性审计。在安全性方面,该审计方法基于格上非齐次小整数解困难性问题,能够有效防止恶意云服务器产生伪造的审计证明响应信息欺骗可信审计者通过审计验证过程。同时,该审计方法利用格上原像抽样函数技术实现随机掩饰码的构造,可有效防止可信审计者从数据文件中恢复出原始签名者的原始数据块信息。可信审计者在执行云存储数据的完整性验证过程中,仅需要计算量有限的线性组合,而不需要计算代价更高的双线性对和模指数运算,因此在计算效率方面该审计方法非常有利于可信的审计者。此外,本发明方法是基于身份密码系统设计的,有效地避免了公钥基础设施对公钥证书的复杂管理,同时能有效抵抗量子计算机的攻击,在后量子通信安全的云计算环境具有重要的应用价值。

本发明的有益效果为,本发明解决了远程云存储数据完整性验证的问题;本发明方法有助于数据拥有者授权给代理签名者产生数据的代理签名并上传到云服务器,同时有助于可信的审计者对云存储数据进行完整性审计。

具体实施方式

在发明内容部分已经对本发明的技术方案进行了详尽的描述,在此不再重描述。

需要补充的是:

最后可信审计者tpa验证方程qproe=μmodq和不等式是否成立,其验证方程正确性推导过程如下:

这样,验证方程qproe=μmodq成立。此外,由于向量(模q上的m维向量)是数据块fi的签名,这样对于任意因此,成立。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1