Decentralized data encryption and deduplication storage method based on coding matrix secret sharing
By processing data in blocks and using multiple decentralized key servers to collaboratively generate encryption coding matrices, the problems of insufficient scalability and high computational overhead in existing encryption deduplication methods are solved, efficient decentralized data encryption and deduplication storage are achieved, and system performance and data security are improved.
Patent Information
- Application Number
- CN202411840823.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2044-12-13
AI Technical Summary
Existing encryption deduplication methods suffer from insufficient scalability, high computational overhead, and insufficient data security, especially in centralized and decentralized encryption deduplication technologies.
By dividing the stored data into blocks, multiple data blocks are generated, and multiple decentralized key servers collaborate to generate an encryption coding matrix, encrypting and deduplicating the data blocks. The matrix generation is optimized using a content-defined block algorithm and sliding window technology to reduce the computational and communication overhead during the key exchange process.
It improves deduplication efficiency, reduces the overall system load, enhances system scalability and performance, ensures data security and storage reliability, and is suitable for large-scale distributed storage environments.
Smart Images

Figure CN119759278B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of computer storage technology, and more specifically, relates to a decentralized data encryption and deduplication storage method based on coding matrix secret sharing. Background Art
[0002] With the surge in data storage demand, more and more users are outsourcing their data to cloud storage systems. However, this also raises concerns about data redundancy and security. In data encryption deduplication technology, identical plaintext blocks are encrypted to produce identical ciphertext blocks, thus enabling deduplication. This technology combines data encryption with data deduplication (deduplication) to protect data privacy while reducing redundancy overhead, thereby ensuring security and lowering storage costs.
[0003] Existing data encryption and deduplication technologies primarily include centralized and decentralized methods. Centralized encryption and deduplication uses a centralized key management server to generate encryption keys for data encryption and distributes the encrypted data across multiple cloud servers using code-based secret sharing techniques. However, centralized encryption and deduplication relies heavily on centralized servers, significantly impacting system security when the servers are attacked. In current decentralized key management methods, each key server independently generates different keys, resulting in different encrypted data for the same user. Therefore, additional techniques such as key exchange are required to ensure deduplication of the same data, resulting in additional computational and deduplication indexing overhead, impacting system performance. Summary of the Invention
[0004] In response to the defects of the existing technology, the purpose of this application is to provide a decentralized data encryption deduplication storage method based on coding matrix secret sharing, aiming to solve the problems of insufficient scalability, high computational overhead and insufficient data security in the existing encryption deduplication methods.
[0005] To achieve the above objectives, in a first aspect, the present application provides a decentralized data encryption and deduplication storage method based on coding matrix secret sharing, comprising:
[0006] Divide the stored data into blocks and generate multiple data blocks;
[0007] Based on the content fingerprints of the plurality of data blocks, a plurality of decentralized key servers are used to collaboratively generate an encryption coding matrix;
[0008] encrypting the plurality of data blocks based on the encryption coding matrix to generate a plurality of ciphertext blocks;
[0009] The multiple ciphertext blocks are stored in a distributed storage system, and duplicate data is deleted based on content fingerprints corresponding to the multiple ciphertext blocks.
[0010] This application divides the data to be stored into multiple blocks, and uses multiple decentralized key servers to collaboratively generate an encryption coding matrix to encrypt and dedupe the data blocks. This can reduce the computing and communication overhead in the key exchange process, thereby improving deduplication efficiency and reducing the overall system load, achieving efficient decentralized data encryption and deduplication storage, greatly improving the scalability and performance of the system, ensuring data security and storage reliability, and is suitable for large-scale distributed storage environments.
[0011] According to a decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided by the present application, the block processing of the data to be stored includes:
[0012] The data to be stored is divided into blocks using a block algorithm defined based on content.
[0013] The present application performs block processing on the data to be stored by using a block algorithm defined based on content, thereby ensuring that the same data block generates the same block and fingerprint.
[0014] According to a decentralized data encryption and deduplication storage method based on secret sharing of coding matrices provided by the present application, the encryption coding matrix is collaboratively generated by multiple decentralized key servers based on the content fingerprints of the multiple data blocks, including:
[0015] Based on the content fingerprints of the multiple data blocks, generating initial key fragments respectively through multiple decentralized key servers;
[0016] The encryption encoding matrix is generated based on a plurality of initial key fragments.
[0017] According to a decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided by the present application, the encryption coding matrix is generated based on multiple initial key fragments, including:
[0018] The matrix elements are generated step by step based on a plurality of initial key fragments, and pipeline acceleration is performed in combination with a sliding window technology to generate the encryption coding matrix.
[0019] This application uses a sliding window-based matrix element generation method to ensure that multiple key servers can calculate in parallel and generate complete encoding matrices in a timely manner, improve matrix generation efficiency and support multi-user collaborative operations.
[0020] According to a decentralized data encryption deduplication storage method based on coding matrix secret sharing provided by the present application, deduplication is performed based on the content fingerprints corresponding to the multiple ciphertext blocks, including:
[0021] Obtaining content fingerprints corresponding to the ciphertext blocks existing in the distributed storage system;
[0022] The content fingerprints corresponding to the multiple ciphertext blocks are compared with the content fingerprints corresponding to the existing ciphertext blocks, and the ciphertext blocks corresponding to the duplicate content fingerprints are deleted.
[0023] This application optimizes the deduplication process through consistent mapping of data content, thereby improving the deduplication efficiency of the entire system.
[0024] According to a decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided by the present application, the method also includes:
[0025] The content fingerprint information of the ciphertext blocks in the distributed storage system is updated in real time.
[0026] This application updates the stored ciphertext block information in real time to ensure efficient retrieval and deduplication of data.
[0027] In a second aspect, the present application provides a decentralized data encryption and deduplication storage system based on coding matrix secret sharing, a decentralized key server cluster, a distributed storage system and a client module, wherein:
[0028] The decentralized key server cluster is connected to the client module and includes multiple decentralized key servers. Each key server can independently generate keys and collaboratively participate in the generation of encryption coding matrices and data block encryption processes. Multiple server clusters exchange data and collaborate through secure communication protocols.
[0029] The distributed storage system is connected to the client module, and is used to store ciphertext blocks, implement deduplication operations based on ciphertext block content fingerprints, and update the stored ciphertext block information in real time;
[0030] The client module is connected to the decentralized key server cluster and the distributed storage system, and is used to interact with the key server cluster and the distributed storage system to complete data uploading, encryption, storage and data recovery operations.
[0031] In a third aspect, the present application provides a decentralized data encryption and deduplication storage device based on coding matrix secret sharing, comprising:
[0032] A block module is used to process the data to be stored into blocks and generate multiple data blocks;
[0033] A generation module, configured to collaboratively generate an encryption coding matrix through multiple decentralized key servers based on the content fingerprints of the multiple data blocks;
[0034] an encryption module, configured to encrypt the plurality of data blocks based on the encryption coding matrix to generate a plurality of ciphertext blocks;
[0035] The deduplication storage module is used to store the multiple ciphertext blocks in a distributed storage system and perform duplicate data deletion based on the content fingerprints corresponding to the multiple ciphertext blocks.
[0036] In a fourth aspect, the present application provides an electronic device comprising: at least one memory for storing programs; and at least one processor for executing the programs stored in the memory. When the programs stored in the memory are executed, the processor is used to execute the decentralized data encryption and deduplication storage method based on coding matrix secret sharing described in the first aspect or any possible implementation of the first aspect.
[0037] In a fifth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the decentralized data encryption and deduplication storage method based on coding matrix secret sharing described in the first aspect or any possible implementation of the first aspect.
[0038] In a sixth aspect, the present application provides a computer program product, which, when running on a processor, enables the processor to execute the decentralized data encryption and deduplication storage method based on coding matrix secret sharing described in the first aspect or any possible implementation of the first aspect.
[0039] It can be understood that the beneficial effects of the second to sixth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here.
[0040] In general, the above technical solutions conceived by this application have the following beneficial effects compared with the existing technologies:
[0041] (1) By dividing the data to be stored into multiple blocks and using multiple decentralized key servers to collaboratively generate encryption coding matrices to encrypt and dedupe the data blocks, the computational and communication overhead in the key exchange process can be reduced, thereby improving deduplication efficiency and reducing the overall system load, achieving efficient decentralized data encryption and deduplication storage, greatly improving the scalability and performance of the system, ensuring data security and storage reliability, and being suitable for large-scale distributed storage environments.
[0042] (2) Using a sliding window-based matrix element generation method can ensure that multiple key servers can calculate in parallel and generate a complete encoding matrix in a timely manner, thereby improving the efficiency of matrix generation and supporting multi-user collaborative operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions in the present application or the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0044] Figure 1 1 is a flow chart of a decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided in an embodiment of the present application;
[0045] Figure 2 This is a schematic diagram of a process for generating an encryption coding matrix according to an embodiment of the present application;
[0046] Figure 3 1 is a flow chart of generating an optimization matrix step by step using matrix elements according to an embodiment of the present application;
[0047] Figure 4 This is a flow chart of the process of generating a parameter scalability optimization matrix provided by an embodiment of the present application;
[0048] Figure 5 Schematic diagram of the structure of a decentralized data encryption and deduplication storage system based on coding matrix secret sharing provided in an embodiment of the present application;
[0049] Figure 6 Schematic diagram of the structure of a decentralized data encryption and deduplication storage device based on coding matrix secret sharing provided in an embodiment of the present application;
[0050] Figure 7 It is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0051] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0052] The term "and / or" as used herein describes an association between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. The symbol " / " as used herein indicates that the related objects are in an "or" relationship, for example, A / B means either A or B.
[0053] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0054] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more, for example, multiple processing units means two or more processing units, etc.; multiple elements means two or more elements, etc.
[0055] Next, combine Figure 1-Figure 4 The decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided in the embodiment of the present application is introduced.
[0056] Figure 1 This is a flow chart of a decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided by an embodiment of the present application, such as Figure 1 As shown, the method includes the following steps:
[0057] Step 100, dividing the data to be stored into blocks to generate multiple data blocks;
[0058] The decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided in the embodiment of the present application can be executed by a client. The client first divides the data to be stored into several data blocks according to the content, ensuring that each data block has a clear content boundary and a fixed size for subsequent deduplication operations.
[0059] Step 110, based on the content fingerprints of the multiple data blocks, a plurality of decentralized key servers collaboratively generate an encryption encoding matrix;
[0060] Content fingerprinting is a technology for identifying and tracking digital content by extracting unique characteristics of the content to create a "fingerprint" that can be used to identify and verify the identity of the content, similar to the role of human fingerprints in identifying personal identities.
[0061] Alternatively, the content fingerprint may be a hash value.
[0062] Optionally, multiple decentralized key servers exchange data through a secure communication protocol to ensure information security during the encryption process.
[0063] The client generates a unique identifier for each data block based on the content fingerprint of the data block and sends it to multiple decentralized key servers, so that the servers can collaboratively generate an encryption coding matrix through matrix decomposition method based on secret sharing technology.
[0064] Step 120, encrypting the multiple data blocks based on the encryption coding matrix to generate multiple ciphertext blocks;
[0065] The client converts the data block into a ciphertext block by performing matrix multiplication on the data block based on the encryption coding matrix. The ciphertext block contains redundant information of the original data, so that even if part of the ciphertext is about to be lost, the data can still be recovered.
[0066] Step 130: Store the multiple ciphertext blocks in a distributed storage system, and perform data deduplication based on the content fingerprints corresponding to the multiple ciphertext blocks.
[0067] The client uploads the generated ciphertext to different cloud storage servers to ensure distributed storage of data and improve storage security and reliability.
[0068] The client stores the encrypted ciphertext blocks in a distributed storage system. The system checks and removes duplicates based on the ciphertext block content fingerprint.
[0069] Optionally, when data needs to be restored, the client can download a sufficient number of encrypted segments from each cloud storage server and use the previously generated key segments to decrypt and restore the original data blocks.
[0070] The present application provides a decentralized data encryption and deduplication storage method based on secret sharing of coding matrices. By dividing the data to be stored into multiple blocks and collaboratively generating an encryption coding matrix through multiple decentralized key servers to encrypt and dedupe the data blocks, the computing and communication overhead in the key exchange process can be reduced, thereby improving deduplication efficiency and reducing the overall system load, achieving efficient decentralized data encryption and deduplication storage, greatly improving the scalability and performance of the system, ensuring data security and storage reliability, and being suitable for large-scale distributed storage environments.
[0071] In some embodiments, step 100 specifically includes:
[0072] The data to be stored is divided into blocks using a content-based block algorithm.
[0073] Content-Defined Chunking (CDC) is a technology used for data deduplication and backup. It determines the data chunking boundaries by analyzing the content of the data itself, rather than relying on the size or location of the data. The core idea is to divide the data stream into a series of chunks, each consisting of a series of continuous data. The chunk boundaries are determined by the data content. This means that two data chunks with the same content will be classified as the same chunk even if they are located in different positions in the file.
[0074] The client uses a content-based segmentation algorithm to segment the data to be stored, ensuring that each data block has clear content boundaries and a fixed size for subsequent deduplication operations.
[0075] In some embodiments, step 110 specifically includes:
[0076] Step 1101 , based on the content fingerprints of the plurality of data blocks, initial key fragments are generated respectively by a plurality of decentralized key servers;
[0077] Step 1102: Generate an encryption encoding matrix based on the multiple initial key fragments.
[0078] The client calculates the hash value of each data block, generates a unique identifier for each data block, and sends it to multiple decentralized key servers to request key shards. Based on the client's request, different decentralized key servers independently generate key fragments. These fragments are combined into an encryption matrix, providing the basis for the encryption of subsequent data blocks.
[0079] In some embodiments, step 1102 specifically includes:
[0080] Matrix elements are generated step by step based on multiple initial key fragments, and the sliding window technology is combined for pipeline acceleration to generate an encrypted coding matrix.
[0081] Figure 2 This is a flow chart of generating an encryption coding matrix provided by an embodiment of the present application. Figure 2 As shown in the figure, when multiple decentralized key servers generate key fragments to form an encryption matrix, the Cauchy matrix generation method is specifically used. First, the client generates two different element sequences {x i} and {y i These sequences are calculated using a hash function (such as SHA-256), and the elements of each sequence are closely related to the content of the data block.
[0082] Vector-based convergence matrix generation methods cannot effectively redundancy ciphertext fragments. Matrix generation optimization methods are used to address this issue and accelerate convergence matrix generation. The main idea is to avoid reversibility checks and adjustments on the matrix and reduce communication overhead. The main optimization methods include step-by-step matrix generation based on matrix elements and parameter scalability optimization.
[0083] Figure 3 This is a flow chart of the step-by-step generation of an optimization matrix using matrix elements provided in an embodiment of the present application. Figure 3 As shown, in the optimization method based on step-by-step matrix generation of matrix elements, the two sequences generated by the client are not directly used. and Instead of using the client to generate the Cauchy matrix, the client generates the Cauchy matrix using two sequences from the client and the key server. The client generates the initial sequence using the encrypted hash value of the data block. , and then send the elements to k key servers for encryption, and the key server returns another sequence to the client , and finally the client continues to generate another sequence in sequence from the encrypted hash value of the data block Because the initialization sequence It is not used as a target sequence, so its generation process does not need to be guaranteed to be different from each other, but the sequence returned at the end and the regenerated sequence To ensure that they are different. According to these two different sequences and You can calculate the MDS properties The encoding matrix.
[0084] Preferably, through pipeline design, convergence matrix generation operations of three data blocks can be processed simultaneously, thereby reducing the overall time of matrix generation.
[0085] Figure 4 This is a flow chart of the process of generating a parameter scalability optimization matrix provided by an embodiment of the present application, such as Figure 4 As shown in Figure 2, for archival data with low access frequency, medium-parameter erasure coding schemes are usually used to achieve redundant storage.
[0086] However, when the encoding parameters (n, k) and word length w meet certain specific conditions, traditional hashing methods cannot generate a sufficient number of convergent matrix elements, affecting the encoding efficiency and data reliability.
[0087] For example, when using RS(14,10) erasure code and word length w=16, a 256-bit hash value cannot generate a 384-bit matrix element.
[0088] Using a sliding window method, matrix elements are dynamically generated from a fixed-length hash value. By moving the window and gradually generating elements, the generated matrix elements are ensured to meet the requirements of erasure codes and to avoid repeated generation of the same elements.
[0089] Specifically, the initial range of the sliding window is set to the first w bits of the hash value, generating the sequence The first element x1 of the sliding window moves backward Each time, a candidate element is generated from the current window. Check whether the generated candidate element already exists in the previous sequence. If not, save it as the next element in the sequence. If it exists, continue to generate new candidate elements. Repeat the movement of the sliding window and the generation of elements until the sequence is generated. and All elements of .
[0090] for Sequence, does not need to ensure that the elements are different. When the key server returns a new sequence After that, continue to generate sequences from the position of the sliding window , and guarantee and The elements are different from each other.
[0091] In some embodiments, step 130 specifically includes:
[0092] Step 1301: Obtain content fingerprints corresponding to the ciphertext blocks existing in the distributed storage system;
[0093] In step 1302 , the content fingerprints corresponding to the plurality of ciphertext blocks are compared with the content fingerprints corresponding to the existing ciphertext blocks, and the ciphertext blocks corresponding to the duplicate content fingerprints are deleted.
[0094] The cloud server uses content fingerprints, i.e. hash values, to detect whether each uploaded ciphertext block already exists in the distributed storage system. If identical fragments are found, deduplication is performed and unique ciphertext blocks are stored to reduce redundancy.
[0095] In some embodiments, the method further comprises:
[0096] Update the content fingerprint information of the ciphertext blocks in the distributed storage system in real time.
[0097] Optionally, the distributed storage system may include a deduplication index module for updating the stored ciphertext block information in real time to ensure efficient retrieval and deduplication of data.
[0098] Figure 5 Schematic diagram of the structure of a decentralized data encryption and deduplication storage system based on secret sharing of coding matrices provided in an embodiment of the present application. Figure 5As shown, the system includes a decentralized key server cluster 510, a distributed storage system 520 and a client module 530, wherein:
[0099] The decentralized key server cluster 510 is connected to the client module 530 and includes multiple decentralized key servers. Each key server can independently generate keys and collaboratively participate in the generation of encryption matrix and data block encryption process. The multiple server clusters exchange data and collaborate through a secure communication protocol.
[0100] The distributed storage system 520 is connected to the client module 530 and is used to store ciphertext blocks, perform deduplication operations based on ciphertext block content fingerprints, and update the stored ciphertext block information in real time;
[0101] The client module 530 is connected to the decentralized key server cluster 510 and the distributed storage system 520, and is used to interact with the key server cluster and the distributed storage system to complete data uploading, encryption, storage and data recovery operations.
[0102] It should be understood that the above-mentioned device is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the device are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method and will not be repeated here.
[0103] Figure 6 Schematic diagram of the structure of a decentralized data encryption and deduplication storage device based on secret sharing of coding matrix provided in an embodiment of the present application. Figure 6 As shown, the apparatus includes a block segmentation module 610, a generation module 620, an encryption module 630, and a deduplication storage module 640, wherein:
[0104] A block module 610 is used to block the data to be stored and generate multiple data blocks;
[0105] A generation module 620 is configured to collaboratively generate an encryption encoding matrix based on content fingerprints of multiple data blocks through multiple decentralized key servers;
[0106] An encryption module 630 is configured to encrypt multiple data blocks based on an encryption coding matrix to generate multiple ciphertext blocks;
[0107] The deduplication storage module 640 is configured to store the plurality of ciphertext blocks in a distributed storage system and perform deduplication based on content fingerprints corresponding to the plurality of ciphertext blocks.
[0108] It should be understood that the above-mentioned device is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the device are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method and will not be repeated here.
[0109] Based on the method in the above embodiment, Figure 7 An example of a physical structure diagram of an electronic device is shown below. Figure 7 As shown, an embodiment of the present application provides an electronic device, which may include: a processor (processor) 710, a communication interface (Communications Interface) 720, a memory (memory) 730 and a communication bus 740, wherein the processor 710, the communication interface 720, and the memory 730 communicate with each other through the communication bus 740. The processor 710 can call the logic instructions in the memory 730 to execute the decentralized data encryption deduplication storage method based on coding matrix secret sharing in the above embodiment.
[0110] In addition, the logic instructions in the above-mentioned memory 730 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the decentralized data encryption and deduplication storage method based on coding matrix secret sharing described in each embodiment of the present application.
[0111] Based on the method in the above embodiment, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the decentralized data encryption and deduplication storage method based on coding matrix secret sharing in the above embodiment.
[0112] Based on the method in the above embodiment, an embodiment of the present application provides a computer program product. When the computer program product runs on a processor, the processor executes the decentralized data encryption and deduplication storage method based on coding matrix secret sharing in the above embodiment.
[0113] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0114] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC.
[0115] The above embodiments can be implemented in whole or in part through software, hardware, firmware, or any combination thereof. When implemented using software, they can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, the computer program instructions fully or partially produce the processes or functions described in the embodiments of this application. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted via the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disk, hard disk, tape), optical media (e.g., DVD), or semiconductor media (e.g., solid-state drive (SSD)).
[0116] It will be understood that the various numerical numbers involved in the embodiments of the present application are merely distinctions for the convenience of description and are not intended to limit the scope of the embodiments of the present application.
[0117] It is easy for those skilled in the art to understand that the above is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application should be included in the scope of protection of the present application.
Claims
1. A decentralized data encryption and deduplication storage method based on coding matrix secret sharing, characterized in that: include: Divide the stored data into blocks and generate multiple data blocks; Based on the content fingerprints of the plurality of data blocks, a plurality of decentralized key servers are used to collaboratively generate an encryption coding matrix; encrypting the plurality of data blocks based on the encryption coding matrix to generate a plurality of ciphertext blocks; The multiple ciphertext blocks are stored in a distributed storage system, and duplicate data is deleted based on content fingerprints corresponding to the multiple ciphertext blocks.
2. The decentralized data encryption and deduplication storage method based on coding matrix secret sharing according to claim 1 is characterized in that: The block processing of the data to be stored includes: The data to be stored is divided into blocks using a block algorithm defined based on content.
3. The decentralized data encryption and deduplication storage method based on coding matrix secret sharing according to claim 1 is characterized in that: The step of collaboratively generating an encryption coding matrix based on the content fingerprints of the plurality of data blocks through a plurality of decentralized key servers includes: Based on the content fingerprints of the multiple data blocks, generating initial key fragments respectively through multiple decentralized key servers; The encryption encoding matrix is generated based on a plurality of initial key fragments.
4. The decentralized data encryption and deduplication storage method based on coding matrix secret sharing according to claim 3 is characterized in that: Generating the encryption coding matrix based on a plurality of initial key fragments includes: The matrix elements are generated step by step based on a plurality of initial key fragments, and pipeline acceleration is performed in combination with a sliding window technology to generate the encryption coding matrix.
5. The decentralized data encryption and deduplication storage method based on coding matrix secret sharing according to claim 1 is characterized in that: The deduplication of data based on the content fingerprints corresponding to the plurality of ciphertext blocks includes: Obtaining content fingerprints corresponding to the ciphertext blocks existing in the distributed storage system; The content fingerprints corresponding to the multiple ciphertext blocks are compared with the content fingerprints corresponding to the existing ciphertext blocks, and the ciphertext blocks corresponding to the duplicate content fingerprints are deleted.
6. The decentralized data encryption and deduplication storage method based on coding matrix secret sharing according to claim 1 is characterized in that: The method further comprises: The content fingerprint information of the ciphertext blocks in the distributed storage system is updated in real time.
7. A decentralized data encryption and deduplication storage system based on coding matrix secret sharing, characterized in that: It includes a decentralized key server cluster, a distributed storage system, and a client module, including: The decentralized key server cluster is connected to the client module and includes multiple decentralized key servers. Each key server can independently generate keys and collaboratively participate in the generation of encryption coding matrices and data block encryption processes. Multiple server clusters exchange data and collaborate through secure communication protocols. The distributed storage system is connected to the client module, and is used to store ciphertext blocks, implement deduplication operations based on ciphertext block content fingerprints, and update the stored ciphertext block information in real time; The client module is connected to the decentralized key server cluster and the distributed storage system, and is used to interact with the key server cluster and the distributed storage system to complete data uploading, encryption, storage and data recovery operations.
8. A decentralized data encryption and deduplication storage device based on coding matrix secret sharing, characterized in that: include: A block module is used to process the data to be stored into blocks and generate multiple data blocks; A generation module, configured to collaboratively generate an encryption coding matrix through multiple decentralized key servers based on the content fingerprints of the multiple data blocks; an encryption module, configured to encrypt the plurality of data blocks based on the encryption coding matrix to generate a plurality of ciphertext blocks; The deduplication storage module is used to store the multiple ciphertext blocks in a distributed storage system and perform duplicate data deletion based on the content fingerprints corresponding to the multiple ciphertext blocks.
9. An electronic device, characterized in that: include: at least one memory for storing a computer program; At least one processor is used to execute the program stored in the memory. When the program stored in the memory is executed, the processor is used to execute the decentralized data encryption and deduplication storage method based on coding matrix secret sharing as described in any one of claims 1-6.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program runs on a processor, the processor executes the decentralized data encryption and deduplication storage method based on coding matrix secret sharing as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Data change recovery algorithm capable of restoring data authenticity in cloud storage
CN106612172A
Distributed data method for encrypting data
EP3367292A2