A cloud storage method based on multi-copy secure deduplication and double data integrity auditing
By employing multi-copy deduplication and dual data integrity auditing methods, the problems of data redundancy and security in cloud storage systems are solved, achieving efficient and secure data storage and arbitration mechanisms, thereby improving storage efficiency and system reliability.
Patent Information
- Application Number
- CN202411796766.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2044-12-09
AI Technical Summary
Existing cloud storage systems suffer from single points of failure, data redundancy affecting storage efficiency and cost, lack of efficient and secure decentralized collaborative data auditing mechanisms, and lack of effective data dispute arbitration mechanisms, resulting in insufficient data security and integrity.
By employing a multi-replica deduplication and dual data integrity auditing approach, data copies are stored on multiple cloud servers. Data security is enhanced by message locking encryption algorithms and proof-of-ownership protocols, and disputes are resolved by combining blockchain arbitration mechanisms to achieve data consistency and integrity verification.
It improves the storage efficiency and security of cloud storage systems, prevents single points of failure, ensures data integrity and reliability, optimizes storage space utilization, and enhances the overall performance and security of the system.
Smart Images

Figure CN119759267B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data storage and security, in particular to a multi-copy deduplication and double data integrity auditing method, and 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 auditing vulnerabilities in existing cloud storage. BACKGROUND
[0002] The rapid development of blockchain and cloud service technology makes efficient and secure cloud storage an important research direction. According to the report of the Internet Data Center, the global data volume is expected to reach 175ZB by 2025, which makes it a key challenge to store these massive amounts of data securely, reliably and efficiently. Modern cloud storage systems based on blockchain contain three basic components: data storage, data auditing and arbitration. However, the major challenges existing in these aspects seriously affect the storage efficiency and security. Including:
[0003] (1) Single-copy storage files have single-point failure threats, and excessive data redundancy seriously affects the storage efficiency and cost-effectiveness in large-scale applications.
[0004] (2) Existing cloud storage solutions lack efficient and secure decentralized collaborative data auditing mechanisms, and fail to fully protect the integrity and security of data.
[0005] (3) Lack of effective data dispute arbitration mechanism, unable to fairly protect the interests of all parties. SUMMARY
[0006] The purpose of the present application is to provide a multi-copy deduplication and double data integrity auditing method, and a cloud storage method and system based on the method, which adopts deduplication and double data integrity auditing technology, and through intelligent block-level deduplication and multi-level integrity checking mechanism for the same file and different files, compared with traditional file-level deduplication and single-copy data integrity auditing technology, it can ensure the user's data privacy and efficient storage.
[0007] Technical solution: In order to achieve the above-mentioned purpose of the application, the present application adopts the following technical solution:
[0008] In the first aspect, the present application provides a multi-copy deduplication and double data integrity auditing method, comprising the following steps:
[0009] (1) Realize data uploading based on a secure deduplication storage model, the deduplication storage model stores data copies based on multiple cloud servers, realizes data encryption through message locking encryption algorithm, and enhances data security in combination with ownership proof protocol;
[0010] (2) Data auditing is implemented by using a double data auditing mechanism, which includes: multiple cloud service providers perform initial collaborative auditing to verify the integrity of stored data; and a user performs verification auditing in a dispute case to ensure data consistency by comparing auditing results;
[0011] (3) A blockchain-based arbitration mechanism realizes dispute resolution by recording auditing results and executing smart contracts.
[0012] Further, the message locking encryption algorithm ensures that when different users upload the same data to the same cloud storage server, only one encrypted copy is stored by generating a key related to the data content.
[0013] Further, the user generates multiple copies of the data file and uploads them to different cloud servers, and the data upload stage includes initial upload and subsequent upload; the initial upload process includes the following steps:
[0014] The user sends an upload request <T i , Y i , σ i > to all cloud servers that want to store copies of the file, where T i , σ i are respectively a deduplication tag and an auxiliary verification tag, and Y i is a hash containing user identity, time and data block index; the cloud server searches for a set of duplicate tags in its local storage, respectively obtains the tags T dep of the duplicate block set C dep and the tags T uni of the unique block set C uni , and then the cloud server requests the user to return the encrypted data blocks of C uni , and if there are some unique block sets that do not exist in some cloud servers, the subsequent upload is performed;
[0015] After receiving the C uni sent by the user, the cloud server checks the consistency of C uni and its tags T uni , and if it passes, the cloud server stores the file by maintaining the tuple <T i , Y i , σ i > and storing the encrypted data block c i ;
[0016] The user deletes the local file and only maintains the tuple <T i , Y i , σ i , sk, pk> for data access and retrieval, where sk and pk are respectively the user's private key and public key;
[0017] In the subsequent upload process, for duplicate files, the cloud server checks whether the user actually owns the file, and the cloud server and the user will execute a proof-of-ownership protocol.
[0018] Furthermore, the steps for the cloud server and the user to execute the proof-of-ownership protocol include:
[0019] 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, and q1, q2 ∈ Z. q Z q Represent the set of integers modulo q, and will challenge Chal PoW Published to the blockchain;
[0020] Users receive Chal from the blockchain PoW Afterwards, ownership proof is generated, and the user calculates: a j =π1(H block ||t||q1||j), b j =π2(H block ||t||q2||j), Where j represents the index of the current data block and j∈[1, q], For data blocks The hash is generated, where t is the current time, π1 and π2 represent two pseudo-random functions, and || represents parameter concatenation; finally, the user generates proof of ownership. And publish it on the blockchain;
[0021] Cloud servers receive proof from the blockchain PoW Then, the following checks were performed:
[0022]
[0023] Where e represents the bilinear mapping formula, σ and Y represent the user-uploaded tag set, and a j and b j This represents the index parameter calculated by the user, where u is a random value and g is the generator of the multiplicative cyclic group. If the bilinear mapping equation holds, the cloud server will publish the verification result PoW.Verify=1 on the blockchain, indicating that the user is the legitimate owner, and add the user to the file's owner list; otherwise, the cloud server will publish the verification result PoW.Verify=0 on the blockchain, meaning that the uploader is not the true data owner.
[0024] Furthermore, the ownership proof protocol prevents malicious users from forging data ownership by verifying the data owner's signature and access permissions.
[0025] Further, 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 sends it to the user through a secure channel, and the user aggregates these r k values to generate an audit challenge where K represents the number of cloud servers participating in the audit, and N represents the system public key parameter, and then the challenge Chal Audit = (r chal , s) is published to the blockchain, where s represents the number of challenge blocks and s∈[1, n];
[0027] After each cloud server receives Chal Audit from the blockchain, it generates an integrity proof Proof Audit , which is calculated as follows: a j ′ = π1(H block ||t||r chal ||j), b j ′ = π2(H nlock ||t||r chal ||j), Each cloud server generates an integrity proof where j∈[1, s], is the hash of the data block ; then it is combined with the selected r k to calculate the hash value H k , and Proof Audit and H k are published to the blockchain;
[0028] After each cloud server receives the Proof Audit and H k of other cloud servers, it distributes its r k to other cloud servers; each cloud server verifies the validity of Proof Audit from other cloud servers using H k = H2(Proof Audit ||r k ), where H2 is a hash function; compare the consistency of all valid Proof Audit to determine the integrity of the copy stored on the corresponding cloud server; if all cloud servers agree, each cloud server publishes the audit result as Audit Result = 1; if there is a dispute over Proof Audit , subsequent audits are conducted.
[0029] Further, in the double data audit mechanism, when the initial audit result is controversial, the user performs subsequent audit according to the initial audit proof of the controversial cloud server, including: the user obtains information about the cloud service provider that fails the initial audit from the blockchain, downloads the corresponding Proof Audit , and runs the verification algorithm for subsequent audit, as follows:
[0030]
[0031] where a j ′ and b j ′ represent the index parameters calculated by the user; if the bilinear mapping equation is established, indicating that the integrity verification is passed, the user publishes the audit result Audit Result = 1 on the blockchain; if the verification fails, the user publishes the audit result Audit Result = 0 on the blockchain.
[0032] Further, the arbitration mechanism based on the blockchain automatically executes the dispute resolution process through the smart contract, and records the audit result in the form of tamper-proof in the blockchain.
[0033] In the second aspect, the present application provides a cloud storage method based on multi-copy secure deduplication and double data integrity audit, which includes seven main stages: system setting, key generation and data encryption, tag generation, data upload, data audit, arbitration and data decryption. The data upload is based on a secure deduplication storage model, the deduplication storage model stores data copies based on multiple cloud servers, realizes data encryption through message locking encryption algorithm, and enhances data security in combination with ownership proof protocol; the data audit utilizes a double data audit mechanism for double data integrity audit, the double data audit mechanism includes: multiple cloud service providers perform initial collaborative audit to verify the integrity of the stored data; the user performs verification audit in the case of dispute to ensure data consistency by comparing the audit results; the arbitration is realized based on the blockchain, by recording the audit results and executing the smart contract, to realize dispute resolution.
[0034] In a third aspect, the present application provides a cloud storage system based on multi-copy secure deduplication and double data integrity audit, comprising a key server, a cloud server and a blockchain network, the cloud server is a plurality of cloud servers, and data uploading is realized based on a secure deduplication storage model, 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 cooperative audit, and in a data audit stage, an initial cooperative audit is performed by a plurality of cloud service providers by using a double data audit mechanism to verify the integrity of stored data; a user performs verification audit in a dispute case, and ensures data consistency by comparing audit results; and the blockchain network realizes dispute resolution by recording audit results and executing a smart contract.
[0035] Beneficial effects: The present application successfully solves the problems of data redundancy, data audit vulnerabilities and security in traditional cloud storage by innovatively introducing multi-copy deduplication and double data integrity audit technology. The multi-copy storage strategy not only enhances the fault tolerance and reliability of data, prevents the risk of single point failure, but also optimizes the utilization rate of storage space through intelligent deduplication, thereby improving the storage efficiency of the cloud storage system. The double data integrity audit mechanism ensures the integrity of data 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 the precise audit mechanism and efficient arbitration mechanism, the present application ensures the integrity and reliability of data during the entire storage process, greatly improves the security of the cloud storage system. The present application not only solves the security risks commonly existing in cloud storage, but also optimizes the data storage and management process, improves the storage efficiency and overall system performance, and promotes the innovation and development of cloud storage services. In summary, the main benefits of the present application are to significantly improve the data security, storage efficiency and system reliability of cloud storage, and to provide a more secure and efficient solution for the cloud storage industry. BRIEF DESCRIPTION OF DRAWINGS
[0037] Fig. 1 The system model diagram of the embodiment of the present application.
[0038] Fig. 2 The deduplication model diagram of the embodiment of the present application.
[0039] Fig. 3 The double data integrity audit model diagram of the embodiment of the present application. DETAILED DESCRIPTION
[0040] The technical solutions of the present application will be described in more detail below with reference to the drawings and specific embodiments.
[0041] The present application relates to a kind of multiple copy deduplication and double data integrity audit method, and based on multiple copy security deduplication and double data integrity audit cloud storage method, to provide the security and storage efficiency of cloud data storage.The described multiple copy security deduplication and double data integrity audit method includes following key technologies: first, based on the data upload of security deduplication storage model, store data copy using multiple cloud servers, data encryption is realized by message locking encryption algorithm, and data security is enhanced in combination with ownership proof protocol, to improve data security and reduce data redundancy.Second, data audit is realized using double data audit mechanism, initial collaborative audit is executed by multiple cloud servers, and the integrity of stored data is verified;User verifies audit in dispute, and ensures data consistency by comparing audit results.Finally, introduce the arbitration mechanism based on block chain, and realize transparent and efficient dispute resolution by recording audit results and executing smart contract.
[0042] Among them, message locking encryption algorithm generates key related to data content, to ensure that different users upload same data to same cloud storage server only store one encrypted copy.Ownership proof protocol verifies the signature and access permission of data owner, to prevent malicious user from forging data ownership.Initial collaborative audit in double data audit mechanism is completed by multiple cloud service providers, to reduce the risk of single point failure.Arbitration mechanism based on block chain automatically executes dispute resolution process by smart contract, and records audit results in the form of tamper-proof in block chain.
[0043] The described cloud storage method based on multiple copy security deduplication and double data integrity audit, this method is divided into seven main stages: system setting, key generation and data encryption, label generation, data upload, data audit, arbitration and data decryption.Data upload is based on the security deduplication storage model, and the deduplication storage model stores data copy using multiple cloud servers, realizes data encryption by message locking encryption algorithm, and enhances data security in combination with ownership proof protocol;Data audit uses double data audit mechanism for double data integrity audit, and the double data audit mechanism includes: multiple cloud service providers perform initial collaborative audit, and verify the integrity of stored data;User verifies audit in dispute, and ensures data consistency by comparing audit results;Arbitration is realized based on block chain, and dispute resolution is realized by recording audit results and executing smart contract.
[0044] In the system setting stage, the public parameters Para = {G1, G2, g, H1, H2, H3, π1, π2} are generated, G1 and G2 are two multiplicative cyclic groups of order p, g is the generator of the multiplicative cyclic group, three hash functions H1, H2, H3 define and generate the necessary metadata, and two pseudo-random functions π1, π2 help users or cloud servers generate the index and coefficient of the challenge block.
[0045] The key generation and data encryption stage includes four parts: generating a system key pair, generating a user key pair, generating a data convergence encryption key pair, and data encryption. Specifically, it includes: (1) the key server generates its own public and private key pair ((N, E), d). (2) The user generates his own public and private key pair (sk, pk). (3) The user and the key server interact to generate the convergence encryption key k of the plaintext data block m i i .(4) The user encrypts the plaintext data block m i using the convergence encryption key k i to get the encrypted data block c i .
[0046] In the label generation stage, it contains two algorithms, the input encrypted data block c i , and the algorithm outputs the deduplication label T i and the auxiliary verification label σ i . Specifically, it includes: (1) The user inputs the encrypted data block c i , and the algorithm outputs the deduplication label T i .(2) The user inputs the encrypted data block c i , and the algorithm outputs the auxiliary verification label σ i .
[0047] In the data upload stage, it contains two parts: initial upload and subsequent upload. Specifically as follows:
[0048] 1) Initial upload: The user needs to upload a file copy to each cloud server. First, upload the deduplication label T i to the cloud server to check the duplicate data block, and the cloud server compares T i with the local label, and requires the user to upload the non-duplicate block set C uni to the cloud server through the unique file label set C uni , and the cloud server receives it and checks C uni consistent with the label T uni and saves the data.
[0049] 2) Subsequent upload: If the file has been stored in the cloud server, the user performs the ownership proof protocol. Specifically, it includes: (1) Input the system public parameters Para, and the algorithm outputs the challenge ChalPoW (2) input challenge Chal PoW , algorithm generates proof of ownership Proof PoW (3) input proof of ownership Proof PoW , user returns the result of ownership verification.
[0050] In the double data integrity audit phase, including initial audit and subsequent audit two parts. Specifically as follows:
[0051] 1) initial audit: by the cloud server that stores data copies of cooperation. Including: (1) input system public parameters Para, algorithm outputs data audit challenge Chal Audit (2) input challenge Chal Audit , algorithm generates proof of ownership Proof Audit (3) input proof of ownership Proof Audut , cloud server returns the result of data audit verification.
[0052] 2) subsequent audit: by the user to carry out subsequent audit verification. Including: input proof of ownership Proof Audit , user returns the result of data audit verification.
[0053] In the arbitration phase, according to the data audit result to the cloud server for reward and punishment arbitration. Including: (1) the cloud server stores the user data completely, the cloud server is rewarded. (2) the cloud server failed to store user data completely, the cloud server is punished.
[0054] In the data decryption phase, including a data decryption algorithm, the encrypted data is decrypted. User input encrypted data block c i and convergence key k i , algorithm outputs plaintext data block m i .
[0055] The following combined with Figs. 1 to 3 schematic detailed process, a kind of cloud storage method based on multiple copies of secure data deduplication and double data integrity audit disclosed in the embodiment of the application, is described in detail.
[0056] 1. system setting stage:
[0057] The system generates system parameters according to the security parameter λ, and runs the system setting algorithm. First, two multiplicative cyclic groups G1 and G2 of order p are selected to construct a bilinear mapping e: G1 x G2→ G2. Second, a generator g and a random element u are selected from G1, three hash functions H1, H2, and H3 are defined to generate some necessary metadata, and two pseudo-random functions π1 and π2 are used to help users or cloud servers generate the index and coefficient of the challenge block. Finally, the public parameters Para = {G1, G2, g, H1, H2, H3, π1, π2} are published.
[0058] 2. Key generation and data encryption phase:
[0059] The user selects a random value sk∈Z N As a private key, Z N represents the set of integers modulo N, and the public key is pk = g sk . The key server generates a public-private key pair ((N, E), d), (N, E) is the key server public key parameter and is publicly disclosed, and d is the private key parameter. The user selects a random seed θ i and calculates a random value l i = π1(H block ||t||θ i ||i), where || represents parameter connection, H block is the current block hash, t is the current time, and i represents the current data block index. The hash value h i = H1(m i ) of the original file is calculated, and the user calculates and sends to the key server. i The key server receives x and calculates i and sends it to the user, and the user calculates If true, the user calculates the convergence key k i = H2(z i ). The user encrypts the plaintext data block m i according to the convergence key k i to obtain the ciphertext c i .
[0060] 3. Tag generation phase:
[0061] The user calculates the deduplication tag for each encrypted data block by calculating T i = H1(c i ), and the user calculates the verification tag σ i for each encrypted data block as follows: Y i = H3(U ID ||t||i), where U ID represents the user's identity, Where u is a random value, H3(c i ) represents encrypted block c i The hash of , where sk is the user's private key. The user will use the tag set during subsequent uploads. <T i ,Y i ,σ i Uploaded to various cloud servers participating in storage.
[0062] 4. Data upload stage:
[0063] 1) Initial Upload: During the initial upload process, each cloud server manages a different set of files, leading to duplicate data being removed (labeled as T). dep Deleting duplicate data and unique data using the tag T uni Unlike others, these deduplication tags come from the user's deduplication tag T. i Therefore, all cloud servers require users to provide unique data C. uni Generally, the initial upload process includes the following steps:
[0064] (1) User sends upload request <T i ,Y i ,σ i For all cloud servers where file copies need to be stored, search for duplicate tag sets in the local storage of each cloud server, and obtain duplicate block sets C. dep The tag T dep and the unique block set C uni The tag T uni Then the cloud server requests the user to return C. uni If a portion of the encrypted data block does not have a unique block set on the cloud server, the subsequent upload will proceed.
[0065] (2) Upon receiving the C sent by the user uni Afterwards, the cloud server checks C. uni Its label T uni If the consistency is achieved, the cloud server maintains the tuples. <T i ,Y i ,σ i >and store encrypted data blocks c i Used to store files.
[0066] (3) When a user deletes a local file, only tuples are maintained. <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. The cloud server and the user will then execute 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, Challenging the user. PoW = (q, q1, q2), where q ∈ [1, n], n represents the total number of encrypted data blocks, and q1, q2 ∈ Z. q Z q Represent the set of integers modulo q, and will challenge Chal PoW Published on the blockchain.
[0070] (2) The user receives a Chal from the blockchain PoW Then run PoW.Proof to generate proof of ownership. User calculates: a j =π1(H block ||t||q1||j), b j =π2(H block ||t||q2||j), Where j represents the index of the current data block and j∈[1, q], For data blocks The hash. Finally, the user generates proof of ownership. And publish it on the blockchain.
[0071] (3) The cloud server receives Proof from the blockchain. PoW Then, run PoW.Verify to verify the aggregation proof. Check the following:
[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 tag set uploaded by the user, and a j and b j This represents the index parameter calculated by the user, where u is a random value, and Proof PoW Let `g` represent the proof of ownership for the computation, and `g` be the generator of the multiplicative cyclic 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 legitimate owner, and will add the user to the file's owner list. Otherwise, the cloud server will publish the verification result `PoW.Verify = 0` to the blockchain, meaning that the uploader is not the true data owner.
[0074] 5. Dual Data Audit Phase:
[0075] 1) Initial Audit Phase:
[0076] The user interacts with the cloud server to generate an audit request, which is then published to the blockchain. Each CSP downloads the challenge, computes its own integrity proof, and distributes it to other cloud servers. Then, the cloud servers compare the consistency of all proofs to verify. The specific steps are as follows:
[0077] (1) Each cloud server generates its own random number r k , which is sent to the user through a secure channel. The user aggregates these r k values to generate an 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], and n represents the total number of encrypted blocks.
[0078] (2) After each cloud server receives Chal Audit from the blockchain, it runs the Audit.Proof algorithm to generate an integrity proof Proof Audit , which is calculated as follows: a j ′ = π1(H block || t || r chal || j), b j ′ = π2(H block || t || r chal || j), Each cloud server generates an integrity proof where j ∈ [1, s], and then combines it with the selected r k , calculates the hash value H k , and publishes Proof Audit and H k to the blockchain.
[0079] (3) After each cloud server receives the Proof Aydit and H k of other cloud servers, it executes the verification algorithm and distributes its r k to other cloud servers. Then, each cloud server verifies the validity of Proof Audit from other cloud servers using H k = H2(Proof Audit || r k ). Compare all valid Proof Auditconsistency to determine the integrity of the copy stored on the respective cloud server. If all cloud servers pass the consistency, each cloud server publishes the audit result as Audit Result = 1. If there is a dispute over the Proof Audit , a subsequent audit is conducted to verify its validity.
[0080] 2) Subsequent Audit Phase:
[0081] When the initial audit result is 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 retrieves information about the CSP that failed the initial audit from the blockchain, downloads the corresponding Proof Audit , and runs the verification algorithm for the subsequent audit as follows:
[0083]
[0084] where e denotes the bilinear mapping formula, s is the challenge parameter value representing the number of challenge blocks to be verified, σ and Y represent the user-uploaded label parameter set, a j ′ and b j j represent the user-computed index parameters, u is a random value, Proof Audit represents the computed audit proof, and g is the generator of the multiplicative cyclic group. If the bilinear mapping equation holds, indicating that the integrity verification passes, the user publishes the audit result Audit Result = 1 on the blockchain. If the verification fails, the user publishes the audit result Audit Result = 0 on the blockchain, requiring arbitration.
[0085] 6. Arbitration Phase:
[0086] The smart contract arbitration includes an algorithm. Before the start of the double data integrity audit phase, the smart contract collects the user's rewards and deposits from all cloud servers. After the completion of the double data audit, the smart contract arbitrates rewards and punishments for each cloud server based on the audit result. The arbitration process is automatically executed by the smart contract, with the following specific steps:
[0087] (1) Before conducting the integrity audit, the user requires the cloud server to deposit the corresponding deposit into the smart contract, while the cloud server transfers the reward to the smart contract.
[0088] (2) After receiving the cloud server's deposit and the user's reward, the smart contract retrieves the integrity audit result Audit Result from the blockchain.
[0089] (3) If Audit Result =1, indicating that all cloud servers have correctly stored the file. The smart contract then distributes the user's winnings to the cloud servers and returns the deposit to the cloud servers.
[0090] (4) If Audit Result =0, the smart contract will transfer the deposit of the cloud server that failed the integrity verification to the user as compensation, and distribute the user's bonus to other cloud servers that participated in the audit.
[0091] 7. Data decryption stage:
[0092] The data decryption algorithm uses 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 storing the copy and downloads the encrypted data block c. i Then, the user recalculates c. i Data tag T i ′ and compare it with the stored tag T i Compare them.
[0094] (2) When T i ′ =T i When the time is reached, it indicates that the data integrity verification was successful. Then, the user executes the decryption algorithm and reconstructs the original file.
[0095] This invention also discloses a cloud storage system based on multi-replica secure deduplication and dual data integrity auditing, comprising a key server, cloud servers, and a blockchain network. The cloud servers consist of multiple cloud servers, and data upload is achieved based on a secure deduplication storage model. This model stores data copies on multiple cloud servers, encrypts data using a message locking encryption algorithm, and enhances data security by incorporating a proof-of-ownership protocol. The multiple cloud servers are also used for collaborative auditing. During the data auditing phase, a dual data auditing mechanism is used, with multiple cloud service providers performing an initial collaborative audit to verify the integrity of the stored data. In case of disputes, users conduct verification audits, ensuring data consistency by comparing audit results. The blockchain network resolves disputes by recording audit results and executing smart contracts.
Claims
1. A method for multi-copy deduplication and double data integrity auditing, characterized in that, The method comprises the following steps: (1) data uploading based on a security-based deduplicated storage model, wherein the deduplicated storage model stores data copies based on multiple cloud servers, data encryption is implemented through a message locking encryption algorithm, and data security is enhanced in combination with an ownership proof protocol; (2) data auditing by using a dual data auditing mechanism, wherein the dual data auditing mechanism comprises: initial collaborative auditing performed by multiple cloud service providers to verify the integrity of stored data; and verification auditing performed by a user in a dispute case to ensure data consistency by comparing auditing results; (3) dispute resolution based on a blockchain-based arbitration mechanism by recording auditing results and executing smart contracts; The initial collaborative auditing in the dual data auditing mechanism comprises the following steps: Each cloud server generates its own random number and sends it to the user through a secure channel, the user aggregates these values to generate an audit challenge mod N, where K represents the number of cloud servers participating in the audit, N represents the system public key parameter, and then the challenge ( , s) is published to the blockchain, where s represents the challenge block number and s∈[1, n], n represents the total number of encrypted blocks; Each cloud server receives the block link from After that, the integrity proof is generated , calculated as follows: ), ( j), ; each cloud server generates an integrity proof = , where is the current block hash, j∈[1, s], is the hash of the data block , t is the current time, , represent two pseudo-random functions, denotes parameter connection; then combined with the selected group, calculate the hash value , and and are published to the blockchain; Each cloud server receives data from other cloud servers. and Afterwards, he put his own Distributed to other cloud servers; each cloud server uses Verify from other cloud servers The effectiveness, of which For hash functions; all valid hash functions will be compared. The consistency of the audit results is used to determine the integrity of the copies stored on the respective cloud servers; if all cloud servers pass the audit, each cloud server will publish the audit results as... If for If a dispute exists, further review will be conducted. In the double data auditing mechanism, when the initial audit result is controversial, the user performs subsequent auditing according to the initial audit proof of the controversial cloud server, including: the user obtains information about the cloud service provider that fails the initial audit from the block chain, downloads the corresponding and runs a verification algorithm for subsequent auditing, as follows: ; wherein e represents a bilinear mapping formula, s represents a challenge block number to be verified, and represents a set of label parameters uploaded by a user, and represents an index parameter calculated by a user, u is a random value, and g is a generator of a multiplicative cyclic group, is a public key of the user; if the bilinear mapping equation is established, it indicates that the integrity verification is passed, and the user publishes the audit result on the blockchain ; if the verification fails, the user publishes the audit result on the blockchain 0.
2. The method of claim 1, wherein, The message locking encryption algorithm ensures that, when different users upload the same data to the same cloud storage server, only one encrypted copy is stored by generating a key related to data content.
3. The method of claim 1, wherein, The user generates multiple copies of a data file and uploads the copies to different cloud servers, and the data uploading stage comprises initial uploading and subsequent uploading; the initial uploading process comprises the following steps: The user sends an upload request to all cloud servers that want to store a copy of the file, where represents a deduplication tag and an auxiliary verification tag, respectively, represents a hash containing the user's identity, time, and data block index; find the duplicate tag set in the cloud server's local storage, respectively, to get the duplicate block set tag and the unique block set tag , then the cloud server requests the user to return encrypted data blocks, if there are some unique blocks that do not exist in some cloud servers, then switch to perform subsequent uploads; Upon receiving the user sent , the cloud server checks the consistency of the tags attached to it, and if it passes, the cloud server stores the file by maintaining the tuple and storing the encrypted data blocks ; User deletes local files, only maintains tuples > for data access and retrieval, respectively, the private key and the public key of the user; The subsequent uploading process is that, for a repeated file, the cloud server checks whether the user actually owns the file, and the cloud server and the user perform the ownership proof protocol.
4. The method of claim 3, wherein, The steps of performing the ownership proof protocol by the cloud server and the user comprise: The cloud server generates an ownership challenge upon receiving a subsequent upload request sent by the user = (q, , ), where q e [1, n], n represents the total number of encrypted data blocks, , e , where represents a set of integers modulo q, and publishes the challenge to the blockchain; The user receives from the blockchain Post-generation ownership proof, the user calculates: ( ), ( ), , where j represents the current data block index and j∈[1, q], The hash of the data block , t is the current time, 、 Indicates two pseudo-random functions, Indicates the parameter connection; finally, the user generates the ownership proof = , and publishes it to the blockchain; The cloud server receives from the blockchain After, checks as follows: ; where e denotes a bilinear map formula, and denotes the set of tags uploaded by the user, and denotes the index parameter calculated by the user, u is a random value, and g is the generator of the multiplicative cyclic group, is the public key of the user; if the bilinear map equation is established, the cloud server will publish the verification result PoW.Verify = 1 to the blockchain, indicating that the user is a legitimate owner, and the user will be added to the owner list of the file; otherwise, the cloud server will publish the verification result PoW.Verify = 0 to the blockchain, meaning that the uploader is not the real data owner.
5. The method of claim 1, wherein, The ownership proof protocol prevents malicious users from forging data ownership by verifying the signature and access rights of a data owner.
6. The method of claim 1, wherein, The arbitration mechanism based on the blockchain automatically executes a dispute resolution process through a smart contract, and records the auditing results in the blockchain in a form that cannot be tampered with.
7. A cloud storage method based on multi-copy secure deduplication and double data integrity audit, comprising system setting, key generation and data encryption, tag generation, data upload, data audit, arbitration and data decryption; characterized in that, The data uploading is based on a security-based deduplicated storage model, wherein the deduplicated storage model stores data copies based on multiple cloud servers, data encryption is implemented through a message locking encryption algorithm, and data security is enhanced in combination with an ownership proof protocol; The data auditing utilizes a dual data auditing mechanism, wherein the dual data auditing mechanism comprises: initial collaborative auditing performed by multiple cloud service providers to verify the integrity of stored data; and verification auditing performed by a user in a dispute case to ensure data consistency by comparing auditing results; The arbitration is implemented based on a blockchain, dispute resolution is achieved by recording auditing results and executing smart contracts; The initial collaborative auditing in the dual data auditing mechanism comprises the following steps: Each cloud server generates its own random number and sends it to the user through a secure channel, the user aggregates these values to generate an audit challenge mod N, where K represents the number of cloud servers participating in the audit, N represents the system public key parameter, and then the challenge ( , s) is published to the blockchain, where s represents the challenge block number and s ∈ [1, n], n represents the total number of encrypted blocks; Each cloud server receives the block link After that, the integrity proof is generated , calculated as follows: ), ( j), ; Each cloud server generates an integrity proof = , where is the current block hash, j∈[1, s], is the hash of the data block , t is the current time, , represent two pseudo-random functions, denotes the parameter connection; Then combine it with the selected group, calculate the hash value , and publish and to the blockchain; Each cloud server receives data from other cloud servers. and Afterwards, he put his own Distributed to other cloud servers; each cloud server uses Verify from other cloud servers The effectiveness, of which For hash functions; all valid hash functions will be compared. The consistency of the audit results is used to determine the integrity of the copies stored on the respective cloud servers; if all cloud servers pass the audit, each cloud server will publish the audit results as... If for If a dispute exists, further review will be conducted. In the double data auditing mechanism, when the initial auditing result is controversial, the user performs subsequent auditing according to the initial auditing proof of the controversial cloud server, including: the user obtains information about the cloud service provider that fails the initial auditing from the block chain, downloads the corresponding and runs a verification algorithm for subsequent auditing, as follows: ; where e represents a bilinear mapping formula, s represents the number of challenge blocks to be verified, and represents a set of label parameters uploaded by a user, and represents an index parameter calculated by a user, u is a random value, and g is a generator of a multiplicative cyclic group, is a public key of the user; if the bilinear mapping equation is established, it indicates that the integrity verification is passed, and the user publishes the audit result on the blockchain ; if the verification fails, the user publishes the audit result on the blockchain 0.
8. A cloud storage system based on multi-copy secure deduplication and double data integrity auditing, comprising a key server, a cloud server and a blockchain network, characterized in that, The cloud server is multiple cloud servers, data uploading is implemented based on a security-based deduplicated storage model, wherein the deduplicated storage model stores data copies based on multiple cloud servers, data encryption is implemented through a message locking encryption algorithm, and data security is enhanced in combination with an ownership proof protocol; the multiple cloud servers are also used for collaborative auditing, and in the data auditing stage, a dual data auditing mechanism is utilized, initial collaborative auditing is performed by multiple cloud service providers to verify the integrity of stored data; The user performs verification auditing in a dispute case to ensure data consistency by comparing auditing results; and the blockchain network achieves dispute resolution by recording auditing results and executing smart contracts; The initial collaborative audit in the dual data audit mechanism includes the following steps: Each cloud server generates its own random number and sends it to the user through a secure channel, the user aggregates these values to generate an audit challenge mod N, where K represents the number of cloud servers participating in the audit, N represents the system public key parameter, and then the challenge ( , s) is published to the blockchain, where s represents the challenge block number and s∈[1, n], n represents the total number of encrypted blocks; Each cloud server receives the block link from After that, the integrity proof is generated , calculated as follows: ), ( j), ; each cloud server generates an integrity proof = , where is the current block hash, j∈[1, s], is the hash of the data block , t is the current time, , denote two pseudo-random functions, denotes parameter connection; then combined with the selected , calculate the hash value , and and are published to the blockchain; Each cloud server receives data from other cloud servers. and Afterwards, he put his own Distributed to other cloud servers; each cloud server uses Verify from other cloud servers The effectiveness, of which For hash functions; all valid hash functions will be compared. Consistency is required to determine the integrity of the copies stored on the corresponding cloud servers; If all cloud servers agree, each cloud server publishes the audit result as ; if there is a dispute on , subsequent audits are conducted; In the double data auditing mechanism, when the initial auditing result is controversial, the user performs subsequent auditing according to the initial auditing proof of the controversial cloud server, including: the user obtains information about the cloud service provider that fails the initial auditing from the block chain, downloads the corresponding and runs a verification algorithm for subsequent auditing, as follows: ; wherein e represents a bilinear mapping formula, s represents a challenge block number to be verified, and represents a set of label parameters uploaded by a user, and represents an index parameter calculated by a user, u is a random value, and g is a generator of a multiplicative cyclic group, is a public key of the user; if the bilinear mapping equation is established, it indicates that the integrity verification is passed, and the user publishes the audit result on the blockchain ; If the verification fails, the user publishes the audit result on the blockchain 0.
Citation Information
Patent Citations
Provable data integrity verifying method, apparatuses and system
US20090171878A1
Method for proving retrievability of information
US20170126684A1