Data deduplication method and system based on zero-knowledge proof

By adopting a zero-knowledge proof-based data deduplication method in cloud storage, the problem of duplicate storage of the same data in cloud storage is solved, and the effects of resource conservation, data security and management simplification are achieved.

CN119892372APending Publication Date: 2025-04-25SHANDONG INSPUR SCI RES INST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510046415.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-13
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In cloud storage, the same plaintext data exists in different encryption forms, resulting in waste of cloud storage resources, increased data management complexity, excessive storage space requirements and transmission bandwidth consumption.

Method used

Using the zero-knowledge proof-based data deduplication method, the client calculates the non-interactive concise zero-knowledge proof results of the data, and negotiates the session key with the cloud server through an encrypted channel to ensure the security and deduplication of the data during transmission and storage.

Benefits of technology

It effectively avoids repeated data uploads, saves cloud storage resources, simplifies data management, reduces the needs of storage space and transmission bandwidth, and ensures data security and privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119892372A_ABST
    Figure CN119892372A_ABST
Patent Text Reader

Abstract

The invention discloses a data deduplication method and system based on zero knowledge proof, and relates to the technical field of data processing. Comprising the following steps: step 1, acquiring data M owned by a client, calculating a non-interactive concise zero-knowledge proof result p of the data M, and sending p to a cloud server; 2, whether p exists or not is verified through the cloud server, if p exists, the cloud server stores data M, repeated uploading is not needed, and if p does not exist, the data M is stored for the first time; and step 3, storing the data M for the first time, establishing an encryption channel by the client, encrypting the data M needing to be uploaded by using the session key, sending the encrypted data to the cloud server through the encryption channel, decrypting the encrypted data through the cloud server to obtain the data M, and storing the data M and p in the cloud server together.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention discloses a method and system for data deduplication based on zero-knowledge proof, and relates to the technical field of data processing. Background Art

[0002] In the current network and information age, the rapid development of mobile Internet and the widespread application of big data technology have promoted the popularization of cloud storage technology. As an Internet service with scalability and flexibility, cloud storage has become an important platform for data storage, effectively making up for the lack of local storage resources for individuals, enterprises and even countries.

[0003] Although cloud storage technology has greatly facilitated users, its security and data privacy protection issues cannot be ignored. In order to ensure data security, avoid information leakage, and save local storage space, users often encrypt data before uploading it to the cloud.

[0004] However, with the growth of the number of users and the expansion of data upload, the same plaintext data exists in different encrypted forms on the cloud server, which not only causes the waste of cloud storage resources, but also increases the complexity of data management. It increases the demand for storage space and the consumption of transmission bandwidth, which is not conducive to the application of cloud storage services. Summary of the invention

[0005] In view of the problems of the prior art, the present invention provides a method and system for data deduplication based on zero-knowledge proof. The specific solution proposed by the present invention is:

[0006] The present invention provides a method for data deduplication based on zero-knowledge proof, comprising:

[0007] Step 1: Get the data M owned by the client, calculate the non-interactive concise zero-knowledge proof result p of the data M, and send p to the cloud server;

[0008] Step 2: Verify whether p already exists through the cloud server. If p exists, the cloud server has stored data M and does not need to be uploaded again. If p does not exist, data M is stored for the first time.

[0009] Step 3: When storing data M for the first time, the client establishes an encrypted channel, uses the session key to encrypt the data M to be uploaded, sends the encrypted data to the cloud server through the encrypted channel, decrypts the data M through the cloud server, and stores it together with p in the cloud server.

[0010] Furthermore, in step 1 of the method for data deduplication based on zero-knowledge proof, the client is used as the prover and the cloud server is used as the verifier. The client uses preset parameters to calculate the non-interactive concise zero-knowledge proof result p of the data M and sends p to the cloud server.

[0011] Furthermore, step 3 of the method for data deduplication based on zero-knowledge proof includes:

