Cloud data audit method and device, electronic device, and computer-readable storage medium

By selecting the auditor committee using verifiable random functions in cloud data audit, the DoS attacks and conspiracy attacks caused by the unreliability of third-party auditors in the existing technology are solved, and efficient and secure and complete audits of cloud data are achieved.

CN114499818BActive Publication Date: 2024-12-31ZHEJIANG LAB +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210088338.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-25
Publication Date
2024-12-31
Estimated Expiration
2042-01-25

AI Technical Summary

Technical Problem

Existing cloud data auditing solutions rely on third-party auditors and are vulnerable to DoS attacks and conspiracy attacks. Assuming that third-party auditors are trustworthy and unreliable in practice.

Method used

A random lottery function is constructed using verifiable random functions, and an audit committee with audit qualification is selected. The audit committee is randomly selected to complete data integrity audits, and resist DoS attacks and conspiracy attacks.

Benefits of technology

The data integrity audit is performed by a randomly selected auditor committee, which enhances the security of the system, resists DoS attacks and conspiracy attacks, and ensures the reliability of data integrity audits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114499818B_ABST
    Figure CN114499818B_ABST
Patent Text Reader

Abstract

The present invention discloses a cloud data auditing method and device, an electronic device, and a computer-readable storage medium, including: a terminal with data constructs a verifiable label for integrity auditing of its data, and then stores the data and the label in a cloud server. In order to ensure the integrity of the stored data, a third-party auditor is authorized to verify the integrity of the data stored in the cloud server. Since the third-party auditor is not completely trustworthy, a cloud data auditing method is proposed. For each audit operation, an auditor committee with randomly selected members is established to complete the audit operation. Because the members of the auditor committee are randomly selected, denial of service attacks and collusion attacks can be resisted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud data auditing, and specifically to a cloud data auditing method and device, electronic equipment, and computer-readable storage medium. Background Art

[0002] Cloud computing is a new computing model based on shared IT resources. With the continuous development of information technology, the scale of data has increased exponentially, with the average daily increase in data reaching PB or even EB levels. In order to cope with the growing demand for data storage, more and more companies or individuals choose to outsource local data to cloud storage servers, which can greatly save economic and management costs. However, when users store data on cloud servers, they lose physical control over the data, which leads to some new security issues, such as hardware failure of storage devices and malicious tampering by cloud storage service providers. In particular, in recent years, frequent cloud storage server data security incidents, such as Apple's personal information leakage incident, Google Gmail mailbox user data loss incident, and Amazon EC2 user data deletion incident, have caused users to worry about cloud data security. Therefore, cloud storage data integrity verification has become a hot topic in research.

[0003] Traditional cloud storage data integrity auditing solutions require users to download data from cloud servers to local servers and then complete data integrity verification locally. Obviously, this method will cause large computing and communication overhead. In order to better verify the integrity of cloud storage data, researchers have proposed a series of cloud data integrity auditing solutions, so that users do not need to download all data from cloud servers to complete cloud data integrity audits. Most of the current cloud data auditing solutions use third-party auditors (TPA) to perform integrity audits on data stored on cloud servers, which can greatly reduce the audit burden on data owners.

[0004] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art:

[0005] Existing solutions basically assume that the third-party auditor TPA is trustworthy. However, in real applications, third-party auditors are not completely trustworthy, and due to early disclosure of their identities, they are vulnerable to attacks by adversaries, such as Denial of Service (DoS) attacks and collusion attacks. Summary of the invention

[0006] The purpose of the embodiments of the present application is to provide a cloud data audit method and device, an electronic device, and a computer-readable storage medium, which uses a verifiable random function (Verifiable Random Functions, VRF) to construct a random lottery function, and selects a third party auditor committee (TPAC) with audit qualifications according to the lottery function. Because each integrity audit is completed by a randomly selected TPAC, it can resist DoS attacks and collusion attacks.

[0007] According to a first aspect of an embodiment of the present application, a cloud data audit method is provided, including:

[0008] The terminal that owns the data builds a verifiable tag locally for data integrity audit;

[0009] The terminal that owns the data stores the data and its verifiable label in a cloud server;

[0010] The terminal that owns the data authorizes a third-party auditor to conduct an integrity audit on the data stored on the cloud server;

[0011] When there is an audit task, one is selected from a group of third-party auditors as a third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server;

[0012] The cloud server generates evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge;

[0013] A number of third-party auditors are randomly selected from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node;

[0014] The third-party auditor leader node collects the verification results, and packages the verification results into a new block and stores it on the verification chain;

[0015] The group of third-party auditors constitutes the blockchain network.

[0016] According to a second aspect of an embodiment of the present application, a cloud data audit method is provided, which is applied to a terminal having data, and includes:

[0017] Build verifiable tags locally for data integrity auditing;

[0018] Storing the data and its verifiable labels in a cloud server;

