CN109033878A - 一种文件存储验证方法及存储介质 - Google Patents

一种文件存储验证方法及存储介质 Download PDF

Info

Publication number
CN109033878A
CN109033878A CN201810894445.7A CN201810894445A CN109033878A CN 109033878 A CN109033878 A CN 109033878A CN 201810894445 A CN201810894445 A CN 201810894445A CN 109033878 A CN109033878 A CN 109033878A
Authority
CN
China
Prior art keywords
data
file
label
storage
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810894445.7A
Other languages
English (en)
Other versions
CN109033878B (zh
Inventor
林金山
邹金安
林敏�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Putian University
Original Assignee
Putian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Putian University filed Critical Putian University
Priority to CN201810894445.7A priority Critical patent/CN109033878B/zh
Publication of CN109033878A publication Critical patent/CN109033878A/zh
Application granted granted Critical
Publication of CN109033878B publication Critical patent/CN109033878B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种文件存储验证方法及存储介质,其中方法包括如下步骤,对于云文件的不同版本进行增量存储,不同版本间的增量内容存储为不同的数据块,根据存储的不同的数据块生成对应的链密钥,生成数据标签,每个存储数据块生成一个数据标签。根据存储内容提取待验证数据,从所有数据块的集合中,随机抽取若干数据块生成数据集,根据抽取到数据块的数据标签以及链密钥,为数据集生成待验证数据;为分布式多版本文件的存储验证提供了理论依据,解决了文件多版本存储验证的问题。

Description

一种文件存储验证方法及存储介质
技术领域
本发明涉及云计算存储技术领域,尤其涉及一种云文件进行增量存储文件完整性验证方法。
背景技术
随着云计算的快速发展,云存储作为新一代计算基础设施得到越来越多的关注。与此同时,越来越多的云存储服务涌现出来,为用户提供低成本且庞大的数据存储空间。尽管云存储可以随时提供便捷的存储和快速的数据访问等,但是当用户将拥有的数据上传到云服务器后,便失去了数据的绝对控制,所存储数据的完整性和安全性问题无法得到有效的保证。且存在云服务提供商为了节省存储空间,对未被访问或访问频率较少的用户数据执行删除操作,并对用户反馈假的数据完整性验证结果。如上所述,现有云重复数据删除存储不涉及不同数据的相同部分,例如一系列版本文件。据本方法所知文件、计算机程序和其他信息收集项目需要从原始设计到长期实现,不断地进行修改。
为了解决上述问题,提出了数据完整性验证的方法。但是现有云存储中完整性验证方法处于验证效率和验证成本的考虑,并不是每次对所有的文件进行完整性验证,而是采用随机采样或者是等间距收取验证的方法。因此这导致了被破坏的版本文件不被识别的机会变大。因此,一种高效的云存储数据完整性验证方法是叩待解决的问题。
发明内容
为此,需要提供一种能够应用于分布式存储多版本文件的文件数据完整性验证方法。
为实现上述目的,发明人提供了一种文件存储验证方法,包括如下步骤,对于云文件的不同版本进行增量存储,不同版本间的增量内容存储为不同的数据块,根据存储的不同的数据块生成对应的链密钥,生成数据标签,每个存储数据块生成一个数据标签;
根据存储内容提取待验证数据,从所有数据块的集合中,随机抽取若干数据块生成数据集,根据抽取到数据块的数据标签以及链密钥,为数据集生成待验证数据;
在进行验证时,对所有的待验证数据计算标签证明,所述标签证明为数据集中所有数据块的数据标签的求积,所述数据证明为所有数据块的线性组合与链密钥的双线性映射;输出待验证数据的证明集,所述证明集包括标签证明、数据证明,判断云服务器中所存储文件的完整性是通过计算云端所存储的数据的标识哈希值与标签证明、数据证明之间是否对应,如果对应则存储文件完整,否则存储文件不完整。
可选地,根据存储的不同的数据块生成对应的链密钥具体为,
计算公钥在一对基本的私钥-公钥(sk,pk)的基础上,通过链密钥生成函数h((sk,pk),Vi)=(ski,pki)得到版本文件Vi的密钥对,
其中sk为选取的随机数,G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
进一步地,所述数据标签生成方法包括步骤,
为每个版本文件选择随机值xi∈Zp,并计算
对于每个数据块mij=(mij={0,1}*)其计算的数据标签tij为:
其中mij,ID是数据块mij的标识,||表示连接操作,输出一组数据标签
T={tij}i∈[1,d],j∈[1,n],其中i是版本文件集合的版本号;
G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
具体地,还包括步骤,
对所有的待验证数据计算标签证明,标签证明TPvi生成为其中vij是列选择的随机数;
计算所有被挑战的数据块线性组合
然后计算数据证明
然后得到每个版本文件的证明输出所有提取文件的证明集
具体地,
计算云端所存储的数据的标识哈希值与标签证明、数据证明是否对应具体包括,
对每个需要验证的文件vi,计算文件的标识哈希值h(mij,ID||j);然后使用这些哈希值来计算挑战值
将上述数据代入,验证方程:
进行判断,若验证方程成立,则存储的文件是完整的。
进一步地,还包括步骤,如果上式中的验证方程为真,则表示所有已验证文件都被集成;否则,进行步骤,指示存在已损坏的文件;逐级查询这些损坏的文件,云存储文件的每个版本组都被要求分别定位已损坏的版本组,然后对组中的每个版本文件分别进行验证,以定位已损坏的版本文件。
一种文件存储验证存储介质,存储有计算机程序,所述计算机程序在被运行时执行包括如下步骤,对于云文件的不同版本进行增量存储,不同版本间的增量内容存储为不同的数据块,根据存储的不同的数据块生成对应的链密钥,生成数据标签,每个存储数据块生成一个数据标签;
根据存储内容提取待验证数据,从所有数据块的集合中,随机抽取若干数据块生成数据集,根据抽取到数据块的数据标签以及链密钥,为数据集生成待验证数据;
在进行验证时,对所有的待验证数据计算标签证明,所述标签证明为数据集中所有数据块的数据标签的求积,所述数据证明为所有数据块的线性组合与链密钥的双线性映射;输出待验证数据的证明集,所述证明集包括标签证明、数据证明,判断云服务器中所存储文件的完整性是通过计算云端所存储的数据的标识哈希值与标签证明、数据证明之间是否对应,如果对应则存储文件完整,否则存储文件不完整。
具体地,根据存储的不同的数据块生成对应的链密钥具体为,
计算公钥在一对基本的私钥-公钥(sk,pk)的基础上,通过链密钥生成函数h((sk,pk),Vi)=(ski,pki)得到版本文件Vi的密钥对,
其中sk为选取的随机数,G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
优选地,所述程序在被运行时还执行数据标签生成方法,包括步骤,
为每个版本文件选择随机值xi∈Zp,并计算
对于每个数据块mij=(mij={0,1}*)其计算的数据标签tij为:
其中mij,ID是数据块mij的标识,||表示连接操作,输出一组数据标签
T={tij}i∈[1,d],j∈[1,n],其中i是版本文件集合的版本号;
G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
具体地,所述计算机程序在被执行时还进行步骤,
对所有的待验证数据计算标签证明,标签证明TPvi生成为其中vij是列选择的随机数;
计算所有被挑战的数据块线性组合
然后计算数据证明
然后得到每个版本文件的证明输出所有提取文件的证明集
优选地,
所述计算机程序在被执行时进行计算云端所存储的数据的标识哈希值与标签证明、数据证明是否对应具体包括,
对每个需要验证的文件vi,计算文件的标识哈希值h(mij,ID||j);然后使用这些哈希值来计算挑战值
将上述数据代入,验证方程:
进行判断,若验证方程成立,则存储的文件是完整的。
具体地,所述计算机程序在被执行时还进行步骤,如果上式中的验证方程为真,则表示所有已验证文件都被集成;否则,进行步骤,指示存在已损坏的文件;逐级查询这些损坏的文件,云存储文件的每个版本组都被要求分别定位已损坏的版本组,然后对组中的每个版本文件分别进行验证,以定位已损坏的版本文件。
区别于现有技术,上述技术方案通过对存储数据文件的不同版本进行分割,计算不同版本间的增量内容存储为不同的数据块,根据存储的不同的数据块的链密钥,生成数据标签,每个存储数据块生成一个数据标签;这些数据标签标识在进行云存储验证时能够用于判断云服务器中所存储文件的完整性是能够通过哈希值与标签证明、数据证明之间是否对应,来计算云存储文件数据是否跟分布式存储的多版本数据一致。从而解决了分布式多版本数据文件共享存储的一致性校验问题。
附图说明
图1为具体实施方式所述的文件存储验证方法流程图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,本实施例介绍的文件存储验证方法流程图,
为使本发明更明显易懂,兹详细说明如下。
在本方法中设G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射。令g1和g2分别为G1和G2的生成元。定义:若一个群G的每一个元都是G的某一个固定元a的乘方,则称G为循环群,记作G=(a)={am|m∈Z},a称为G的一个生成元。
特别地,如果G的代数运算采用加号表示时,则有(a)={ma|m∈Z})令h:{0,1}*→G是一个安全散列函数。
具体说明本发明提供的一种云增量存储文件的完整性方法,这里的云指的是相对于本地端的不可见到实物的服务器端,而在具体的操作例中,本发明所介绍的方法可不仅仅用于云端文件的存储,只要是对多版本的增量文件进行多区块存储,需要验证完整性的情景下,我们的方法都是适用的,而其具体的步骤为:
步骤1:首先本方法将基于存储阈值对版本文件进行分组,在对版本组进行分区之前,应首先参考相同的文件描述序列来确保版本文件的集合。其次,可以确定版本链的长度(或深度)。最后,根据版本存储阈值T计算每个版本组中的成员的数量,然后将版本链拆分成多个版本组。然后基于重复数据删除的版本文件的存储和恢复,为了进一步讨论版本控制模式下的数据存储和数据还原,本方法给出了一套由4个版本文件组成的版本文件,如图1所示。图中左侧表示所有的版本文件都采用当它们存储在本地时,即每个文件都是独立存储的。图中的中间部分表示每个版本文件上传到远程服务器时的内容。允许版本存储阈值设置为4,所有版本文件形成一个版本组。第一个文件,由全部存储器存储,V2,V3,V4中的其他文件采用增量存储。
Δi+1|i∈[1,3]表示版本文件Vi+1相对于其前一版本文件Vi的增量存储内容,即从Vi到Vi+1的差分内容。接着举例,本方法可以得到其他版本文件的内容。当本方法需要得到一个版本文件的时候,本方法需要找到它所属的版本组和第一个版本文件,然后本方法可以通过按照版本链顺序恢复文件来获得完整的文件例如,如果版本文件V3需要完全恢复,则首先获取版本文件Vi,然后补充Δ2和Δ3,即V3=V123步骤2:链密钥生成方法CKeyGen(Vi)→(ski,pki)。用户首先选择一个随机数β,然后获取一个安全的随机大数sk∈Zp作为私钥(随机大数是相对于现有计算机的功能而言,指在有限的时间里是无法得到正确的解的随机数),并通过密钥生成算法,KeyGen(λ)→(sk,pk)计算公钥在一对基本的私钥-公钥(sk,pk)的基础上,本方法可以通过链密钥生成函数h((sk,pk),Vi)=(ski,pki)得到版本文件Vi的密钥对,h为哈希算法。
步骤3、生成数据标签方法TagGen(M,ski)→T设M为外包数据集。TagGen是数据处理领域所的常用映射,外包数据是指数据所有者将自已的数据存储在第三方云服务器中,称之为数据外包。标签生成方法为由n个数据块即mi1,mi2,...,min组成的加密版本文件Vi∈M中的每个数据块mij生成标签tij,其中j代表数据块mij和j∈[1,n]。首先为每个版本文件选择随机值xi∈Zp,并计算
对于每个数据块mij=(mij={0,1}*)其计算的数据标签tij为:
其中mij,ID是数据块mij的标识,||表示连接操作。它输出一组数据标签
T={tij}i∈[1,d],j∈[1,n],其中d是版本文件集合的最大版本号。
步骤4:提取挑战数据。本方法将随机抽取数据集定义为Vchall,随机扩散抽取数据集为V′chall。在验证之前,本方法需要通过随机抽取来确定挑战文件集合。如果在Vchall中提取的版本链中存在文件,则可以根据文件和数据标签T定位所选文件所属的版本组,然后将其在此版本的前驱版本文件放入Vchall中以备数据验证;如果在Vchall中提取的拆分版本树模型中存在一个文件,首先需要确定文件的主版本号,然后在拆分版本树的树干和分支上定位包含版本文件的版本组,最后把所有这些前体版本的文件放入Vchall中,为数据验证做准备。
步骤5:批量挑战方法BChall(M,β)→C。在所有外包数据M中,应用数据提取率β,首先得到随机抽取数据集Vchall。参照集合Vchall,然后根据步骤4中的挑战数据提取方法来随机扩散提取数据集合V′chall,其是与那些选择的文件有关的版本组的挑战集合。之后,它构造一组提取的数据块作为集合V′chall的挑战集合Q。假设V′chall中有t-个文件。另外,它为每个提取的文件Vi生成一个随机数ui,并选择一个随机数r∈Zp,然后计算挑战标记
的集合。最后,它输出挑战
步骤6:生成证明方法prove(C)→P.在接收到询问后,云服务提供商计算所有的挑战数据P的证据,其包括标签证明TPvi和数据证明DPvi.假定每个版本文件包含n个数据块。标签证明生成为其中vij是一些列选择的随机数。为了生成数据证明,首先计算所有被挑战的数据块线性组合然后计算数据证明便得到每一个版本文件的证明Pvi={TPui,DPvi}。然后输出所有提取的文件的证明集并将其发送给第三方验证者。
步骤7:批量验证方法对每个需要验证的文件vi,计算一组标识哈希值h(mijID||j)然后使用这些哈希值来计算挑战值当完成所有挑战文件的计算时,他通过的验证方程验证证明如下所示:
如果等式(2)为真,则输出1并且指示所有经验证的文件是完整的。否则,输出0,表示存在损坏的文件。如果验证结果中存在损坏的文件,可以逐级挑战这些损坏的文件。也就是说,每个版本组分别被挑战以定位损坏的版本组,然后分别验证组中的每个版本文件以定位损坏的版本文件。
利用上述分析方法,本发明所有的测试都在云存储平台和两台笔记本电脑上进行。由两台服务器组成的云存储平台,每台配备至强E5-24031.8GHzCPU和32GBRAM作为云服务提供商。配备IntelCorei5-4210M2.60GHzCPU和4GB内存的两款笔记本电脑分别作为用户和第三方验证者使用。在实验过程中,为了减少实验时间,本方法将存储文件的大小设置为1M。在增量存储中,版本文件修改为前驱版本文件的比例为10%,所以增量存储文件的大小为0.1M。假设数据块的大小固定为512byte,哈希方法为安全性较高的安全哈希方法(即SHA-256,256位),版本存储阈值设为4。实验结果表明本发明减少文件存储和标签存储的大小。而且,由于同时减少了验证成本,因此减少了验证中的传输开销。这里的链式密钥用于提高不同版本文件存储密钥的安全性。
本发明还提供了一种文件存储验证存储介质,存储有计算机程序,所述计算机程序在被运行时执行包括如下步骤,对于云文件的不同版本进行增量存储,不同版本间的增量内容存储为不同的数据块,根据存储的不同的数据块生成对应的链密钥,生成数据标签,每个存储数据块生成一个数据标签;
根据存储内容提取待验证数据,从所有数据块的集合中,随机抽取若干数据块生成数据集,根据抽取到数据块的数据标签以及链密钥,为数据集生成待验证数据;
在进行验证时,对所有的待验证数据计算标签证明,所述标签证明为数据集中所有数据块的数据标签的求积,所述数据证明为所有数据块的线性组合与链密钥的双线性映射;输出待验证数据的证明集,所述证明集包括标签证明、数据证明,判断云服务器中所存储文件的完整性是通过计算云端所存储的数据的标识哈希值与标签证明、数据证明之间是否对应,如果对应则存储文件完整,否则存储文件不完整。
具体地,根据存储的不同的数据块生成对应的链密钥具体为,
计算公钥在一对基本的私钥-公钥(sk,pk)的基础上,通过链密钥生成函数h((sk,pk),Vi)=(ski,pki)得到版本文件Vi的密钥对,
其中sk为选取的随机数,G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
优选地,所述程序在被运行时还执行数据标签生成方法,包括步骤,
为每个版本文件选择随机值xi∈Zp,并计算
对于每个数据块mij=(mij={0,1}*)其计算的数据标签tij为:
其中mij,ID是数据块mij的标识,||表示连接操作,输出一组数据标签
T={tij}i∈[1,d],j∈[1,n],其中i是版本文件集合的版本号;
G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
具体地,所述计算机程序在被执行时还进行步骤,
对所有的待验证数据计算标签证明,标签证明TPvi生成为其中vij是列选择的随机数;
计算所有被挑战的数据块线性组合
然后计算数据证明
然后得到每个版本文件的证明输出所有提取文件的证明集
优选地,
所述计算机程序在被执行时进行计算云端所存储的数据的标识哈希值与标签证明、数据证明是否对应具体包括,
对每个需要验证的文件vi,计算文件的标识哈希值h(mij,ID||j);然后使用这些哈希值来计算挑战值
将上述数据代入,验证方程:
进行判断,若验证方程成立,则存储的文件是完整的。
具体地,所述计算机程序在被执行时还进行步骤,如果上式中的验证方程为真,则表示所有已验证文件都被集成;否则,进行步骤,指示存在已损坏的文件;逐级查询这些损坏的文件,云存储文件的每个版本组都被要求分别定位已损坏的版本组,然后对组中的每个版本文件分别进行验证,以定位已损坏的版本文件。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