[0012] The client uses the cloud server's certificate to establish an encrypted channel and negotiates a session key k with the cloud server. The client uses the session key k to encrypt the data M to be uploaded to obtain the ciphertext C, and sends the ciphertext C to the cloud server through the encrypted channel. The cloud server receives the ciphertext C and decrypts it to obtain the data M and stores it together with p on the cloud server.

[0013] The present invention also provides a data deduplication system based on zero-knowledge proof, comprising: a zero-knowledge proof module, a verification module, a storage module, an encryption channel module, a negotiation key module and a decryption module.

[0014] The zero-knowledge proof module obtains the data M owned by the client, calculates the non-interactive concise zero-knowledge proof result p of the data M, and sends p to the cloud server;

[0015] The cloud server verifies whether p already exists through the verification module. If p exists, the cloud server has stored the data M and does not need to upload it again. If p does not exist, the data M is stored for the first time.

[0016] When storing data M for the first time, the client establishes an encryption channel through the encryption channel module, encrypts the data M to be uploaded using the session key through the negotiation key module, and the client sends the encrypted data to the cloud server through the encryption channel. The cloud server obtains the data M through the decryption module and uses the storage module together with p to store it in the cloud server.

[0017] Furthermore, the zero-knowledge proof module of the data deduplication system based on zero-knowledge proof uses the client as the prover and the cloud server as the verifier, uses the client's preset parameters to calculate the non-interactive concise zero-knowledge proof result p of the data M, and sends p to the cloud server.

[0018] Furthermore, in the data deduplication system based on zero-knowledge proof, the client uses the certificate of the cloud server to establish an encryption channel through the encryption channel module, and uses the negotiation key module to negotiate a session key k with the cloud server, and uses the negotiation key module to encrypt the data M to be uploaded using the session key k to obtain the ciphertext C, and sends the ciphertext C to the cloud server through the encryption channel. The cloud server receives the ciphertext C and decrypts it using the decryption module to obtain the data M and stores it together with p in the cloud server using the storage module.

[0019] The present invention also provides a device for data deduplication based on zero-knowledge proof, comprising: at least one memory and at least one processor;

[0020] The at least one memory is used to store a machine-readable program;

[0021] The at least one processor is used to call the machine-readable program to execute the data deduplication method based on zero-knowledge proof.

[0022] The present invention also provides a computer-readable medium, on which computer instructions are stored. When the computer instructions are executed by a processor, the processor executes the data deduplication method based on zero-knowledge proof.

[0023] The benefits of the present invention are:

[0024] 1. Use zero-knowledge proof to calculate the characteristics of data, protect data from leakage and calculate effective characteristics;

[0025] Second, use encrypted channels and negotiated session key encryption to ensure the security of data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Figure 1 It is a schematic flow chart of the method of the present invention. DETAILED DESCRIPTION

[0027] The present invention is further described below in conjunction with the accompanying drawings and specific embodiments so that those skilled in the art can better understand the present invention and implement it, but the embodiments are not intended to limit the present invention.

[0028] Example 1

[0029] The present invention provides a method for data deduplication based on zero-knowledge proof, comprising:

[0030] Step 1: Get the data M owned by the client, calculate the non-interactive succinct zero-knowledge proof result p of the data M, and send p to the cloud server. The client is used as the prover and the cloud server is used as the verifier. The client uses preset parameters to calculate the non-interactive succinct zero-knowledge proof result p of the data M and sends p to the cloud server.

[0031] Step 2: Verify whether p already exists through the cloud server. If p exists, the cloud server has stored data M and does not need to be uploaded again. If p does not exist, data M is stored for the first time.

[0032] Step 3: When storing data M for the first time, the client establishes an encrypted channel, uses the session key to encrypt the data M to be uploaded, sends the encrypted data to the cloud server through the encrypted channel, decrypts the data M through the cloud server, and stores it together with p in the cloud server.