[0019] Authorize a third-party auditor to perform integrity audit on the data stored on the cloud server, so that when there is an audit task, one is selected from a group of third-party auditors as a third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server. The cloud server generates evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge, and uses a verifiable random function to randomly select a number of third-party auditors from a group of third-party auditors to form a third-party auditor committee. The third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node. The third-party auditor leader node collects the verification result, packages the verification result into a new block and stores it on the verification chain, wherein the group of third-party auditors constitutes a blockchain network.

[0020] According to a third aspect of an embodiment of the present application, a cloud data audit method is provided, which is applied to a cloud server and includes the following steps:

[0021] Receiving and storing data and its verifiable label, wherein the data comes from a terminal that owns the data, and the verifiable label is locally constructed by the terminal that owns the data for data integrity audit;

[0022] receiving a challenge issued by a third-party auditor leader node, wherein the third-party auditor leader node is selected from a group of third-party auditors, the third-party auditor is authorized by the terminal that owns the data to perform an integrity audit on the data stored on the cloud server, and when there is an audit task, one of the third-party auditors is selected from the group of third-party auditors as the third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server;

[0023] According to the requirements of the challenge, evidence of data integrity is generated using the stored data and verifiable tags, so that a number of third-party auditors are randomly selected from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node, and the third-party auditor leader node collects the verification results, and packages the verification results into a new block and stores them on the verification chain, wherein the group of third-party auditors constitutes a blockchain network.

[0024] Furthermore, one is selected from a group of third-party auditors as the third-party auditor leader node, specifically including:

[0025] Each third-party auditor generates a public-private key pair using a key generation algorithm in a verifiable random function, and the terminal that owns the data configures the weight of each third-party auditor;

[0026] According to the private key, each third-party auditor calls an evaluation algorithm in a verifiable random function, and determines whether each third-party auditor is a candidate node for a third-party auditor leader node according to an evaluation result;

[0027] According to the public key, the candidate node of the third-party auditor leader node calls the verification algorithm in the verifiable random function, and when the verification result is 1, the candidate node with the largest weight is selected as the third-party auditor leader node.

[0028] Furthermore, the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node, specifically including:

[0029] Each third-party auditor first checks whether its weight is greater than 0. The third-party auditor whose weight is greater than 0 calls the evaluation algorithm in the verifiable random function, and determines whether the third-party auditor is selected as a member of the third-party auditor committee according to the evaluation result;

[0030] Each member of the third-party auditor committee verifies the evidence returned by the server, using an existing verification method. Only when more than half of the members of the third-party auditor committee pass the verification, the verification is successful, otherwise the verification fails;

[0031] The result of success or failure of the above verification is sent to the third-party auditor leader node.

[0032] According to a fourth aspect of an embodiment of the present application, a cloud data auditing device is provided, including:

[0033] The first building block is used for the terminal that owns the data to locally build a verifiable tag for data integrity audit;

[0034] A first storage module, used for the terminal having the data to store the data and its verifiable label in the cloud server;

[0035] A first authorization module, used for a terminal that owns data to authorize a third-party auditor to perform an integrity audit on the data stored on the cloud server;

[0036] A challenge module, used for selecting one from a group of third-party auditors as a third-party auditor leader node when there is an audit task, and the third-party auditor leader node issues a challenge to the cloud server;

[0037] A first generating module, configured for the cloud server to generate evidence of data integrity using stored data and verifiable tags according to the requirements of the challenge;

[0038] A return module, used to randomly select a number of third-party auditors from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, wherein the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node;

[0039] The packaging and chaining module is used for the third-party auditor leading node to collect the verification results, and package the verification results into a new block and store them on the verification chain;

[0040] The group of third-party auditors constitutes the blockchain network.

[0041] According to a fifth aspect of an embodiment of the present application, a cloud data auditing device is provided, which is applied to a terminal having data, and includes the following steps:

[0042] The second building block is used to build verifiable tags locally for data integrity auditing;

[0043] A second storage module, used to store the data and its verifiable tags in a cloud server;

[0044] The second authorization module is used to authorize a third-party auditor to perform an integrity audit on the data stored on the cloud server, so that when there is an audit task, one is selected from a group of third-party auditors as a third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server. The cloud server generates evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge, and uses a verifiable random function to randomly select a number of third-party auditors from a group of third-party auditors to form a third-party auditor committee. The third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node. The third-party auditor leader node collects the verification result, packages the verification result into a new block and stores it on the verification chain, wherein the group of third-party auditors constitutes a blockchain network.

[0045] According to a sixth aspect of an embodiment of the present application, a cloud data auditing device is provided, which is applied to a cloud server and includes the following steps:

[0046] A first receiving module is used to receive and store data and a verifiable tag thereof, wherein the data comes from a terminal that owns the data, and the verifiable tag is locally constructed by the terminal that owns the data for data integrity audit;

[0047] a second receiving module, configured to receive a challenge issued by a third-party auditor leader node, wherein the third-party auditor leader node is selected from a group of third-party auditors, the third-party auditor is authorized by the terminal having the data to perform an integrity audit on the data stored on the cloud server, and when there is an audit task, one of the third-party auditors is selected from the group of third-party auditors as the third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server;

