Cloud storage method based on multi-copy secure duplicated data deletion and dual data integrity auditing
By adopting multi-copy deduplication and dual data integrity audit methods in cloud storage systems, combined with the blockchain arbitration mechanism, the problems of data redundancy, audit vulnerabilities and dispute arbitration in cloud storage are solved, and efficient and secure data storage is achieved.
Patent Information
- Application Number
- CN202411796766.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2044-12-09
AI Technical Summary
There are data redundancy, data audit vulnerabilities and a lack of effective data dispute arbitration mechanism in existing cloud storage systems, which affect storage efficiency and security.
Multi-replica deduplication and dual data integrity audit methods are adopted, and the intelligent block-level deduplication and multi-level integrity verification mechanism is combined with message locking encryption algorithm and proof of ownership protocol to ensure the security and integrity of the data, and the blockchain's arbitration mechanism is used to resolve disputes.
It effectively reduces data redundancy, improves storage efficiency and security, ensures data integrity and reliability, and significantly improves the security and overall performance of cloud storage systems.
Smart Images

Figure CN119759267A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data storage and security technology, and in particular to a multi-copy duplicate data deletion and double data integrity audit method, as well as a cloud storage method based on the method, aiming to improve data storage efficiency and ensure data security, and solve the problems of data redundancy and audit loopholes in existing cloud storage. Background Art
[0002] The rapid development of blockchain and cloud service technologies has made efficient and secure cloud storage an important research direction. According to a report from the Internet Data Center, the global data volume is expected to reach 175ZB by 2025, making how to store this massive data safely, reliably and efficiently a key challenge. Modern cloud storage systems based on blockchain contain three basic components: data storage, data auditing and arbitration. However, major challenges in these areas have seriously affected storage efficiency and security. These include:
[0003] (1) Single-copy storage files pose a single point of failure threat, and excessive data redundancy seriously affects storage efficiency and cost-effectiveness in large-scale applications.
[0004] (2) Existing cloud storage solutions lack an efficient and secure decentralized collaborative data audit mechanism and fail to fully guarantee the integrity and security of data.
[0005] (3) There is a lack of an effective data dispute arbitration mechanism, and the interests of all parties are not fairly protected. Summary of the invention
[0006] Purpose of the invention: In order to meet the existing challenges, the purpose of the present invention is to provide a multi-copy deduplication and dual data integrity audit method, as well as a cloud storage method and system based on the method, which adopts deduplication and dual data integrity audit technology, and through intelligent block-level deduplication of the same file and different files and a multi-level integrity verification mechanism, compared with traditional file-level deduplication and single-copy data integrity audit technology, can ensure user data privacy and efficient storage.
[0007] Technical solution: To achieve the above-mentioned invention object, the present invention adopts the following technical solution:
[0008] In a first aspect, the present invention provides a method for deduplication of multiple copies and dual data integrity audit, comprising the following steps:
[0009] (1) Data upload is achieved based on a secure deduplication storage model, which stores data copies on multiple cloud servers, encrypts data through a message locking encryption algorithm, and enhances data security in combination with a proof of ownership protocol;
[0010] (2) Implementing data audit using a dual data audit mechanism, which includes: multiple cloud service providers performing an initial collaborative audit to verify the integrity of stored data; users performing a verification audit in the event of a dispute to ensure data consistency by comparing audit results;
[0011] (3) The blockchain-based arbitration mechanism achieves dispute resolution by recording audit results and executing smart contracts.
[0012] Furthermore, the message locking encryption algorithm generates a key related to the data content to ensure that only one encrypted copy is stored when different users upload the same data to the same cloud storage server.
[0013] Furthermore, the user generates multiple copies of the data file and uploads them to different cloud servers respectively. The data upload stage includes initial upload and subsequent upload. The initial upload process includes the following steps:
[0014] User sends upload request <T i ,Y i ,σ i >To all cloud servers that want to store copies of the file, where T i ,σ i are the duplicate data removal label and auxiliary verification label, Y i is a hash containing user identity, time and data block index; the cloud server local storage searches for duplicate tag sets and obtains duplicate block sets C dep Tags dep and unique block set C uni Tags uni , then the cloud server requests the user to return C uni If some of the encrypted data blocks do not have unique block sets on some cloud servers, the subsequent upload will be executed;
[0015] After receiving the C sent by the user uni After that, the cloud server checks C uni With its label T uni If the consistency is passed, the cloud server maintains the tuple <T i ,Y i ,σ i > and store the encrypted data block c i To store files;
[0016] The user deletes the local file and only maintains the tuple <T i ,Y i ,σ i ,sk,pk> is used for data access and retrieval, sk,pk are the user's private key and public key respectively;
[0017] The subsequent upload process is that for duplicate files, the cloud server checks whether the user actually owns the file, and the cloud server and the user will execute the ownership proof protocol.
[0018] Furthermore, the cloud server and the user will perform the steps of the ownership proof protocol including:
[0019] When the cloud server receives a subsequent upload request from the user, it generates an ownership challenge Chal PoW =(q,q 1 ,q 2 ), where q∈[1,n], n represents the total number of encrypted data blocks, q 1 ,q 2 ∈Z q , where Z q represents the set of integers modulo q, and will challenge Chal PoW Publish to blockchain;
[0020] The user receives Chal from the blockchain PoW After generating the ownership certificate, the user calculates: a j =π 1 (H block ||t||q 1 ||j), b j =π 2 (H block ||t||q 2 ||j), Where j represents the current data block index and j∈[1,q], For data blocks hash of, t is the current time, π 1 , π 2 Represents two pseudo-random functions, || represents parameter connection; finally, the user generates proof of ownership and publish it on the blockchain;
[0021] The cloud server receives the Proof from the blockchain PoW After that, check as follows:
[0022]
[0023] Where e represents the bilinear mapping formula, σ and Y represent the tag set uploaded by the user, and a j and b jrepresents the index parameter calculated by the user, u is a random value, and g is the generator of the multiplication cycle group; if the bilinear mapping equation holds, the cloud server will publish the verification result PoW.Verify = 1 to the blockchain, indicating that the user is the legal owner and the user is added to the owner list of the file; otherwise, the cloud server will publish the verification result PoW.Verify = 0 to the blockchain, which means that the uploader is not the real owner of the data.
[0024] Furthermore, the ownership proof protocol prevents malicious users from forging data ownership by verifying the signature and access rights of the data owner.
[0025] Furthermore, the initial collaborative audit in the dual data audit mechanism includes the following steps:
[0026] Each cloud server generates its own random number r k and send them to users through secure channels. Users aggregate these k Value to generate audit challenge Where K represents the number of cloud servers participating in the audit, N represents the system public key parameter, and then the challenge Chal Audit =(r chal ,s) are published to the blockchain, where s represents the number of challenge blocks and s∈[1,n];
[0027] Each cloud server receives Chal from the blockchain Audit After that, generate the integrity proof Proof Audit , calculated as follows: j ′ =π 1 (H block ||t||r chal ||j), b j ′ =π 2 (H nlock ||t||r chal ||j), Each cloud server generates an integrity certificate where j∈[1,s], For data blocks The hash of ; then compare it with the selected r k Combine and calculate the hash value H k , and Proof Audit and H k Publish to blockchain;
[0028] Each cloud server receives Proof of Audit and H k After that, you can kDistribute to other cloud servers; each cloud server uses H k =H 2 (Proof Audit ||r k ) Verify the Proof from other cloud servers Audit The effectiveness of H 2 is a hash function; it will compare all valid Proof Audit to determine the integrity of the copies stored on the corresponding cloud servers; if all cloud servers unanimously pass, each cloud server publishes the audit results as an Audit Result =1; if Proof Audit If there is a dispute, a follow-up review will be conducted.
[0029] Furthermore, in the dual data audit mechanism, when the initial audit result is disputed, the user conducts a subsequent audit based on the initial audit proof of the disputed cloud server, including: the user obtains information about the cloud service provider that failed the initial audit from the blockchain, downloads the corresponding Proof Audit , and run the verification algorithm for subsequent audits as follows:
[0030]
[0031] where a j ′ and b j ′ Indicates the index parameter calculated by the user; if the bilinear mapping equation holds, it means that the integrity verification is passed, and the user publishes the audit result Audit on the blockchain Result =1; if the verification fails, the user publishes the audit result on the blockchain Result =0.
[0032] Furthermore, the blockchain-based arbitration mechanism automatically executes the dispute resolution process through smart contracts and records the audit results in the blockchain in an unalterable form.
[0033] In the second aspect, the present invention provides a cloud storage method based on multi-copy secure deduplication and dual data integrity audit, which is divided into seven main stages: system setting, key generation and data encryption, label generation, data upload, data audit, arbitration and data decryption. The data upload is based on a secure deduplication storage model, the deduplication storage model is based on multiple cloud servers to store data copies, data encryption is achieved through a message locking encryption algorithm, and data security is enhanced in combination with a proof of ownership protocol; the data audit uses a dual data audit mechanism, which is a dual data integrity audit, and the dual data audit mechanism includes: multiple cloud service providers perform initial collaborative audits to verify the integrity of stored data; users perform verification audits in the event of disputes, and ensure data consistency by comparing audit results; the arbitration is based on blockchain, and dispute resolution is achieved by recording audit results and executing smart contracts.
[0034] In a third aspect, the present invention provides a cloud storage system based on multi-copy secure deduplication and dual data integrity audit, comprising a key server, a cloud server and a blockchain network, wherein the cloud server is a plurality of cloud servers, and data upload is realized based on a secure deduplication storage model, wherein the deduplication storage model stores data copies based on a plurality of cloud servers, realizes data encryption through a message locking encryption algorithm, and enhances data security in combination with a proof of ownership protocol; the plurality of cloud servers are also used for collaborative auditing, and a dual data auditing mechanism is utilized in the data auditing stage, and initial collaborative auditing is performed by a plurality of cloud service providers to verify the integrity of the stored data; users perform verification audits in the event of disputes, and ensure data consistency by comparing audit results; the blockchain network realizes dispute resolution by recording audit results and executing smart contracts.
[0035] Beneficial effects: The present invention successfully solves the data redundancy, data audit loopholes and security issues in traditional cloud storage by innovatively introducing multi-copy deduplication and dual data integrity audit technology. The multi-copy storage strategy not only enhances the fault tolerance and reliability of data and prevents the risk of single point failure, but also greatly optimizes the utilization of storage space through intelligent deduplication, thereby improving the storage efficiency of the cloud storage system. The dual data integrity audit mechanism ensures that data always maintains integrity during storage and transmission through multi-level verification, effectively resists potential data tampering and loss risks, and significantly improves the security and reliability of the system.
[0036] Through precise auditing mechanisms and efficient arbitration mechanisms, the present invention ensures the integrity and reliability of data throughout the entire storage process, greatly improving the security of the cloud storage system. This invention not only solves the common security risks in cloud storage, but also improves storage efficiency and overall system performance by optimizing data storage and management processes, promoting the innovation and development of cloud storage services. In short, the main benefit of the present invention is that it significantly improves the data security, storage efficiency and system reliability of cloud storage, providing a more secure and efficient solution for the cloud storage industry. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 4 is a system model diagram of an embodiment of the present invention.
[0038] Figure 2 This is a diagram of a duplicate data deletion model according to an embodiment of the present invention.
[0039] Figure 3 This is a diagram of a dual data integrity audit model according to an embodiment of the present invention. DETAILED DESCRIPTION
[0040] The technical solution of the present invention is described in more detail below in conjunction with the accompanying drawings and specific embodiments.
[0041] The present invention relates to a multi-copy deduplication and dual data integrity audit method, and a cloud storage method based on multi-copy secure deduplication and dual data integrity audit, aiming to provide cloud data storage security and storage efficiency. The multi-copy secure deduplication and dual data integrity audit method includes the following key technologies: first, data upload is implemented based on a secure deduplication storage model, multiple cloud servers are used to store data copies, data encryption is implemented through a message locking encryption algorithm, and data security is enhanced in combination with a proof of ownership protocol to improve data security and reduce data redundancy. Secondly, data audit is implemented using a dual data audit mechanism, and multiple cloud servers perform initial collaborative audits to verify the integrity of stored data; users perform verification audits in the event of disputes, and ensure data consistency by comparing audit results. Finally, an arbitration mechanism based on blockchain is introduced to achieve transparent and efficient dispute resolution by recording audit results and executing smart contracts.
[0042] Among them, the message locking encryption algorithm generates a key related to the data content to ensure that only one encrypted copy is stored when different users upload the same data to the same cloud storage server. The ownership proof protocol prevents malicious users from forging data ownership by verifying the signature and access rights of the data owner. The initial collaborative audit in the dual data audit mechanism is completed by multiple cloud service providers to reduce the risk of single point failure. The blockchain-based arbitration mechanism automatically executes the dispute resolution process through smart contracts and records the audit results in the blockchain in an unalterable form.
[0043] The cloud storage method based on multi-copy secure deduplication and dual data integrity audit is divided into seven main stages: system setup, key generation and data encryption, label generation, data upload, data audit, arbitration and data decryption. The data upload is based on a secure deduplication storage model, which stores data copies based on multiple cloud servers, implements data encryption through a message locking encryption algorithm, and enhances data security in combination with a proof of ownership protocol; the data audit utilizes a dual data audit mechanism, which is a dual data integrity audit, and the dual data audit mechanism includes: multiple cloud service providers perform initial collaborative audits to verify the integrity of stored data; users perform verification audits in the event of disputes, and ensure data consistency by comparing audit results; the arbitration is based on blockchain, and dispute resolution is achieved by recording audit results and executing smart contracts.
[0044] In the system setting stage, the public parameters Para = {G 1 , G 2 , g, H 1 , H 2 , H 3 , π 1 , π 2}, G 1 and G 2 are two multiplication cyclic groups of order p, g is the generator of the multiplication cyclic group, and three hash functions H 1 , H 2 , H 3 Define and generate necessary metadata, two pseudo-random functions π 1 , π 2 Helps users or cloud servers generate the index and coefficient of the challenge block.
[0045] The key generation and data encryption phase includes four parts: generating system key pairs, user key pairs, generating data convergence encryption key pairs, and data encryption. Specifically, it includes: (1) The key server generates its own public-private key pair ((N, E), d). (2) The user generates his own public-private key pair (sk, pk). (3) The user interacts with the key server to generate a plaintext data block m.i The convergent encryption key k i (4) The user uses the convergent encryption key k i Encrypted plaintext data block m i Get the encrypted data block c i .
[0046] In the tag generation phase, two algorithms are involved, with the input encrypted data block c i , the algorithm outputs the duplicate data deletion label T i and auxiliary verification labels σ i Specific examples include: (1) The user inputs the encrypted data block c i , the algorithm outputs the duplicate data deletion label T i (2) The user enters the encrypted data block c i , the algorithm outputs auxiliary verification label σ i .
[0047] The data upload phase includes two parts: initial upload and subsequent upload. The details are as follows:
[0048] 1) Initial upload: Users need to upload a copy of the file to each cloud server, first upload the duplicate data removal tag T i Go to the cloud server to check for duplicate data blocks. The cloud server will i Compare with local tags, requiring users to pass a unique file tag set C uni , upload non-repeatable block set C uni To the cloud server, after receiving it, the cloud server checks C uni With label T uni Consistent and save data.
[0049] 2) Subsequent upload: If the file is already stored in the cloud server, the user executes the ownership proof protocol. Specifically, it includes: (1) Input the system public parameter Para, and the algorithm outputs the challenge Chal of deduplication PoW (2) Enter the challenge Chal PoW , the algorithm generates proof of ownership Proof PoW (3) Enter the proof of ownership PoW , the user returns the ownership verification result.
[0050] The dual data integrity audit phase includes two parts: initial audit and follow-up audit. The details are as follows:
[0051] 1) Initial audit: This is performed by the cloud server that stores the data copy. It includes: (1) Input system public parameters Para, algorithm output data audit challenge Chal Audit (2) Enter the challenge Chal Audit, the algorithm generates proof of ownership Proof Audit (3) Enter the proof of ownership Audut , the cloud server returns the data audit verification result.
[0052] 2) Subsequent audit: The user conducts a subsequent audit verification. Including: input proof of ownership Proof Audit , the user returns the data audit verification result.
[0053] During the arbitration phase, cloud servers are rewarded or punished based on the data audit results. This includes: (1) If a cloud server stores user data completely, the cloud server will be rewarded. (2) If a cloud server fails to store user data completely, the cloud server will be punished.
[0054] In the data decryption stage, a data decryption algorithm is included to decrypt the encrypted data. The user enters the encrypted data block c i and the convergence key k i , the algorithm outputs plaintext data block m i .
[0055] Combine the following Figures 1 to 3 The detailed process shown in the figure is used to explain in detail a cloud storage method based on multi-copy secure deduplication and double data integrity audit disclosed in an embodiment of the present invention.
[0056] 1. System setting stage:
[0057] The system runs the system setting algorithm to generate system parameters according to the safety parameter λ. First, two multiplication cyclic groups G of order p are selected. 1 and G 2 , construct the bilinear map e:G 1 ×G 2 →G 2 Secondly, from G 1 Select a generator g and a random element u, three hash functions H 1 , H 2 , H 3 is defined to generate some necessary metadata, as well as two pseudo-random functions π 1 , π 2 To help users or cloud servers generate the index and coefficient of the challenge block. Finally, the public parameter Para = {G 1 , G 2 , g, H 1 , H 2 , H 3 , π 1 , π 2}.
[0058] 2. Key generation and data encryption stage:
[0059] The user chooses a random value sk∈Z N As the private key, Z N Represents a set of integers modulo N, with the public key pk=g sk The key server generates a public-private key pair ((N,E), d), where (N,E) is the key server public key parameter and is made public, and d is the private key parameter. The user selects a random seed θ i , and calculate a random value l i =π 1 (H block ||t||θ i ||i), where || represents parameter connection, H block is the hash of the current block, t is the current time, i represents the current data block index, and the hash value h of the original file is calculated. i =H 1 (m i ), the user calculates and sends to the key server The key server receives x i Post-calculation And send it to the user, the user calculates If so, the user calculates the convergence key k i =H 2 (z i ). The user uses the converged key k i Encrypted plaintext data block m i Get the ciphertext c i .
[0060] 3. Label generation stage:
[0061] The user calculates T i =H 1 (c i ) to calculate the tag for deduplication for each encrypted data block, and the user calculates the verification tag σ for each encrypted data block i For: Y i =H 3 (U ID ||t||i), where U ID Indicates the user identity. Where u is a random value, H 3 (c i ) represents the encrypted block c i The hash of sk is the user's private key. <T i ,Y i ,σ i >Upload to each cloud server participating in the storage.
[0062] 4. Data upload stage:
[0063] 1) Initial upload: During the initial upload process, each cloud server manages a different set of files, resulting in the deduplication of duplicate data tags T dep and deduplication label T for unique data uni Different from these deduplication tags, these deduplication tags come from the user's deduplication tags T i Therefore, all cloud servers require users to provide unique data C uni In general, the initial upload process consists of the following steps:
[0064] (1) User sends an upload request <T i ,Y i ,σ i >For all cloud servers that want to store file copies, search for duplicate tag sets in the local storage of the cloud servers and obtain duplicate block sets C dep Tags dep and unique block set C uni Tags uni , then the cloud server requests the user to return C uni If some of the encrypted data blocks do not have unique block sets on some cloud servers, the subsequent upload will be performed.
[0065] (2) After receiving the C sent by the user uni After that, the cloud server checks C uni With its label T uni If the consistency is passed, the cloud server maintains the tuple <T i ,Y i ,σ i > and store the encrypted data block c i to store files.
[0066] (3) The user deletes the local file and only maintains the tuple <T i ,Y i ,σ i ,sk,pk> is used for data access and retrieval.
[0067] 2) Subsequent uploads:
[0068] For duplicate files, the cloud server needs to check whether the user actually owns the file, wherein the cloud server and the user will perform a subsequent upload protocol.
[0069] (1) When the cloud server receives a subsequent upload request from the user, it runs the PoW.Chal algorithm to generate an ownership challenge Chal PoW =(q,q 1 ,q 2), where q∈[1,n], n represents the total number of encrypted data blocks, q 1 ,q 2 ∈Z q , where Z q represents the set of integers modulo q, and will challenge Chal PoW Published to the blockchain.
[0070] (2) The user receives Chal from the blockchain PoW Then run PoW.Proof to generate proof of ownership. User calculation: a j =π 1 (H block ||t||q 1 ||j), b j =π 2 (H block ||t||q 2 ||j), Where j represents the current data block index and j∈[1,q], For data blocks Finally, the user generates a proof of ownership And publish it on the blockchain.
[0071] (3) The cloud server receives the Proof from the blockchain PoW Finally, run PoW.Verify to verify the aggregate proof. Check as follows:
[0072]
[0073] Where e represents the bilinear mapping formula, q is the challenge parameter value representing the number of challenge blocks to be verified, σ and Y represent the label set uploaded by the user, and a j and b j Indicates the index parameter of the user calculation, u is a random value, Proof PoW represents the calculated proof of ownership, and g is the generator of the multiplication cycle group. If the bilinear mapping equation holds, the cloud server will publish the verification result PoW.Verify = 1 to the blockchain, indicating that the user is the legal owner and add the user to the owner list of the file. Otherwise, the cloud server will publish the verification result PoW.Verify = 0 to the blockchain, which means that the uploader is not the real owner of the data.
[0074] 5. Double data audit stage:
[0075] 1) Initial audit stage:
[0076] The user interacts with the cloud server to generate an audit request, which is then published on the blockchain. Each CSP downloads the challenge, calculates its own integrity proof, and distributes it to other cloud servers. The cloud servers then compare the consistency of all proofs for verification. The specific steps are as follows:
[0077] (1) Each cloud server generates its own random number r k , where k represents the kth cloud server and is sent to the user through a secure channel. The user aggregates these r k Value to generate audit challenge Where K represents the number of cloud servers participating in the audit, N represents the system public key parameter, and then Chal Audit =(r chal ,s) is published to the blockchain, where s represents the number of challenge blocks and s∈[1,n], n represents the total number of encrypted blocks.
[0078] (2) Each cloud server receives Chal from the blockchain Audit After that, run the Audit.Proof algorithm to generate the integrity proof Proof Audit , calculated as follows: j ′ =π 1 (H block ||t||r chal ||j), b j ′ =π 2 (H block ||t||r chal ||j), Each cloud server generates an integrity certificate where j∈[1,s], and then compare it with the selected r k Combine and calculate the hash value H k , and Proof Audit and H k Publish to the blockchain.
[0079] (3) Each cloud server receives the Proof of Aydit and H k After that, execute the verification algorithm and set your own r k Distribute to other cloud servers. Then, each cloud server uses H k =H 2 (Proof Audit ||r k ) Verify the Proof from other cloud servers Audit The validity of all valid Proof AuditThe consistency of the audit is to determine the integrity of the copies stored on the corresponding cloud servers. If all cloud servers pass the audit unanimously, each cloud server will publish the audit results as an Audit Result =1. If Proof Audit If there is a dispute, a follow-up review will be conducted to verify its validity.
[0080] 2) Subsequent audit stage:
[0081] When the initial audit results are disputed, the user conducts a subsequent audit based on the initial audit proof of the disputed cloud server. The user performs the following steps:
[0082] (1) The user obtains information about the CSP that failed the initial audit from the blockchain and downloads the corresponding Proof Audit , and run the verification algorithm for subsequent audits as follows:
[0083]
[0084] Where e represents the bilinear mapping formula, s is the challenge parameter value representing the number of challenge blocks to be verified, σ and Y represent the tag parameter set uploaded by the user, and a j ′ and b j j Indicates the index parameter of the user calculation, u is a random value, Proof Audit represents the audit proof of the calculation, and g is the generator of the multiplication cycle group. If the bilinear mapping equation holds, it means that the integrity verification has passed, and the user publishes the audit result Audit on the blockchain. Result = 1. If the verification fails, the user publishes the audit result on the blockchain. Result =0, arbitration is required.
[0085] 6. Arbitration stage:
[0086] Smart contract arbitration includes an algorithm. Before the dual data integrity audit phase begins, the smart contract collects user rewards and deposits from all cloud servers. After the dual data audit is completed, the smart contract conducts reward and punishment arbitration for each cloud server based on the audit results. The arbitration process is automatically executed by the smart contract, and the specific steps are as follows:
[0087] (1) Before conducting an integrity audit, the user requires the cloud server to deposit the corresponding deposit into the smart contract, and the cloud server transfers the bonus to the smart contract.
[0088] (2) After receiving the cloud server’s deposit and the user’s bonus, the smart contract retrieves the integrity audit results from the blockchain. Result .
[0089] (3) If Audit Result = 1, indicating that all cloud servers have correctly stored the file. The smart contract then distributes the user’s bonus to the cloud servers and returns the cloud server’s deposit.
[0090] (4) If Audit Result =0, the smart contract transfers the deposit of the cloud server that failed the integrity verification to the user as compensation, and distributes the user's bonus to other cloud servers participating in the audit.
[0091] 7. Data decryption stage:
[0092] The data decryption algorithm uses the block key k i and the encrypted data block c i As input, output plaintext data block m i The specific process is as follows:
[0093] (1) When a user intends to restore outsourced data in a cloud server, the user first selects the cloud server that stores the replica and downloads the encrypted data block c i . Then, the user recalculates c i Data marked T i ′ and compare it with the stored tag T i Make a comparison.
[0094] (2) When T i ′ =T i , indicating that the data integrity check succeeds. The user then executes the decryption algorithm and reconstructs the original file.
[0095] An embodiment of the present invention also discloses a cloud storage system based on multi-copy secure deduplication and dual data integrity audit, including a key server, a cloud server and a blockchain network, wherein the cloud server is a plurality of cloud servers, and data upload is realized based on a secure deduplication storage model, wherein the deduplication storage model stores data copies based on a plurality of cloud servers, realizes data encryption through a message locking encryption algorithm, and enhances data security in combination with a proof of ownership protocol; the plurality of cloud servers are also used for collaborative auditing, and a dual data auditing mechanism is utilized in the data auditing stage, and initial collaborative auditing is performed by a plurality of cloud service providers to verify the integrity of stored data; users perform verification audits in case of disputes, and ensure data consistency by comparing audit results; the blockchain network realizes dispute resolution by recording audit results and executing smart contracts.
Claims
1. A method for deduplication of multiple copies and double data integrity audit, characterized in that: The following steps are involved: (1) Data upload is achieved based on a secure deduplication storage model, which stores data copies on multiple cloud servers, encrypts data through a message locking encryption algorithm, and enhances data security in combination with a proof of ownership protocol; (2) Implementing data audit using a dual data audit mechanism, which includes: multiple cloud service providers performing an initial collaborative audit to verify the integrity of stored data; users performing a verification audit in the event of a dispute to ensure data consistency by comparing audit results; (3) The blockchain-based arbitration mechanism achieves dispute resolution by recording audit results and executing smart contracts.
2. The method for deduplication of multiple copies and double data integrity audit according to claim 1, characterized in that: The message locking encryption algorithm generates a key related to the data content to ensure that only one encrypted copy is stored when different users upload the same data to the same cloud storage server.
3. The method for deduplication of multiple copies and double data integrity audit according to claim 1, characterized in that: The user generates multiple copies of the data file and uploads them to different cloud servers. The data upload stage includes initial upload and subsequent upload. The initial upload process includes the following steps: User sends upload request <T i ,Y i ,σ i >To all cloud servers that want to store copies of the file, where T i ,σ i are the duplicate data removal label and auxiliary verification label, Y i is a hash containing user identity, time and data block index; the cloud server local storage searches for duplicate tag sets and obtains duplicate block sets C dep Tags dep and unique block set C uni Tags uni , then the cloud server requests the user to return C uni If some of the encrypted data blocks do not have unique block sets on some cloud servers, the subsequent upload will be executed; After receiving the C sent by the user uni After that, the cloud server checks C uni With its label T uni If the consistency is passed, the cloud server maintains the tuple <T i ,Y i ,σ i > and store the encrypted data block c i To store files; The user deletes the local file and only maintains the tuple <T i ,Y i ,σ i ,sk,pk> is used for data access and retrieval, sk,pk are the user's private key and public key respectively; The subsequent upload process is that for duplicate files, the cloud server checks whether the user actually owns the file, and the cloud server and the user will execute the ownership proof protocol.
4. The method for deduplication of multiple copies and double data integrity auditing according to claim 3, characterized in that: The steps that the cloud server and the user will perform in the proof of ownership protocol include: When the cloud server receives a subsequent upload request from the user, it generates an ownership challenge Chal PoW =(q,q1,q2), where q∈[1,n], n represents the total number of encrypted data blocks, q1,q2∈Z q , where Z q represents the set of integers modulo q, and will challenge Chal PoW Publish to blockchain; The user receives Chal from the blockchain Pow After generating the ownership certificate, the user calculates: a j =π1(H block ||t||q1||j), b j =π2(H block ||t||q2||j), Where j represents the current data block index and j∈[1,q], For data blocks hash, t is the current time, π1 and π2 represent two pseudo-random functions, and || represents parameter connection; finally, the user generates a proof of ownership and publish it on the blockchain; The cloud server receives the Proof from the blockchain PoW After that, check as follows: Where e represents the bilinear mapping formula, σ and Y represent the tag set uploaded by the user, and a j and b j represents the index parameter calculated by the user, u is a random value, g is the generator of the multiplication cyclic group, and pk is the user's public key; if the bilinear mapping equation holds, the cloud server will publish the verification result PoW.Verify = 1 to the blockchain, indicating that the user is the legal owner and the user is added to the owner list of the file; otherwise, the cloud server will publish the verification result PoW.Verify = 0 to the blockchain, which means that the uploader is not the real owner of the data.
5. The method for deduplication of multiple copies and double data integrity audit according to claim 1, characterized in that: The ownership proof protocol prevents malicious users from forging data ownership by verifying the signature and access rights of the data owner.
6. The method for deduplication of multiple copies and double data integrity auditing according to claim 1, characterized in that: The initial collaborative audit in the dual data audit mechanism includes the following steps: Each cloud server generates its own random number r k and send them to users through secure channels. Users aggregate these k Value to generate audit challenge Where K represents the number of cloud servers participating in the audit, N represents the system public key parameter, and then the challenge Chal Audit =(r chal ,s) are published to the blockchain, where s represents the number of challenge blocks and s∈[1,n], n represents the total number of encrypted blocks; Each cloud server receives Chal from the blockchain Audit After that, generate the integrity proof Proof Audit , calculated as follows: j ′ =π1(H block ||t||r chal ||j), b j ′ =π2(H block ||t||r chal ||j), Each cloud server generates an integrity certificate where j∈[1,s], For data blocks hash of , t is the current time, π1 and π2 represent two pseudo-random functions, and || represents parameter connection; then combine it with the selected r k Combine and calculate the hash value H k , and Proof Audit and H k Publish to blockchain; Each cloud server receives Proof of Audit and H k After that, you can k Distribute to other cloud servers; each cloud server uses H k =H2(Proof Audit ||r k ) Verify the Proof from other cloud servers Audit Validity, where H2 is a hash function; all valid Proof Audit consistency to determine the integrity of the copies stored on the corresponding cloud servers; If all cloud servers unanimously pass, each cloud server will publish the audit results as Audit Result =1; if Proof Audit If there is a dispute, a follow-up review will be conducted.
7. The method for deduplication of multiple copies and double data integrity auditing according to claim 6, characterized in that: In the dual data audit mechanism, when the initial audit result is disputed, the user conducts a subsequent audit based on the initial audit proof of the disputed cloud server, including: the user obtains information about the cloud service provider that failed the initial audit from the blockchain, downloads the corresponding Proof Audit , and run the verification algorithm for subsequent audits as follows: Where e represents the bilinear mapping formula, s represents the number of challenge blocks to be verified, σ and Y represent the label parameter set uploaded by the user, and a j ′ and b j ′ represents the index parameter calculated by the user, u is a random value, g is the generator of the multiplication cycle group, and pk is the user's public key; if the bilinear mapping equation holds, it means that the integrity verification is passed, and the user publishes the audit result Audit on the blockchain Result =1; if the verification fails, the user publishes the audit result on the blockchain Result =0.
8. The method for deduplication of multiple copies and double data integrity audit according to claim 1, characterized in that: The blockchain-based arbitration mechanism automatically executes the dispute resolution process through smart contracts and records the audit results in the blockchain in an unalterable form.
9. A cloud storage method based on multi-copy secure data deduplication and dual data integrity audit, including system setting, key generation and data encryption, label generation, data upload, data audit, arbitration and data decryption; characterized in that: The data upload is based on a secure deduplication storage model, which stores data copies on multiple cloud servers, implements data encryption through a message locking encryption algorithm, and combines a proof of ownership protocol to enhance data security; The data audit utilizes a dual data audit mechanism, which includes: multiple cloud service providers perform an initial collaborative audit to verify the integrity of stored data; users perform a verification audit in the event of a dispute, and ensure data consistency by comparing audit results; The arbitration is implemented based on blockchain, and dispute resolution is achieved by recording audit results and executing smart contracts.
10. A cloud storage system based on multi-copy secure deduplication and dual data integrity audit, comprising a key server, a cloud server and a blockchain network, characterized in that: The cloud server is a plurality of cloud servers, and data upload is realized based on a secure deduplication storage model. The deduplication storage model is based on storing data copies on a plurality of cloud servers, realizing data encryption through a message locking encryption algorithm, and combining with a proof of ownership protocol to enhance data security; the plurality of cloud servers are also used for collaborative auditing, and a dual data auditing mechanism is used in the data auditing stage, and the initial collaborative audit is performed by a plurality of cloud service providers to verify the integrity of the stored data; In case of disputes, users conduct verification audits and ensure data consistency by comparing audit results; the blockchain network achieves dispute resolution by recording audit results and executing smart contracts.
Citation Information
Patent Citations
Searchable encryption method based on Chinese in cloud environment
CN105681280A
Secondary encryption-based data validation and data recovery algorithm in cloud storage
CN106611128A
Lightweight and privacy protected public cloud auditing system and method for smart city
CN108400981A
Public cloud storage data integrity test method based on block chain
CN109391621A
Data auditing and security deduplication cloud storage system and method based on block chain
CN111355705A