[0033] Specifically, it may include: the client uses the cloud server's certificate to establish an encrypted channel, and negotiates a session key k with the cloud server, uses the session key k to encrypt the data M to be uploaded to obtain the ciphertext C, sends the ciphertext C to the cloud server through the encrypted channel, receives the ciphertext C through the cloud server, decrypts it to obtain the data M, and stores it together with p on the cloud server.

[0034] Example 2

[0035] The present invention also provides a data deduplication system based on zero-knowledge proof, comprising: a zero-knowledge proof module, a verification module, a storage module, an encryption channel module, a negotiation key module and a decryption module.

[0036] The zero-knowledge proof module obtains the data M owned by the client, calculates the non-interactive concise zero-knowledge proof result p of the data M, and sends p to the cloud server;

[0037] The cloud server verifies whether p already exists through the verification module. If p exists, the cloud server has stored the data M and does not need to upload it again. If p does not exist, the data M is stored for the first time.

[0038] When storing data M for the first time, the client establishes an encryption channel through the encryption channel module, encrypts the data M to be uploaded using the session key through the negotiation key module, and the client sends the encrypted data to the cloud server through the encryption channel. The cloud server obtains the data M through the decryption module and uses the storage module together with p to store it in the cloud server.

[0039] As the information interaction and execution process between the modules in the above-mentioned system are based on the same concept as the embodiment of the method of the present invention, the specific contents can be found in the description of the embodiment of the method of the present invention and will not be repeated here.

[0040] Likewise, the benefits of the system of the present invention are:

[0041] 1. Use zero-knowledge proof to calculate the characteristics of data, protect data from leakage and calculate effective characteristics;

[0042] Second, use encrypted channels and negotiated session key encryption to ensure the security of data transmission.

[0043] It should be noted that not all steps and modules in the above-mentioned processes and system structures are necessary, and some steps or modules can be ignored according to actual needs. The execution order of each step is not fixed and can be adjusted as needed. The system structure described in the above-mentioned embodiments can be a physical structure or a logical structure, that is, some modules may be implemented by the same physical entity, or some modules may be implemented by multiple physical entities, or some components in multiple independent devices may be implemented together.

[0044] Example 3

[0045] The present invention also provides a device for data deduplication based on zero-knowledge proof, comprising: at least one memory and at least one processor;

[0046] The at least one memory is used to store a machine-readable program;

[0047] The at least one processor is used to call the machine-readable program to execute the data deduplication method based on zero-knowledge proof.

[0048] As the information interaction, execution of readable program process and other contents of the processor in the above-mentioned device are based on the same concept as the embodiment of the method of the present invention, the specific contents can be found in the description of the embodiment of the method of the present invention and will not be repeated here.

[0049] Likewise, the benefits of the device of the present invention are:

[0050] 1. Use zero-knowledge proof to calculate the characteristics of data, protect data from leakage and calculate effective characteristics;

[0051] Second, use encrypted channels and negotiated session key encryption to ensure the security of data transmission.

[0052] Example 4

[0053] The present invention also provides a computer-readable medium, on which a computer instruction is stored, and when the computer instruction is executed by a processor, the processor executes the method for deduplication of data based on zero-knowledge proof. Specifically, a system or device equipped with a storage medium can be provided, on which a software program code for implementing the functions of any of the above embodiments is stored, and a computer (or CPU or MPU) of the system or device reads and executes the program code stored in the storage medium.

[0054] In this case, the program code itself read from the storage medium can realize the function of any one of the above-mentioned embodiments, and thus the program code and the storage medium storing the program code constitute a part of the present invention.

[0055] The storage medium embodiments for providing the program code include a floppy disk, a hard disk, a magneto-optical disk, an optical disk (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), a magnetic tape, a non-volatile memory card, and a ROM. Alternatively, the program code can be downloaded from a server computer by a communication network.

[0056] In addition, it should be clear that the functions of any of the above embodiments can be implemented not only by executing the program code read by the computer, but also by enabling an operating system operating on the computer to complete part or all of the actual operations based on instructions from the program code.

