一种面向云存储的可信存储验证方法和系统的制作方法

文档序号:7646843阅读:485来源:国知局
专利名称:一种面向云存储的可信存储验证方法和系统的制作方法
技术领域
本发明涉及一种面向云存储的可信存储证明方法和系统,可用于对存储于云中的 数据的存在性与正确性进行可信验证,属于计算机软件技术领域。
背景技术
随着个人和企业用户对于文件存储需求的不断增长,各类云存储及网络系统的应 用越来越受到重视。这类存储系统能够以相对低廉的价格为企业和个人用户提供海量的数 据文件存储、管理服务,而不需要用户对文件存储系统进行专门的维护和管理,因而在近年 来受到市场的欢迎。但是,近两年Google,Amazon等大型云计算厂商相继爆出的各种安全故障表明, 云存储系统并不完全可靠。云存储系统中的数据和文件有可能被黑客恶意篡改或删除部分 内容;更有甚者,云存储系统的管理员与操作员也并非完全可信的,有可能因为误操作或者 恶意对用户文件造成破坏。如果用户不能及时了解所存储数据的安全状态,及时感知其所 发生的变化,并予以相应处理,那么就可能导致在需要访问数据时无法找到正确结果,面临 无法挽回的灾难。验证云存储系统中数据的正确性与存在性有几种基本手段,最为直观的方法是将 所有文档依次下载并检验文件内容是否正确。由于通常用户在云存储系统中所存储的是海 量信息,这种方式将浪费大量的时间和带宽资源,显然不可取。另一种验证方式是基于经典 的签名算法由用户根据不同的密钥预先为每个文档计算若干个签名,并保存在本地。需要 验证时,用户将签名密钥发送到服务器,由服务器执行签名过程,并将签名结果返回客户端 进行验证。这种方法面临的两个问题其一是效率问题,每次验证过程需要访问所有的文档 内容,并为其计算签名,因而对于大型文档的访问与计算代价高;其二且更重要的是存在安 全隐患。如果服务器端出于效率考虑保留了文档(D)的Hash值H(D),每次根据该值生成 签名,那么最终的签名结果就无法反映当前文档的真实情况。若云存储服务商恶意为之,那 么,用户可能将一直无法发现文档被篡改,直到访问文档失败。总之,目前的云存储系统缺乏对于用户数据存在性与正确性的可信、高效的验证 手段,因此需要一种快速检测方法帮助用户确认其保存在云存储系统中的海量文件是否未 被破坏。

