本发明属于信息安全技术领域,具体的说是涉及支持数据代理上传的格基云存储数据安全审计方法。
背景技术:
随着云计算技术的快速发展,特别是在大数据时代,将会有越来越多的用户将海量数据存储在云服务器上。这将势必造成用户对存储在远程云服务器的数据隐私安全的担忧,由于用户失去了对数据的实际掌控,存储在云服务器上的数据是否被篡改,即数据完整性是用户最关心的。
云存储数据审计方案能够有效解决远程数据完整性验证的问题,这不仅能够释放终端用户管理数据的压力,也避免了终端用户对存储在云服务器上的远程数据遭到篡改的担忧。在一些特殊的应用环境中,数据拥有者访问公共云服务器的权利受限,如数据拥有者(经理)可能因为经济纠纷问题,或者被投诉其具有商业欺骗的行为而遭到质疑和调查,为了防止合谋欺骗,数据拥有者暂时被取消处理公司的相关数据的权利,但是这段时间内这位数据拥有者(经理)的合法事物还需要继续处理。当他所在的公司每日产生海量的数据,为了不让公司遭受损失,他将指定代理者(如秘书)帮助其及时处理公司的数据。目前已经出现很多具有数据完整性验证功能的云存储数据安全审计方案,而真正具有支持数据代理上传的云存储数据安全审计方案还非常少,仅有一个具有这种功能的构造方案,但此方案不能抵抗量子计算机的攻击能力。这是因为此云存储数据安全审计方案是基于需要计算开销更高的双线性对运算设计的,其安全性是基于离散对数的密码学困难问题,这在量子计算的环境下是很容易被攻破的。而格密码被认为是抗量子计算的密码,即后量子密码中最有前景的一类密码。因为格在代数结构上实质上是一个加法交换群,在几何上是空间的一些排列整齐的离散点集合,结构比较简单,在系统中硬件和软件都容易实现。而且密码学者ajta开创性地证明了某类格中一些平均情况下的困难问题和np困难问题的难度等价,这一结论极大地促进了格密码算法的发展。另外,格上具有丰富的困难问题假设,包括最短向量问题、最近向量问题、近似最短向量问题、近似最近向量问题等,这些困难性问题之间都有现成的可证明安全归约技术,极大地增强了人们对格公钥密码算法安全性的信心。
因此,考虑到大数据将会在量子时代长期存在,研究支持数据代理上传的基于格困难问题假设的云存储数据安全审计方法具有重要的应用价值。
技术实现要素:
本发明的目的在于,针对上述目的,提出一种支持数据代理上传的格基云存储数据安全审计方法,需要说明的是,在本发明的方法中要求原始数据拥有者不仅需要授权代理者帮助其产生数据的签名和上传数字签名到云服务器,而且需要数据拥有者指定一个专门的可信审计者帮助其审计存储在云服务器上的数据完整性;此外为了避免复杂的证书管理,本发明的审计方法需要在基于身份的密码学的基础上设计。
为了便于理解本发明的技术方案,在详细描述本发明的技术方案之前,先集中描述本发明采用的符号的定义和介绍本发明采用的基础算法:
符号定义:
q=poly(n):q是关于正整数n的多项式;{0,1}*:随机长度比特串;
f=<η,λ>:f为η与λ的内直积;||t||:表示矩阵
q模格:给定矩阵
基础算法:
陷门生成算法(trapgen):令正整数q≥2和m≥5nlogq,存在概率多项式时间算法trapgen(q,n)在多项式时间内输出一个矩阵
格基代理算法(newbasisdel):令q≥2,
原像抽样算法(samplepre):输入矩阵
本发明的技术方案是:
支持数据代理上传的格基云存储数据安全审计方法,其特征在于,包括以下步骤:
s1、系统初始化:
系统首先对数据文件进行分块处理,设置此阶段所需格密码算法的安全参数以及安全的哈希函数;密钥产生中心kgc(keygenerationcenter)调用格基代理算法分别产生原始签名者、代理签名者以及云服务器的公私钥对;
s2、代理签名私钥产生阶段:
原始签名者为了授权代理签名权利给代理签名者,利用原像抽样算法导出基于代理授权委任书的合法签名;所述的授权委任书中有明确的关于原始签名者和代理签名者的执行权利信息描述,验证者将其作为验证信息的组成部分;代理签名者验证授权委任书签名的有效性,并据此利用格基代理算法产生代理签名私钥;
s3、数据代理签名产生与上传阶段:
代理签名者利用步骤s2中获得的代理签名私钥,采用格上基于身份的线性同态代理签名算法产生原始签名者的数据文件的代理签名,代理签名者将这些数据文件、文件名称以及数据文件的代理签名的集合上传到公共云服务器,并且在客户端将这些数据删除;
s4、审计证明产生与验证阶段:
可信审计者产生审计挑战信息给云服务器,云服务器根据审计挑战信息,计算聚合数据文件以及聚合签名,并选取随机向量作为盲化种子信息,根据原像抽样算法产生此随机向量的数字签名,将聚合数据文件盲化,并发送审计证明响应信息给可信审计者;最后,可信审计者按照格上基于身份的线性同态代理签名算法的验证步骤来验证此审计证明响应信息的有效性。
进一步的,所述步骤s1的具体方法为:
s11、系统首先对数据文件进行分块处理,设置此阶段所需格密码算法的安全参数以及安全的哈希函数:
系统将预处理文件f分为
系统运行陷门产生函数产生密钥产生中心kgc的主公钥a,主私钥ta;设置抗碰撞的安全哈希函数
s12、密钥产生中心kgc调用格基代理算法分别产生原始签名者、代理签名者以及云服务器的公私钥对:
输入步骤s11中设定的系统公共参数σ={a,h1,h2,h3,h4,h5},主私钥ta,原始签名者身份ido,密钥产生中心kgc计算原始签名者ido的私钥如下:
令
密钥产生中心kgc运行格基代理算法
进一步的,所述步骤s2中原始签名者为了授权代理签名权利给代理签名者,利用原像抽样算法导出基于代理授权委任书的合法签名的具体方法为:
原始签名者ido根据代理签名要求产生授权委任书mω,该授权委任书mω包括明确的代理签名权利和原始签名者的信息,即代理签名者idp不能处理或上传原始签名者ido的数据,除非代理签名者idp的权限满足授权委任书mω的内容;
原始签名者ido选择一个随机的向量
进一步的,所述步骤s2中代理签名者验证授权委任书签名的有效性,并据此利用格基代理算法产生代理签名私钥的具体方法为:
代理签名者一旦接收到来自原始签名者ido的授权委任书mω的签名消息(mω,vω,θω),代理签名者idp验证方程
进一步的,所述步骤s3的具体方法为:
当代理签名者idp满足授权委任书mω的代理权利范围,代理签名者idp将帮助原始签名者ido产生签名并上传数据到云服务器;利用代理签名私钥
s31、计算代理签名公钥
利用哈希函数h4计算关于数据块
s32、对于每一个数据块fi,计算n维向量
s33、云服务器首先验证代理签名者idp是否满足授权委任书mω的权利范围;如果不满足,云服务器拒绝提供存储服务;如果满足,云服务器再进一步验证授权委任书mω的签名信息(mω,vω,θω),即验证方程
进一步的,所述步骤s4中可信审计者产生审计挑战信息给云服务器,云服务器根据审计挑战信息,计算聚合数据文件以及聚合签名,并选取随机向量作为盲化种子信息,根据原像抽样算法产生此随机向量的数字签名,将聚合数据文件盲化,并发送审计证明响应信息给可信审计者的具体方法为:
s41、假设原始签名者ido授权远程数据完整性验证任务给可信的第三方审计者tpa;为了验证数据文件
s42、云服务器接收来自可信审计者tpa的审计挑战信息chal={i,βi}i∈ω,云服务器计算聚合数据块
进一步的,所述步骤s4中可信审计者按照格上基于身份的线性同态代理签名算法的验证步骤来验证此审计证明响应信息的有效性的具体方法为:
接收到审计证明响应信息后proof=(f,e,ξ),可信审计者tpa验证其有效性步骤包括:
s43、计算n维向量
s44、利用ηi和λj计算内直积ρi,j=<ηi,λj>∈zq,其中
s45、可信审计者tpa通过验证方程qproe=μmodq和不等式
根据上述的技术方案可知:本发明提供的是具有隐私保护的支持数据代理上传的格上基于身份的云存储数据安全审计方法。该审计方法有助于数据拥有者授权给代理签名者产生数据的代理签名并上传到云服务器,有助于可信的审计者对云存储数据进行完整性审计。在安全性方面,该审计方法基于格上非齐次小整数解困难性问题,能够有效防止恶意云服务器产生伪造的审计证明响应信息欺骗可信审计者通过审计验证过程。同时,该审计方法利用格上原像抽样函数技术实现随机掩饰码的构造,可有效防止可信审计者从数据文件中恢复出原始签名者的原始数据块信息。可信审计者在执行云存储数据的完整性验证过程中,仅需要计算量有限的线性组合,而不需要计算代价更高的双线性对和模指数运算,因此在计算效率方面该审计方法非常有利于可信的审计者。此外,本发明方法是基于身份密码系统设计的,有效地避免了公钥基础设施对公钥证书的复杂管理,同时能有效抵抗量子计算机的攻击,在后量子通信安全的云计算环境具有重要的应用价值。
本发明的有益效果为,本发明解决了远程云存储数据完整性验证的问题;本发明方法有助于数据拥有者授权给代理签名者产生数据的代理签名并上传到云服务器,同时有助于可信的审计者对云存储数据进行完整性审计。
具体实施方式
在发明内容部分已经对本发明的技术方案进行了详尽的描述,在此不再重描述。
需要补充的是:
最后可信审计者tpa验证方程qproe=μmodq和不等式
这样,验证方程qproe=μmodq成立。此外,由于向量