CN109104449A - 一种云存储环境下的多备份数据持有性证明方法 - Google Patents

一种云存储环境下的多备份数据持有性证明方法 Download PDF

Info

Publication number
CN109104449A
CN109104449A CN201710472918.XA CN201710472918A CN109104449A CN 109104449 A CN109104449 A CN 109104449A CN 201710472918 A CN201710472918 A CN 201710472918A CN 109104449 A CN109104449 A CN 109104449A
Authority
CN
China
Prior art keywords
blocks
files
file
user
key
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
CN201710472918.XA
Other languages
English (en)
Other versions
CN109104449B (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.)
Peking University
Original Assignee
Peking 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 Peking University filed Critical Peking University
Priority to CN201710472918.XA priority Critical patent/CN109104449B/zh
Publication of CN109104449A publication Critical patent/CN109104449A/zh
Application granted granted Critical
Publication of CN109104449B publication Critical patent/CN109104449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本发明公开了一种云存储环境下的多备份数据持有性证明方法。本方法为:1)客户端生成用户的公私钥对,并将公钥上传到云服务提供商CSP;2)客户端生成该文件F的n份可区分的文件复本;然后将该文件F切分为m个文件块并生成每一文件块的标签,将每一文件复本切分成m个文件块,然后将该文件F及其m个文件块的标签,以及文件复本上传到CSP;3)客户端发送挑战给CSP;4)CSP根据收到的挑战通过公钥计算得到用户要挑战的集合Q;然后根据该集合Q和公钥生成证据P返回给该客户端;5)客户端采用相同方式生成集合Q,然后利用证据P检验挑战复本数据的完整性。本发明验证方式灵活,对复本定位也具有积极的意义。

Description