Claims (10)

1.一种文件存储验证方法,其特征在于,包括如下步骤,对于云文件的不同版本进行增量存储,不同版本间的增量内容存储为不同的数据块,根据存储的不同的数据块生成对应的链密钥,生成数据标签,每个存储数据块生成一个数据标签;
根据存储内容提取待验证数据,从所有数据块的集合中,随机抽取若干数据块生成数据集,根据抽取到数据块的数据标签以及链密钥,为数据集生成待验证数据;
在进行验证时,对所有的待验证数据计算标签证明,所述标签证明为数据集中所有数据块的数据标签的求积,所述数据证明为所有数据块的线性组合与链密钥的双线性映射;输出待验证数据的证明集,所述证明集包括标签证明、数据证明,判断云服务器中所存储文件的完整性是通过计算云端所存储的数据的标识哈希值与标签证明、数据证明之间是否对应,如果对应则存储文件完整,否则存储文件不完整。
2.根据权利要求1所述的一种文件存储验证方法,其特征在于,根据存储的不同的数据块生成对应的链密钥具体为,
计算公钥在一对基本的私钥-公钥(sk,pk)的基础上,通过链密钥生成函数h(sk,pk),Vi)=(ski,pki)得到版本文件Vi的密钥对,
其中sk为选取的随机数,i为版本号;G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
3.根据权利要求1所述的一种文件存储验证方法,其特征在于,所述数据标签生成方法包括步骤,
为每个版本文件选择随机值xi∈Zp,并计算
对于每个数据块mij=(mij={0,1}*)其计算的数据标签tij为:
其中mij,ID是数据块mij的标识,| |表示连接操作,输出一组数据标签集合
T={tij}i∈[1,d],j∈[1,n],其中i,j是版本文件集合的版本号,d,n为总版本数;
G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
4.根据权利要求3所述的文件存储验证方法,其特征在于,还包括步骤,
对所有的待验证数据计算标签证明,标签证明T Pvi生成为其中υij是列选择的随机数;
计算所有被挑战的数据块线性组合
然后计算数据证明
然后得到每个版本文件的证明输出所有提取文件的证明集
5.根据权利要求4所述的文件存储验证方法,其特征在于,
计算云端所存储的数据的标识哈希值与标签证明、数据证明是否对应具体包括,
对每个需要验证的文件vi,计算文件的标识哈希值h(mij,ID||j|);然后使用这些哈希值来计算挑战值
将上述数据代入,验证方程:
进行判断,若验证方程成立,则存储的文件是完整的。
6.根据权利要求5所述的文件存储验证方法,其特征在于,还包括步骤,如果上式中的验证方程为真,则表示所有已验证文件都被集成;否则,进行步骤,指示存在已损坏的文件;逐级查询这些损坏的文件,云存储文件的每个版本组都被要求分别定位已损坏的版本组,然后对组中的每个版本文件分别进行验证,以定位已损坏的版本文件。
7.一种文件存储验证存储介质,其特征在于,存储有计算机程序,所述计算机程序在被运行时执行包括如下步骤,对于云文件的不同版本进行增量存储,不同版本间的增量内容存储为不同的数据块,根据存储的不同的数据块生成对应的链密钥,生成数据标签,每个存储数据块生成一个数据标签;
根据存储内容提取待验证数据,从所有数据块的集合中,随机抽取若干数据块生成数据集,根据抽取到数据块的数据标签以及链密钥,为数据集生成待验证数据;
在进行验证时,对所有的待验证数据计算标签证明,所述标签证明为数据集中所有数据块的数据标签的求积,所述数据证明为所有数据块的线性组合与链密钥的双线性映射;输出待验证数据的证明集,所述证明集包括标签证明、数据证明,判断云服务器中所存储文件的完整性是通过计算云端所存储的数据的标识哈希值与标签证明、数据证明之间是否对应,如果对应则存储文件完整,否则存储文件不完整。
8.根据权利要求7所述的一种文件存储验证存储介质,其特征在于,根据存储的不同的数据块生成对应的链密钥具体为,
计算公钥在一对基本的私钥-公钥(sk,pk)的基础上,通过链密钥生成函数h(sk,pk),Vi)=(ski,pki)得到版本文件Vi的密钥对,
其中sk为选取的随机数,i为版本号,G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
9.根据权利要求7所述的一种文件存储验证存储介质,其特征在于,所述程序在被运行时还执行数据标签生成方法,包括步骤,
为每个版本文件选择随机值xi∈Zp,并计算
对于每个数据块mij=(mij={0,1}*)其计算的数据标签tij为:
其中mij,ID是数据块mij的标识,| |表示连接操作,输出一组数据标签
T={tij}i∈[1,d],j∈[1,n],其中其中i,j是版本文件集合的版本号,d,n为总版本数;
G1,G2和Gt为具有相同素数p的乘法群,并且e:G1,G2→Gt为双线性映射,g2为G2的生成元。
10.根据权利要求9所述的文件存储验证存储介质,其特征在于,所述计算机程序在被执行时还进行步骤,
对所有的待验证数据计算标签证明,标签证明T Pvi生成为其中υij是列选择的随机数;
计算所有被挑战的数据块线性组合
然后计算数据证明
然后得到每个版本文件的证明输出所有提取文件的证明集
所述计算机程序在被执行时进行计算云端所存储的数据的标识哈希值与标签证明、数据证明是否对应具体包括,
对每个需要验证的文件vi,计算文件的标识哈希值h(mij,ID||j);然后使用这些哈希值来计算挑战值
将上述数据代入,验证方程:
进行判断,若验证方程成立,则存储的文件是完整的,所述计算机程序在被执行时还进行步骤,如果上式中的验证方程为真,则表示所有已验证文件都被集成;否则,进行步骤,指示存在已损坏的文件;逐级查询这些损坏的文件,云存储文件的每个版本组都被要求分别定位已损坏的版本组,然后对组中的每个版本文件分别进行验证,以定位已损坏的版本文件。
CN201810894445.7A 2018-08-08 2018-08-08 一种文件存储验证方法及存储介质 Expired - Fee Related CN109033878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810894445.7A CN109033878B (zh) 2018-08-08 2018-08-08 一种文件存储验证方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810894445.7A CN109033878B (zh) 2018-08-08 2018-08-08 一种文件存储验证方法及存储介质

