一种云存储完整性验证的数据标签的远程安全更换方法与流程

文档序号:15567528发布日期:2018-09-29 03:41阅读:464来源:国知局

本发明涉及信息安全技术领域,特别是涉及一种云存储完整性验证的数据标签的远程安全更换方法。



背景技术:

信息化的发展,带来了大量的收集和存储数据的需求,这也带动了各种网络远程存储服务器的发展,尤其是云存储。传统的数据安全和隐私保护依赖于远程存储提供者自身的能力和诚实,这为他们在受到外界因素的干扰或为保护自身的利益时,隐瞒数据所有者存储的数据的丢失或损坏提供便利,因为数据所有者仅保有私钥。针对这类问题,大量的远程数据完整性验证方法相继被提出。但在分布式网络环境下,数据所有者的私钥也会泄露,一旦泄露,恶意攻击者可能会伪造数据标签。若不及时更换数据所有者的私钥和数据标签,则会给数据所有者带来损失。例如,恶意攻击者利用窃取的私钥,在篡改或者删除数据所有者的数据的情况下,利用该私钥伪造数据标签而达到顺利通过数据验证的目的。

在数据所有者远程安全的更换数据标签方面,目前还未有公开的安全更换方法。现有的数据标签更换,必须是重新下载远程存储在云服务器上的原始数据,然后利用新的私钥重新计算数据标签,这对于存储量很大的原始数据来说,是笔巨大的网络传输开销。



技术实现要素:

本发明所要解决的技术问题是提供一种云存储完整性验证的数据标签的远程安全更换方法,能够保障数据所有者私钥、数据标签和云服务器所存储的海量数据的安全。

本发明解决其技术问题所采用的技术方案是:提供一种云存储完整性验证的数据标签的远程安全更换方法,包括以下步骤:

(1)数据所有者输入安全参数,通过计算得到公私钥对,将私钥保存,公钥公布于众;其次输入需要存储的经过预处理的数据和私钥,得到数据标签,将数据文件和数据标签上传到云服务器存储;

(2)数据所有者更换私钥和数据标签,并公布新公钥,同时请求云服务器更换云服务器上的数据标签;

(3)数据所有者随机选取想要验证的数据块的索引,组成挑战集合,发送给第三方验证者,请求验证;

(4)第三方验证者根据收到的挑战集合为其每一个元素生成对应的随机挑战值,组成挑战二元组,同时生成挑战标记,与挑战二元组一起组成挑战,发送给云服务器;

(5)云服务器使用所述数据文件、更换数据标签的请求、挑战标记和挑战二元组,生成验证证据,返还给第三方验证者;

(6)第三方验证者使用新公钥、验证证据以及需要验证数据块的哈希值来验证数据所有者存储在云服务器上的数据的完整性,并把结果发送给数据所有者。

所述步骤(2)中云服务器正确执行数据所有者的数据标签更换请求,完成数据标签更换时,在步骤(5)中云服务器使用新数据标签生成验证证据,发送给第三方验证者;在步骤(6)中第三方验证者执行验证,得到结果为正确,发送给数据所有者。

所述步骤(2)中云服务器不执行数据所有者的标签更换请求,未做数据标签更换时,在步骤(5)中云服务器使用原来的数据标签生成验证证据,发送给第三方验证者;在步骤(6)中第三方验证者正确执行完整性验证,得到结果为错误,发送给数据所有者。

在所述步骤(3)到步骤(5)的执行过程中,分别控制改变每一个步骤的不正确执行,则步骤(6)得到结果为错误,以此判断方法的合理性。

有益效果

由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明不仅可以验证数据所有者数据的完整性,而且具有抵抗恶意攻击的能力,又可以用来评估任何具有存储计算能力的存储服务产品的安全可靠性。

附图说明

图1是数据所有者初始化阶段的数据处理流程图;

图2是云存储数据完整性验证的数据标签安全更换方法的流程图;

图3是远程更换数据标签及检测云存储平台的整体示意图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明的实施方式涉及一种云存储完整性验证的数据标签的远程安全更换方法,该方法可以满足三个重要的安全条件:(i)数据所有者的新私钥不能泄露;(ii)任何恶意攻击者不能从私钥相关的等式中破解出私钥;(iii)确保云服务器正确执行了标签更换。根据图1数据所有者初始化阶段的数据处理流程图和图2云存储数据标签安全更换方法流程图详细说明我们的标签更换以及正确性检测方法。其步骤为:

针对步骤1,数据所有者首先选取安全参数p和λ,其中,p为一个大素数,λ则是大素数p的位数,生成数据所有者的私钥sk,并计算公钥其中g1,g2分别是群g1,g2的生成元,并将公钥公布。其次对数据文件进行加密等预处理,将原始数据文件c加密处理成m,按照约定大小分割成为n块,在域zp中随机选择随机数a,并计算对于每一数据块mi(i∈[1,n])计算按照如下公式(1)计算对应的标签。其中wi=fid||i(fid是文件id,i是数据块索引,||代表字符串连接操作),最后将所有数据块的标签ti(i∈[1,n])组合成标签文件t,连同数据文件m一同上传至云服务器保存,自己保留有一份t。

针对步骤2,数据所有者从整数域zp随机选择作为新私钥,那么新的公钥为pk2=g2skg2是群g2的生成元。然后公开公钥{pk1,pk2,pk},同时向云服务器发送标签更换请求。

数据所有者请求更换云上数据标签的实验过程中,对运行环境实施两种不同的控制,即:

(a)云服务器执行数据所有者的数据标签更换请求,然后使用原有标签t和数据所有者公布的新公钥做计算来得到新标签,如公式(2)所示。控制实验环境不受其他因素的干扰。

(b)云服务器不执行数据所有者的数据标签更换请求,仍使用公式(1)生成的数据标签文件,控制实验环境不受其他因素干扰。

针对步骤3,数据所有者随机选取c个索引值i,其中i∈[1,n]中,组成挑战数据块索引集合q发送给第三方验证者,发起验证请求。

针对步骤4,第三方验证者收到步骤3数据所有者的请求,为每一个i(i∈q)从整数域zp中随机选取一个随机挑战值vi与之对应,组成二元组(i,vi)(i∈q)。同时计算挑战标记r=pk2r,其中γ∈zp。最后将所有的二元组(i,vi)(i∈q)和挑战标记放在一起组成挑战c={(i,vi)i∈q,r},发送给云服务器,即向csp发起挑战。

针对步骤5,云服务器收到第三方验证者的挑战,需要作出响应,即使用原数据文件m,数据对应的标签文件t,验证者发来的挑战集合c生成验证证据,该证据既包括标签证据tp,又包括数据证据dp。根据从步骤2对于实验环境实施两种不同的控制,此处步骤5会对应产生两种不同的情况。

(a)云服务器在步骤2执行过了数据标签更换请求,使用新数据标签计算标签证据:再计算数据证据:最后将tp和dp组合成数据验证证据p,即p=(tp,dp)返还给验证者。

(b)云服务器使用旧标签来计算标签证据:再计算数据证据:最后将tp和dp组合成数据验证证据p,即p=(tp,dp)返还给第三方验证者。

针对步骤6,第三方验证者收到云服务器返回的证据,使用挑战c和服务器返回的验证证据p,通过验证等式(4)是否成立来验证云上的数据标签是否正确更换以及云上的数据是否完整,若成立,返还给数据所有者true,反之,返回false。首先验证者计算挑战块对应的hash值,计算公式如(3)所示。最后,使用等式(4)计算。

根据控制两种不同实验环境下步骤2和步骤5的正确执行,这里也会分别对应产生两种结果。

(a)第三方验证者收到的云服务器发来的标签证据是其使用新数据标签计算得到的,然后通过计算等式(4)是否成立。首先需要用到步骤5中(a)中的数据标签dp,标签证据tp,通过等式(3)计算的挑战哈希hc,以及数据所有者在步骤2公布的公钥pk2。计算等式右边需要使用计算推导过程如下:

推导出验证等式(4)成立,第三方验证者发送true给数据所有者。

(b)第三方验证者收到的云服务器发来的标签证据是其使用旧数据标签计算得到的,首先需要使用步骤5中(b)中的数据标签dp,标签证据tp,通过等式(3)计算的挑战哈希hc,以及数据所有者在步骤2公布的公钥pk2。计算推导过程如下:

推导出验证等式(4)不成立,第三方验证者发送false给数据所有者。

针对上述实例过程,我们控制云服务器正确执行数据标签更换请求,保证实验环境不受其他因素的干扰,改变任一步骤,步骤6都会返回false给数据所有者。

图3是远程更换数据标签及检测云存储平台的整体示意图。利用上述分析方法,在intel(r)core(tm)i5-3570mcpu3.40ghz8gb内存的计算机上,在开发工具eclipse下采用java语言编程,并结合阿里云平台模拟云服务器是否执行数据标签更换请求的两种实验环境的处理过程,并每种环境下重复试验500次,实验结果表明上述的数据标签更换方法准确无误,这为检测该云平台的安全可靠性提供了充分的理论依据,并且结果准确。

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