远程数据完整性概率检验方法及系统的制作方法

文档序号:6639116阅读:217来源:国知局
远程数据完整性概率检验方法及系统的制作方法
【专利摘要】本发明提出一种远程数据完整性概率检验方法,包括:数据拥有者建立检验公私密钥对,并将原始数据划分成多个数据块,使用检验公私密钥对生成与多个数据块一一对应的多个检验标签;检验端根据概率检验估算模型确定被检验的数据块的数目,并根据数目选取被检验数据块;检验端根据被检验数据块生成挑战消息,并将挑战消息发送至服务器;服务器根据挑战消息和被检验数据块生成证明值,将证明值返回至检验端;检验端根据挑战消息和被检验数据块对应的检验标签生成本地检验值,并将本地检验值与证明值比较,若本地检验值与证明值相等,则判定服务器持有完整正确的文件。本发明的方法实现了以小计算量做高概率文件完整性检验,并且可公开检验。
【专利说明】远程数据完整性概率检验方法及系统

【技术领域】
[0001] 本发明设及计算机【技术领域】,尤其设及一种远程数据完整性概率检验方法及系 统。

【背景技术】
[0002] 在海量数据存储中,大量数据长期存放,很可能会受到来自外部或者存储服务器 本身的破坏,包括无授权删除,更改,数据破损瞒报等。数据完整性验证用W证明当前存储 服务器上确实存储完整、正确的相应数据文件,它在海量数据存储服务中必不可少。
[0003] 常用的数据完整性检验方法是哈希hash校验(MD 5,Message-Digest Algorithm 5),此类方法需要客户端下载全部待检验文档,如果只是为了做完整性检验(audit),每一 次验证都将耗费大量通信带宽,而且在数据通信过程中带来了额外的数据泄露隐患。针对 下载数据耗费带宽问题,研究者们进一步提出预先计算一批检验数对(每个密钥key值对 应一个由key值和原文一起计算出来的一个检验值)。此类方法不需要下载文件数据,只需 往返传输key和检验值两次,节省带宽。但是,检验数据对的方法可实施次数受限于预存检 验数对数目。一旦所有的数据对用完,必须下载全部数据重新制作新的检验数对。上述两 类方法均不支持动态数据变化和公开检验。支持动态数据是指当存储器上数据发生合法的 增加,删除,修改等变动后,当前的数据完整性检验方法仍然有效。所谓公开检验是指,数据 完整性检验可由除数据拥有者和数据接受者之外的第=方进行,但在该过程中第=方检验 者无法接触到原始数据内容或者任何相关的隐私信息。针对无限次检验和上述新的要求, 交互式远程完整性检验方法被提出。
[0004] 目前有研究提出了对云存储数据完整性公开第S方验证的思路,并采用Merkle 化sh Tree树型结构配置数据块标签来适应存储数据动态变化。为支持无需调用数据块 内容的公开验证,采用RSA(Ron I^ivest, Adi化amir, Leonard Adleman)公钥加密技术和 BLS炬oneh - Lynn -化acham)签名为基础的同态标签。该方法中,MHT树形结构对动态数据 支持性比较好,可支持无数据blockless和无状态stateless公开验证,但同态标签的生成 和签名计算比较复杂。同时,数据验证过程中需要传输被检验数据块的位置和系数等原始 数据,还包括被检验数据块从叶节点到根节点沿途的哈希hash节点信息等。不仅占用数据 传输量,而且有检验信息泄露风险。
[000引另有研究中提出了一种远程数据完整性验证的"挑战回应"协议。采用更加简化 的同态验证标签进行远程公开检验。该方法中同态标签的乘法和加法计算互换等价性是交 互远程验证的数学依据。此机制对动态数据变化有较好的支持,但是此策略需要对所有的 存储数据块做穷尽检验,才能得出数据完整与否的结论。实验和分析表明检验端和存储端 运算量随数据存储量呈线性增长。当存储数据量变大时,将所有数据块全部验证一遍仍旧 会花费大量时间和计算,通信资源。Qing Wang等人的研究中虽然采用了采样检验策略,但 对采样的量和位置缺少数学依据,完全随机的数据块检验除穷尽检验外,检验结论缺少可 信度。


【发明内容】

[0006] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的 第一方面目的在于提出一种检验准确率高、计算量小、可公开检验的远程数据完整性概率 检验方法。
[0007] 本发明第二方面目的在于提出一种远程数据完整性概率检验系统。
[000引为了实现上述目的,本发明第一方面实施例的远程数据完整性概率检验方法,包 括W下步骤:数据拥有者建立检验公私密钥对,并将文件中的原始数据划分成多个数据块, W及使用所述检验公私密钥对生成与所述多个数据块一一对应的多个检验标签;检验端根 据概率检验估算模型确定被检验的数据块的数目,并根据所述数目随机抽样选取被检验数 据块;所述检验端根据所述被检验数据块生成挑战消息,并将所述挑战消息发送至服务器; 所述服务器接收所述挑战消息,并根据所述挑战消息和所述被检验数据块生成证明值,并 将所述证明值返回至所述检验端;W及所述检验端根据所述挑战消息和所述检验标签生成 本地检验值,并将所述本地检验值与所述证明值比较,若所述本地检验值与所述证明值相 等,则判定所述服务器持有完整正确的所述文件,反之,则判定所述文件已被破坏。
[0009] 根据本发明实施例的远程数据完整性概率检验方法,检验端(不必一定是数据拥 有者)即任何获得检验标签的关注方都可W对服务器发起检验要求,检验过程中检验端无 需接触除被检验数据块对应的检验标签外的任何原始数据内容和信息,实现了 W小计算量 做高概率文件完整性判断,同时可W做公开验证。
[0010] 在一些示例中,所述检验标签由公钥、私钥、循环群的模数和所述数据块的大小确 定。
[0011] 在一些示例中,所述私钥仅由所述数据拥有者一方持有。
[0012] 在一些示例中,所述挑战信息包括:所述被检验数据块的数目、所述被检验数据块 在所述文件中的位置信息和所述被检验数据块的计算系数。
[0013] 本发明第二方面实施例的远程数据完整性概率检验系统,包括:数据拥有模块、 检验模块和服务器。数据拥有模块用于建立检验公私密钥对,并将文件中的原始数据划分 成多个数据块,W及使用所述检验公私密钥对生成与所述多个数据块一一对应的多个检验 标签。检验模块用于根据概率检验估算模型确定被检验的数据块的数目,并根据所述数目 随机抽样选取被检验数据块;所述检验端还用于根据所述被检验数据块生成挑战消息,并 将所述挑战消息发送至服务器。服务器用于接收所述挑战消息,并根据所述挑战消息和所 述被检验数据块生成证明值,并将所述证明值返回至所述检验模块;所述检验模块还用于 根据所述挑战消息和所述检验标签生成本地检验值,并将所述本地检验值与所述证明值比 较,若所述本地检验值与所述证明值相等,则判定所述服务器持有完整正确的文件,反之, 则判定所述文件已被破坏。
[0014] 根据本发明实施例的远程数据完整性概率检验系统,检验模块即任何获得检验标 签的关注方都可W对服务器发起检验要求,检验过程中检验模块无需接触除被检验数据块 对应的检验标签外的任何原始数据内容和信息,实现了 W小计算量做高概率文件完整性判 断,同时可W做公开验证。在一些实施例中,所述检验标签由公钥、私钥、循环群的模数和所 述数据块的大小确定。
[0015] 在一些实施例中,所述私钥仅由所述数据拥者模块持有。
[0016] 在一些实施例中,所述挑战信息包括:所述被检验数据块的数目、所述被检验数据 块在所述文件中的位置信息和所述被检验数据块的计算系数。
[0017] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。

【专利附图】

【附图说明】
[0018] 图1是根据本发明一个实施例的远程数据完整性概率检验方法的流程图;
[0019] 图2是本发明一个实施例的远程数据完整性概率检验方法的交互示意图;
[0020] 图3是本发明一个实施例的远程数据完整性概率检验方法的示意图郝
[0021] 图4是根据本发明一个实施例的远程数据完整性概率检验系统的结构框图。

【具体实施方式】
[0022] 在本发明的描述中,需要理解的是,术语"中屯、"、"纵向"、"横向"、"长度"、"宽度"、 "厚度"、"上"、"下"、"前"、"后"、"左"、"右"、"竖直"、"水平"、"顶"、"底""内"、"外"、"顺时 针"、"逆时针"、"轴向"、"径向"、"周向"等指示的方位或位置关系为基于附图所示的方位或 位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必 须具有特定的方位、W特定的方位构造和操作,因此不能理解为对本发明的限制。
[0023] 此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性 或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可W明示或 者隐含地包括至少一个该特征。在本发明的描述中,"多个"的含义是至少两个,例如两个, =个等,除非另有明确具体的限定。
[0024] 在本发明中,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"、"固定"等 术语应做广义理解,例如,可W是固定连接,也可W是可拆卸连接,或成一体;可W是机械连 接,也可W是电连接;可W是直接相连,也可W通过中间媒介间接相连,可W是两个元件内 部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员 而言,可W根据具体情况理解上述术语在本发明中的具体含义。
[0025] 在本发明中,除非另有明确的规定和限定,第一特征在第二特征"上"或"下"可W 是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在 第二特征"之上"、"上方"和"上面"可是第一特征在第二特征正上方或斜上方,或仅仅表示 第一特征水平高度高于第二特征。第一特征在第二特征"之下"、"下方"和"下面"可W是 第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0026] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0027] 参见图1,本发明第一方面实施例的远程数据完整性概率检验方法,包括W下步 骤:
[002引数据拥有者建立检验公私密钥对,并将文件中的原始数据划分成多个数据块,W 及使用检验公私密钥对生成与多个数据块一一对应的多个检验标签;
[0029] 检验端根据概率检验估算模型确定被检验的数据块的数目,并根据数目随机抽样 选取被检验数据块;
[0030] 检验端根据被检验数据块生成挑战消息,并将挑战消息发送至服务器;
[0031] 服务器接收挑战消息,并根据挑战消息和被检验数据块生成证明值,并将证明值 返回至检验端;
[0032] 检验端根据挑战消息和检验标签生成本地检验值,并将本地检验值与证明值比 较,若本地检验值与证明值相等,则判定服务器持有完整正确的文件,反之,则判定文件已 被破坏。
[0033] 下面结合图2和图3具体描述本发明的远程数据完整性概率检验方法的实现流 程。
[0034] 步骤S1,数据拥有者建立检验公私密钥对,并将文件中的原始数据划分成多个数 据块,W及使用检验公私密钥对生成与多个数据块一一对应的多个检验标签。
[0035] 具体地,数据拥有者对文件中的原始数据m划分为多个数据块,同时对参数做初 始设定,建立公密钥对和相应乘法循环群的模N。每个数据块设定具有同样的大小,末尾数 据块中用'〇'补足空化m = mim2. . . m。。数据块的大小1和数目《 =「"1//~|将影响检验端和 服务器的计算时间消耗。N = pq为公开RSA模数,P = 2q' +1,q = 2p' +1为大质数,P'和 q'也是质数。该里所有的二次剩余模(qua化atic resi化es mo化lo)N组成了一个乘法循 环群QPw。群QPw的生成子用g表示。设置公钥Pk=饥g)私钥sk= (p,q)。在本发明的 一个实施中采用化enSSL中的化yptoLibra巧生成密钥对,循环群的模数N取1024bits。
[0036] 在本发明的一个实施例中,检验标签由公钥、私钥、循环群的模数和数据块的大小 确定。即对每个文件数据块叫(1 = l,2,...,n)计算出它们的检验标签A=(,ir )m〇(L\'。 所有标签Dm=化1,化,...,D。}用Dm统一表示,并可发布公开。基于检验标签在设定代数群 中乘法和加法的同态性,可W通过标签运算要求存储方(服务器)必须拥有原始真实完整 数据才能产生正确的响应标签内容,奠定了 "挑战/响应"协议的正确性基础。
[0037] 在本发明的一个实施例中,上述的私钥仅由数据拥有者一方持有。该样,既支持无 需调用数据块内容的公开验证,又保证了隐私及安全性。
[003引步骤S2,检验端根据概率检验估算模型确定被检验的数据块的数目,并根据数目 随机抽样选取被检验数据块。
[0039] 具体地,在本发明的一个实施例的概率检验估算模型中,期望检验可信概率Px与 被检验的数据块的数目的关系描述如下:
[0040] 假设服务器S对文件F的n个数据块中t个进行了修改或者删除。客户(检验 端)C将对C个不同的数据块发出检验挑战。C指定检验数据块中恰好有被S删改的数据块 数目定为X,X是一个离散随机变量。则至少有一个C选中的检验数据块是被S删改过的概 率为Px,Px的计算公式为: 尸、.=巧义-> U = 1 -巧.Y = 0} = 1 -每-1 广 1 n /?-1
[00…"-亡+1-' n-2 n-c+1 , n-i-t n ~ i ~\~ t
[0042] 由于-->-,经过缩放: n - i n - i - I ,,n-t、c / n /'I ,H-c + l-f、c
[00创 1- C -)e < & < 1 - (--y n 巧一c +1 ,
[0044] 实验和数学表明,当删改数t与总数据块n成一定比例时,对应的期望检验可信概 率Px,只需对一定数目的数据块做检验,与全体数据量n无关。而且当设定期望检验可信概 率Px,同时对存储差错率有一定估计时,可根据上述不等式反向推导出所需的被检验的数 据块的数目C。确定被检验的数据块的数目C后,根据数目C随机抽样选取被检验数据块。
[0045] 步骤S3,检验端根据被检验数据块生成挑战消息,并将挑战消息发送至服务器。
[0046] 在本发明的一个实施例中,挑战信息包括;被检验数据块的数目、被检验数据块在 文件中的位置信息、被检验数据块计算时的系数。
[0047] 具体地,挑战函数的输出数组chal中包含参数a。首先,W a为随机数生成种子 调用伪随机数生成函数Rand(a)mo化生成C个大小介于1和n之间不重复的随机正整数。 该些整数用记录,1且i = l,2,...,c。的数值表明了在服务器被检验数据 块在文件中的位置。rG [l,2k-l]是随机生成函数的另一个种子,用W生成被检验数据块 的计算系数。S为非0的模N整数环随机群组元素S G Zw\ {0}且g,= g SmodN。检验端根 据被检验数据块的数据和对应的位置信息生成挑战信息,并将挑战信息chal = <c,a, r,醉〉 发往服务器。
[0048] 步骤S4,服务器接收挑战消息,并根据挑战消息和多个数据块生成证明值,并将证 明值发送至检验端。
[0049] 服务器接收到挑战消息后,利用挑战消息中给定的参数(a, r)生成C个被检验数 据块分别对应的位置参数和计算系数V 1,i = 1,2, . . .,C。W Chal中参数r为种子调用 伪随机生成函数ft:
[(K)加]

【权利要求】
1. 一种远程数据完整性概率检验方法,其特征在于,包括以下步骤: 数据拥有者建立检验公私密钥对,并将文件中的原始数据划分成多个数据块,以及使 用所述检验公私密钥对生成与所述多个数据块一一对应的多个检验标签; 检验端根据概率检验估算模型确定被检验的数据块的数目,并根据所述数目随机抽样 选取被检验数据块; 所述检验端根据所述被检验数据块生成挑战消息,并将所述挑战消息发送至服务器; 所述服务器接收所述挑战消息,并根据所述挑战消息和所述被检验数据块生成证明 值,并将所述证明值返回至所述检验端;以及 所述检验端根据所述挑战消息和所述检验标签生成本地检验值,并将所述本地检验值 与所述证明值比较,若所述本地检验值与所述证明值相等,则判定所述服务器持有完整正 确的所述文件,反之,则判定所述文件已被破坏。
2. 如权利要求1所述的方法,其特征在于,所述检验标签由公钥、私钥、循环群的模数 和所述数据块的大小确定。
3. 如权利要求2所述的方法,其特征在于,所述私钥仅由所述数据拥有者一方持有。
4. 如权利要求1所述的方法,其特征在于,所述挑战信息包括: 所述被检验数据块的数目、所述被检验数据块在所述文件中的位置信息和所述被检验 数据块的计算系数。
5. -种远程数据完整性概率检验系统,其特征在于,包括: 数据拥有模块,用于建立检验公私密钥对,并将文件中的原始数据划分成多个数据块, 以及使用所述检验公私密钥对生成与所述多个数据块一一对应的多个检验标签; 检验模块,用于根据概率检验估算模型确定被检验的数据块的数目,并根据所述数目 随机抽样选取被检验数据块; 所述检验端还用于根据所述被检验数据块生成挑战消息,并将所述挑战消息发送至服 务器;以及 服务器,用于接收所述挑战消息,并根据所述挑战消息和所述被检验数据块生成证明 值,并将所述证明值返回至所述检验模块; 所述检验模块还用于根据所述挑战消息和所述检验标签生成本地检验值,并将所述本 地检验值与所述证明值比较,若所述本地检验值与所述证明值相等,则判定所述服务器持 有完整正确的所述文件,反之,则判定所述文件已被破坏。
6. 如权利要求5所述的系统,其特征在于,所述检验标签由公钥、私钥、循环群的模数 和所述数据块的大小确定。
7. 如权利要求6所述的系统,其特征在于,所述私钥仅由所述数据拥者模块持有。
8. 如权利要求5所述的系统,其特征在于,所述挑战信息包括: 所述被检验数据块的数目、所述被检验数据块在所述文件中的位置信息和所述被检验 数据块的计算系数。
【文档编号】G06F21/64GK104504346SQ201410785590
【公开日】2015年4月8日 申请日期:2014年12月17日 优先权日:2014年12月17日
【发明者】杨吉江, 牛宇, 沈睿芳, 王青 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1