CN106911708A - It is a kind of to support batch processing to verify and possess the cloud data public audit method of wrong data positioning function - Google Patents
It is a kind of to support batch processing to verify and possess the cloud data public audit method of wrong data positioning function Download PDFInfo
- Publication number
- CN106911708A CN106911708A CN201710178312.5A CN201710178312A CN106911708A CN 106911708 A CN106911708 A CN 106911708A CN 201710178312 A CN201710178312 A CN 201710178312A CN 106911708 A CN106911708 A CN 106911708A
- Authority
- CN
- China
- Prior art keywords
- cloud
- data
- tpa
- user
- server
- 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
Links
- 238000012550 audit Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 title description 8
- 238000012795 verification Methods 0.000 claims abstract description 31
- 238000005192 partition Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 3
- 238000013496 data integrity verification Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种支持批处理校验且具备错误数据定位功能的云数据公开审计方法。本方法为:各云用户将其文件块和数据标签存储在云服务器中,将文件块的定位标签发送给TPA;TPA接收到用户的审计请求后对这些用户存储在多个云服务器上的数据进行挑战,在收到返回的证明后,TPA基于发送的挑战和服务器返回的证明进行有效性验证,若通过验证,则数据审计结果为通过;否则TPA校验定位标签,定位标签验证通过的则审计结果为通过,否则输出错误数据所属的云用户索引和所在服务器的索引。最后TPA向审计结果为通过的云用户发送审计成功,向审计结果为不通过的云用户发送错误数据所属服务器的索引。本发明便于让用户更快找出受损数据的位置。
The invention discloses a cloud data open audit method that supports batch verification and has the function of locating error data. The method is as follows: each cloud user stores its file blocks and data tags in the cloud server, and sends the positioning tags of the file blocks to the TPA; after receiving the user's audit request, the TPA will store the data of these users on multiple cloud servers. Make a challenge. After receiving the returned certificate, TPA will verify the validity based on the sent challenge and the certificate returned by the server. If the verification is passed, the data audit result is passed; otherwise, TPA verifies the location tag. If the location tag is verified, then The audit result is passed, otherwise, the cloud user index and the server index to which the error data belongs are output. Finally, the TPA sends the audit success to the cloud user whose audit result is passed, and sends the index of the server to which the error data belongs to the cloud user whose audit result is not passed. The invention facilitates the user to quickly find out the location of the damaged data.
Description
技术领域technical field
本发明属于网络安全技术领域,尤其涉及一种支持批处理校验且具备错误数据定位功能的云数据公开审计方法。The invention belongs to the technical field of network security, and in particular relates to a cloud data public audit method that supports batch verification and has the function of locating error data.
背景技术Background technique
数据拥有性证明(Provable Data Possession,PDP)方案可以让用户在没有本地备份的情况下,不需要取回数据,就能以很高的概率远程校验存储在不可信服务器上的数据是否完整,节省了通信带宽。目前,大多数PDP方案是针对单用户存放在单个服务器上的数据进行完整性校验。但是现实的情境中,云存储提供的服务是面向很多用户的,同时,云服务提供商并不是单一的,每个云服务提供商所拥有的也不仅仅是单个服务器。为了更适应现实,近几年,多用户单服务器、单用户多服务器、多用户多服务器情景下的PDP方案陆续被提出。支持多用户多服务器的数据完整性批处理校验方案大大减小了计算开销,但是在数据出错后,往往无法精确快速的确定错误数据的来源。所以本发明的目的在于:在多用户多服务器环境下,实现批处理远程数据完整性校验的同时,还能实现对错误数据的定位,即找到错误数据属于哪个用户,且存放在哪个服务器上,这样便于让用户更快发现自己存放在哪些服务器上的数据受损。The Provable Data Possession (PDP) scheme allows users to remotely verify the integrity of the data stored on the untrusted server with a high probability without having to retrieve the data without local backup. Communication bandwidth is saved. At present, most PDP schemes perform integrity verification on data stored on a single server by a single user. But in reality, the services provided by cloud storage are oriented to many users. At the same time, there is not a single cloud service provider, and each cloud service provider has more than just a single server. In order to better adapt to the reality, in recent years, PDP schemes under the scenarios of multi-user single server, single user multi-server, and multi-user multi-server have been proposed one after another. The data integrity batch verification scheme that supports multi-users and multi-servers greatly reduces the computing overhead, but after data errors, it is often impossible to accurately and quickly determine the source of the error data. Therefore, the purpose of the present invention is to: in a multi-user and multi-server environment, while realizing batch processing remote data integrity verification, it can also realize the positioning of error data, that is, to find which user the error data belongs to and which server it is stored on , so that users can quickly find out which servers their data is damaged on.
相关工作related work
2013年,Wang等人利用BLS签名构造同态验证标签,在多用户单服务器环境下,提出了一种保护用户数据隐私的批处理校验方案,并利用二分查找判断哪个用户的数据出错。2016年,Mao等人同样利用了BLS短签名,提出了一种单用户多云服务器环境下支持批处理的数据完整性校验方案,但是方案没有考虑错误数据定位的问题。In 2013, Wang et al. used BLS signatures to construct homomorphic verification labels. In a multi-user single-server environment, they proposed a batch verification scheme to protect user data privacy, and used binary search to determine which user's data was wrong. In 2016, Mao et al. also used BLS short signatures to propose a data integrity verification scheme that supports batch processing in a single-user multi-cloud server environment, but the scheme does not consider the problem of erroneous data location.
2014年,Liu等人利用双线性对提出一种多用户多服务器情景下的批处理校验方案,并且使用有序的Merkle Hash Tree来抵抗置换攻击。Ren等人使用椭圆曲线上的Co-GDH签名构造同态验证标签,提出一种可公开校验且保护隐私的批处理校验方案,并利用数据更新信息表实现数据动态更新。2016年,Zhou等人利用双线性对和CDH问题提出了一种基于ID的批处理PDP方案。以上方案都能快速有效地一次性校验多个用户存放在多个服务器上的数据是否完整,但他们并未考虑错误数据的定位问题。In 2014, Liu et al. used bilinear pairing to propose a batch verification scheme in a multi-user multi-server scenario, and used an ordered Merkle Hash Tree to resist replacement attacks. Ren et al. used the Co-GDH signature on the elliptic curve to construct a homomorphic verification label, proposed a batch verification scheme that can be verified publicly and protects privacy, and used the data update information table to realize dynamic data update. In 2016, Zhou et al. proposed an ID-based batch PDP scheme using bilinear pairings and the CDH problem. The above solutions can quickly and effectively verify the integrity of the data stored by multiple users on multiple servers at one time, but they do not consider the location of wrong data.
在多用户多服务器情景下的批处理方案中,也有人曾提出错误数据定位的想法。2013年,He等人利用可恢复的编码方法提出了一种可识别损毁数据的、支持批处理的数据完整性校验方案,可将所有数据出错的用户都检测出来,但是没有定位出错数据所处的服务器。2015年,Shin等人也提出了一种实现损毁数据识别的批处理数据完整性校验方案,但是,当有多个服务器返回的数据出错后,该方案只能确定出最后一个错误服务器,且无法确定错误数据的拥有者。In the batch processing scheme in the multi-user and multi-server scenario, some people have also proposed the idea of erroneous data location. In 2013, He et al. proposed a data integrity verification scheme that can identify damaged data and support batch processing by using a recoverable coding method. at the server. In 2015, Shin et al. also proposed a batch data integrity verification scheme to identify damaged data. However, when there are errors in the data returned by multiple servers, the scheme can only determine the last wrong server, and Unable to determine owner of bad data.
本发明提出了一种在多用户多服务器环境下支持错误数据定位的批处理云数据公开审计方法,云用户将数据完整性校验的审计工作委托给第三方审计员(Third PartyAuditor,TPA)。TPA收到多个云用户的审计请求后,批处理校验这些云用户存储在多个服务器上的数据的完整性。实现批处理校验的同时,可以在检测到数据出错后,于一次挑战中实现错误数据定位功能,即找到出错数据的拥有者与其所处的服务器。The present invention proposes a batch-processing cloud data open audit method that supports error data location in a multi-user and multi-server environment, and cloud users entrust the audit work of data integrity verification to a third party auditor (TPA). After TPA receives audit requests from multiple cloud users, it batch-checks the integrity of the data stored by these cloud users on multiple servers. While implementing batch verification, after detecting data errors, the error data location function can be implemented in a challenge, that is, to find the owner of the error data and the server where it is located.
发明内容Contents of the invention
本发明技术针对现有技术的不足,本发明提供了一种支持批处理校验且具备错误数据定位功能的云数据公开审计方法。The technology of the present invention aims at the deficiencies of the prior art, and the present invention provides a cloud data public audit method that supports batch verification and has the function of locating error data.
本发明公开的是一种在多用户多服务器环境下,能支持错误数据定位和批处理校验的云数据公开审计方法,本发明包括:CA(Certificate Authority,认证中心)服务器进行初始化参数设置,所有云用户可以向CA申请属于自己的公私钥对;各个云用户将他们的文件块和数据标签存储在云服务器中,将文件块的定位标签发送给TPA;TPA接收到多个云用户的审计请求后,可同时对这些用户存储在多个云服务器上的数据进行挑战,在收到被挑战云服务器返回的证明后,TPA基于发送的挑战和服务器返回的证明进行有效性批量验证,若通过验证,则说明挑战中涉及的云用户的数据审计结果为通过。否则,TPA校验定位标签,对于定位标签验证通过的,说明相应的数据完整,即审计结果为通过;对于定位标签验证不通过的,说明数据遭到破坏,TPA输出错误数据所属的云用户索引和所在服务器的索引。最后TPA向审计结果为通过的云用户发送审计成功的审计报告。向审计结果为不通过的云用户发送错误数据所属服务器的索引。The present invention discloses a cloud data open audit method that can support error data location and batch processing verification in a multi-user and multi-server environment. The present invention includes: a CA (Certificate Authority, authentication center) server performs initialization parameter setting, All cloud users can apply to CA for their own public-private key pair; each cloud user stores their file blocks and data tags in the cloud server, and sends the location tags of file blocks to TPA; TPA receives audits from multiple cloud users After the request, the data stored by these users on multiple cloud servers can be challenged at the same time. After receiving the certificate returned by the challenged cloud server, TPA performs batch verification of validity based on the challenge sent and the certificate returned by the server. verification, it means that the data audit result of the cloud users involved in the challenge is passed. Otherwise, TPA verifies the location tag. If the location tag is verified, it means that the corresponding data is complete, that is, the audit result is passed; if the location tag is not verified, it means that the data is damaged, and TPA outputs the cloud user index to which the wrong data belongs. and the index of the server where it resides. Finally, the TPA sends an audit report of successful audit to the cloud user whose audit result is passed. Send the index of the server to which the error data belongs to the cloud user whose audit result is not passed.
与现有技术相比,本发明的有益效果:Compared with prior art, the beneficial effect of the present invention:
实现了错误数据定位:本发明不仅实现了在多用户多服务器环境下,多个云用户可以委托第三方审计者对存储在多个云服务器中的数据进行批处理审计。另外在批处理审计不通过的情况下,仅做一次比较操作即可判断出特定用户存放在特定服务器上的数据是否遭到破坏。此外,本发明还能找出所有出错数据,同时定位出错数据所属的用户和所在服务器,便于让用户更快找出受损数据的位置,减少用户寻找错误数据的时间,且更容易判断云服务器的可靠程度。False data positioning is realized: the present invention not only realizes that in a multi-user and multi-server environment, multiple cloud users can entrust a third-party auditor to perform batch auditing on the data stored in multiple cloud servers. In addition, if the batch audit fails, only one comparison operation can determine whether the data stored by a specific user on a specific server has been damaged. In addition, the present invention can also find out all error data, and at the same time locate the user and the server where the error data belongs, so that the user can quickly find out the location of the damaged data, reduce the time for the user to find the error data, and make it easier to judge the location of the cloud server. degree of reliability.
本发明实现了多用户多服务器环境下,支持批处理的数据完整性验证,同时还构造了一种定位标签来实现错误数据的定位功能,可以在批处理校验后使数据受损的用户及时发现其数据出错,并可得知受损数据的位置,提高用户检测文件出错部位的效率。The invention realizes data integrity verification of batch processing in a multi-user and multi-server environment, and also constructs a positioning label to realize the positioning function of wrong data, which can make users whose data is damaged in time after batch verification It is found that the data is wrong, and the location of the damaged data can be known, and the efficiency of the user in detecting the wrong part of the file can be improved.
附图说明Description of drawings
图1为本发明具体实施方法流程图。Fig. 1 is a flow chart of the specific implementation method of the present invention.
图2为本发明具体实施方式的数据标签生成过程示意图。FIG. 2 is a schematic diagram of a data label generation process in a specific embodiment of the present invention.
图3为本发明具体实施方式的定位标签生成过程示意图。Fig. 3 is a schematic diagram of the generation process of the positioning tag according to the specific embodiment of the present invention.
图4为本发明具体实施方式的公开审计及错误数据定位过程示意图。Fig. 4 is a schematic diagram of the public audit and error data location process in the specific embodiment of the present invention.
图5为云用户DO1以a1t为参数,针对云服务器CS1上存放的4个数据块M111,M112,M113,M114构建的MHT(Merkle Hash Tree,Merkle哈希树)TR11t。Figure 5 shows the MHT (Merkle Hash Tree, Merkle Hash Tree) TR constructed by the cloud user DO 1 for the four data blocks M 111 , M 112 , M 113 , and M 114 stored on the cloud server CS 1 with a 1t as a parameter 11t .
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. All other embodiments obtained by those skilled in the art without creative work belong to this invention. scope of invention protection.
本发明的方法流程如图1所示,其步骤为:The method flow process of the present invention is as shown in Figure 1, and its steps are:
1、CA服务器进行初始化参数设置;1. The CA server performs initialization parameter settings;
●以k为安全参数,选择两个阶为q的乘法循环群G1和G2,q是一个大素数且满足q>2k,取G1的生成元为g,在群G1和G2上选择一个双线性映射e:G1×G1→G2。●Take k as the safety parameter, choose two multiplicative cyclic groups G 1 and G 2 with order q, q is a large prime number and satisfy q>2 k , take the generator of G 1 as g, in the groups G 1 and G 2. Choose a bilinear map e:G 1 ×G 1 →G 2 .
●选择四个密码学Hash函数H1,H2,H3,H4和一个伪随机函数f,其中H1:{0,1}*→G1,H2:{0,1}*→Zq,H3:{0,1}*→G1,H4:{0,1}*→Zq(H1和H3,H2和H4分别是不同的Hash函数),其中Zq={0,1,2,…,q-1},每一个用户索引可以表示为wi比特的串,每个服务器索引可以表示为wj比特的串,每个文件块索引可以表示为wk比特的串。●Choose four cryptographic Hash functions H 1 , H 2 , H 3 , H 4 and a pseudorandom function f, where H 1 : {0, 1} * → G 1 , H 2 : {0, 1} * → Z q , H 3 : {0, 1} * → G 1 , H 4 : {0, 1} * → Z q (H 1 and H 3 , H 2 and H 4 are different Hash functions), Where Z q ={0,1,2,...,q-1}, each user index can be expressed as a w i -bit string, each server index can be expressed as a w j -bit string, and each file block index can be Represented as a string of w k bits.
●随机选择作为分区系数,并令λ=k作为每个用户对相同数据构建MHT(Merkle Hash Tree,Merkle哈希树)的数量。●Random selection As a partition coefficient, let λ=k be the number of MHT (Merkle Hash Tree, Merkle Hash Tree) that each user constructs for the same data.
●随机选择作为主私钥msk,并令主公钥为mpk=gx。●Random selection As the master private key msk, and let the master public key be mpk=g x .
●将公共参数params=(G1,G2,q,g,e,H1,H2,H3,H4,f,{vl},λ)和主公钥mpk=gx公开,将主私钥msk=x秘密保存。Public parameters params=(G 1 ,G 2 ,q,g,e,H 1 ,H 2 ,H 3 ,H 4 ,f,{v l },λ) and master public key mpk=g x are made public, Keep the master private key msk=x secret.
2、云用户DOi向CA申请自己的公私钥对2. Cloud user DO i applies to CA for its own public-private key pair
●DOi生成密钥申请请求并发送至CA服务器,CA服务器为DOi生成密钥对(pki,ski),其中公钥pki=H1(IDi),私钥ski=H1(IDi)x=pki x,i为云用户DOi的索引,IDi为DOi的身份标识符。●DO i generates a key application request and sends it to the CA server, and the CA server generates a key pair (pk i , sk i ) for DO i , where the public key pk i =H 1 (ID i ), and the private key sk i =H 1 (ID i ) x =pk i x , i is the index of cloud user DO i , and ID i is the identity identifier of DO i .
3、CA服务器将私钥ski通过安全信道发送给DOi。3. The CA server sends the private key sk i to DO i through a secure channel.
4、DOi将待上传文件块进行预处理(图2即为数据标签生成过程)4. DO i preprocesses the file blocks to be uploaded (Figure 2 is the data label generation process)
●DOi对待上传文件进行定长分割,令Mijk表示云用户DOi存放在服务器CSj上的第k个块,每个块由s个分区构成,令Fijkl表示DOi存放在CSj上的第k个块里的第l个分区。●DO i divides the file to be uploaded by a fixed length. Let M ijk represent the kth block of cloud user DO i stored on server CS j . Each block is composed of s partitions. Let F ijkl represent DO i stored in CS j The l-th partition in the k-th block above.
●DOi对每个数据块Mijk生成一个标签值σijk=(Sijk,Tijk),具体生成方法为:DOi随机选取对自己的每个文件块Mijk计算hi=H2(IDi),hpk=H3(mpk),并计算 ●DO i generates a label value σ ijk =(S ijk ,T ijk ) for each data block M ijk , the specific generation method is: DO i randomly selects Calculate M ijk for each file block of its own h i =H 2 (ID i ), hpk=H 3 (mpk), and calculate
5、DOi将文件块及数据标签上传到相应的云服务器中5. DO i uploads the file blocks and data tags to the corresponding cloud server
DOi将其所有的文件块{Mijk}和对应的数据标签{σijk}按服务器索引发送给相应的服务器。DO i sends all its file blocks {M ijk } and corresponding data labels {σ ijk } to the corresponding server according to the server index.
6、每个服务器校验其收到的数据标签的可用性如图2,每个服务器收到用户发送的数据块和数据标签后,通过校验下面的等式是否成立来确定数据标签是否正确。6. Each server checks the availability of the data label it receives. As shown in Figure 2, after each server receives the data block and data label sent by the user, it determines whether the data label is correct by checking whether the following equation holds.
如果等式成立,则说明用户上传的数据标签可用,服务器存储校验通过的数据块与数据标签;若等式不成立,则云服务器要求用户重新上传。If the equation is true, it means that the data tag uploaded by the user is available, and the server stores the data blocks and data tags that pass the verification; if the equation is not true, the cloud server requires the user to re-upload.
7、DOi生成定位标签并将其发送给TPA(图3即为定位标签生成过程)7. DO i generates a location tag and sends it to TPA (Figure 3 is the location tag generation process)
●设存储DOi上传文件数据的服务器索引集合为Ji,且DOi在服务器CSj(j∈Ji)上存储的文件块块数为Nij。DOi随机选择DOi对每一个服务器CSj(j∈Ji),分别以ait(1≤t≤λ)为MHT参数,对其存储在CSj上的Nij个数据块,构建λ棵MHT。每棵树用TRijt(1≤t≤λ)表示,TRijt的根节点用Rijt表示。●Assume that the server index set storing the uploaded file data of DO i is J i , and the number of file blocks stored by DO i on the server CS j (j∈J i ) is N ij . DO i randomly selected For each server CS j (j∈J i ), DO i takes a it (1≤t≤λ) as the MHT parameter, and constructs a λ MHT for N ij data blocks stored on CS j . Each tree is represented by TR ijt (1≤t≤λ), and the root node of TR ijt is represented by R ijt .
例如用户DO1在服务器CS1上共存放了4个数据块M111、M112、M113、M114,使用a1t(1≤t≤λ)作为参数,TR11t的构建如图5,树的根为R11t。For example, user DO 1 has stored four data blocks M 111 , M 112 , M 113 , and M 114 on server CS 1. Using a 1t (1≤t≤λ) as a parameter, the construction of TR 11t is shown in Figure 5. The tree The root of is R 11t .
●DOi构建一张定位索引表其中ait(1≤t≤λ)为MHT参数,令chrijt=Rijt(j∈Ji,1≤t≤λ)表示DOi存放在CSj上所有数据的第t个定位标签。若chrijt不存在,即则令chrijt=-1。其中η表示服务器的个数。DOi构建的定位索引表Indexi如表2所示。●DO i constructs a positioning index table Where a it (1≤t≤λ) is the MHT parameter, let chr ijt =R ijt (j∈J i , 1≤t≤λ) indicates the tth positioning tag of all data stored in CS j by DO i . If chr ijt does not exist, that is Then set chr ijt =-1. Where n represents the number of servers. The positioning index table Index i constructed by DO i is shown in Table 2.
●DOi将定位索引表,即定位标签发送给TPA。●DO i sends the location index table, that is, the location label, to the TPA.
表2 为用户DOi构建的定位索引表Indexi Table 2 The positioning index table Index i constructed for user DO i
8、云用户DOi向TPA发起审计请求8. Cloud user DO i initiates an audit request to TPA
●审计请求为DOi上传文件的所有数据块的索引集{(i,j,k)},包括云用户DOi索引i,存储DOi数据的云服务器CSj索引j∈Ji,存放在云服务器CSj上的数据块索引k。●The audit request is the index set {(i,j,k)} of all data blocks uploaded by DO i , including cloud user DO i index i, cloud server CS j index j∈J i storing DO i data, stored in Data block index k on cloud server CS j .
9、TPA根据用户的审计请求生成挑战(步骤9~13详细过程由图4反应)9. TPA generates a challenge according to the user's audit request (the detailed process of steps 9 to 13 is reflected in Figure 4)
●收到多个云用户的审计请求后,TPA将所有审计请求做并集,得到总的审计请求集合Q=∪{(i,j,k)}。● After receiving audit requests from multiple cloud users, TPA combines all audit requests to obtain the total audit request set Q=∪{(i,j,k)}.
●TPA从总的审计请求集合Q中选出c个块进行校验,令(1≤n≤c,(in,jn,kn)∈Q)表示被选中的c个块,以这c个块的索引为元素构建集合I={(in,jn,kn)|n=1,...,c}。TPA selects c blocks from the total audit request set Q for verification, so that (1≤n≤c,(i n ,j n ,k n )∈Q) represents the selected c blocks, and the index of the c blocks is used as the element to construct the set I={(i n ,j n ,k n )|n=1,...,c}.
●TPA构建映射f1:I→Zq,满足当is=it时,有令集合 TPA constructs mapping f 1 :I→Z q , Satisfy When i s =i t , there is order collection
●TPA随机选取TPA构建映射 满足当is=it时,有其中MHT参数由云用户在第7步中生成,并通过定位索引表发送给TPA。令MHT参数集合 ●TPA random selection TPA Build Mapping Satisfy When i s =i t , there is where the MHT parameter by cloud users Generated in step 7 and sent to TPA via the location index table. Let MHT parameter set
●总挑战chal=(I,K,α)。• Total challenge chal = (I, K, α).
●设被TPA选中的c个数据块所在云服务器的索引集合{j}用U表示,TPA将总挑战chal按被挑战云服务器的不同,划分成|U|个分挑战{chalj},|U|表示集合U中的元素个数,满足每个chalj=(Ij,Kj,αj),其中Ij={(in,jn,kn)|(in,jn,kn)∈I并且jn=j}, ●Assuming that the index set {j} of the cloud server where the c data blocks selected by TPA is represented by U, TPA divides the total challenge chal into |U| divided challenges {chal j },| U| represents the number of elements in the set U, satisfying Each chal j = (I j ,K j ,α j ), where I j ={(i n ,j n ,k n )|(i n ,j n ,k n )∈I and j n =j} ,
●TPA将chalj发送给服务器CSj。• TPA sends chal j to server CS j .
10、收到挑战的服务器计算相应证明10. The server receiving the challenge calculates the corresponding proof
●收到挑战chalj的云服务器CSj对Ij中的每一个数据块索引(in,jn,kn),分别以相应的为密钥,利用伪随机函数f计算即每一个数据块索引对应一个rn。其中由CA在第一步中选取并公开。● The cloud server CS j that receives the challenge chal j indexes (i n , j n , k n ) for each data block in I j , respectively with the corresponding As the key, use the pseudo-random function f to calculate That is, each data block index corresponds to one r n . in Picked up and published by the CA in the first step.
●云服务器CSj对Ij中属于同一用户(如用户DOi)的所有数据块{(in,jn,kn)|(in,jn,kn)∈Ij并且in=i,jn=j}的第l∈[1,s]个分区,计算得到包含有s个元素的集合{Fij′l|l=1,...,s},其中表示索引为in的云用户存储在索引为j的云服务器CSj上的第kn个数据块的第l个分区。云服务器CSj对Ij中所有的用户做上述相同的操作,并将所有得到的集合做并集组成新的集合{F′ijl|i∈Oj,l=1,...,s},其中Oj表示Ij中包含的所有云用户的索引的集合。Cloud server CS j pairs all data blocks in I j belonging to the same user (such as user DO i ) {(i n ,j n ,k n )|(i n ,j n ,k n )∈I j and i n =i,j n =j}'s l∈[1,s]th partition, calculate Get a set {F ij ′ l |l=1,...,s} containing s elements, where Indicates the cloud user whose index is i n The lth partition of the knth data block stored on cloud server CS j with index j. The cloud server CS j performs the same operation above for all users in I j , and combines all obtained sets to form a new set {F′ ijl |i∈O j ,l=1,...,s} , where O j represents the set of indices of all cloud users contained in I j .
●对Ij中所有数据块的数据标签CSj计算 是第in个云用户存放在第jn个服务器上的第kn个数据块的数据标签,包含两部分即和 ● Data labels for all data blocks in I j CS j Computing is the data label of the k nth data block stored by the i nth cloud user on the j nth server, which consists of two parts, namely with
●云服务器CSj针对每个被挑战的云用户DOi(i∈Oj),对存储在其上的所有数据块,以αj中与云用户DOi的数据块索引对应的aiτ为参数,按照如图5所示的方法构建一棵MHT,表示为TRijτ,其树根为Rijτ。其中αj由chalj=(Ij,Kj,αj)给出。所有Oj中云用户的数据块构建的MHT树根和其对应的用户、服务器索引构成集合{(i,j,Rijτ)|i∈Oj}。For each challenged cloud user DO i (i∈O j ), the cloud server CS j , for all data blocks stored on it, takes the a iτ corresponding to the data block index of the cloud user DO i in α j as Parameters, build an MHT according to the method shown in Figure 5, denoted as TR ijτ , and its tree root is R ijτ . where α j is given by chal j = (I j , K j , α j ). The MHT tree root constructed by the data blocks of all cloud users in O j and its corresponding user and server indexes form a set {(i,j,R ijτ )|i∈O j }.
●云服务器CSj构造证明Pj=(S′j,T′j,{F′ijl|i∈Oj,l=1,...,s},{(i,j,Rijτ)|i∈Oj})。Cloud server CS j constructs proof P j =(S′ j ,T′ j ,{F′ ijl |i∈O j ,l=1,...,s},{(i,j,R ijτ )| i∈O j }).
11、所有被挑战的云服务器将证明发送给校验者TPA11. All challenged cloud servers send proofs to the verifier TPA
12、TPA批处理校验证明12. TPA batch verification certificate
●TPA收到所有被挑战服务器返回的证明后,对这些证明进行批处理校验,校验步骤如下:先计算然后校验等式(1)是否成立,其中等式(1)中O表示校验者生成的总挑战chal中所涉及的云用户的索引集合。After TPA receives all the certificates returned by the challenged server, it performs batch verification on these certificates. The verification steps are as follows: first calculate Then check whether Equation (1) holds true, where O in Equation (1) represents the index set of cloud users involved in the total challenge chal generated by the verifier.
1)若等式(1)成立,说明批处理校验通过,即总挑战中涉及的云用户的数据审计结果为验证通过。1) If equation (1) holds true, it means that the batch verification is passed, that is, the data audit result of the cloud users involved in the total challenge is verified as passed.
2)若等式(1)不成立,则对云服务器CSj(j∈U)返回的集合{(i,j,Rijτ)|i∈Oj}中的每个元素(i,j,Rijτ),TPA利用(i,j)和τ(τ由TPA在第9步中选取),查询定位索引表Indexi中第τ行,第j+1列中的值chrijτ,并校验等式(2)是否成立2) If equation (1) is not established, then for each element ( i , j , R ijτ ), TPA uses (i, j) and τ (τ is selected by TPA in step 9), to query the value chr ijτ in row τ and column j+1 in index i of the positioning index table, and check, etc. Whether formula (2) holds
若等式(2)成立,说明云用户DOi存放在云服务器CSj上的数据完整,即DOi存放在CSj上的数据审计结果为验证通过。If equation (2) holds true, it means that the data stored by cloud user DO i on cloud server CS j is complete, that is, the audit result of data stored on CS j by DO i is verified.
若等式(2)不成立,说明云用户DOi存放在云服务器CSj上的数据遭到破坏,即审计结果为验证不通过。TPA输出错误数据所属的云用户索引和所在服务器的索引(i,j)。If the equation (2) is not established, it means that the data stored by the cloud user DO i on the cloud server CS j is damaged, that is, the audit result is that the verification fails. TPA outputs the cloud user index to which the error data belongs and the index (i, j) of the server where it resides.
13、TPA向审计结果为验证通过的相应云用户发送审计成功的审计报告。向审计结果为验证不通过的相应用户发送错误数据块所属服务器的索引。13. The TPA sends an audit report of successful audit to the corresponding cloud user whose audit result is verified as passing. Send the index of the server to which the error data block belongs to the corresponding user whose audit result is that the verification fails.
Claims (8)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710178312.5A CN106911708B (en) | 2017-03-23 | 2017-03-23 | A cloud data public audit method that supports batch verification and has the function of locating error data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710178312.5A CN106911708B (en) | 2017-03-23 | 2017-03-23 | A cloud data public audit method that supports batch verification and has the function of locating error data |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106911708A true CN106911708A (en) | 2017-06-30 |
| CN106911708B CN106911708B (en) | 2019-12-03 |
Family
ID=59194566
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201710178312.5A Active CN106911708B (en) | 2017-03-23 | 2017-03-23 | A cloud data public audit method that supports batch verification and has the function of locating error data |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106911708B (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108256048A (en) * | 2018-01-12 | 2018-07-06 | 哈尔滨工业大学深圳研究生院 | The auditing by third party method that user file data is supported to restore |
| CN111473851A (en) * | 2020-05-12 | 2020-07-31 | 上海电机学院 | Weighing scale system |
| CN118869217A (en) * | 2024-06-05 | 2024-10-29 | 北京航空航天大学杭州创新研究院 | Certificate-based drone data auditing method, device, equipment and medium |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160196517A1 (en) * | 2015-01-07 | 2016-07-07 | Byron Burpulis | Engine, system and method of providing automated risk mitigation |
| CN106169954A (en) * | 2016-08-01 | 2016-11-30 | 浪潮集团有限公司 | A kind of cloud service auditing system based on digital signature and timestamp and method |
| CN106254374A (en) * | 2016-09-05 | 2016-12-21 | 电子科技大学 | A kind of cloud data public audit method possessing duplicate removal function |
-
2017
- 2017-03-23 CN CN201710178312.5A patent/CN106911708B/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160196517A1 (en) * | 2015-01-07 | 2016-07-07 | Byron Burpulis | Engine, system and method of providing automated risk mitigation |
| CN106169954A (en) * | 2016-08-01 | 2016-11-30 | 浪潮集团有限公司 | A kind of cloud service auditing system based on digital signature and timestamp and method |
| CN106254374A (en) * | 2016-09-05 | 2016-12-21 | 电子科技大学 | A kind of cloud data public audit method possessing duplicate removal function |
Non-Patent Citations (2)
| Title |
|---|
| FUCAI ZHOU,ET AL: "Identity-Based Batch Provable Data Possession", 《SPRINGER INTERNATIONAL PUBLISHING AG 2016》 * |
| HE K,ET AL: "An Efficient Public Batch Auditing Protocol for Data Security in Multi-Cloud Storage", 《2013 8TH ANNUAL CHINAGRID CONFERENCE》 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108256048A (en) * | 2018-01-12 | 2018-07-06 | 哈尔滨工业大学深圳研究生院 | The auditing by third party method that user file data is supported to restore |
| CN111473851A (en) * | 2020-05-12 | 2020-07-31 | 上海电机学院 | Weighing scale system |
| CN118869217A (en) * | 2024-06-05 | 2024-10-29 | 北京航空航天大学杭州创新研究院 | Certificate-based drone data auditing method, device, equipment and medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106911708B (en) | 2019-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113364600B (en) | Certificateless public auditing method for integrity of cloud storage data | |
| Wang et al. | Enabling public auditability and data dynamics for storage security in cloud computing | |
| CN113162768B (en) | A blockchain-based smart IoT device authentication method and system | |
| CN107508686B (en) | Identity authentication method and system, computing device and storage medium | |
| CN112019591A (en) | A blockchain-based cloud data sharing method | |
| CN104993937B (en) | A kind of method of inspection for cloud storage data integrity | |
| CN113312574A (en) | Cloud data integrity auditing method based on block chain | |
| CN112787796B (en) | Aggregation method and device for detecting false data injection in edge calculation | |
| CN112910632B (en) | A new cloud data integrity verification method for multiple data users and protecting user privacy | |
| Li et al. | An efficient proof of retrievability with public auditing in cloud computing | |
| CN105072086A (en) | Cloud-storage batch auditing method based on MapReduce | |
| US11184176B2 (en) | System and method for generating data signatures over non-continuously bidirectional communication channels | |
| CN114362958B (en) | Intelligent home data security storage auditing method and system based on blockchain | |
| CN101969377A (en) | Zero-knowledge identity authentication method and system | |
| CN106411999A (en) | Cloud storage key generation method, cloud data storage method and auditing methods | |
| CN103986732A (en) | Cloud storage data audit method against key leakage | |
| US20230006836A1 (en) | Multi-party and multi-use quantum resistant signatures and key establishment | |
| CN115442057B (en) | A randomized blind signature method and system with strong unlinkability | |
| CN108337092B (en) | Method and system for performing collective authentication in a communication network | |
| CN114567422A (en) | Public verification truth value determination method based on privacy protection | |
| US9292671B1 (en) | Multi-server authentication using personalized proactivization | |
| US8954728B1 (en) | Generation of exfiltration-resilient cryptographic keys | |
| CN106911708B (en) | A cloud data public audit method that supports batch verification and has the function of locating error data | |
| CN116366239B (en) | A cloud auditing method and system for anonymous data | |
| CN110808953A (en) | Cloud data verifiable backup method with position perception |
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 |