一种云存储环境下的多备份数据持有性证明方法
技术领域
本发明属于云存储和数据完整性领域,涉及一种云端多备份数据持有性证明方法—FMR-PDP。用户将数据上传到云端,该发明提出了一种数据持有性证明方法,验证云服务提供商(CSP)是否存储了所有数据复本,并且能够灵活验证任意多个复本的完整性。当用户的数据损坏时,能够定位受损的数据复本,并利用其他的完整复本来恢复数据。
背景技术
云存储是结合了网格技术、虚拟化技术和分布式存储技术等形成的一个新兴的资源存储方式。云存储可以提供可靠的、可扩展、价格低廉的数据存储服务。并且提出了一种灵活的数据存储模式,用户可以按照自己的需求来调整自己所需的存储资源。于是,越来越多的个人和组织将数据外包到云服务提供商,让云服务提供商来存储了管理数据。然而,云存储在提供数据存储服务的同时,也存在各种安全问题。用户将数据外包到云服务器,在本地并没有保存数据,用户失去了对数据的直接控制。数据的完整性问题就成为了用户最关注的安全问题。
云服务提供商虽然承诺保证用户数据安全,但这仅仅是道德和经济层面的约束,可靠性太低,又或者服务商本身就是不可信的。云服务提供商可能为了经济利益,将用户数据交由未经授权的第三方挖掘比对,甚至恶意篡改数据或者删除用户不常访问的数据。云服务提供商为了保持名誉,通过隐藏数据损坏来欺诈用户。云端数据的机密性和完整性受到很大的挑战,因此为用户提供一个有效检验外包数据完整性的方法是十分重要的。
传统的完整性验证方法是由Deswarte等人提出的HMAC(Hash-based MessageAuthentication Code)验证方法。数据上传到云服务器之前,用户对文件进行哈希运算产生MAC值,并将MAC值保存在本地。当用户要验证数据完整性时,须将数据下载到用户本地,生成下载数据的MAC值与本地保存的MAC值进行比较,从而验证数据的完整性。这种通过下载外包数据来验证数据完整性的方式,需要大量的I/O开销和通信开销,还耗费用户很多的时间与精力。虽然达到了验证数据完整性的目的,但很难实际应用,这显然不是很好的方法。因此,需要一种新的数据完整性验证方式,可以减小计算开销、通信开销和存储开销。云存储环境中的完整性验证与传统的完整性验证方法不同,当用户使用云服务器提供的存储服务时,用户本地并不保存文件副本,在不取回文件的情况下进行完整性验证是十分重要的。于是,越来越多的人开始关注PDP(provable data possession),并且提出了各种各样的方法来验证外包数据的完整性。
数据持有性证明(Provable data possession,PDP)是一种有效的数据完整性检验方法,由Ateniese等人在2007提出。该方法在不取回数据的基础上,采用概率性的策略来完成完整性验证,通过随机验证一定数目的分块,从而达到极高概率的数据完整性。且利用RSA签名机制的同态特性,将证据聚集成一个小的值,大大降低了协议的通信开销。并且提出了E-PDP和S-PDP两种完整性验证方案。事实上,这两种方案之间只有细微的差别,与S-PDP相比E-PDP方案提供的数据完整性保证较弱。E-PDP协议只保证质询文件块的总和,而不是质询文件块的每一块的完整性。E-PDP简化了用户和CSP的计算,从而拥有更高的效率。
为了达到更高的可靠性和可用性,用户希望存储多个复本到云服务器。与此同时,如果用户想要存储多个数据复本,那么云服务提供商的收费也将增加。云服务器提供商可能并没有按照用户要求的备份数来存储数据。由于存储在服务器中数据副本完全一致,云服务提供商可能只存储一份或几份数据原文件,而对外宣称按用户要求存储了多份文件。用户需要确保CSP按照服务等级协议(SLA)所声明的,存储了用户指定数目的数据备份。PDP方案实现了验证用户外包数据完整性的功能。但只是对单一文件的验证,无法为多备份数据提供良好的完整性保护方案。当然,用户可以将备份的文件作为一个全新的文件重新上传到服务器,然后利用不同的密钥来生成不同的标签集合。但这样的话,用户在setup阶段和验证阶段都需要针对所有文件重复操作,无疑浪费了存储资源和计算资源以及通信带宽。更重要的是,这种方式,难以抵抗合谋攻击。由于存储在服务器中数据副本完全一致,云服务提供商可能只存储一份或几份数据原文件。当用户发起挑战时,服务器可以利用这一份文件来生成证据。令一种方法是,在数据上传之前,使用不同的加密密钥对复本进行加密,再将文件上传的服务器。对数据完整性验证时,每一个文件复本当作一个独立的文件来处理。也就是说,用户准备阶段和验证阶段都需要针对所有文件重复操作,所有的开销都将成倍增加。
MR-PDP是由Curtmola等人提出的多复本数据持有性证明方法,该方法首次有效的解决了对所有复本数据的完整性问题。MR-PDP是在Ateniese等人设计的基于RSA签名的PDP机制上修改而来。该方法允许用户将多个文件复本存储到存储系统,再通过挑战-应答的方式来验证数据的完整性。MR-PDP有两个阶段组成:初始化阶段和挑战阶段。在初始化阶段,用户生成密钥,并利用私钥生成文件块标签。并且利用随机掩码技术生成可区分文件复本。用户执行完这些操作后,将文件复本和标签上传到CSP,删除本地的文件和标签。在挑战阶段,用户对任意一个文件复本发起验证挑战,服务器生成证据并返回给用户,用户验证证据的正确性。这种方案验证多个复本的效率比分别对多个单一文件的PDP验证效率更高,几乎等同于利用PDP方案对单个文件的进行数据完整性验证所带来的开销。MR-PDP机制能有效地验证多个复本文件在远程服务器上的完整性,该机制并不是针对云存储的多复本备份。
为了更好的适应于云存储环境,Hao等人在2010年提出了一种新的支持公开验证的多复本远程数据完整性证明方案。该方案使用了同态认证标签技术,让两个文件块分别产生的标签和等于两个文件块和的标签值。结合了BLS验证方法,实现了对多个复本的验证,并且能够适用于云存储环境。
Barsoum等人提出了另外一种多复本数据持有性证明方法。用户在生成标签阶段,利用同态线性认证的方法产生每个文件复本块标签,将每个文件复本对应块标签结合成一个标签。这样一来,用户在验证阶段,只需要利用这些结合的块标签就可以验证所有复本的完整性,从而了减少对多个复本的验证开销。挑战阶段,CSP利用具有同态特性的标签和CSP上的文件块信息返回证据。用户利用双线性映射验证证据的正确性。这种将所有复本文件块标签结合成一个标签的方式,不仅减少了CSP生成证据的计算开销,并且用户验证阶段的计算开销和复本数无关,从而大大减少用户验证的计算开销。但这种方法缺乏灵活性,若只利用结合后的标签,用户只能验证全部文件的完整性,否定也是对全部文件的否定,无法定位损坏复本,也不能对任意复本进行验证。
另外,上述的云存储坏境下的多复本持有性证明方案标签生成方法均采用指数运算的形式,能够在验证阶段支持用户验证文件的完整性。如果一个中等文件或者一个大文件通过幂运算来生成文件块标签的话,这种方法计算开销太大。而用户本身拥有的计算能力有限,往往只是一个PC端甚至是一个手机,这样繁重的计算难以在实际中应用。在这种情况下,简化用户的计算十分必要。
本发明将基于MR-PDP方案,对该方案进行改进和完善,提高完整性验证效率和验证灵活性,节省存储标签造成存储开销,定位损坏文件复本并对损坏文件恢复。
发明内容
多复本数据持有性证明是一种针对云存储环境下的多个文件复本的完整性验证方法。现有的多复本持有性证明方法,存在用户生成标签计算开销大,用户难以负担的问题。同时,在验证阶段的效率、验证的灵活性方面均有不足。本发明针对以往多复本持有性证明方法存在的不足,提出了一种全新的灵活的多复本持有性证明方法,即FMR-PDP。
本发明基于MR-PDP方案,利用随机掩码技术和双线性映射,研究多复本持有性证明方法,提出了灵活的多复本持有性证明方法FMR-PDP。本发明考虑了方案的可行性,利用向量点乘的方法代替高计算量的指数运算,让用户摆脱了标签生成阶段的繁重计算任务。在生成文件复本时,利用随机掩码对复本文件加以区分。结合双线性映射技术,能够对任意多个复本进行完整性验证。能够利用二分查找方法定位损坏的复本,再利用其他完整的复本对损坏文件恢复。
符号定义:
F是用户的原始文件加密后的文件,即待上传的加密文件,文件F被切成m个文件块。F={cj}1≤j≤m。文件F用来生成复本,复本用表示。
πkey是一个为随机置换函数PRP(pseudo-random permutation):
ψkey是一个伪随机函数PRF(pseudo-random function):key×{0,1}*→ZP
双线性映射(Bilinear Map/Pairing)e:g1和g2分别是G1和G2的生成元。一个双线性映射e:G1×G2=GT有如下性质:
1)双线性(Bilinear):对任意的u∈G1,v∈G2,a,b∈ZP有e(ua,vb)=e(u,v)ab
2)非退化性(Non-Degenerate):至少存在元素g1∈G1,v∈G2,e(g1,g2)≠1。
3)可计算性(Computable):对于任意的u∈G1,v∈G2,存在一个有效的算法来计算e。
本发明的技术方案为:
一种云存储环境下的多备份数据持有性证明方法,其步骤为:
1)客户端生成用户的公私钥对,用户保存私钥,并将公钥上传到云服务提供商CSP;
2)客户端根据用户确定的待上传文件F的复本数目n生成该文件F的n份可区分的文件复本;然后将该文件F切分为m个文件块并生成每一文件块的标签,将每一文件复本切分成m个文件块,然后将该文件F及其m个文件块的标签,以及该文件F的文件复本上传到CSP;
3)客户端发送挑战chal={R,c}到CSP;其中,R是要挑战的该文件复本的集合,c是要挑战的文件块数目;
4)CSP根据收到的挑战chal={R,c},通过公钥计算得到用户要挑战的集合Q;然后根据该集合Q和公钥生成证据P返回给该客户端;
5)客户端采用与步骤4)相同方式生成集合Q,然后利用证据P检验挑战复本数据的完整性。
进一步的,生成所述公私钥对的方法为:首先选择一元素α∈Zp,然后计算得到其中,αk=αk,k∈[1,s];令Kr和K1是函数ψkey的密钥,Kr用于文件复本生成阶段产生随机数,K1用于生成被挑战的块索引和对应的随机数,K2是函数πkey的密钥;然后生成私钥公钥pk=(g1,g2,…,gs,K1,K2);函数πkey为随机置换函数,函数ψkey为伪随机函数。
进一步的,所述集合Q={(j,wj)};其中,j为要挑战的c个文件块中第j个文件块的块索引,wj为对应块索引的随机数,文件块索引Q包括c个不同的(j,wj)。
进一步的,利用等式检验挑战复本数据的完整性,若该等式成立,则判断数据完整;否则,判断数据是不完整的;其中,s为文件块的扇区数,g为生成所述公私钥对时所用群G的生成元,为文件F的第i个复本第j个文件块的第k个扇区对应的随机数。
进一步的,设文件块mij为文件F的第i个复本文件的第j个文件块,其对应的s个扇区为文件块mij的第k个扇区其中,为文件F的第j个文件块cj的第k个扇区,
进一步的,该文件F的第j个文件块的标签
进一步的,CSP根据收到的用户挑战chal={R,c},首先通过以K2为密钥的函数ψkey和以K1为密钥的函数πkey生成所述集合Q={(j,wj)},其中,j为要挑战的c个文件块中第j个文件块的块索引,wj为对应块索引的随机数,集合Q包括c个不同的(j,wj);然后结合公钥中g1,g2,…,gs计算证据P。
进一步的,所述证据P=(μ,σ);其中,
进一步的,所述集合R中包括该文件F的一个或几个或全部文件复本。
本系统组成:
云存储系统模型由两部分组成:1)用户:用户是云储存服务的使用者,可以是个人或者组织,用户将自己的数据外包到云服务器上。2)云服务提供商(CSP):CSP存储用户文件并保证数据完整,不被修改且不丢失数据。
当用户要将自己的文件上传到CSP时,用户首先要确定其要保存的复本数目n。由于直接将文件用一个大数表示,会导致高昂计算代价。本发明采用切块的方法,将每个用户的文件F切分成m个文件块,F={cj}1≤j≤m。用户对文件F进行处理后上传到CSP,之后便可以对CSP发起挑战来验证文件F的完整性。
方案描述:
本方案流程如图2所示,主要包含两个阶段,用户准备阶段和完整性验证阶段。生成密钥KeyGen,生成复本CopyGen,生成标签TagGen的工作在准备阶段完成。完整性验证阶段由用户挑战Challenge,服务器生成证据ProofGen和用户验证证据Verify组成。下面本发明详细说明这些算法。
KeyGen.用户执行该算法来生成密钥。一个双线性性映射e:G×G=GT,g是G的生成元。G和GT是p阶乘法循环群。用户随机选择一个元素α∈Zp,然后计算得到这里αk=αk,k∈[1,s],s是一个文件块的扇区数。用户定义k∈[1,s]。Kr和K1是函数ψkey的密钥,Kr用于复本生成阶段产生随机数,K1用于生成被挑战的块索引对应的随机数;K2是函数πkey的密钥,将块索引置换到1-m。用户执行KeyGen算法来产生公私钥对,其中私钥公钥pk=(g1,g2,…,gs,K1,K2)。之后,用户在本地保存私钥,并将公钥上传到CSP。
CopyGen.用户执行该算法来生成可区分的复本。对于文件F={cj}1≤j≤m包含m个文件块,文件F的每个文件块cj分成s个扇区, 为文件F的第j个文件块cj的第k个扇区;用户想要生成n个文件复本其中文件副本的每个文件块mij有s扇区扇区是最小的组成单元,其中是第i个复本第j个文件块的第k个扇区对应的随机数,由函数ψkey利用密钥Kr生成,其中,i,j,k,分别表示文件F的第i个复本,第j个文件块,第k个扇区。
TagGen.用户执行该算法来生成文件块的标签。为了加快标签的生成速度,本发明利用轻量级的点乘运算来代替计算高昂的模幂运算。对文件F={cj}1<j<m,它第j个文件块的标签一共生成了m个文件块标签。之后,用户将文件F的每一文件复本,文件F及其m个文件块标签上传到CSP,并且删除本地文件及对应的所有文件副本和标签。
Challenge.用户向CSP发起挑战来验证数据的完整性。用户可以选择想要挑战的文件复本集合来决定验证哪些数据的完整性,可以是一个或几个或全部文件复本。用户还可以设置要挑战的文件块数目。用户发送chal={R,c}到CSP,其中R是用户要挑战的该文件复本的集合,c是要挑战的文件块数目。
ProofGen.该算法由CSP执行,CSP根据收到的用户挑战chal={R,c},首先通过公钥中的K1、K2计算得到用户要挑战的集合Q={(j,wj)},其中,j为要挑战的c个文件块中第j个文件块的块索引,wj为对应块索引的随机数,集合Q包括c个不同的(j,wj);再结合公钥中g1,g2,…,gs计算证据P=(μ,σ)。其中,
Verify.该算法由用户执行,用户通过该算法检验CSP返回的证据,即检验挑战复本数据的完整性。如果证据P=(μ,σ)是由服务器正确计算得到的,本发明接下来检查下面的等式(1)是否成立:
之后用户和CSP利用以K2为密钥的函数ψkey和以K1为密钥的函数πkey来生成Q={(j,wj)},这里的j就是要挑战的第j个文件块的块索引。
在等式(1)中,μ,σ是由CSP返回,|R|是用户挑战的复本数目。Q={(j,wj)}是用户利用K1、K2计算得到。这等式验证过程中,用到了被挑战文件复本的随机的块信息和标签信息,如果被挑战复本不完整,也就是文件块信息被改变,则等式无法成立。
若等式成立,输出‘1’;否则,输出‘0’,即数据是不完整的。
下面将详细说明上述创新点:
1.基于点乘的单标签生成方法。
以往的标签生成方法采用指数运算的形式,能够在验证阶段支持用户验证文件的完整性。如果一个中等文件或者一个大文件通过幂运算来生成文件块标签的话,这种方法计算开销太大。对于wang等人提出的生成认证标签的方法,如果处理1GB的文件,在IntelCore 1.86GHz的CPU上以17.2KB/s的速度,需要大约17个小时才能生成全部标签。而用户本身拥有的计算能力有限,往往只是一个PC端甚至是一个手机,iPad等,这样繁重的计算难以在实际中应用。在这种情况下,简化用户的计算十分必要。
因此,本文利用点乘的方法代替指数运算,大大降低了标签生成阶段的计算开销。同时,本发明采用了单标签的形式来生成所有复本标签。也就是,本发明虽然存储了多个文件复本,但只生成一个文件复本的标签。这样,生成标签的时间也会成倍减小。
2.基于双线性映射的灵活验证方法
本发明构造了一种灵活的多复本完整性验证方法。用户在生成文件复本时,利用了随机掩码技术,让随机数参与了复本生成,对文件信息进行了掩盖,构造出了具有对应关系的可区分的文件复本。另外,用户只生成了一个文件的标签,用户仅仅利用这一个文件的块标签,就可以构造出其他文件的标签。用户挑战时,可以挑战任意数目的文件复本。结合双线性映射的性质,验证CSP返回的带有文件块信息和标签信息的证据,达到验证完整性的目的。
3.损坏块的定位与恢复
通过递归使用二分法,进行完整性验证,不断缩小损坏文件复本的范围,最终定位到损坏的文件复本。发现损坏复本后,用户可以用完整的文件复本和对应的随机数重新生成文件复本,再将该复本上传到CSP。
与现有技术相比,本发明的积极效果为:
在云存储环境下,用户将自己的数据存储到CSP,CSP提高对数据的管理和存储。用户需要验证自身数据是否完整。本发明构造了一种云环境下的数据完整性证明,该发明提出了一种灵活的多复本完整性验证方案,允许用户在只生成一个文件复本标签的情况下,验证任意多个文件复本的完整性。用户在生成标签时,使用了向量点乘来代替群上的指数运算,大大减小了用户的计算开销,使得计算能力有限的用户(如PC,手机)能够在本地轻松实现对用户上传文件的预处理,完整性方案更加可行。另外,用户验证阶段,利用了双线性映射来验证文件完整性。本发明是高效可行的,本发明将从各个方面分析本专利,并与业界最具代表性的多复本完整性验证方案MB-PMDDP比较,进一步说明本发明的积极效果。
对本发明存储、通信、计算开销进行分析,表1定义了群上的计算,表二是本发明开销与MB-PMDDP比较的比较。
表1为符号说明与描述
表2为本专利开销比较
本发明在用户在生成标签阶段具有显著的积极效果。本发明使用了向量点乘来代替群上的指数运算,大大减小了用户的计算开销,使得计算能力有限的用户(如PC,手机)能够在本地轻松实现对用户上传文件的预处理。我们对两种方案在不同扇区数下和不同复本数目下的标签生成的计算开销,结果如表3和表4所示。
表3为不同扇区数下的标签生成开销(s)
表4为不同复本数下的标签生成开销(s)
同时,本发明分析比较了CSP证据生成和用户验证的计算开销。结果如图5和图6所示。通过图5,可以发现,CSP在证据生成阶段的计算开销大大减小。图6中在用户验证时的计算开销虽然稍有增加,其原因是本专利提供了更为灵活的验证方法,可以验证任意组合的复本。同时,这种灵活的验证方式,在后续的复本定位也具有积极的意义。
附图说明
图1为多备份数据持有性证明方法流程图;
图2为多复本持有性证明方法验证流程图;
图3为系统物理组成结构;
图4为系统功能模块图;
图5为不同复本下CSP证据生成的计算开销;
图6为不同复本下用户验证的计算开销。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
方案中有两个角色,如图1所示,用户与云服务提供商(CSP)。用户负责对文件进行预处理等操作,将文件上传到云存储服务器,对CSP发起挑战,验证CSP返回的证据等。如图3所示,CSP由云存储管理节点与多个存储节点组成,云存储管理节点负责对用户的文件进行管理,文件的所有元数据都保存在管理节点上。云存储节点负责存储用户的数据并负责计算证据。
●用户
用户就是文件所有者,在文件上传阶段负责对文件进行预处理,包括对生成密钥,对文件进行切块,生成文件复本,生成文件块标签。并且将文件复本和文件块标签上传到CSP,删除本地的文件复本和块标签信息;在完整性验证阶段,用户对CSP发起挑战,用户可以自定义挑战的复本集合和文件块数目。对在文件验证阶段,要对云存储平台发起挑战,并对服务器端返回的签名进行验证;在文件恢复阶段,要进行错误的定位并用纠删码进行恢复。
●云存储平台
云存储管理节点负责接受用于请求并管理用户的数据,保存文件的一些元数据信息等,当用户发送挑战时,生成数据完整性证明等数据返回给用户。云存储节点负责存储数据,同时其也有一定的计算能力,可以进行一些常规的计算。
原型系统由三部分组成:文件上传子系统、文件验证子系统和文件恢复子系统。其中文件上传子系统是在原有云存储基础之上通过增加数据预处理(密钥生成、复本生成、标签生成)而实现的,为用户提供支持完整性保护的文件上传工具。文件验证子系统和文件恢复子系统是云存储系统中为实现数据完整性保护而增加的子系统,通过这两个子系统为用户提供对文件完整性进行验证工具和对已破坏数据进行恢复工具。以上三个子系统均设计为C/S架构,由客户端模块和服务器端模块组成。如图4所示,用户端主要由文件上传、文件验证、文件恢复等三个模块组成,用户通过这三个模块,与云平台互相通信,完成对文件的各种操作、对文件完整性的验证的对已破坏文件复本进行恢复操作。云平台模块由管理节点上的管理模块、验证模块、恢复模块和存储节点上的存储模块、计算模块组成。图中验证模块、恢复模块是FMR-PDP方案在云平台新增的模块,验证模块、恢复模块、计算模块是对云平台原有模块进行修改、增加部分内容。各个子系统所用到的模块如表5所示:
表5为各子系统所用模块列表
用户端与云平台的各个模块功能如下:
●用户端模块
1、文件上传模块
用户把文件上传到云存储服务器之前,需要对文件进行预处理操作,包括密钥生成与分发,文件切块与复本生成,文件块标签生成等,之后上传文件复本和标签信息给云平台管理模块。
3、文件验证模块
用户发送挑战数据索引给云存储管理节点,计算由云平台返回的证据是否匹配,若不匹配,调用损坏复本定位方法,删除损坏的文件复本模块。
4、文件恢复模块
用户取回其他完整的文件复本,利用随机掩码技术重新生成文件复本,并将新生成的文件复本上传到CSP。
●云平台模块
1、管理模块
云存储管理节点收到了存储文件与附属信息的请求后,会管理并存储文件的元数据,记录文件数据块到存储节点的映射,接收用户请求并判断请求类型调用其他相应的模块。
3、验证模块
进行两种验证,一个是数据完整性的验证,根据索引调用存储模块,将存储模块的计算出来的部分证据结果返回给用户。
4、恢复模块
用户请求恢复数据时,用户上传新的文件复本,由管理模块调用恢复模块用新的文件复本替换损坏的文件复本。
5、存储模块
存储模块位于云平台存储节点上,由管理节点的管理模块接收到用户存储数据的请求以后调用,将数据存储在存储节点上
6、计算模块
计算模块同样位于云平台存储节点上,当管理节点请求为指定数据计算数据签名时,该模块将计算部分证据并将结果返回给管理节点,再由管理节点整合生成证据。