[0048] The second generation module is used to generate evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge, so that a number of third-party auditors are randomly selected from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node, the third-party auditor leader node collects the verification results, and packages the verification results into a new block and stores them on the verification chain, wherein the group of third-party auditors constitutes a blockchain network.

[0049] According to a seventh aspect of an embodiment of the present application, there is provided an electronic device, including:

[0050] one or more processors;

[0051] A memory for storing one or more programs;

[0052] When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of the first, second, and third aspects.

[0053] According to an eighth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which computer instructions are stored. When the instructions are executed by a processor, the steps of the method described in any one of the first, second, and third aspects are implemented.

[0054] The technical solution provided by the embodiments of the present application may have the following beneficial effects:

[0055] From the above embodiments, it can be seen that the present application uses a randomly selected auditor committee to perform data integrity auditing, which can resist DoS attacks and collusion attacks. Combined with the random auditor committee proposed in the present invention, any solution that uses TPA to complete cloud data auditing can resist DoS attacks and collusion attacks.

[0056] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0058] Figure 1 is a system structure diagram according to an exemplary embodiment.

[0059] Figure 2 It is a schematic diagram of a system framework according to an exemplary embodiment.

[0060] Figure 3 The present invention is a flowchart of a cloud data auditing method according to an exemplary embodiment.

[0061] Figure 4 The present invention is a block diagram of a cloud data auditing device according to an exemplary embodiment.

[0062] Figure 5 The present invention is a flowchart of a cloud data auditing method according to an exemplary embodiment.

[0063] Figure 6 The present invention is a block diagram of a cloud data auditing device according to an exemplary embodiment.

[0064] Figure 7 The present invention is a flowchart of a cloud data auditing method according to an exemplary embodiment.

[0065] Figure 8 The present invention is a block diagram of a cloud data auditing device according to an exemplary embodiment. DETAILED DESCRIPTION

[0066] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0067] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0068] It should be understood that although the terms first, second, third, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0069] The following first explains and illustrates the technical terms of the present invention:

[0070] Data Owner (DO): refers to the enterprise or individual user with storage needs who outsources their data to the cloud server. They need to generate verifiable tags for their data and then store the data and verifiable tags in the cloud server.

[0071] Cloud Service Provider (CSP): stores the data and verifiable labels of the data owner, faithfully performs the audit tasks of the third-party auditor, and generates corresponding evidence.

[0072] Third Party Auditor (TPA): Authorized by the data owner DO, and based on their own weight, they are determined to be eligible to participate in the LTPA and the third-party audit committee TPAC to help complete regular or irregular cloud data audits.

[0073] Leader of Third Party Auditor (LTPA): LTPA is selected as the leader node of this round by a lottery algorithm, and is mainly responsible for initiating challenge tasks and block generation within this round.

[0074] Third Party Auditor Committee (TPAC): All authorized third-party auditors (TPA) select committee members who are eligible for this round of verification through a lottery algorithm. They are mainly responsible for auditing the evidence of the outsourced data returned by the CSP this time.

[0075] Blockchain Network (BCN): All authorized third-party auditors TPA use a consensus algorithm to generate a verification chain that embeds TPAC's verification information of the evidence returned by CSP.

[0076] Pseudo-random function: a mapping that maps numbers in one data domain to another data domain. It is irreversible and is implemented using standard hash algorithms, such as SHA-1 and SHA-256.

[0077] The present invention is further described below in conjunction with embodiments and drawings.

[0078] Embodiment 1:

[0079] The embodiment of the present invention provides a cloud data audit method, such as Figure 1 and Figure 2 As shown in the figure, the cloud data audit method involves the data owner, cloud server and blockchain network, which form a system. The blockchain network is composed of a group of third-party auditors, and the third-party auditor leader node and the third-party auditor committee are both nodes. Figure 3 , the method may include the following steps:

[0080] Step S11, the terminal with the data constructs a verifiable tag locally for data integrity audit;

[0081] Specifically, there are many methods for constructing verifiable labels in outsourced data auditing solutions, but given the high efficiency of verifiable labels generated by algebraic signatures, here we use the generation of verifiable labels using algebraic signatures as an example. However, the method for generating verifiable labels is not limited to this.

[0082] The terminal with the data divides the data file F into n data blocks, namely (F[1], F[2], ..., F[n]). Then, n values ​​are randomly selected. And construct τ i = FID||IN||TIME (|| represents the concatenation of strings), where FID is the unique identifier of the file, IN is the index number of the data block, and TIME is the timestamp. The terminal that owns the data calculates the checksum value of each data block Then, the algebraic signature T of each data block is calculated i =S γ (C i ||τ i ). Where f(·) is an XOR homomorphic function, S γ (·) is the algebraic signature function.

[0083] Finally, the terminal with the data sends and sk c to the cloud server, and and sk t Sent to said third party auditor.

[0084] Step S12, the terminal that owns the data stores the data and its verifiable tag in the cloud server;

