一种基于短签名的远程数据完整性验证方法技术

技术编号:21484523 阅读:25 留言:0更新日期:2019-06-29 06:28
本发明专利技术提供了一种基于短签名的远程数据完整性验证方法。包括:在预处理阶段,客户端生成公私密钥对和系统参数,对要上传到云存储服务器的文件进行分块处理;然后用短签名算法对每个文件块签名;将文件和签名集合上传到云存储服务器中,将签名集合发送给可信第三方。在挑战‑响应阶段,由第三方生成挑战信息并发送给云服务器,服务器生成数据持有证据返回给第三方。在验证阶段,第三方利用验证算法验证数据持有证据是否正确,若正确输出TRUE说明文件保存完整,否则输出FALSE说明存储的文件被损坏。针对现有技术签名效率和安全性低的问题,本发明专利技术使用短签名和可信第三方降低客户端计算开销,验证过程中采用防碰撞哈希函数和随机掩蔽技术保护数据隐私,分析表明本方法能够抵抗适应性选择消息攻击。

【技术实现步骤摘要】
一种基于短签名的远程数据完整性验证方法
本专利技术属于数据的完整性验证
,确切地说,涉及到信息安全中一种对云存储环境下数据的完整性验证方法。
技术介绍
随着云计算、移动互联网技术的发展,终端用户产生的数据持续增长,越来越多的用户将数据存储在云服务提供商(CloudServiceProvider,以下简称CSP)提供的存储资源中。然而,由于CSP提供的存储资源相对集中,存储系统中的软硬件故障、系统恶意损坏等事件严重威胁了用户数据的安全存储,对于不经常访问的数据,用户不会随时去验证其可用性,在这种情况下,即使由于云存储系统的损坏导致数据丢失,用户也难以及时察觉,因此,需要用户进行数据完整性检测,以确保用户数据的完整性和可用性。而且,随着CSP中数据规模的增长,如何高效地进行数据持有性验证(ProvableDataPossession,PDP),减少存储服务器的计算开销和通信开销,成为云存储安全的一大挑战。西安电子科技大学在其申请的专利文献“云存储中借助第三方完成的数据完整性验证方法”(申请号:CN20171017756,公开号:CN106790303A)中公开了一种数据完整性验证的方法。该方法的具体步骤是:在预处理阶段,用户进行数据分块加密,然后将加密后的文件块发送给第三方;第三方为每个加密的文件块生成相应的文件主标签和辅助标签,再将加密文件块、主标签和辅助标签一起上传到云服务器。挑战-响应阶段,由第三方生成挑战信息发送给云服务器,云服务器生成响应信息返回给第三方,由第三方验证云服务器存储的数据是否完整,如果验证通过则说明数据是完整的,不通过则表示数据被破坏。该方法中,存储到云服务器中的数据是从第三方中得到的,并且最后的验证也是由第三方进行的,所以如果第三方伪造或丢失部分数据验证仍然可以通过,因此该方案不能有效的验证云存储数据的完整性。暨南大学在其申请的专利文献“一种云环境下高效安全的外包大数据审计方法”(申请号:CN201810892385,公开号:CN109145650A)中提出了一种高效安全的数据审计方法。该方法的具体步骤是:在预处理阶段,用户生成系统参数,文件标签,验证阶段授权给第三方TTPA,TTPA生成挑战消息并发送给云服务器CS,CS生成证明信息返回给TTPA,TTPA运行验证算法验证等式是否成立,输出1则文件保存完整,输出0则文件被损坏。但是该方案在设计上存在漏洞,在客户端发送给第三方的信息中包括每个数据块的索引位置,这对于用户的数据是一种潜在的威胁。
技术实现思路
有鉴于此,本专利技术的目的是提供一种基于短签名的远程数据完整性验证方法,使用该方法对数据的完整性验证时,用户可以借助第三方TPA较方便的对存于云服务器中的数据进行完整性验证。本专利技术利用了基于短签名技术和随机掩蔽技术可以高效、安全地实现数据的完整性验证,并且支持隐私保护和公共审计,在随机预言模型下,能够抵抗适应性选择消息攻击。为了达到上述目的,本专利技术提供了一种基于短签名的远程数据完整性验证的方法,其特征在于,所述方法包括下述操作步骤:(1)客户端输入安全参数K,执行算法KeyGen(k)→(pk,sk)初始化,生成存在双线性映射关系的群G1G2和公私钥对{pk,sk};(2)客户端利用抗碰撞的hash函数和私钥sk通过签名算法SigGen(sk,m)→σ对文件m进行签名,并将签名σ发送给第三方TPA,文件和签名上传给云存储服务器CSP;(3)TPA随机选择部分签名块生成挑战消息chal,并发送给CSP,CSP接收挑战后执行证据生成算法GenProof(m,σ,chal)→Q生成持有性证据Q并发送给TPA;(4)TPA运行验证算法VerifyProof(chal,Q)→{TRUE,FALSE}对证据Q进行验证,若验证结果为TRUE则说明文件保存完整,验证结果为FALSE,则说明文件损坏。所述步骤(1)进一步包括下列操作内容:(11)所述输入安全参数K,输出群G1G2,G1是循环加法群,G2是循环乘法群,G1和G2的阶均为q,并且存在双线性映射关系:e:G1×G1→G2,Zq表示模q的整数环;(12)根据所述客户端随机选择数p为G1的生成元,计算Y=xp,得到公钥pk为Y,私钥sk为x,x由客户端秘密保存不外泄。所述步骤(2)进一步包括下列操作内容:(21)所述客户端首先将所述文件m分成固定长度为l的n个文件块,表示为:(m1,m2,...,mn),若最后的文件块长度不足l,则用0填充;(22)所述客户端对每个文件块mi(1≤i≤n)进行签名,根据公式得到文件m的签名集合为σ=(σ1,σ2,...,σn),mi表示第i个文件块,σ表示文件m的签名集合,σi表示文件块mi的签名,H(mi)为文件块mi的hash函数值,x为用户私钥,P为群G1的生成元;(23)所述客户端将文件m和签名集合σ发送给CSP云存储服务器,将文件签名σ发送给第三方审计机构TPA,客户端本地删除所述文件m。所述步骤(22)中所用的Hash函数为抗碰撞的函数较现有技术中使用的特殊函数H(·):{0,1}→G1(map-to-point)效率更高。所述步骤(21)中文件块的固定长度待上传到云存储服务中文件m的数据总长度为L,要生成的文件块总数为n,l为每个文件块的长度。所述步骤(3)进一步包括下列操作内容:(31)客户端授权给TPA进行文件完整性验证,TPA从集合{1,2,…,n}中随机抽取c个元素构成集合I={s1,s2,…,sc},1≤s1≤…≤sc≤n,n为数据块总数。然后TPA生成伪随机数vi,得到挑战消息chal={(i,vi)}s1≤i≤sc并发送给CSP;(32)CSP收到挑战消息chal后计算挑战数据块i的签名{σi}s1<i<sc,执行证据生成算法GenProof(m,σ,chal)→Q,得到持有性证据Q={R,μ,η}返回给TPA;所述步骤(32)的数据持有性证据Q={R,μ,η}根据以下公式得到:Y为公钥,vi为对应挑战数据块i的随机数;P为G1的生成元,H(mi)为文件块mi的hash函数值;σi为挑战数据块i的签名。所述步骤(32)生成的挑战消息chal采用了随机掩蔽技术,TPA对于子集I中的每个元素i∈I,随机选择一整数k0,生成伪随机数vi=φ(k0,i),用随机数混淆挑战数据块信息,有效抵抗CSP伪造数据通过验证。所述步骤(4)TPA收到证据Q后,对数据块的签名{σi}s1<i<sc进行验证,TPA通过验证算法VerifyProof(chal,Q)→{TRUE,FALSE}来验证挑战的数据块是否被正确持有,验证等式为e(,)表示循环群中的双线性映射。所述步骤(4)中若验证等式成立则TPA输出TRUE,说明第三方验证云存储服务器中的数据是完整的,若等式不成立,则TPA输出FALSE,说明第三方验证云存储服务器中的数据是不完整的。本专利技术是一种基于短签名的远程数据完整性验证方法,它在技术上的创新主要是利用短签名,可信第三方及随机掩蔽技术弥补了以往的方案安全性和效率方面的不足,下面进行详细的说明。首先,在客户端对文件块签名中本专利技术采用安全的hash函数对文件进行签名,普遍使用的MD5及sha1算法即可,相比于现有技术中使用特殊的map本文档来自技高网
...

