一种数据完整性的验证方法及其系统与流程

文档序号:16075055发布日期:2018-11-27 20:57阅读:356来源:国知局
本发明涉及信息安全
技术领域
,尤其涉及一种数据完整性的验证方法及其系统。
背景技术
:云存储中用户数据不再被本地用户拥有,而是被分布式地存储在不可控的云端,对于不经常访问的数据或存档数据,用户不免会担心数据是否存在以及是否被篡改。为了避免在灾难发生时带来的服务中断,用户数据通常在云服务器上备份多份,通常用户需按备份数支付费用,同时担心是否享受了相应的备份服务,因此用户有权对所拥有数据的完整性及存在性进行验证,但是,目前对数据完整性的验证方法大都比较繁琐,而且验证的效率不高且安全性较低。因此,亟需提出一种全新的数据完整性的验证方法,以提高验证的效率和安全性。技术实现要素:有鉴于此,本发明实施例的目的在于提供一种数据完整性的验证方法及其系统,旨在解决现有技术中数据完整性的验证的效率不高且安全性较低的问题。本发明实施例是这样实现的,一种数据完整性的验证方法,应用于云存储系统,所述云存储系统包括用户终端、云存储服务器、云存储管理平台及第三方审计,其中,所述数据完整性的验证方法包括:利用所述云存储管理平台运行Setup(λ)算法,生成公共公钥pk发送至所述第三方审计,并生成各个服务器私钥sk发送至所述云存储服务器;所述云存储服务器执行Sign(sk,id,m)算法对用户所存储的分片数据m生成签名σ;所述云存储服务器将被验证的分片数据m的签名σ发送至所述第三方审计;所述第三方审计接收到来自所述云存储服务器且标识为id的数据,先执行Verify(pk,id,m,σ)算法验证数据的可用性和完整性;所述第三方审计将验证结果发送至所述用户终端以告知用户。优选的,所述云存储服务器执行Sign(sk,id,m)算法对用户所存储的分片数据m生成签名σ的步骤具体包括:随机选取s∈Rq作为私钥,选取公钥为(a,b=a·s+pe1),并设置哈希函数是一个将消息空间映射到的随机预言机,其中,Rq为一整多项式环,元素a是从Rq中均匀随机选取,误差项e1是从概率分布中独立选取,χ为一整多项式环Rq上的概率分布函数;计算函数值然后计算并输出分片数据m的签名σ=s·c+pe2,其中,e2是从概率分布函数χ中独立选取的误差项;对签名σ进行验证。优选的,所述对签名σ进行验证的步骤包括:验证签名σ是否都满足σ∈Rq以及a·σ≡b·H(m)(modp)这两个条件;如果都满足,则签名σ通过验证并输出1,否则验证不通过并输出0。优选的,所述云存储服务器将被验证的分片数据m的签名σ发送至所述第三方审计的步骤具体包括:所述云存储服务器将被验证的分片数据m的签名σ发送至所述云存储管理平台;所述云存储管理平台将签名σ发送至所述第三方审计。另一方面,本发明还提供一种数据完整性的验证系统,包括用户终端、云存储服务器、云存储管理平台及第三方审计,其中,所述云存储管理平台,用于运行Setup(λ)算法,生成公共公钥pk发送至所述第三方审计,并生成各个服务器私钥sk发送至所述云存储服务器;所述云存储服务器,用于执行Sign(sk,id,m)算法对用户所存储的分片数据m生成签名σ,并将被验证的分片数据m的签名σ发送至所述第三方审计;所述第三方审计,用于接收到来自所述云存储服务器且标识为id的数据,先执行Verify(pk,id,m,σ)算法验证数据的可用性和完整性,并将验证结果发送至所述用户终端以告知用户。优选的,所述云存储服务器具体包括:设置子模块,用于随机选取s∈Rq作为私钥,选取公钥为(a,b=a·s+pe1),并设置哈希函数是一个将消息空间映射到的随机预言机,其中,Rq为一整多项式环,元素a是从Rq中均匀随机选取,误差项e1是从概率分布中独立选取,χ为一整多项式环Rq上的概率分布函数;计算子模块,用于计算函数值然后计算并输出分片数据m的签名σ=s·c+pe2,其中,e2是从概率分布函数χ中独立选取的误差项;验证子模块,用于对签名σ进行验证。优选的,所述验证子模块具体包括验证签名σ是否都满足σ∈Rq以及a·σ≡b·H(m)(modp)这两个条件,如果都满足,则签名σ通过验证并输出1,否则验证不通过并输出0。优选的,所述云存储服务器还包括发送子模块,用于将被验证的分片数据m的签名σ发送至所述云存储管理平台;其中,所述云存储管理平台还用于将签名σ发送至所述第三方审计。本发明提供的技术方案极大地提高了对数据完整性验证的效率,且安全性较高。附图说明图1为本发明一实施方式中数据完整性的验证方法流程图;图2为本发明一实施方式中数据完整性的验证系统结构示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明具体实施方式提供了一种数据完整性的验证方法,应用于云存储系统,所述云存储系统包括用户终端、云存储服务器、云存储管理平台及第三方审计,其中,所述数据完整性的验证方法主要包括如下步骤:S11、利用所述云存储管理平台运行Setup(λ)算法,生成公共公钥pk发送至所述第三方审计,并生成各个服务器私钥sk发送至所述云存储服务器;S12、所述云存储服务器执行Sign(sk,id,m)算法对用户所存储的分片数据m生成签名σ;S13、所述云存储服务器将被验证的分片数据m的签名σ发送至所述第三方审计;S14、所述第三方审计接收到来自所述云存储服务器且标识为id的数据,先执行Verify(pk,id,m,σ)算法验证数据的可用性和完整性;S15、所述第三方审计将验证结果发送至所述用户终端以告知用户。本发明所提供的一种数据完整性的验证方法,极大地提高了对数据完整性验证的效率,且安全性较高。以下将对本发明所提供的一种数据完整性的验证方法进行详细说明。请参阅图1,为本发明一实施方式中数据完整性的验证方法流程图。在步骤S11中,利用所述云存储管理平台运行Setup(λ)算法,生成公共公钥pk发送至所述第三方审计,并生成各个服务器私钥sk发送至所述云存储服务器。在步骤S12中,所述云存储服务器执行Sign(sk,id,m)算法对用户所存储的分片数据m生成签名σ。在本实施方式中,所述云存储服务器执行Sign(sk,id,m)算法对用户所存储的分片数据m生成签名σ的步骤S12具体包括:随机选取s∈Rq作为私钥,选取公钥为(a,b=a·s+pe1),并设置哈希函数是一个将消息空间映射到的随机预言机,其中,Rq为一整多项式环,元素a是从Rq中均匀随机选取,误差项e1是从概率分布中独立选取,χ为一整多项式环Rq上的概率分布函数;计算函数值然后计算并输出分片数据m的签名σ=s·c+pe2,其中,e2是从概率分布函数χ中独立选取的误差项;对签名σ进行验证。在本实施方式中,Rq为一整多项式环,Rq=R/<q>=Zq[x]/<f(x)>,对于任意的β>0,实数域上的高斯分布函数可由下式表示Dβ(x)=1/β·exp(-π(x/β)2),设整数q>2,定义Zq上的分布如下:从分布Dβ(x)中随机选取y(即y←Dβ(x))并输出令概率分布χ为一整多项式集合,该集合中多项式的系数是从分布中选取的。在本实施方式中,构造了一种基于R-LWE的有效数字签名方案,该方案不需要利用格的一组短基作为私钥通过离散高斯原像取样获得签名,而是基于R-LWE困难性假设,通过采用对被签名消息先哈希的思想直接构建了一个简洁、高效的签名方案,在保证安全的前提下效率得到了显著提升。在本实施方式中,令n=2k(k∈Z),素数p<<q=1mod(2n)(q为一足够大的公共素模数),为一误差分布函数且Rq=Zq[x]/<f(x)>为Z[x]模q及xn+1的整多项式环,Rq中的元素由次数低于n的多项式表示,其系数在集合{(-q+1)/2,…,-1,0,1,…,(q-1)/2}中取值。在本实施方式中,多项式加法为普通多项式对应系数依次相加模q,乘法为普通多项式相乘后模xn+1及q。例如:假设模数q=17,n=4,私钥取为s=x3-x+1,取误差项为e=x2+x-1,a=4x3-6x2+7x+2,则有b=a·(x3-x+1)+(x2+x-1)=-5x3+x2-5x-2(modx4+1)在本实施方式中,所述对签名σ进行验证的步骤包括:验证签名σ是否都满足σ∈Rq以及a·σ≡b·H(m)(modp)这两个条件;如果都满足,则签名σ通过验证并输出1,否则验证不通过并输出0。在步骤S13中,所述云存储服务器将被验证的分片数据m的签名σ发送至所述第三方审计。在本实施方式中,所述云存储服务器将被验证的分片数据m的签名σ发送至所述第三方审计的步骤S13具体包括:所述云存储服务器将被验证的分片数据m的签名σ发送至所述云存储管理平台;所述云存储管理平台将签名σ发送至所述第三方审计。在步骤S14中,所述第三方审计接收到来自所述云存储服务器且标识为id的数据,先执行Verify(pk,id,m,σ)算法验证数据的可用性和完整性。在步骤S15中,所述第三方审计将验证结果发送至所述用户终端以告知用户。在本实施方式中,基于R-LWE的有效数字签名方案,格上R-LWE假设的特殊代数结构使得基于该问题的签名方案除了具有描述起来更加简单和易于分析之外,更重要的是它运行起来也非常高效,具体分析如下:(1)在密钥生成及签名阶段,方案涉及到的主要运算为一次Rq上的多项式的乘法运算,而其他相关计算的复杂度则较低(如加法运算、哈希运算),因此在这两个阶段方案的运行时间较为接近;(2)在方案的验证阶段,涉及到的主要运算为两次Rq上的多项式的乘法运算,因此这一阶段方案的运行时间约为前两个阶段的两倍。下面将对基于格上R-LWE假设的签名方案与传统的RSA签名方案在执行效率方面进行比较,在同样条件及运行环境下利用一普通个人计算机对上述两签名方案的执行效率进行评估。相关参数及签名效率分析如表1所示。表1基于R-LWE假设签名方案的效率分析在本实施方式中,用于执行效率进行评估的PC具体配置包括:操作系统为WindowsXP专业版2002,CPU为Pentium(R)D3.0GHz及内存为1.0GB,并借助于版本为V5.5.2的Shoup’sNTL大数库[98]在VC++6.0平台上用C语言对上述两算法用代码实现编译。表2和3分别给出了两个签名方案在不同安全参数下对应各个环节的具体执行时间,通过表中数据不难发现相同运行条件下,基于R-LWE假设的签名方案在执行效率方面远比RSA签名方案要高效的多,特别是密钥生产时间及签名时间。尽管在验证时间方面不如RSA签名方案高效,但在总的运行时间方面算法要远好于RSA签名算法,尤其是随着安全参数的不断增加这种优势更加明显。其中,模数q取为两方案中满足约束条件的最小正整数,且两个方案中被加密的消息长度均为nlogq比特。表2基于R-LWE假设签名方案的运行时间安全参数n128256512102420484096密钥生成时间(ms)14.637.0121.8443.81687.26578.1签名时间(ms)15.334.6121.8440.41699.86685.9验证时间(ms)28.768.4240.4909.23531.213252.7总时间(ms)58.6140.0484.01793.46918.226516.7表3RSA签名方案的运行时间安全参数n128256512102420484096密钥生成时间(ms)14.01028.42017.35973.731249.6217288.3签名时间(ms)10.1120.8279.12232.59539.7121170.0验证时间(ms)5.86.97.115.247.7172.0总时间(ms)29.91156.12303.58221.440837338630.3本发明所提供的一种数据完整性的验证方法,极大地提高了对数据完整性验证的效率,且安全性较高。本发明具体实施方式还提供一种数据完整性的验证系统,包括用户终端、云存储服务器、云存储管理平台及第三方审计,其中,所述云存储管理平台,用于运行Setup(λ)算法,生成公共公钥pk发送至所述第三方审计,并生成各个服务器私钥sk发送至所述云存储服务器;所述云存储服务器,用于执行Sign(sk,id,m)算法对用户所存储的分片数据m生成签名σ,并将被验证的分片数据m的签名σ发送至所述第三方审计;所述第三方审计,用于接收到来自所述云存储服务器且标识为id的数据,先执行Verify(pk,id,m,σ)算法验证数据的可用性和完整性,并将验证结果发送至所述用户终端以告知用户。本发明所提供的一种数据完整性的验证系统,极大地提高了对数据完整性验证的效率,且安全性较高。请参阅图2,所示为本发明一实施方式中数据完整性的验证系统的结构示意图。在本实施方式中,数据完整性的验证系统包括用户终端、云存储服务器、云存储管理平台及第三方审计。云存储管理平台,用于运行Setup(λ)算法,生成公共公钥pk发送至所述第三方审计,并生成各个服务器私钥sk发送至所述云存储服务器。云存储服务器,用于执行Sign(sk,id,m)算法对用户所存储的分片数据m生成签名σ,并将被验证的分片数据m的签名σ发送至所述第三方审计。在本实施方式中,所述云存储服务器具体包括设置子模块、计算子模块以及验证子模块,图中均未画出。设置子模块,用于随机选取s∈Rq作为私钥,选取公钥为(a,b=a·s+pe1),并设置哈希函数是一个将消息空间映射到的随机预言机,其中,Rq为一整多项式环,元素a是从Rq中均匀随机选取,误差项e1是从概率分布中独立选取,χ为一整多项式环Rq上的概率分布函数。计算子模块,用于计算函数值然后计算并输出分片数据m的签名σ=s·c+pe2,其中,e2是从概率分布函数χ中独立选取的误差项。验证子模块,用于对签名σ进行验证。在本实施方式中,所述验证子模块具体包括验证签名σ是否都满足σ∈Rq以及a·σ≡b·H(m)(modp)这两个条件,如果都满足,则签名σ通过验证并输出1,否则验证不通过并输出0。在本实施方式中,所述云存储服务器还包括发送子模块,用于将被验证的分片数据m的签名σ发送至所述云存储管理平台;其中,所述云存储管理平台还用于将签名σ发送至所述第三方审计。本发明所提供的一种数据完整性的验证系统,极大地提高了对数据完整性验证的效率,且安全性较高。值得注意的是,上述实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1