基于格的大数据动态存储完整性验证方法

文档序号:6535046阅读:206来源:国知局
基于格的大数据动态存储完整性验证方法
【专利摘要】本发明公开了一种基于格的大数据动态存储完整性验证方法,该方法基于量子计算机也难以破解的格上困难问题,具有较高的安全性,支持数据动态变化,并且运行效率也较高。为了支持大数据的动态特性,采用了Merkle哈希树技术,同时也能有效地保护计算平台的隐私数据。因此,该方法能够广泛的应用到与大数据的动态完整性验证相关的情景中。
【专利说明】基于格的大数据动态存储完整性验证方法
【技术领域】
[0001]本发明属于数据安全【技术领域】,具体涉及一种基于格的大数据动态存储完整性验证方法。
【背景技术】 [0002]随着云计算的迅速发展,越来越多的数据被存放在云服务器中。云存储作为一种新型的存储服务,所具有的高可扩展性、高可靠性、价格低廉和可随时随地接入访问的特点,为海量数据的存储管理提供了全新的模式。但是,由于用户把数据都托管给了云服务商,失去了对数据的本地监管控制权,因此面临着很多挑战。在所有面临的安全问题中,用户存储在外包服务器上大数据动态存储的完整性验证是一个基本问题。这个问题的解决需要使用安全的验证存储在远程服务器上动态数据的完整性的协议。考虑到大数据将会在量子时代长期存在这种情况,设计能够抵抗量子攻击的大数据动态完整性验证协议非常重要。

【发明内容】

[0003]本发明目的在于提供一种基于格的大数据动态存储完整性验证方法,该方法安全、高效,支持大数据动态存储的完整性验证,不仅计算非常简单方便,而且能够抵抗量子攻击。
[0004]为了解决现有技术中的诸多问题,本发明提供的技术方案是:
[0005]一种基于格的大数据动态存储完整性验证方法,应用于用户通过客户端对存储在服务器端上动态存储的大数据文件的完整性验证,其特征在于所述方法包括以下步骤:
[0006](I)客户端的初始化:假设客户端安全参数为n,客户端通过陷门生成算法TrapGen (η)生成公私密钥对(pk, sk),其中pk=A ;sk=B ;矩阵AeZ:"*和相应的陷门
B e Zm ,并且满足_ S '其中i表示B的正交化;客户端公开参数P= (q, m, L, S,A),其中
素数
【权利要求】
1.一种基于格的大数据动态存储完整性验证方法,应用于用户通过客户端对存储在服务器端上动态存储的大数据文件的完整性验证,其特征在于所述方法包括以下步骤: (1)客户端的初始化:假设客户端安全参数为Π,客户端通过陷门生成算法TrapGen(η)生成公私密钥对(pk,sk),其中pk=A ;sk=BB为矩阵A的陷门BeZ**,并且满足,其中1:表示B的正交化;客户端公开参数P = (q, m, L, s, A),其中素数q≥3,m ^ 5nlogq, I = O^nlogq) λ.= £.?(^ogR)
y9 (2)存储阶段: 用户通过客户端采用格基生成算法SamplePre计算文件F第i块的标签Oi,即SamplePre (A, B, s, Fi) = σ 丨,其中.文件 F 被分为 b ±夹,即 F = (F1,...,Fb),I≤i≤b,其中Fi e {-1,0, Ijnxi ;计算标签集合Φ = {σ丄I≤i≤b ;客户端根据存储文件F的Merkle Hash Tree的结构生成哈希根R,用私钥对R生成标签,即sig(H(R))=(H(R))B ;然后,用户将{F,Φ, Sig(H(R))I发送至服务器端进行保存;在客户端公开所有标签并本地删除文件F ; (3)完整性验证阶段:如果用户希望验证存储在远程服务器上的文件F的完整性,则在客户端挑选b个随机数(a1;..., ab)发送给服务器端,其中|a」≤k并且bk<q;当服务器端收到挑战后,计算g = ^并发送g给客户端;客户端收到g后,计算ζ = 并验 ?=\ ?-1证Az = g是否成立;如果Az = g成立,则文件F完整,否则文件F受到破坏。
2.根据权利要求1所述的完整性验证方法,其特征在于所述方法还包括在进行文件数据块更新操作或者文件数据块插入操作或者文件数据块删除操作之前优先进行原文件完整性验证的步骤。
3.根据权利要求2所述的完整性验证方法,其特征在于所述方法中进行文件数据块更新操作按照如下步骤进行: 1)客户端根据新的数据块F/计算相应的标签SamplePre(A, B, s, Fi') = σ /,其中IN I <.然后用户通过客户端向服务器端发送更新请求Update= (U,i, Fi' , σ / ),其中U表示更新操作命令; 2)服务器端接到更新请求后,根据接收到的参数做相应数据块的更新:首先客户端将第i个数据块Fi更新为数据块F/ ;然后将Oi更新为并计算出新的标签集合Φ’ ;客户端在Merkle Hash Tree的结构上用H(F/)替换H(Fi)并生成新的哈希根R';最后服务器端生成对本次更新操作生成证WPu= (QpH(Fi), sig(H(R)),R’}发送给客户端,其中Ω i是Fi数据块的权威认证AAI ; 3)客户端收到Pu=P^H(Fi), sig(H(R)),R’}后,首先判断用{ Ω i,H(Fi)}计算生成的哈希根是否与客户端所保存的哈希根相等;如果不相等,返回FALSE ;如果相等,则通过计算{Ω”Η(Ρ\)}检查服务器端是否更新成功;如果用{Ω”Η(Ρ\)}计算生成的哈希根与R’进行比较,如果相等则更新成功,如果不相等则返回FALSE ;然后客户端对新的哈希根生成标签sig(H(R’))= (H(R’))B发送给服务器端,最后将所有标签公开并在本地删除文件Fi'。
4.根据权利要求2所述的完整性验证方法,其特征在于所述方法中进行文件数据块插入操作按照如下步骤进行: A)客户端首先根据新插入的数据块Fi*计算相应的标签SamplePre(A, B, s, Fi*) = σ其中
5.根据权利要求2所述的完整性验证方法,其特征在于所述方法中进行文件数据块删除操作按照如下步骤进行:a)客户端向服务器端发送相应的删除请求Deletion=(D,i),其中D表示删除操作命令; b)服务器端接到删除请求后,根据接收到的参数做相应调整:客户端在MHT删除Fi数据块的叶子结点h(H(Fi));从标签集合Φ中删除σ i ;根据MHT结构生成新的哈希根R';最后服务器端生成对本次操作生成证明Pd= (QpH(Fi), sig(H(R)),R’}发送给客户端,其中Ω i是Fi数据块的权威认证AAI ; c)客户端收到Pd=P^H(Fi), sig(H(R)),R’}后,首先判断用{ Ω i,H(Fi)}计算生成的哈希根是否与客户端所保存的根相等;如果不相等,返回FALSE ;如果相等则判断用Pd =(QpH(Fi), sig(H(R)),R’}计算生成的哈希根与R’是否相等;如果相等则删除成功,如果不相等则返回FALSE;然后对新的哈希根生成标签sig(H(R’))= (H(R’))B并发送至服务器端,最后将所有标签公开。
【文档编号】G06F21/64GK103778387SQ201410004962
【公开日】2014年5月7日 申请日期:2014年1月6日 优先权日:2014年1月6日
【发明者】黄刘生, 李雪晓, 田苗苗, 杨威 申请人:中国科学技术大学苏州研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1