[0085] Specifically, the terminal that owns the data sends the data and its verifiable label to the cloud server using the network.

[0086] Step S13, the terminal that owns the data authorizes a third-party auditor to perform an integrity audit on the data stored on the cloud server;

[0087] Specifically, during the system initialization process, the blockchain network needs to be configured. The nodes on the blockchain network are all third-party auditors. The weights can be set according to the reputation of each third-party auditor. The design of the weights is not the focus of the present invention. The terminal with the data can freely choose the weight configuration method.

[0088] Step S14, when there is an audit task, one is selected from a group of third-party auditors as a third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server;

[0089] Specifically, when selecting the third-party auditor leader node, a verifiable random function (VRF) is used, including three polynomial time algorithms, as follows:

[0090] First, suppose G is an additive group of order p, its generator is g, and the pseudo-random function h1(·):{0,1} * →G, h2(·):{0,1} * →Z p ,h3(·):{0,1} * →Z p .

[0091] —Gen(1 k )→(vsk,vpk): key generation algorithm, generate public and private key pairs, randomly select Private key vsk=k, public key vpk=kg.

[0092] —Eval(vsk,seed)→(rval,π): Evaluate the algorithm, generate random numbers and evidence, remember vsk=k, first calculate H=h1(seed), randomly select Calculate rH, rg; calculate s = h2(rH, rg), t = (rs*k) mod p; calculate V = kH; generate a random number rval = h3(V), and set evidence π = (V, t, s).

[0093] —Ver(vpk,seed,rval,π)→(1 / 0): verification algorithm, let vpk=Y, decompose π=(V′,t′,s), first calculate H′=h1(seed); then calculate U1=t′H′+sV′, U2=t′g+sY; calculate s′=h2(U1,U2); if s′≡s, it means that the random number is valid, the verification is successful, and the output is 1, otherwise the verification fails and the output is 0.

[0094] Verifiable random function is a cryptographic scheme that maps input to verifiable pseudo-random output. VRF outputs a random number. Since it contains the private key signature of the generator, the verifier can determine the legitimacy of the random number through the public key. VRF has three major characteristics: verifiability, uniqueness, and randomness. By using the randomness of VRF, it is ensured that the nodes selected each time are random and unpredictable.

[0095] Selecting the third-party auditor leader node specifically includes the following steps:

[0096] (1) Each third-party auditor generates a public-private key pair using a key generation algorithm in a verifiable random function, and the terminal that owns the data configures the weight of each third-party auditor.

[0097] Specifically, each third-party auditor calls the algorithm VRF.Gen(1 k ) Generate a public-private key pair. Assume there are a third-party auditors in total. The generated public key is VPK = {vpk1, vpk2, …, vpk a}, the private key is VSK = {vsk1, vpk2, …, vsk a}, the weight of each TPA is W = {w1,w2,…,w a}, the weight can be configured by the data owner, and can also be rated based on the reputation of the TPA, but is not limited to this.

[0098] (2) Based on the private key, each third-party auditor calls an evaluation algorithm in a verifiable random function, and determines whether each third-party auditor is a candidate node for a third-party auditor leader node based on the evaluation result.

[0099] Specifically, each third-party auditor calls the algorithm VRF.Eval (vsk i ,seed r )→(hash i ,π i ), when hash i / 2 hashlen >λ, return (hash i ,π i ,1)(indicates becoming a candidate leader node), otherwise returns (hashi ,π i ,0), let the selected candidate leader node be CanA={CanA1,CanA2,…,CanA m}.

[0100] (3) Based on the public key, the candidate node of the third-party auditor leader node calls the verification algorithm in the verifiable random function, and when the verification result is 1, the candidate node with the largest weight is selected as the third-party auditor leader node.

[0101] Specifically, each candidate leader node calls the algorithm VRF.Ver(vpk i ,hash i ,i,seed r ), when the verification result is 1 and hash i / 2 hashlen >λ, select the third-party auditor with the largest weight as the third-party auditor leader node.

[0102] The process of the third-party auditor leader node issuing a challenge to the cloud server is as follows:

[0103] The third-party auditor leader node randomly selects a subset {s1,s2,..,s c}, Random selection Then construct a challenge message And sent to the cloud server and all third-party auditors.

[0104] The third-party auditor leader node randomly generates a seed for selecting the third-party auditor committee and sends it to all third-party auditors.

[0105] Step S15, the cloud server generates evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge;

[0106] Specifically, after the cloud server receives the challenge message from the third-party auditor leader node, it calculates Then construct the response evidence And generate new transactions based on the response evidence in It indicates the node addresses of all third-party auditors, time is the timestamp of this transaction, and status indicates the verification status of the corresponding proof.

[0107] Step S16, using a verifiable random function to randomly select a number of third-party auditors from a group of third-party auditors to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node;

[0108] Specifically, the third-party auditor committee selection process includes the following sub-steps:

[0109] (1) Each third-party auditor first checks whether its weight is greater than 0. A third-party auditor whose weight is greater than 0 calls the evaluation algorithm in the verifiable random function and determines whether the third-party auditor is selected as a member of the third-party auditor committee based on the evaluation result.

[0110] Specifically, each third-party auditor first checks whether its own weight is greater than 0, and only continues if the weight is greater than 0.

[0111] Each third-party auditor with a weight greater than 0 calls the algorithm VRF.Eval(vsk i ,seed r )→(hash i ,π i ), when hash i / 2 hashlen >λ, return (hash i ,π i ,1) (indicating that the selected member is a member of the third-party auditor committee), otherwise return (hash i ,π i ,0). Let the selected third-party auditor committee be TPAC = {TPAC1, TPAC2,…, TPAC b}.

[0112] (2) Each member of the third-party auditor committee verifies the evidence returned by the server using existing verification methods. Verification is successful only when more than half of the members of the third-party auditor committee pass the verification. Otherwise, verification fails.

[0113] Specifically, each member of the third-party auditor committee verifies the evidence returned by the server, and the verification process is as follows:

[0114] Each member of the third-party auditor committee shall calculate if If the verification fails, it returns 0, otherwise it returns 1, indicating that the verification is successful.

[0115] The basis is as follows:

[0116]

[0117] Each member of the third-party auditor committee shall calculate Output verify_tx = (result i ,v_info i ,rval,π).

[0118] The verification is successful only when more than half of the members of the third-party auditor committee pass the verification, otherwise the verification fails.

[0119] (3) The third-party auditor committee members send the verification success or failure result to the third-party auditor leader node.

[0120] Step S17, the third-party auditor leader node collects the verification results, packages the verification results into a new block and stores them on the verification chain; wherein a group of third-party auditors constitute a blockchain network.

[0121] Specifically, the third-party auditor leader node modifies the transaction tx.status according to the verification result verify_tx returned by the third-party auditor committee.

[0122] The third-party auditor leader node packages tx and the verification result verify_tx and puts them into a new block.

[0123] Since the third-party auditor leader node changes the status of the transaction to true when more than half of the third-party auditor committee members pass the verification based on the verification results returned by the third-party auditor committee, otherwise it changes to false. Therefore, when there are misbehaving nodes among the members of the third-party auditor committee, if the number of nodes is less than half of the nodes of the third-party auditor committee members, it will not affect the correctness of the verification result. Therefore, the scheme can effectively resist the threat of misbehaving third-party auditors.

[0124] Verifiable random function, first the key generation algorithm Gen(1 k)→(vsk,vpk), output private key vsk=k, public key vpk=kg. In the process of random number and proof generation algorithm Eval(vsk,seed)→(rval,π), pseudo-random function h1 maps random seed seed to point H on the elliptic curve, that is, H=h1(seed), and by using private key vsk=k, calculates V=kH, and finally outputs random number rval through pseudo-random function h3(V)=h3(kH). Due to the uniqueness of the value range of pseudo-random function, H=h1(seed) can be the same when the same random seed seed is used and the private key vsk=k does not change. Therefore, the random number rval=h3(kH) is deterministic, thus satisfying the uniqueness. Based on the uniform distribution characteristics of pseudo-random function, H=h1(seed) maps random seed seed to point H on the elliptic curve, so that H has random characteristics, thereby making the random number rval random.

[0125] When analyzing verifiability, it is assumed that TPA i According to the random seed seed, the verifiable random function is called to generate the random number rval, and prove π = (V, t, s), and its public key vpk i =kg, then TPA i+1 Upon receiving TPA i The random number rval' sent, proves π' = (V', t', s'), if the random number rval, and proves π = (V, t, s) are not tampered with, then rval' = rval, π' = π, then there are the following related verification calculations:

[0126] Since H′=h1(seed)=H, t′=t, V′=V, then

[0127] Because U'1=t'H'+s'V'=tH+sH=(t+sk)H=rH,

[0128] U′2=t′g+s′(vpk i )=tg+s(vpk i )=tg+s(kg)=(t+sk)g=rg.

[0129] And because s=h2(rH,rg).

[0130] Therefore, we can obtain s′=h2(U′1,U′2)=h2(rH,rg)=s. This proves the verifiability of the lottery function.

[0131] It can be seen from the above embodiments that the present application maps the input into a verifiable pseudo-random output by introducing a verifiable random function. At the same time, the pseudo-random output is signed using the private key of the generator of the pseudo-random output, and the verifier can determine the legitimacy of the pseudo-random output through the public key of the generator. Verifiable random functions have three major characteristics: verifiability, uniqueness, and randomness. By utilizing the randomness of verifiable random functions, it is ensured that the nodes selected each time are random and thus unpredictable. By utilizing the verifiability of verifiable random functions, it is ensured that the random numbers of each third-party auditor are legal. By utilizing a randomly selected third-party auditor committee to perform data integrity audits, the auditors are uncertain and unpredictable each time, thereby resisting denial of service attacks and collusion attacks.

[0132] Corresponding to the aforementioned embodiment of the cloud data audit method, the present application also provides an embodiment of a cloud data audit device.

[0133] Figure 4 1 is a block diagram of a cloud data auditing device according to an exemplary embodiment. Figure 4 , the device comprises:

[0134] The first construction module 11 is used for the terminal having the data to locally construct a verifiable tag for data integrity audit;

[0135] A first storage module 12, for a terminal having data to store the data and its verifiable label in a cloud server;

[0136] A first authorization module 13, used for a terminal that owns data to authorize a third-party auditor to perform an integrity audit on the data stored on the cloud server;

[0137] The challenge module 14 is used to select one from a group of third-party auditors as a third-party auditor leader node when there is an audit task, and the third-party auditor leader node issues a challenge to the cloud server;

[0138] A first generating module 15 is used for the cloud server to generate evidence of data integrity using the stored data and the verifiable tags according to the requirements of the challenge;

[0139] The return module 16 is used to randomly select a number of third-party auditors from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node;

[0140] The packaging and chaining module 17 is used for the third-party auditor leading node to collect the verification results, and package the verification results into a new block and store them on the verification chain;

[0141] The group of third-party auditors constitutes the blockchain network.

[0142] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0143] For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can refer to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application scheme. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0144] Embodiment 2:

[0145] refer to Figure 5 This embodiment provides a cloud data audit method, which is applied to a terminal that owns data, and includes:

[0146] Step S21, constructing a verifiable tag locally for data integrity audit;

[0147] Step S22, storing the data and its verifiable tags in a cloud server;

[0148] Step S23, authorizing a third-party auditor to perform an integrity audit on the data stored on the cloud server, so that when there is an audit task, one is selected from a group of third-party auditors as a third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server. The cloud server generates evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge, and uses a verifiable random function to randomly select a number of third-party auditors from a group of third-party auditors to form a third-party auditor committee. The third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node. The third-party auditor leader node collects the verification results and packages the verification results into a new block and stores them on the verification chain, wherein the group of third-party auditors constitutes a blockchain network.

[0149] Corresponding to the aforementioned embodiment of the cloud data audit method, the present application also provides an embodiment of a cloud data audit device.

[0150] Figure 6 1 is a block diagram of a cloud data auditing device according to an exemplary embodiment. Figure 6 , the device comprises:

[0151] The second construction module 21 is used to locally construct a verifiable tag for data integrity audit;

[0152] A second storage module 22, for storing the data and its verifiable tags in a cloud server;

[0153] The second authorization module 23 is used to authorize a third-party auditor to perform an integrity audit on the data stored on the cloud server, so that when there is an audit task, one is selected from a group of third-party auditors as a third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server. The cloud server generates evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge, and uses a verifiable random function to randomly select a number of third-party auditors from a group of third-party auditors to form a third-party auditor committee. The third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node. The third-party auditor leader node collects the verification result and packages the verification result into a new block and stores it on the verification chain, wherein the group of third-party auditors constitutes a blockchain network.

[0154] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0155] For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can refer to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application scheme. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0156] Embodiment 3:

[0157] refer to Figure 7 This embodiment provides a cloud data audit method, which is applied to a cloud server and includes the following steps:

[0158] Step S31, receiving and storing data and its verifiable label, wherein the data comes from a terminal that owns the data, and the verifiable label is locally constructed by the terminal that owns the data for data integrity audit;

[0159] Step S32, receiving a challenge issued by a third-party auditor leader node, wherein the third-party auditor leader node is selected from a group of third-party auditors, and the third-party auditor is authorized by the terminal that owns the data to perform integrity audit on the data stored on the cloud server. When there is an audit task, one of the third-party auditors is selected from the group of third-party auditors as the third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server;

[0160] Step S33, according to the requirements of the challenge, use the stored data and verifiable tags to generate evidence of data integrity, so that a number of third-party auditors are randomly selected from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server, and sends the verification result to the third-party auditor leader node, the third-party auditor leader node collects the verification results, and packages the verification results into a new block and stores them on the verification chain, wherein the group of third-party auditors constitutes a blockchain network.

[0161] Corresponding to the aforementioned embodiment of the cloud data audit method, the present application also provides an embodiment of a cloud data audit device.

[0162] Figure 8 1 is a block diagram of a cloud data auditing device according to an exemplary embodiment. Figure 8 , the device comprises:

[0163] A first receiving module 31 is used to receive and store data and a verifiable tag thereof, wherein the data comes from a terminal that owns the data, and the verifiable tag is locally constructed by the terminal that owns the data for data integrity audit;

[0164] A second receiving module 32 is used to receive a challenge issued by a third-party auditor leader node, wherein the third-party auditor leader node is selected from a group of third-party auditors, and the third-party auditor is authorized by the terminal that owns the data to perform an integrity audit on the data stored on the cloud server. When there is an audit task, one of the third-party auditors is selected from the group of third-party auditors as the third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server;