发明内容
针对上述问题,本发明提供了一种面向云存储系统的可信存储验证方法和系统, 能够以较少的带宽消耗和计算量验证用户指定的一组文件是否存在并且未被破坏。为了实现本发明的目的之一,采用的技术方案概述如下一种面向云存储的可信存储验证方法,其步骤包括1)为每个上传到云存储服务器端的文件设定验证参数,包括文件名Name (D)及文 件大小Size (D)、最大验证次数N、单次验证结果的置信率P ;
2)确定出单次验证需要的分片数目num ;3)根据系统当前时间生成随机密钥种子K;并由K生成N个随机位置密钥{k1; k2,……kN};对某一个随机位置密钥ki;计算生成num个文件分片构成的样本文档的验证标 签A ;文件D的验证凭据为一个二元组(R,cur),其中R为验证标签集合,R= {ri;r2,…… ι·Ν},cur为当前验证标号;4)客户端查询文件的验证参数、分片数目num、随机密钥种子K,并将cur值加1, 将查询结果传递给云存储服务器端;5)云存储服务器端根据客户端传递的参数重新生成样本文档的验证标签r’ ;6)客户端比较r’和ri;如果相同判断文件可信存储。所述步骤1)最大验证次数N和单次存储验证的可信程度P由用户根据需要指定。ζ-^num所述步骤2)分片数目num的计算方法为1 -^f" = P,其中η为文件总的分片数目。当N >> num时,分片数目num的计算方法为num = Iog0.99(I-P)。所述步骤3)从num个文件分片位置分别读取定长的文件内容,形成样本文档;以 随机位置密钥h对样本文档计算HMAC值,从而得到对应的文件验证标签r”进一步,生成文件验证标签包括以下步骤5-1)在文件D大小范围(Size(D))内选择num个随机分片位置{loCl,. . . IocnJ ;5-2)从上述每个随机分片位置开始读取长度为16byte的内容{t1;. . . tnJ,不足 则补0 ;5-3)将所有抽取内容顺序连接,成为样本文档T = It1I I... I |tnJ ;
权利要求
1.一种面向云存储的可信存储验证方法,其步骤包括1)为每个上传到云存储服务器端的文件设定验证参数,包括文件名Name(D)及文件大 小Size (D)、最大验证次数N、单次验证结果的置信率P ;2)确定出单次验证需要的分片数目num;3)根据系统当前时间生成随机密钥种子K;并由K生成N个随机位置密钥,…… kN};对某一个随机位置密钥ki;计算生成num个文件分片构成的样本文档的验证标签ri ’文 件D的验证凭据为一个二元组(R,cur),其中R为验证标签集合,R= {ri;r2,……rN},cur 为当前验证标号;4)客户端查询文件的验证参数、分片数目num、随机密钥种子K,并将cur值加1,将查 询结果传递给云存储服务器端;5)云存储服务器端根据客户端传递的参数重新生成样本文档的验证标签r’;6)客户端比较r’和如果相同判断文件可信存储。
2.如权利要求1所述的方法,其特征在于,所述步骤1)最大验证次数N和单次存储验 证的可信程度P由用户根据需要指定。
3.如权利要求1所述的方法,其特征在于,所述步骤2)分片数目num的计算方法为ζ-y mm1一; = P,其中η为文件总的分片数目。
4.如权利要求3所述的方法,其特征在于,当
5.如权利要求1所述的方法,其特征在于,所述步骤3)从num个文件分片位置分别读 取定长的文件内容,形成样本文档;以随机位置密钥h对样本文档计算HMAC值,从而得到 对应的文件验证标签r”
6.如权利要求5所述的方法,其特征在于,生成文件验证标签包括以下步骤 5-1)在文件D大小范围(Size(D))内选择num个随机分片位置{loc” ... IocnJ ; 5-2)从上述每个随机分片位置开始读取长度为16byte的内容{t1;. . . tnJ,不足则补O ;5-3)将所有抽取内容顺序连接,成为样本文档T = It1I I... I |tnJ ; 5-4)以Ici为密钥,计算样本文档验证标签a = HMAC (Τ, k》。
7.如权利要求1所述的方法,其特征在于,所述验证参数、分片数目num、随机密钥种子 K,存储在客户端或者经过加密后存储在云存储服务器端。
8.一种面向云存储的可信存储验证系统,其特征在于,包括在客户端运行的存储验证 管理子系统;在云存储系统中运行的存储验证实施子系统;在本地或云存储系统上运行的 验证凭据存储子系统;所述存储验证管理子系统包括存储验证准备模块,存储验证维护模块,存储验证发起 模块,以及存储验证校验模块,其中存储验证准备模块为需要进行存储验证的文件生成验 证参数和验证标签;存储验证维护模块与验证凭据存储子系统进行交互,保存并维护文件 验证标签和相关参数;存储验证发起模块获取用户需要发起存储验证的文件,与存储验证 维护模块交互,获得对应的文件验证标签和相关参数,将所需参数传递到云存储服务器端 的存储验证实施子系统;存储验证校验模块将原始文件验证标签和服务器端返回的文件验证标签进行比较,判断文件是否可信存储;所述存储验证实施子系统根据用户传递的参数在服务器端重新生成存储验证凭据,将 生成的文件验证标签返回给用户;所述验证凭据存储子系统储存和维护文件验证标签和相关参数。
9.如权利要求8所述的系统,其特征在于,所述存储验证准备模块为需要进行存储验 证的文件生成验证参数验证参数,包括文件名Name(D)及文件大小Size (D)、最大验证次数 N、单次验证结果的置信率P,计算出单次验证需要的分片数目num,根据系统当前时间生成 随机密钥种子K;并由K生成N个随机位置密钥{k1; k2,……kN};对某一个随机位置密钥 ki;计算生成num个文件分片构成的样本文档的验证标签
全文摘要
本发明公开了一种适用于云存储的可信存储验证方法和系统,属于计算机软件技术领域。本发明方法及系统可在文件上传到非可信的云存储服务器之前,根据用户持有的密钥和其他生成的相关验证参数生成一系列随机位置,读取文件中随机位置的内容,为文件生成多个验证标签,同时保存和维护所有的必需参数;在需要检验文件的存储状态时,用户依据相关参数,发起与云存储系统的交互过程,云存储系统按照本次验证对应的参数重新生成新的验证标签。本发明的方法能以较小的计算代价获得相对高的验证可信度,文件验证标签的生成每次均选择文件中不同位置的内容,采用不同的密钥,避免服务器端利用保存的正确签名或通过保存特定位置的文件内容来生成正确签名。
文档编号H04L29/06GK102045356SQ20101060341
公开日2011年5月4日 申请日期2010年12月14日 优先权日2010年12月14日
发明者付艳艳, 冯登国, 张敏, 徐震, 陈驰 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1