Claims (9)

1.一种云存储环境下的多备份数据持有性证明方法,其步骤为:
1)客户端生成用户的公私钥对,用户保存私钥,并将公钥上传到云服务提供商CSP;
2)客户端根据用户确定的待上传文件F的复本数目n生成该文件F的n份可区分的文件复本;然后将该文件F切分为m个文件块并生成每一文件块的标签,将每一文件复本切分成m个文件块,然后将该文件F及其m个文件块的标签,以及该文件F的文件复本上传到CSP;
3)客户端发送挑战chal={R,c}到CSP;其中,R是要挑战的该文件复本的集合,c是要挑战的文件块数目;
4)CSP根据收到的挑战chal={R,c},通过公钥计算得到用户要挑战的集合Q;然后根据该集合Q和公钥生成证据P返回给该客户端;
5)客户端采用与步骤4)相同方式生成集合Q,然后利用证据P检验挑战复本数据的完整性。
2.如权利要求1所述的方法,其特征在于,生成所述公私钥对的方法为:首先选择一元素α∈Zp,然后计算得到其中,αk=αk,k∈[1,s];令Kr和K1是函数ψkey的密钥,Kr用于文件复本生成阶段产生随机数,K1用于生成被挑战的块索引和对应的随机数,K2是函数πkey的密钥;然后生成私钥公钥pk=(g1,g2,…,gs,K1,K2);函数πkey为随机置换函数,函数ψkey为伪随机函数。
3.如权利要求1或2所述的方法,其特征在于,所述集合Q={(j,wj)};其中,j为要挑战的c个文件块中第j个文件块的块索引,wj为对应块索引的随机数,文件块索引Q包括c个不同的(j,wj)。
4.如权利要求3所述的方法,其特征在于,利用等式检验挑战复本数据的完整性,若该等式成立,则判断数据完整;否则,判断数据是不完整的;其中,s为文件块的扇区数,g为生成所述公私钥对时所用群G的生成元,为文件F的第i个复本第j个文件块的第k个扇区对应的随机数。
5.如权利要求4所述的方法,其特征在于,设文件块mij为文件F的第i个复本文件的第j个文件块,其对应的s个扇区为文件块mij的第k个扇区其中,为文件F的第j个文件块cj的第k个扇区,
6.如权利要求3所述的方法,其特征在于,该文件F的第j个文件块的标签
7.如权利要求2所述的方法,其特征在于,CSP根据收到的用户挑战chal={R,c},首先通过以K2为密钥的函数ψkey和以K1为密钥的函数πkey生成所述集合Q={(j,wj)},其中,j为要挑战的c个文件块中第j个文件块的块索引,wj为对应块索引的随机数,集合Q包括c个不同的(j,wj);然后结合公钥中g1,g2,…,gs计算证据P。
8.如权利要求7所述的方法,其特征在于,所述证据P=(μ,σ);其中,
9.如权利要求1所述的方法,其特征在于,所述集合R中包括该文件F的一个或几个或全部文件复本。
CN201710472918.XA 2017-06-21 2017-06-21 一种云存储环境下的多备份数据持有性证明方法 Active CN109104449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710472918.XA CN109104449B (zh) 2017-06-21 2017-06-21 一种云存储环境下的多备份数据持有性证明方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710472918.XA CN109104449B (zh) 2017-06-21 2017-06-21 一种云存储环境下的多备份数据持有性证明方法