[0165] The second generation module 33 is used to generate evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge, so that a number of third-party auditors are randomly selected from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node, and the third-party auditor leader node collects the verification results and packages the verification results into a new block and stores them on the verification chain, wherein the group of third-party auditors constitute a blockchain network.

[0166] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0167] For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can refer to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application scheme. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0168] Correspondingly, the present application also provides an electronic device, comprising: one or more processors; a memory for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the cloud data audit method as described above.

[0169] Correspondingly, the present application also provides a computer-readable storage medium on which computer instructions are stored, characterized in that when the instructions are executed by a processor, the cloud data audit method as described above is implemented.

[0170] Those skilled in the art will readily appreciate other embodiments of the present application after considering the description and practicing the contents disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The description and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the claims.

[0171] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A cloud data audit method, characterized in that: include: The terminal that owns the data builds a verifiable tag locally for data integrity audit; The terminal that owns the data stores the data and its verifiable label in a cloud server; The terminal that owns the data authorizes a third-party auditor to conduct an integrity audit on the data stored on the cloud server; When there is an audit task, one is selected from a group of third-party auditors as a third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server; The cloud server generates evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge; A number of third-party auditors are randomly selected from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node; The third-party auditor leader node collects the verification results, and packages the verification results into a new block and stores it on the verification chain; wherein said set of third-party auditors constitutes a blockchain network; Among them, one is selected from a group of third-party auditors as the third-party auditor leader node, including: Each third-party auditor generates a public-private key pair using a key generation algorithm in a verifiable random function, and the terminal that owns the data configures the weight of each third-party auditor; Based on the private key, each third-party auditor calls an evaluation algorithm in a verifiable random function, and determines whether each third-party auditor is a candidate node for a third-party auditor leader node based on an evaluation result; According to the public key, the candidate node of the third-party auditor leader node calls the verification algorithm in the verifiable random function, and when the verification result is 1, the candidate node with the largest weight is selected as the third-party auditor leader node.

2. A cloud data audit method, characterized in that: Applicable to terminals with data, including: Build verifiable tags locally for data integrity auditing; Storing the data and its verifiable labels in a cloud server; Authorize a third-party auditor to perform integrity audit on the data stored on the cloud server, so that when there is an audit task, one is selected from a group of third-party auditors as a third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server. The cloud server generates evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge, and randomly selects a number of third-party auditors from a group of third-party auditors using a verifiable random function to form a third-party auditor committee. The third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node. The third-party auditor leader node collects the verification result, packages the verification result into a new block and stores it on the verification chain, wherein the group of third-party auditors constitutes a blockchain network; Among them, one is selected from a group of third-party auditors as the third-party auditor leader node, including: Each third-party auditor generates a public-private key pair using a key generation algorithm in a verifiable random function, and the terminal that owns the data configures the weight of each third-party auditor; Based on the private key, each third-party auditor calls an evaluation algorithm in a verifiable random function, and determines whether each third-party auditor is a candidate node for a third-party auditor leader node based on an evaluation result; According to the public key, the candidate node of the third-party auditor leader node calls the verification algorithm in the verifiable random function, and when the verification result is 1, the candidate node with the largest weight is selected as the third-party auditor leader node.

3. A cloud data audit method, characterized in that: Applied to cloud servers, including the following steps: Receiving and storing data and a verifiable tag thereof, wherein the data comes from a terminal that owns the data, and the verifiable tag is locally constructed by the terminal that owns the data for data integrity audit; receiving a challenge issued by a third-party auditor leader node, wherein the third-party auditor leader node is selected from a group of third-party auditors, the third-party auditor is authorized by the terminal that owns the data to perform an integrity audit on the data stored on the cloud server, and when there is an audit task, one of the third-party auditors is selected from the group of third-party auditors as the third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server; According to the requirements of the challenge, evidence of data integrity is generated using the stored data and the verifiable tags, so that a number of third-party auditors are randomly selected from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node, and the third-party auditor leader node collects the verification result, and packages the verification result into a new block and stores it on the verification chain, wherein the group of third-party auditors constitutes a blockchain network; Among them, one is selected from a group of third-party auditors as the third-party auditor leader node, including: Each third-party auditor generates a public-private key pair using a key generation algorithm in a verifiable random function, and the terminal that owns the data configures the weight of each third-party auditor; Based on the private key, each third-party auditor calls an evaluation algorithm in a verifiable random function, and determines whether each third-party auditor is a candidate node for a third-party auditor leader node based on an evaluation result; According to the public key, the candidate node of the third-party auditor leader node calls the verification algorithm in the verifiable random function, and when the verification result is 1, the candidate node with the largest weight is selected as the third-party auditor leader node.

4. A cloud data audit method according to any one of claims 1, 2, and 3, characterized in that: The third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node, specifically including: Each third-party auditor first checks whether its weight is greater than 0. The third-party auditor whose weight is greater than 0 calls the evaluation algorithm in the verifiable random function, and determines whether the third-party auditor is selected as a member of the third-party auditor committee according to the evaluation result; Each member of the third-party auditor committee verifies the evidence returned by the server, using an existing verification method. Only when more than half of the members of the third-party auditor committee pass the verification, the verification is successful, otherwise the verification fails; The result of success or failure of the above verification is sent to the third-party auditor leader node.