[0057] In addition, it can be understood that the program code read from the storage medium is written to a memory provided in an expansion board inserted into the computer or written to a memory provided in an expansion unit connected to the computer, and then based on the instructions of the program code, a CPU installed on the expansion board or the expansion unit is enabled to perform part or all of the actual operations, thereby realizing the functions of any of the above-mentioned embodiments.

[0058] The above-described embodiments are only preferred embodiments for fully illustrating the present invention, and the protection scope of the present invention is not limited thereto. Equivalent substitutions or changes made by those skilled in the art based on the present invention are within the protection scope of the present invention. The protection scope of the present invention shall be subject to the claims.

Claims

1. A method for data deduplication based on zero-knowledge proof, characterized by include: Step 1: Get the data M owned by the client, calculate the non-interactive concise zero-knowledge proof result p of the data M, and send p to the cloud server; Step 2: Verify whether p already exists through the cloud server. If p exists, the cloud server has stored data M and does not need to be uploaded again. If p does not exist, data M is stored for the first time. Step 3: When storing data M for the first time, the client establishes an encrypted channel, uses the session key to encrypt the data M to be uploaded, sends the encrypted data to the cloud server through the encrypted channel, decrypts the data M through the cloud server, and stores it together with p in the cloud server.

2. According to the method of claim 1, the method is characterized in that In step 1, the client is used as the prover and the cloud server is used as the verifier. The client uses preset parameters to calculate the non-interactive concise zero-knowledge proof result p of the data M and sends p to the cloud server.

3. According to the method of claim 1, the method is characterized in that Step 3 includes: The client uses the cloud server's certificate to establish an encrypted channel and negotiates a session key k with the cloud server. The client uses the session key k to encrypt the data M to be uploaded to obtain the ciphertext C, and sends the ciphertext C to the cloud server through the encrypted channel. The cloud server receives the ciphertext C and decrypts it to obtain the data M and stores it together with p on the cloud server.

4. A data deduplication system based on zero-knowledge proof, characterized by include: Zero-knowledge proof module, verification module, storage module, encryption channel module, negotiation key module and decryption module, The zero-knowledge proof module obtains the data M owned by the client, calculates the non-interactive concise zero-knowledge proof result p of the data M, and sends p to the cloud server; The cloud server verifies whether p already exists through the verification module. If p exists, the cloud server has stored the data M and does not need to upload it again. If p does not exist, the data M is stored for the first time. When storing data M for the first time, the client establishes an encryption channel through the encryption channel module, encrypts the data M to be uploaded using the session key through the negotiation key module, and the client sends the encrypted data to the cloud server through the encryption channel. The cloud server obtains the data M through the decryption module and uses the storage module together with p to store it in the cloud server.

5. A data deduplication system based on zero-knowledge proof according to claim 4, characterized in that The zero-knowledge proof module uses the client as the prover and the cloud server as the verifier, uses the client's preset parameters to calculate the non-interactive concise zero-knowledge proof result p of the data M, and sends p to the cloud server.

6. A data deduplication system based on zero-knowledge proof according to claim 4, characterized in that The client uses the cloud server's certificate to establish an encrypted channel through the encryption channel module, and uses the negotiation key module to negotiate a session key k with the cloud server. The negotiation key module uses the session key k to encrypt the data M to be uploaded to obtain the ciphertext C, and sends the ciphertext C to the cloud server through the encrypted channel. The cloud server receives the ciphertext C and decrypts it using the decryption module to obtain the data M and stores it together with p in the cloud server using the storage module.

7. A data deduplication device based on zero-knowledge proof, characterized in that include: at least one memory and at least one processor; The at least one memory is used to store a machine-readable program; The at least one processor is used to call the machine-readable program to execute a data deduplication method based on zero-knowledge proof as described in any one of claims 1 to 3.

8. A computer readable medium, characterized in that The computer-readable medium stores computer instructions, which, when executed by a processor, cause the processor to execute a data deduplication method based on zero-knowledge proof as described in any one of claims 1 to 3.