【技术保护点】
1.一种基于短签名的远程数据完整性验证方法,其特征在于,所述方法包括下述操作步骤:(1)客户端输入安全参数K,执行算法KeyGen(k)→(pk,sk)初始化,生成存在双线性映射关系的群G1G2和公私钥对{pk,sk};(2)客户端利用抗碰撞的hash函数和私钥sk通过签名算法SigGen(sk,m)→σ对文件m进行签名,并将签名σ发送给可信的第三方审计机构(Third Party Auditors,以下简称TPA),文件和签名上传给云服务提供商(Cloud Service Providers,以下简称CSP)的存储服务器中。(3)TPA随机选择部分签名块生成挑战消息chal,并发送给CSP,CSP接收挑战后执行证据生成算法GenProof(m,σ,chal)→Q生成持有性证据Q并发送给TPA;(4)TPA运行验证算法VerifyProof(chal,Q)→{TRUE,FALSE}对证据Q进行验证,若验证结果为TRUE则说明文件保存完整,验证结果为FALSE,则说明文件损坏。

【技术特征摘要】
1.一种基于短签名的远程数据完整性验证方法,其特征在于,所述方法包括下述操作步骤:(1)客户端输入安全参数K,执行算法KeyGen(k)→(pk,sk)初始化,生成存在双线性映射关系的群G1G2和公私钥对{pk,sk};(2)客户端利用抗碰撞的hash函数和私钥sk通过签名算法SigGen(sk,m)→σ对文件m进行签名,并将签名σ发送给可信的第三方审计机构(ThirdPartyAuditors,以下简称TPA),文件和签名上传给云服务提供商(CloudServiceProviders,以下简称CSP)的存储服务器中。(3)TPA随机选择部分签名块生成挑战消息chal,并发送给CSP,CSP接收挑战后执行证据生成算法GenProof(m,σ,chal)→Q生成持有性证据Q并发送给TPA;(4)TPA运行验证算法VerifyProof(chal,Q)→{TRUE,FALSE}对证据Q进行验证,若验证结果为TRUE则说明文件保存完整,验证结果为FALSE,则说明文件损坏。2.根据权利要求1所述的方法,其特征在于:所述步骤(1)进一步包括下列操作内容:(11)所述输入安全参数K,输出群G1G2,G1是循环加法群,G2是循环乘法群,G1和G2的阶均为q,并且存在双线性映射关系:e:G1×G1→G2,Zq表示模q的整数环;(12)根据所述客户端随机选择数p为G1的生成元,计算Y=xp,得到公钥pk为Y,私钥sk为x,x由客户端安全保存不外泄。3.根据权利要求1所述的方法,其特征在于:所述步骤(2)进一步包括下列操作内容:(21)所述客户端首先将所述文件m分成固定长度为l的n个文件块,表示为:(m1,m2,...,mn),若最后的文件块长度不足l,则用0填充;(22)所述客户端对每个文件块mi(1≤i≤n)进行签名,根据公式得到文件m的签名集合为σ=(σ1,σ2,...,σn),mi表示第i个文件块,σ表示文件m的签名集合,σi表示文件块mi的签名,H(mi)为文件块mi的ha...

【专利技术属性】
技术研发人员:朱洪亮袁颖陈玉玲韩挺辛阳
申请(专利权)人:北京邮电大学贵州大学北京安码科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1