5. A cloud data auditing device, characterized in that: include: The first building block is used for the terminal that owns the data to locally build a verifiable tag for data integrity audit; A first storage module, used for the terminal having the data to store the data and its verifiable label in the cloud server; A first authorization module, used for a terminal that owns data to authorize a third-party auditor to perform an integrity audit on the data stored on the cloud server; A challenge module, used for selecting one from a group of third-party auditors as a third-party auditor leader node when there is an audit task, and the third-party auditor leader node issues a challenge to the cloud server; A first generating module, configured for the cloud server to generate evidence of data integrity using stored data and verifiable tags according to the requirements of the challenge; A return module, used to randomly select a number of third-party auditors from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, wherein the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node; The packaging and chaining module is used for the third-party auditor leading node to collect the verification results, package the verification results into a new block and store them on the verification chain; wherein said set of third-party auditors constitutes a blockchain network; Among them, one is selected from a group of third-party auditors as the third-party auditor leader node, including: Each third-party auditor generates a public-private key pair using a key generation algorithm in a verifiable random function, and the terminal that owns the data configures the weight of each third-party auditor; Based on the private key, each third-party auditor calls an evaluation algorithm in a verifiable random function, and determines whether each third-party auditor is a candidate node for a third-party auditor leader node based on an evaluation result; According to the public key, the candidate node of the third-party auditor leader node calls the verification algorithm in the verifiable random function, and when the verification result is 1, the candidate node with the largest weight is selected as the third-party auditor leader node.

6. A cloud data auditing device, characterized in that: Applied to the terminal that has the data, it includes the following steps: The second building block is used to build verifiable tags locally for data integrity auditing; A second storage module, used to store the data and its verifiable tags in a cloud server; A second authorization module is used to authorize a third-party auditor to perform an integrity audit on the data stored on the cloud server, so that when there is an audit task, one is selected from a group of third-party auditors as a third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server. The cloud server generates evidence of data integrity using the stored data and verifiable tags according to the requirements of the challenge, and randomly selects a number of third-party auditors from a group of third-party auditors using a verifiable random function to form a third-party auditor committee. The third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node. The third-party auditor leader node collects the verification result, and packages the verification result into a new block and stores it on the verification chain, wherein the group of third-party auditors constitutes a blockchain network; Among them, one is selected from a group of third-party auditors as the third-party auditor leader node, including: Each third-party auditor generates a public-private key pair using a key generation algorithm in a verifiable random function, and the terminal that owns the data configures the weight of each third-party auditor; Based on the private key, each third-party auditor calls an evaluation algorithm in a verifiable random function, and determines whether each third-party auditor is a candidate node for a third-party auditor leader node based on an evaluation result; According to the public key, the candidate node of the third-party auditor leader node calls the verification algorithm in the verifiable random function, and when the verification result is 1, the candidate node with the largest weight is selected as the third-party auditor leader node.

7. A cloud data auditing device, characterized in that: Applied to cloud servers, including the following steps: A first receiving module is used to receive and store data and a verifiable tag thereof, wherein the data comes from a terminal that owns the data, and the verifiable tag is locally constructed by the terminal that owns the data for data integrity audit; a second receiving module, configured to receive a challenge issued by a third-party auditor leader node, wherein the third-party auditor leader node is selected from a group of third-party auditors, the third-party auditor is authorized by the terminal having the data to perform an integrity audit on the data stored on the cloud server, and when there is an audit task, one of the third-party auditors is selected from the group of third-party auditors as the third-party auditor leader node, and the third-party auditor leader node issues a challenge to the cloud server; A second generation module is used to generate evidence of data integrity using the stored data and the verifiable label according to the requirements of the challenge, so that a number of third-party auditors are randomly selected from a group of third-party auditors using a verifiable random function to form a third-party auditor committee, and the third-party auditor committee verifies the evidence returned by the cloud server and sends the verification result to the third-party auditor leader node, and the third-party auditor leader node collects the verification result, and packages the verification result into a new block and stores it on the verification chain, wherein the group of third-party auditors constitutes a blockchain network; Among them, one is selected from a group of third-party auditors as the third-party auditor leader node, including: Each third-party auditor generates a public-private key pair using a key generation algorithm in a verifiable random function, and the terminal that owns the data configures the weight of each third-party auditor; Based on the private key, each third-party auditor calls an evaluation algorithm in a verifiable random function, and determines whether each third-party auditor is a candidate node for a third-party auditor leader node based on an evaluation result; According to the public key, the candidate node of the third-party auditor leader node calls the verification algorithm in the verifiable random function, and when the verification result is 1, the candidate node with the largest weight is selected as the third-party auditor leader node.

8. An electronic device, characterized in that: include: one or more processors; A memory for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 4.

9. A computer-readable storage medium having computer instructions stored thereon, characterized in that: When the instruction is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.