A cloud storage deduplication method based on blockchain and fusion encryption technology
By generating secure convergence keys through blockchain and fusion encryption technology, combined with ECC accumulators and hash chains, the security and efficiency issues of data deduplication in cloud storage are solved, and efficient and secure data deduplication and storage optimization are achieved.
Patent Information
- Application Number
- CN202311707363.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-13
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2043-12-13
AI Technical Summary
Existing cloud storage data deduplication methods have the risk of ciphertext chosen attack, insecure convergent key generation, high data ownership verification cost and dependence on third-party auditing agencies, resulting in low data security and storage efficiency.
It adopts blockchain and fusion encryption technology, generates convergence keys through hash self-certification and oblivious random functions, combines ECC accumulator and hash chain to deduplicate data, uses smart contracts and blockchain to record data operations, and realizes data ownership verification and integrity verification.
It improves data security and privacy protection, optimizes storage space utilization, reduces computing and storage overhead, and achieves decentralized data auditing and immutability.
Smart Images

Figure CN117828630B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of cloud storage data deduplication, and in particular to a cloud storage deduplication method based on blockchain and fusion encryption technology. Background Art
[0002] Cloud storage enables users and devices to upload, store, and download their data. However, with the rapid growth of edge nodes and devices, the increasing volume of data raises two challenges for cloud servers: optimal data storage and data security. To address the former, cloud storage uses deduplication technology to avoid storing duplicate data; to address the latter, encryption is used. However, these two issues are contradictory: when users upload encrypted data, cloud servers struggle to determine whether the data is duplicated, making deduplication impossible.
[0003] To address the above issues, the existing patent CN115134087A uses a convergent encryption algorithm, which uses the hash value of the data as the convergent key for data encryption. However, this method is easily cracked through brute force attacks. The existing patent CN115834224A encrypts the data processed with the convergent key and then uploads it. However, the calculation method of its convergent key is still completely based on plaintext data, which still poses the risk of plaintext attacks. At the same time, its data integrity verification relies on a third-party auditing agency, which has a high verification cost. In addition, patent CN111586109A only performs data integrity verification through the Merkle tree, ignoring data ownership verification.
[0004] Therefore, existing cloud storage data deduplication methods still have the following shortcomings:
[0005] 1. When using convergent encryption (CE), the same plaintext will generate the same ciphertext, which cannot effectively prevent ciphertext selection attacks and user data security cannot be guaranteed.
[0006] 2. There is a lack of a secure and efficient method for generating convergent keys. The convergent keys generated based on plaintext data lack randomness and are prone to key leakage.
[0007] 3. Data verification based on a single Merkle tree requires additional node computing overhead, and this method cannot effectively complete data ownership verification.
[0008] Data integrity verification relies on third-party auditing agencies, and the verification cost is high. Summary of the Invention
[0009] The purpose of this section is to summarize some aspects of the embodiments of the present invention and briefly introduce some preferred embodiments. Some simplifications or omissions may be made in this section and the abstract and title of this application to avoid obscuring the purpose of this section, the abstract and the title of the invention, and such simplifications or omissions should not be used to limit the scope of the present invention.
[0010] In view of the above problems in the prior art, the present invention is proposed.
[0011] Therefore, the purpose of the present invention is to provide a cloud storage deduplication method based on blockchain and fusion encryption technology, which combines the security, decentralization and tamper-proof characteristics of blockchain, as well as encryption technology and deduplication algorithm, to provide a more secure, efficient and reliable solution for cloud storage deduplication.
[0012] In order to solve the above technical problems, the present invention provides the following technical solutions:
[0013] A cloud storage deduplication method based on blockchain and fusion encryption technology includes the following steps:
[0014] Step 1: Initialize the system and generate the secret value c and public parameters {g, G, G1, HF, HF1, HF2};
[0015] Step 2: Data upload, including: negotiation of the convergence key and sending the data after the negotiated convergence key to the cloud server;
[0016] Step 3: Data deduplication. After receiving the user's upload request, the cloud server will first query whether there is data with the same tag through the smart contract's Find interface;
[0017] Step 4: Data ownership verification and data integrity verification;
[0018] Step 5: Download data and calculate data tags i After that, the information {tag i ,uid i} is sent to the cloud server. After receiving the download request, the cloud server decrypts and downloads the final plaintext data m i ;
[0019] Step 6: Data audit: All operation commands of users and cloud servers will be saved in the blockchain, so the upload and download of user data are traceable and cannot be tampered with, proving that users have indeed uploaded / downloaded data;
[0020] The ECC accumulator member variables used for data ownership verification and integrity verification are also stored on the blockchain, thereby preventing single point problems and improving data security.
[0021] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in the present invention, in step 1, the system is initialized. First, the cloud server selects the security factor λ, and then defines a multiplication cyclic group G with an order of prime number p, where g is a generator of the cyclic group G; the cloud server also generates a generator from the finite field F n Select a non-singular elliptic curve E, select a base point P on E, and generate an additive cyclic group G1 of order q from P, where q <n;
[0022] Then the cloud server selects three practical Hami functions for encryption, and the cloud server uses AES as the data symmetric encryption AES E and decryption algorithm AES D ;
[0023] Finally, the cloud server from the finite domain Select the secret value c and set param = {g, G, G1, HF, HF1, HF2} as the public parameter.
[0024] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in the present invention, wherein: the three hash functions used for encryption in step 1 are divided into: conversion hash function HF: {0,1} * →{0,1} * , mapped to a finite field function modulo a prime number p And the hash function HF2 mapped to 128 bits: {0,1} * →{0,1} 128 .
[0025] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in the present invention, in the step 2, the way of negotiating the convergence key is: the user will select s i As the private key, and calculate the public key The public key is sent to the cloud server for storage, and the user has his own unique identifier uid i ; Then the user randomly selects parameters And according to the public parameters of the cloud service, calculate the variable: HF(m i )=h1||h2, a=HF1(h1), b=HF2(h2), u=g ρ+1 , f=g a u b , and then send {u,f} to the cloud server. After receiving it, the cloud server randomly selects Select r and calculate the following variables: h = g r , V′=PK i r g c, w′=u c , z′=f c , and send {h,V′,w′,z′} back to the user;
[0026] After the user receives the return parameter, calculate Verify the existence of v′ through the hash self-proof principle: a w′ b =z′=g ac+bc+ρbc ;
[0027] If they are equal, it means that the information returned by the cloud server has not been tampered with. The user sets dk = v′ = g c , calculate S = z' / dk ρb =g ac+bc , then generate the convergence key k i =HF2(S).
[0028] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in the present invention, in the step 2, when sending data, the user encrypts the uploaded data based on the convergent key and the symmetric encryption algorithm to obtain c i =AES E (k i ,m i ) and data labels The user sends the encrypted data and data tags to {tag i ,c i ,uid i} to the cloud server and save {HF(m i ),dk}.
[0029] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in the present invention, in which: in the step three, if the Find interface returns true, it means that the current user is the subsequent uploader, and then the data ownership proof verification is performed. If the verification passes, the user ID information and data tag information will be updated to the blockchain data, and duplicate data will not be saved; if the verification fails, it means that this is illegal data and no processing is performed.
[0030] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in the present invention, in which: in the step 3, if the Find interface returns false, it means that no other user has uploaded the same data before, and the user is the first uploader; at this time, the cloud server will call the Save interface of the smart contract to record the user U i Upload plaintext data m iThis operation provides information for subsequent data integrity audits; the cloud server first calculates c for the ciphertext data. i ′=HF(c i ) to get the ciphertext hash, and then split the ciphertext hash into n blocks (c′ i1 ,c′ i2 ,...,c′ in ). Then, the cloud server arranges these n blocks in hash order to obtain a hash chain list i The value of each element calculated by HF1 is used as the input value of the ECC accumulator to calculate z i , z i =HF1(c′ i1 )HF1(c′ i2 )....HF1(c′ in )P;
[0031] Finally, {tag i ,c i ,uid i ,list i}Stored in the blockchain.
[0032] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in the present invention, wherein: in the step 4, the verification method of data ownership is: the cloud server needs to perform ownership verification on it. First, the cloud server randomly selects a number k from {1, 2, ..., n} and sends {k, n} to the user. The user also needs to calculate c i ′=HF(c i ), c i ′ is divided into n blocks (c′ i1 ,c′ i2 ,...,c′ in ), calculate the ECC accumulator result w except the kth hash block k =HF1(c′ i1 )HF1(c′ i2 )....HF1(c′ in ), n={1,2,...,n}\{k}. Then, the user will k ,k} is sent to the cloud server, and the cloud server reads the ECC accumulator value Z saved when uploading the data for the first time from the blockchain i and HF1(c′ ik ) and check if there is: Z i =w k HF1(c′ ik )P;
[0033] If yes, it means the user has ownership of the data; otherwise, it returns failure.
[0034] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in the present invention, wherein: in the step 4, the data integrity verification method is: user U i Request a data block c ik When the cloud server needs to calculate the ECC accumulator intermediate value Z ik-1 =HF1(c′ i1 )HF1(c′ i2 )....HF1(c′ ik-1 ), and calculate another ECC accumulator intermediate value Z ik+1 =HF1(c′ ik+1 )HF1(c′ ik+2 )....HF1(c′ in ), then {Z ik-1 ,Z ik+1 ,k} is returned to the user. After receiving it, the user calculates HF1(c′ ik ), and determine whether: Z i =Z ik-1 HF1(c′ ik )Z ik+1 P;
[0035] If they are equal, the data integrity check has passed; otherwise, the data stored in the cloud server is abnormal.
[0036] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in the present invention, wherein: in the step 5, the data download method is: the user downloads the data according to the locally saved HF (m i ) Calculate the data tag i , and the following information {tag i ,uid i}Send to cloud server;
[0037] After receiving the download request, the cloud server will query the blockchain to see if there is a record tag=tag i and uid=uid i If it exists, the ciphertext c i Returned to the user. The user receives the ciphertext c i After that, similar to the upload process, through HF(m i ) and dk to calculate the convergence key k i and through AES D (k i ,c i ) to decrypt, and finally get the plaintext data mi .
[0038] Beneficial effects of the present invention:
[0039] 1. Data security and privacy protection: This method helps ensure the security and privacy of the converged key by combining hash self-certification and oblivious random functions. It also provides proof of data ownership, thus protecting the data from unauthorized access.
[0040] 2. Optimize cloud storage space utilization. You can identify identical files by comparing the hash values of files encrypted with the convergent key, avoiding storing multiple copies of the same file, thereby saving storage space and improving storage efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] To more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for describing the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. Those skilled in the art can also derive other drawings based on these drawings without inventive effort. Among them:
[0042] Figure 1 This is a schematic diagram of the overall process of a cloud storage deduplication method based on blockchain and fusion encryption technology proposed by the present invention;
[0043] Figure 2 This is an implementation framework diagram of a cloud storage deduplication method based on blockchain and fusion encryption technology proposed in the present invention. DETAILED DESCRIPTION
[0044] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.
[0045] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Those skilled in the art may make similar generalizations without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.
[0046] Secondly, the term "one embodiment" or "embodiment" herein refers to a specific feature, structure, or characteristic that may be included in at least one implementation of the present invention. The phrase "in one embodiment" appearing in various places throughout this specification does not necessarily refer to the same embodiment, nor does it refer to a separate or selective embodiment that is mutually exclusive of other embodiments.
[0047] Reference Figure 1-Figure 2, as one embodiment of the present invention, provides a cloud storage deduplication method based on blockchain and fusion encryption technology, the method comprising the following steps:
[0048] Step 1: System initialization. First, the cloud server selects the safety factor λ, and then defines a multiplication cyclic group G with an order of prime number p, where g is a generator of the cyclic group G; the cloud server also selects the safety factor λ from the finite field F. n Select a non-singular elliptic curve E, select a base point P on E, and generate an additive cyclic group G1 of order q from P, where q <n;
[0049] Then the cloud server selects three cryptographically practical Hami functions, namely: conversion hash function HF:{0,1} * →{0,1} * , mapped to a finite field function modulo a prime number p And the hash function HF2 mapped to 128 bits: {0,1} * →{0,1} 128 ;
[0050] And the cloud server uses AES as the data symmetric encryption AES E and decryption algorithm AES D ;
[0051] Finally, the cloud server from the finite domain Select the secret value c and set param = {g, G, G1, HF, HF1, HF2} as the public parameter.
[0052] Step 2: Data upload. During the data upload process, the present invention integrates the hash proof system algorithm and the imperceptible pseudo-random function, so that the cloud server can protect the user's privacy while verifying the data, thereby avoiding the chosen ciphertext attack problem existing in traditional CE. Assume that user U i Will prepare to upload data m i , two steps are required, as follows:
[0053] (1) Negotiation of convergence key. The negotiation method of convergence key is: the user will select s i As the private key, and calculate the public key The public key is sent to the cloud server for storage, and the user has his own unique identifier uid i ; Then the user randomly selects parameters And according to the public parameters of the cloud service, calculate the variable: HF(m i )=h1||h2, a=HF1(h1), b=HF2(h2), u=g ρ+1 , f=g a u b, and then send {u,f} to the cloud server. After receiving it, the cloud server randomly selects Select r and calculate the following variables: h = g r , V′=PK i r g c , w′=u c , z′=f c , and sends {h,V′,w′,z′} back to the user; after the user receives the returned parameters, calculate Verify the existence of v′ through the hash self-proof principle: a w′ b =z′=g ac+bc+ρbc If they are equal, it means that the information returned by the cloud server has not been tampered with. The user sets dk = v′ = g c , calculate S = z' / dk ρb =g ac+bc , then generate the convergence key k i =HF2(S);
[0054] This method uses hash self-proof to determine that the server message has not been tampered with. By using an inadvertent pseudo-random function, different random numbers ρ and r are selected each time, so that even if the text data m is the same, i , the server can also return different data, which improves the security of key generation. At the same time, the final converged key is only used with the data to be uploaded m i The convergence key is related to the cloud server's secret value c, so that the encrypted data can still be deduplicated. Moreover, under the assumption that the cloud service is secure, the relationship between the convergence key and the data to be uploaded is unpredictable.
[0055] (2) Send data. The data after the convergence key is negotiated is sent to the cloud server. When sending data, the user encrypts the uploaded data based on the convergence key and the symmetric encryption algorithm to obtain c i =AES E (k i ,m i ) and data labels The user sends the encrypted data and data tags to {tag i ,c i ,uid i} to the cloud server and save {HF(m i ),dk}.
[0056] What needs to be explained in the above steps is Hash Proofs of Retrievability: a data verification technology that allows users to store some key information in the hash and ensure the integrity and correctness of the returned data by verifying the hash.
[0057] Step 3: Data deduplication. After receiving the user's upload request, the cloud server will first query whether there is data with the same tag through the smart contract's Find interface;
[0058] If the Find interface returns true, it means that the current user is the subsequent uploader. Next, the data ownership proof verification is performed. If the verification passes, the user ID information and data tag information will be updated to the blockchain data, and duplicate data will not be saved. If the verification fails, it means that this is illegal data and no action will be taken.
[0059] If the Find interface returns false, it means that no other user has uploaded the same data before, and the user is the first uploader; at this time, the cloud server will call the Save interface of the smart contract to record the user U i Upload plaintext data m i This operation provides information for subsequent data integrity audits; the cloud server first calculates c for the ciphertext data. i ′=HF(c i ) to get the ciphertext hash, and then split the ciphertext hash into n blocks (c′ i1 ,c′ i2 ,...,c′ in ). Then, the cloud server arranges these n blocks in hash order to obtain a hash chain list i The value of each element calculated by HF1 is used as the input value of the ECC accumulator to calculate z i , z i =HF1(c′ i1 )HF1(c′ i2 )....HF1(c′ in )P;
[0060] Finally, {tag i ,c i ,uid i ,list i}Stored in the blockchain.
[0061] The ECC accumulator (Elliptic Curve Cryptography Accumulator) mentioned above is a data structure based on elliptic curve cryptography that is used to accumulate and prove the existence of a set of data elements while protecting their privacy.
[0062] A hash chain requires explanation: a series of hash values linked together in sequence, each generated by applying a hash function to the previous one. This is commonly used for timestamping, tamper-proofing, and verifying data integrity. A blockchain is a decentralized distributed ledger organized in a chain-like data structure, containing multiple blocks of transactions. Each block contains a batch of verified transactions, and cryptographic techniques are used to ensure data security and tamper-proofing.
[0063] Step 4: Data ownership verification and data integrity verification;
[0064] The data ownership verification method is as follows: the cloud server needs to verify the ownership of the data. First, the cloud server randomly selects a number k from {1,2,...,n} and sends {k,n} to the user. The user also needs to calculate c i ′=HF(c i ), c i ′ is divided into n blocks (c′ i1 ,c′ i2 ,...,c′ in ), calculate the ECC accumulator result w except the kth hash block k =HF1(c′ i1 )HF1(c′ i2 )....HF1(c′ in ), n={1,2,...,n}\{k}. Then, the user will k ,k} is sent to the cloud server, and the cloud server reads the ECC accumulator value Z saved when uploading the data for the first time from the blockchain i and HF1(c′ ik ) and check if there is: Z i =w k HF1(c′ ik )P;
[0065] If yes, it means the user has ownership of the data; otherwise, it returns failure.
[0066] The data integrity check method is: User U i Request a data block c ik When the cloud server needs to calculate the ECC accumulator intermediate value Z ik-1 =HF1(c′ i1 )HF1(c′ i2 )....HF1(c′ ik-1 ), and calculate another ECC accumulator intermediate value Z ik+1 =HF1(c′ ik+1 )HF1(c′ik+2 )....HF1(c′ in ), then {Z ik-1 ,Z ik+1 ,k} is returned to the user. After receiving it, the user calculates HF1(c′ ik ), and determine whether: Z i =Z ik-1 HF1(c′ ik )Z ik+1 P;
[0067] If they are equal, the data integrity check has passed; otherwise, the data stored in the cloud server is abnormal.
[0068] Step 5: Data download. The data download method is: the user should download the data according to the local HF (m i ) Calculate the data tag i , and the following information {tag i ,uid i}Send to cloud server;
[0069] After receiving the download request, the cloud server will query the blockchain to see if there is a record tag=tag i and uid=uid i If it exists, the ciphertext c i Returned to the user. The user receives the ciphertext c i After that, similar to the upload process, through HF(m i ) and dk to calculate the convergence key k i and through AES D (k i ,c i ) to decrypt, and finally get the plaintext data m i ;
[0070] Step 6: Data audit. All operation commands of users and cloud servers will be saved in the blockchain. Therefore, the upload and download of user data are traceable and cannot be tampered with, proving that the user has indeed uploaded / downloaded data. The ECC accumulator member variables used for data ownership verification and integrity verification are also saved on the blockchain, thereby preventing single point problems and improving data security.
[0071] In summary, the present invention constructs the convergent key required for data encryption by integrating hash self-certification and oblivious random functions, which can improve the security and unguessability of the key without affecting the key generation speed; by combining the ECC accumulator and the hash chain method, the cloud server can quickly prove the user's ownership of the uploaded data, and compared with the Merkle tree method, it can reduce the additional computing overhead and storage overhead to complete the data integrity proof; by using blockchain technology to record the user's data operation records and the relevant member data of the ECC accumulator, not only can data auditing be completed in a decentralized manner, but also data tampering can be prevented, thereby eliminating the cost of third-party institutions.
[0072] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present invention may be modified or replaced by equivalents without departing from the spirit and scope of the technical solutions of the present invention, which should all be included in the scope of the claims of the present invention.
Claims
1. A cloud storage deduplication method based on blockchain and fusion encryption technology, characterized in that: The following steps are involved: Step 1: Initialize the system and generate the secret value c and public parameters {g, G, G1, HF, HF1, HF2}; Step 2: Data upload, including: negotiation of the convergence key and sending the data after the negotiated convergence key to the cloud server; Step 3: Data deduplication. After receiving the user's upload request, the cloud server will first query whether there is data with the same tag through the smart contract's Find interface; Step 4: Data ownership verification and data integrity verification; Step 5: Download data and calculate data tags i After that, the information {tag i ,uid i } is sent to the cloud server. After receiving the download request, the cloud server decrypts and downloads the final plaintext data m i ; Step 6: Data audit. All operation commands of users and cloud servers will be saved in the blockchain. Therefore, the upload and download of user data are traceable and cannot be tampered with, proving that the user has indeed uploaded / downloaded data. The ECC accumulator member variables used for data ownership verification and integrity verification are also stored on the blockchain, thereby preventing single point problems and improving data security; In step 2, the convergence key negotiation method is: the user will select s i As the private key, and calculate the public key The public key is sent to the cloud server for storage, and the user has his own unique identifier uid i ; Then the user randomly selects parameters And according to the public parameters of the cloud service, calculate the variable: HF(m i )=h1||h2, a=HF1(h1), b=HF2(h2), u=g ρ+1 , f=g a u b , and then send {u,f} to the cloud server. After receiving it, the cloud server randomly selects Select r and calculate the following variables: h = g r , V'=PK i r g c , w'=u c , z'=f c , and send {h,V',w',z'} back to the user; After the user receives the return parameter, calculate Verify the existence through the hash self-proof principle: v' a w' b =z'=g ac+bc+ρbc ; If they are equal, it means that the information returned by the cloud server has not been tampered with. The user sets dk = v' = g c , calculate S = z' / dk ρb =g ac+bc , then generate the convergence key k i =HF2(S).
2. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 1 is characterized by: In the step 1, the system is initialized. First, the cloud server selects a safety factor λ and then defines a multiplicative cyclic group G of order p, where g is a generator of the cyclic group G. The cloud server will also extract the n Select a non-singular elliptic curve E, select a base point P on E, and generate an additive cyclic group G1 of order q from P, where q <n; Then the cloud server selects three practical Hami functions for encryption, and the cloud server uses AES as the data symmetric encryption AES E and decryption algorithm AES D ; Finally, the cloud server from the finite domain Select the secret value c and set param = {g, G, G1, HF, HF1, HF2} as the public parameter.
3. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 2 is characterized by: The three hash functions selected for encryption in step 1 are: conversion hash function HF: {0,1} * →{0,1} * , mapped to a finite field function modulo a prime number p And the hash function HF2 mapped to 128 bits: {0,1} * →{0,1} 128 .
4. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 3 is characterized by: In the step 2, when sending data, the user encrypts the uploaded data based on the convergent key and the symmetric encryption algorithm to obtain c i =AES E (k i ,m i ) and data labels The user sends the encrypted data and data tags to {tag i ,c i ,uid i } to the cloud server and save {HF(m i ),dk}.
5. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 4 is characterized by: In step 3, if the Find interface returns true, it means that the current user is the subsequent uploader. Next, the data ownership proof verification is performed. If the verification passes, the user ID information and data tag information will be updated to the blockchain data, and duplicate data will not be saved. If the verification fails, it means that this is illegal data and no processing is performed.
6. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 5 is characterized by: In step 3, if the Find interface returns false, it means that no other user has uploaded the same data before, and the user is the first uploader. At this time, the cloud server will call the Save interface of the smart contract to record the plaintext data uploaded by the user. i This operation provides information for subsequent data integrity audits; The cloud server first calculates c for the ciphertext data i '=HF(c i ) to get the ciphertext hash, and then split the ciphertext hash into n blocks (c ' i1 ,c ' i2 ,...,c ' in ); Then the cloud server arranges these n blocks in hash order to obtain a hash chain list i And the value of each element calculated by HF1 is used as the input value of ECC accumulator to calculate Z i , Z i =HF1(c ' i1 )HF1(c ' i2 )....HF1(c ' in )P; Finally, {tag i ,c i ,uid i ,list i }Stored in the blockchain.
7. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 6 is characterized by: In step 4, the data ownership verification method is as follows: the cloud server needs to perform ownership verification. First, the cloud server randomly selects a number k from {1, 2, ..., n} and sends {k, n} to the user. The user also needs to calculate c i '=HF(c i ), c i 'Split into n blocks (c ' i1 ,c ' i2 ,...,c ' in ), calculate the ECC accumulator result w except the kth hash block k =HF1(c ' i1 )HF1(c ' i2 )....HF1(c ' in ), n={1,2,...,n}\{k}; then the user will {w k ,k} is sent to the cloud server, and the cloud server reads the ECC accumulator value Z saved when uploading the data for the first time from the blockchain i and HF1(c ' ik ) and check if there is: Z i =w k HF1(c ' ik )P; If yes, it means the user has ownership of the data; otherwise, it returns failure.
8. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 7 is characterized by: In step 4, the data integrity check method is: user U i Request a data block c ik When the cloud server needs to calculate the ECC accumulator intermediate value Z ik-1 =HF1(c ' i1 )HF1(c ' i2 )....HF1(c ' ik-1 ), and calculate another ECC accumulator intermediate value Z ik+1 =HF1(c ' ik+1 )HF1(c ' ik+2 )....HF1(c ' in ), then {Z ik-1 ,Z ik+1 ,k} is returned to the user; after receiving it, the user calculates HF1(c ' ik ), and determine whether: Z i =Z ik-1 HF1(c ' ik )Z ik+1 P; If they are equal, the data integrity check has passed; otherwise, the data stored in the cloud server is abnormal.
9. A cloud storage deduplication method based on blockchain and fusion encryption technology according to any one of claims 1 to 8, characterized in that: In step 5, the data download method is: the user should download the data according to the locally saved HF (m i ) Calculate the data tag i , and the following information {tag i ,uid i }Send to cloud server; After receiving the download request, the cloud server will query the blockchain to see if there is a record tag=tag i and uid=uid i ; If it exists, the ciphertext c i Return to the user; The user receives the ciphertext c i Afterwards, through HF(m i ) and dk to calculate the convergence key k i and through AES D (k i ,c i ) to decrypt, and finally get the plaintext data m i .
Citation Information
Patent Citations
Blockchain cloud storage user data deduplication solution
CN111586109A
Block chain-based auditing data de-duplication method
CN114666037A
Block chain data trusted query processing method and device
CN116932586A