Publications (2)

Publication Number Publication Date
CN109104449A true CN109104449A (zh) 2018-12-28
CN109104449B CN109104449B (zh) 2020-12-22

Family

ID=64795851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710472918.XA Active CN109104449B (zh) 2017-06-21 2017-06-21 一种云存储环境下的多备份数据持有性证明方法

Country Status (1)

Country Link
CN (1) CN109104449B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831487A (zh) * 2019-01-08 2019-05-31 平安科技(深圳)有限公司 分片文件验证方法及终端设备
CN112311548A (zh) * 2020-03-25 2021-02-02 北京沃东天骏信息技术有限公司 数据持有性验证方法、系统、装置及计算机可读存储介质
CN114760061A (zh) * 2020-12-29 2022-07-15 深信服科技股份有限公司 数据上传的方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455577A (zh) * 2013-08-23 2013-12-18 中国科学院计算机网络信息中心 云主机镜像文件的多备份就近存储和读取方法及系统
US20140160907A1 (en) * 2012-12-06 2014-06-12 Lenovo (Singapore) Pte, Ltd. Organizing files for file copy
CN104717217A (zh) * 2015-03-18 2015-06-17 电子科技大学 一种云存储中基于部分授权的可证明安全数据持有性验证方法
CN106612274A (zh) * 2016-07-25 2017-05-03 四川用联信息技术有限公司 云计算中一种基于同态性的共享数据验证算法
CN106650503A (zh) * 2016-12-09 2017-05-10 南京理工大学 基于ida的云端数据完整性验证及恢复方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140160907A1 (en) * 2012-12-06 2014-06-12 Lenovo (Singapore) Pte, Ltd. Organizing files for file copy
CN103455577A (zh) * 2013-08-23 2013-12-18 中国科学院计算机网络信息中心 云主机镜像文件的多备份就近存储和读取方法及系统
CN104717217A (zh) * 2015-03-18 2015-06-17 电子科技大学 一种云存储中基于部分授权的可证明安全数据持有性验证方法
CN106612274A (zh) * 2016-07-25 2017-05-03 四川用联信息技术有限公司 云计算中一种基于同态性的共享数据验证算法
CN106650503A (zh) * 2016-12-09 2017-05-10 南京理工大学 基于ida的云端数据完整性验证及恢复方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831487A (zh) * 2019-01-08 2019-05-31 平安科技(深圳)有限公司 分片文件验证方法及终端设备
WO2020143317A1 (zh) * 2019-01-08 2020-07-16 平安科技(深圳)有限公司 分片文件验证方法及终端设备
CN109831487B (zh) * 2019-01-08 2022-05-13 平安科技(深圳)有限公司 分片文件验证方法及终端设备
CN112311548A (zh) * 2020-03-25 2021-02-02 北京沃东天骏信息技术有限公司 数据持有性验证方法、系统、装置及计算机可读存储介质
CN114760061A (zh) * 2020-12-29 2022-07-15 深信服科技股份有限公司 数据上传的方法、装置、设备及存储介质
CN114760061B (zh) * 2020-12-29 2023-09-05 深信服科技股份有限公司 数据上传的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109104449B (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN111355705B (zh) 一种基于区块链的数据审计与安全去重云存储系统、方法
Gadekallu et al. Blockchain-based attack detection on machine learning algorithms for IoT-based e-health applications
Suhail et al. On the role of hash-based signatures in quantum-safe internet of things: Current solutions and future directions
CN104394155B (zh) 可验证完整性和完备性的多用户云加密关键字搜索方法
CN111784001B (zh) 一种模型训练方法、设备及计算机可读存储介质
CN109478279A (zh) 区块链实现的方法和系统
CN105164971A (zh) 具有额外安全性的用于低熵输入记录的核验系统和方法
US20230254299A1 (en) Apparatus and methods for credentialing users across user devices
WO2021010896A1 (en) Method and system for distributed data management
CN109104449A (zh) 一种云存储环境下的多备份数据持有性证明方法
WO2021186754A1 (ja) 情報処理システム、情報処理方法、情報処理プログラム、秘密分散システム、秘密分散方法、秘密分散プログラム、秘密計算システム、秘密計算方法、及び、秘密計算プログラム
CN113472883A (zh) 基于区块链存储数据的方法、装置、设备及存储介质
Li Combination of blockchain and AI for music intellectual property protection
Lee et al. Privacy-preserving identity management system
CN114372291A (zh) 隐私联合推理方法、装置、设备及存储介质
Sun et al. Public data integrity auditing without homomorphic authenticators from indistinguishability obfuscation
Datta et al. Functional signcryption: notion, construction, and applications
CN108304701A (zh) 一种生成身份签注的方法及系统
He et al. T2L: A traceable and trustable consortium blockchain for logistics
CN107231369A (zh) 一种基于云计算的高效数据处理方法
Reddy et al. Block Level Data-Deduplication and Security Using Convergent Encryption to Offer Proof of Verification
CN113935874A (zh) 一种基于区块链的来华留学学籍管理系统
Mageshwari et al. Decentralized Data Privacy Protection and Cloud Auditing Security Management
Babrekar et al. Blockchain-based digital locker using BigchainDB and InterPlanetary file system
Joseph et al. Design a hybrid optimization and homomorphic encryption for securing data in a cloud environment

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