Cloud storage deduplication method based on blockchain and hybrid encryption technology

By adopting blockchain and converged encryption technology in cloud storage, combined with smart contracts, hash self-proof and ECC accumulator and other technologies, the security and efficiency problems in the cloud storage data deduplication method are solved, and a more efficient and secure data deduplication and verification process is achieved.

WO2025124211A1PCT designated stage expired Publication Date: 2025-06-19CHINA TELECOM CLOUD TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/136168
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-13
Filing Date
2024-12-02
Publication Date
2025-06-19

AI Technical Summary

Technical Problem

Existing cloud storage data deduplication methods have problems such as risk of ciphertext selection attacks, insecure generation of convergence keys, high cost of data ownership checksum integrity verification, and third-party audit dependence.

Method used

The cloud storage deduplication method based on blockchain and converged encryption technology is adopted to realize safe, efficient and trusted solutions for data deduplication, ownership checks and integrity verification through technologies such as smart contracts, hash self-proof, ECC accumulator and hash chain.

Benefits of technology

Improve data security and privacy protection, optimize cloud storage space utilization, reduce the cost of data ownership checks and integrity verification, and avoid the dependence of third-party audit institutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024136168_19062025_PF_FP_ABST
    Figure CN2024136168_19062025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of cloud storage data deduplication. Disclosed is a cloud storage deduplication method based on blockchain and hybrid encryption technology (id50000162885176 Pub Copy 2024-12-12 Filing No.:24). The method comprises: system initialization: generating a secret value c and public parameters formula (1); data upload, comprising negotiating a converged key, and transmitting to a cloud server data obtained after the converged key has been negotiated; data deduplication: upon receiving an upload request from a user, the cloud server first inquiring, by means of a Find interface of an intelligent contract, whether there is data with the same tag; verification of data ownership and verification of data integrity; data download: after a data tagi has been calculated, transmitting information {tagi,uidi} to the cloud server, and performing decryption and downloading, so as to obtain final plaintext data mi; and data auditing. By integrating Hash self-proof with oblivious pseudorandom functions, the present application helps to ensure the security and privacy of converged keys. Additionally, the method also provides proof of data ownership, thus protecting data against access by unauthorized users.
Need to check novelty before this filing date? Find Prior Art

Description

A cloud storage deduplication method based on blockchain and fusion encryption technology

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on December 13, 2023, with application number 202311707363.4 and invention name “A cloud storage deduplication method based on blockchain and fusion encryption technology”, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application 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

[0004] 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.

[0005] 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.

[0006] Therefore, existing cloud storage data deduplication methods still have the following shortcomings:

[0007] 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.

[0008] 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.

[0009] 3. Data verification based on a single Merkle tree requires additional node computing overhead, and this method cannot effectively complete data ownership verification.

[0010] Data integrity verification relies on third-party auditing agencies, and the verification cost is high. Summary of the Invention

[0011] The purpose of this section is to summarize some aspects of the embodiments of the present application and briefly introduce some preferred embodiments. Some simplifications or omissions may be made in this section and the abstract and title of the present application to avoid obscuring the purpose of this section, the abstract and the title of the invention, and such simplifications or omissions shall not be used to limit the scope of the present application.

[0012] In view of the above problems in the prior art, this application is proposed.

[0013] Therefore, the purpose of this application is to provide a cloud storage deduplication method based on blockchain and integrated encryption technology, which combines the security, decentralization and tamper-proof characteristics of blockchain, as well as encryption technology and deduplication algorithms, to provide a more secure, efficient and reliable solution for cloud storage deduplication.

[0014] To solve the above technical problems, this application provides the following technical solutions:

[0015] A cloud storage deduplication method based on blockchain and fusion encryption technology includes the following steps:

[0016] Step 1: System initialization, generating secret value c and public parameters

[0017] Step 2: Data upload, including: negotiation of the convergence key and sending the data after the negotiated convergence key to the cloud server;

[0018] 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;

[0019] Step 4: Data ownership verification and data integrity verification;

[0020] 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 ;

[0021] 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;

[0022] 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.

[0023] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in this application, in step 1, the system is initialized. First, the cloud server first selects the security factor λ, and then defines a multiplication cyclic group with an order of prime number p. where g is a cyclic group A generator of ; the cloud server will also generate n Select a non-singular elliptic curve E, select a base point P on E, and generate an additive cyclic group of order q from P where q is satisfied <n;

[0024] 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 ;

[0025] 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.

[0026] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in this application, wherein: the three hash functions used for encryption in step 1 are: conversion hash function HF: {0,1} * →{0,1} * , mapped to a finite field function modulo prime number P And the hash function HF2 mapped to 128 bits: {0,1} * →{0,1} 128 .

[0027] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in this application, in which: 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 μ 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;

[0028] After the user receives the return parameter, calculate Verify the existence of v′v′ through the hash self-proof principle: a w′ b =z′=g ac+bc+ρbc ;

[0029] 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).

[0030] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in this application, in which: 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}.

[0031] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in this application, wherein: 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.

[0032] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in this application, 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 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;

[0033] Finally, {tag i ,c i ,uid i ,list i}Stored in the blockchain.

[0034] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in this application, 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;

[0035] If yes, it means the user has ownership of the data; otherwise, it returns failure.