Publications (2)

Publication Number Publication Date
CN109033878A true CN109033878A (zh) 2018-12-18
CN109033878B CN109033878B (zh) 2021-04-16

Family

ID=64649938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810894445.7A Expired - Fee Related CN109033878B (zh) 2018-08-08 2018-08-08 一种文件存储验证方法及存储介质

Country Status (1)

Country Link
CN (1) CN109033878B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061994A (zh) * 2019-04-24 2019-07-26 青岛大学 一种密文文件集合正确性验证方法、系统及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778386A (zh) * 2012-10-24 2014-05-07 国际商业机器公司 对计算系统中的加密引擎进行完整性检查的方法和装置
CN103778387A (zh) * 2014-01-06 2014-05-07 中国科学技术大学苏州研究院 基于格的大数据动态存储完整性验证方法
CN104978239A (zh) * 2014-04-08 2015-10-14 重庆邮电大学 一种实现多备份数据动态更新的方法、装置及系统
CN106612320A (zh) * 2016-06-14 2017-05-03 四川用联信息技术有限公司 云存储中一种加密数据的去重方法
CN106961329A (zh) * 2017-03-23 2017-07-18 电子科技大学 一种针对ads‑b协议保密性及完整性的解决方法
CN108200172A (zh) * 2018-01-03 2018-06-22 西安电子科技大学 一种支持安全数据去重与删除的云存储系统及方法
CN108304903A (zh) * 2018-04-02 2018-07-20 童练达 一种基于rfid技术的区块链私钥生成装置及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778386A (zh) * 2012-10-24 2014-05-07 国际商业机器公司 对计算系统中的加密引擎进行完整性检查的方法和装置
CN103778387A (zh) * 2014-01-06 2014-05-07 中国科学技术大学苏州研究院 基于格的大数据动态存储完整性验证方法
CN104978239A (zh) * 2014-04-08 2015-10-14 重庆邮电大学 一种实现多备份数据动态更新的方法、装置及系统
CN106612320A (zh) * 2016-06-14 2017-05-03 四川用联信息技术有限公司 云存储中一种加密数据的去重方法
CN106961329A (zh) * 2017-03-23 2017-07-18 电子科技大学 一种针对ads‑b协议保密性及完整性的解决方法
CN108200172A (zh) * 2018-01-03 2018-06-22 西安电子科技大学 一种支持安全数据去重与删除的云存储系统及方法
CN108304903A (zh) * 2018-04-02 2018-07-20 童练达 一种基于rfid技术的区块链私钥生成装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵宇龙: "云存储中第三方审计机构在数据完整性验证中的应用", 《中国优秀硕士学位论文 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061994A (zh) * 2019-04-24 2019-07-26 青岛大学 一种密文文件集合正确性验证方法、系统及相关装置
CN110061994B (zh) * 2019-04-24 2022-02-25 青岛大学 一种密文文件集合正确性验证方法、系统及相关装置

Also Published As

Publication number Publication date
CN109033878B (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
CN111177080B (zh) 一种基于区块链和ipfs的知识图谱存储与验证方法
CN108039943B (zh) 一种可验证的加密搜索方法
CN113014563B (zh) 一种保障可搜索公钥加密检索完备性的方法及系统
CN104506619B (zh) 一种数据备份、恢复方法及其装置、服务器
CN106603561B (zh) 一种云存储中的块级加密方法及多粒度去重复方法
CN105787389B (zh) 云文件完整性公开审计证据生成方法及公开审计方法
CN114915404B (zh) 一种面向物联网的区块链数据存储扩展模型构建方法
CN102045356B (zh) 一种面向云存储的可信存储验证方法和系统
CN101004805A (zh) 数字文档管理系统、数字文档管理方法和管理程序
CN103607405A (zh) 一种面向云存储的密文搜索认证方法
CN104978239A (zh) 一种实现多备份数据动态更新的方法、装置及系统
Abe et al. Mitigating bitcoin node storage size by DHT
CN103605784A (zh) 一种多重云环境下数据完整性验证方法
CN112732695B (zh) 一种基于区块链的云存储数据安全去重方法
CN106612174A (zh) 移动云计算中支持第三方的数据安全性验证和更新方法
CN106899406A (zh) 一种云端数据存储完整性的证明方法
CN105227317A (zh) 一种支持认证器隐私的云数据完整性检测方法和系统
CN103095697A (zh) 一种多重签名生成与验证系统及其方法
CN110958109A (zh) 基于层次默克尔哈希树的轻型动态数据完整性审计方法
CN106209365A (zh) 云环境下利用备份数据在用户撤销时重签名的方法
CN101399738B (zh) 提供下载推荐服务的方法、结构化对等网络和其中的节点
CN102063587A (zh) 一种云存储的数据存储与取回的方法、装置及系统
Jianhong et al. Secuirty storage in the cloud computing: a rsa-based assumption data integrity check without original data
CN107094075A (zh) 一种基于收敛加密的数据块动态操作方法
CN109033878A (zh) 一种文件存储验证方法及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210416