[0036] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in this application, 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;

[0037] If they are equal, the data integrity check has passed; otherwise, the data stored in the cloud server is abnormal.

[0038] As a preferred solution of the cloud storage deduplication method based on blockchain and fusion encryption technology described in this application, 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;

[0039] 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 .

[0040] Beneficial effects of this application:

[0041] 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.

[0042] 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

[0043] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for describing the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be derived from these drawings without inventive effort. Among them:

[0044] FIG1 is a schematic diagram of the overall process of a cloud storage deduplication method based on blockchain and fusion encryption technology proposed in this application;

[0045] Figure 2 is an implementation framework diagram of a cloud storage deduplication method based on blockchain and fusion encryption technology proposed in this application. DETAILED DESCRIPTION

[0046] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are described in detail below in conjunction with the drawings in the specification.

[0047] In the following description, many specific details are set forth to facilitate a full understanding of the present application. However, the present application 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 application. Therefore, the present application is not limited to the specific embodiments disclosed below.

[0048] 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 application. 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 with other embodiments.

[0049] 1 and 2 , an embodiment of the present application provides a cloud storage deduplication method based on blockchain and fusion encryption technology, which includes the following steps:

[0050] Step 1: System initialization. First, the cloud server selects the safety factor λ and then defines a multiplication cyclic group with an order of prime number p. where g is a cyclic group A generator of ; the cloud server will also generate n Select a non-singular elliptic curve E, select a base point P on E, and generate an additive cyclic group of order q from P where q is satisfied <n;

[0051] 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 prime number P And the hash function HF2 mapped to 128 bits: {0,1} * →{0,1} 128 ;

[0052] And the cloud server uses AES as the data symmetric encryption AES E and decryption algorithm AES D ;

[0053] 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.

[0054] Step 2: Data upload. During the data upload process, this application integrates the hash proof system algorithm and the imperceptible pseudo-random function to achieve the cloud server to protect the user's privacy while verifying the data, thereby avoiding the chosen ciphertext attack problem existing in traditional CE. Assume that user U iWill prepare to upload data m i , two steps are required, as follows:

[0055] (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 μ 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′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);

[0056] 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.

[0057] (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 ci =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}.

[0058] One thing that 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 a hash and ensure the returned data is complete and correct by verifying the hash.

[0059] 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;

[0060] 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.

[0061] 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 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;

[0062] Finally, {tag i ,c i ,uid i ,list i}Stored in the blockchain.

[0063] 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.

[0064] 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.

[0065] Step 4: Data ownership verification and data integrity verification;

[0066] 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;

[0067] If yes, it means the user has ownership of the data; otherwise, it returns failure.

[0068] 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;

[0069] If they are equal, the data integrity check has passed; otherwise, the data stored in the cloud server is abnormal.

[0070] 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;

[0071] 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 ;

[0072] 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.

[0073] In summary, this application 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.

[0074] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and are not intended to limit the present application. Although the present application 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 application may be modified or replaced by equivalents without departing from the spirit and scope of the technical solutions of the present application, and all of these should be included in the scope of the claims of the present application.

Claims

1. A cloud storage deduplication method based on blockchain and fusion encryption technology, characterized in that: The following steps are involved: Step 1: System initialization, generating secret value c and public parameters 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 upload request from the user, the cloud server will first query whether there is data with the same tag through the Find interface of the smart contract; 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 users have 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.

2. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 1 is characterized in that: In step 1, the system is initialized. First, the cloud server selects the safety factor λ and then defines a multiplication cyclic group with an order of prime number p. where g is a cyclic group A generator of ; The cloud server also extracts 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 of order q from P Which satisfies 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 in that: The three hash functions selected in step 1 for encryption 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 1 is characterized in that: 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 μ b , and then send {u,f} to the cloud server. After receiving it, the cloud server randomly selects Select r from the equation 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′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 , and then generate the convergence key k i =HF2(S).

5. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 1 is characterized in that: 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 locally {HF(m i ),dk}.

6. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 1 is characterized in that: In step three, 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 done.

7. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 6 is characterized in that: 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 user's uploaded 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 , and use the value of each element calculated by HF1 as the input value of the 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.

8. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 1 is characterized in that: In step 4, 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 for 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 whether there is: Z i =w k HF1(c′ ik )P; If yes, it means the user has the ownership of the data, otherwise it returns failure.

9. The cloud storage deduplication method based on blockchain and fusion encryption technology according to claim 8 is characterized in that: In step 4, the data integrity check method is as follows: 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 ), and 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, it means that the data integrity check has passed, otherwise it means that the data stored in the cloud server is abnormal.

10. The cloud storage deduplication method based on blockchain and fusion encryption technology according to any one of claims 1 to 9, characterized in that: In step 5, the data download method is as follows: 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; 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 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 .

Citation Information

Patent Citations

  • Method for proving integrity of cloud data storage

    CN106899406A

  • Outsourcing data deduplication cloud storage method supporting privacy and integrity protection

    CN110677487A

  • Block chain-based auditing data de-duplication method

    CN114666037A

  • Data sharing method based on block chain

    CN115982746A

  • Cloud storage deduplication method based on block chain and fusion encryption technology

    CN117828630A