Data security deduplication and data recovery method, system, medium, device and terminal

By adopting public key searchable encryption and proxy re-encryption technologies in the cloud environment, the problems of data deduplication and key management in the ciphertext state are solved, and efficient data deduplication and user data recovery are achieved.

CN115102699BActive Publication Date: 2025-04-08XIAN UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210705033.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-21
Publication Date
2025-04-08
Estimated Expiration
2042-06-21

AI Technical Summary

Technical Problem

The existing data security deduplication technology is difficult to achieve deduplication in the ciphertext state, and at the same time introduces key management problems, and it is difficult for users to effectively recover data.

Method used

Public key searchable encryption technology is used to generate file encryption private keys through file hashing, generate keyword indexes and upload them to cloud servers, use trap gates to match keyword indexes to determine file repetition, and data recovery is achieved through proxy recryption technology.

Benefits of technology

It realizes efficient data deduplication in the ciphertext state, reduces key management problems, and users can effectively restore their own data, improving data security and storage efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115102699B_ABST
    Figure CN115102699B_ABST
Patent Text Reader

Abstract

The present invention belongs to the field of cloud storage technology, and discloses a data security deduplication and data recovery method, system, medium, device and terminal. Through the searchable encrypted index and trapdoor matching relationship, it is judged whether the cloud server stores the ciphertext of the same file. If it exists, the data user uploads his own proxy re-encryption key for the file to the ciphertext chain list of the cloud server to achieve data security deduplication; if it does not exist, the data user encrypts the ciphertext and uploads it to the cloud server with the proxy re-encryption key; when the data user recovers the file, the cloud server uses the user's proxy re-encryption key in the ciphertext chain list to re-encrypt the original ciphertext to generate a converted ciphertext, and the data user uses a private key to decrypt and recover the corresponding file. The present invention ensures that the encrypted data can be securely stored in the cloud server, and while achieving efficient data security deduplication, it does not introduce key management problems, and enables users to effectively recover their own data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of cloud storage technology, and in particular relates to a data security deduplication and data recovery method, system, medium, equipment and terminal. Background Art

[0002] Cloud storage technology enables users to back up and share data conveniently and quickly, reducing users' storage expenses and improving work efficiency. For data security reasons, data needs to be encrypted before being uploaded to the cloud. However, it is difficult to retrieve, share, and deduplicate ciphertext in a ciphertext state. According to the International Data Center (IDC) in "Data Age 2025", the global data circle will grow from 33ZB in 2018 to 175ZB in 2025. Among the data produced each year in the world, 75% is duplicated. Deleting this part of duplicate data can greatly optimize the storage utilization of the server.

[0003] At present, Convergent Encryption (CE) technology is widely used to construct data security deduplication systems, but CE faces many risks such as data leakage, copy forgery attacks, chosen plaintext attacks, content distribution attacks, etc. Since the encryption key used by Convergent Encryption is generated by hashing the user's files, multiple files of the same user will generate multiple different keys, which leads to key management problems.

[0004] The main problem with data security deduplication at this stage is that the two operations of data encryption and deduplication affect each other. If different users use the same key to encrypt data, the same ciphertext will be generated. Data security deduplication is achieved by directly comparing whether the ciphertext is the same. Each file uses a separate key pair for encryption and decryption, which will cause key management problems. If different users use their own keys to encrypt data, there is no need to generate a key pair for each file, which can effectively reduce the key management problem, but it is difficult to implement ciphertext equality testing. How to achieve data deduplication in the encrypted state without introducing key management problems, and how users can restore their own data are all problems with data security deduplication at this stage. Summary of the invention

[0005] In response to the problems existing in the prior art, the present invention provides a method, system, medium, device and terminal for secure data deduplication and data recovery, and in particular, relates to a method, system, medium, device and terminal for secure data deduplication and data recovery based on searchable encryption in a cloud environment.

[0006] The present invention is implemented as follows: a data security deduplication and data recovery method, the data security deduplication and data recovery method comprising:

[0007] Data security deduplication: Public key searchable encryption technology is used to generate a file encryption private key by hashing the file. The same file generates the same file encryption key. The file encryption private key is used to generate a keyword index for the file and upload it to the cloud server. When performing repeatability testing, the file encryption private key is used to generate a trapdoor for the file. The trapdoor is matched with the keyword index in the server to determine whether the same file has been stored in the server. For non-repetitive files, the data user stores the file-related ciphertext and proxy re-encryption key in the cloud server; for repetitive files, the data user stores his own proxy re-encryption key for the file in the corresponding ciphertext linked list to achieve data security deduplication. At this time, the user only needs to store his own public and private keys locally, and does not need to save the file encryption key, so it will not introduce a large number of key management issues.

[0008] Data recovery: Using proxy re-encryption technology, when a data user wants to recover his or her own files, the cloud server uses the corresponding key in the ciphertext list to perform proxy re-encryption on the original ciphertext to generate a converted ciphertext. After receiving the converted ciphertext, the user can use his or her own private key to decrypt the file to recover the file.

[0009] Furthermore, the data security deduplication and data recovery method comprises the following steps:

[0010] Step 1, initialization: input security parameters, run the initialization algorithm, output the system's public parameter information params, and send params to data users and storage servers. The data users include data owners DO and data users DU.

[0011] Step 2: File key generation: performed by the data user; input the file to be encrypted F, and calculate the public and private key pairs (PK F ,SK F ), used to encrypt files and generate proxy re-encryption keys. File encryption keys are generated by hashing files. The same files generate the same keys, and file encryption keys do not need to be stored locally, which does not introduce a large number of key management issues.

[0012] Step 3: User key generation: performed by the data user; the data user generates a public-private key pair (PK u ,SK u ), which is used to generate the proxy re-encryption key and decrypt the ciphertext when restoring the ciphertext. With the proxy re-encryption technology, users only need to save the user key to restore the file.

[0013] Step 4: File proxy re-encryption key generation: performed by the data user; the data user generates the re-encryption key RK of file F for user u through the file proxy re-encryption key generation algorithmF→u , used to generate the transformed ciphertext C'.

[0014] Step 5, keyword extraction: performed by the data owner; the data owner pre-processes the file F locally using public parameters to obtain the keyword w, which can uniquely identify the file.

[0015] Step 6: Keyword index construction: performed by the data owner; input keyword w and file encryption private key SK F , calculate the keyword index C w , each element in the index corresponds to a file.

[0016] Step 7, trapdoor generation: executed by the data user; input keyword w and file encryption private key SK F , calculate the trapdoor T w , send the trapdoor to the cloud server; use the trapdoor to match the index in the cloud server to determine whether the keyword corresponds to the index, and then determine whether the file to be stored by the data user already exists in the cloud server.

[0017] Step 8, Test: Executed by the cloud server; Input keyword index C w and Trapdoor T w , to determine whether the trapdoor matches a keyword in the keyword index; if it matches, it means that the same file already exists in the server. As a data user, the data user only needs to upload the re-encryption key RK of the file F calculated locally about the data user DU F→DU , RK F→DU Add to the ciphertext linked list corresponding to keyword w; if there is no matching relationship, it means that the same file does not exist in the server. The data user, as the data owner, uploads the keyword index and encrypted ciphertext to the cloud server, and at the same time sends the re-encryption key RK of file F to the data owner DO. F→DO Add to the ciphertext list corresponding to keyword w.

[0018] Step 9, encryption: performed by the data owner; input file F and file encryption public key PK F ; Calculate the encrypted ciphertext C of file F and index the keyword C w , ciphertext C, file F about the data owner DO's re-encryption key RK F→DO Upload to the storage server to achieve security protection of the file. The proxy re-encryption key is stored in the ciphertext linked list corresponding to the ciphertext, which is used to generate the proxy re-encryption ciphertext and realize data recovery.

[0019] Step 10, proxy re-encryption: performed by the storage server; input the original ciphertext and use the re-encryption key RK F→DO or RK F→DUThe original ciphertext C is re-encrypted and the converted ciphertext C' is output. The converted ciphertext can only be decrypted by the user who has the corresponding private key. When the user's private key is incorrect, the correct result cannot be decrypted.

[0020] Step 11, decryption: performed by the data user; input conversion ciphertext C', data user's private key SK u , run the decryption algorithm to decrypt, and decrypt the plaintext message. For data users, no matter how many files they own, they only need to store their own public and private keys locally to decrypt the files they own, thereby restoring the plaintext message.

[0021] Further, the initialization in step 1 includes:

[0022] Input security parameter k, run initialization algorithm, and output system public parameter information The group G1 is a q-order multiplicative cyclic group, g∈G1 is a generator of the group G1, and the bilinear map e:G1×G1→G2, Z=e(g,g)∈G2; the bilinear map e:G1×G1→G2 satisfies the following conditions:

[0023] (1) Bilinear: For any g,h∈G1 and There is e(g a ,h b )=e(g,h) a·b .

[0024] (2) Non-degeneracy: For any generator g∈G1, e(g,g)≠1.

[0025] (3) Computability: For any g, h∈G1, e(g, h) is computable in polynomial time.

[0026] The system public parameters params are sent to data users and storage servers, wherein the data users include data owners DO and data users DU.

[0027] The file key generation in step 2 includes:

[0028] The data user generates an encryption key pair for the file F he owns locally. Calculate the file encryption private key SK F =f=H1(F), using the private key SK F Calculate the file encryption public key Output the public and private key pair (PK F ,SK F ).

[0029] Encrypt the file with the public key PK F Public, file encryption private key SK FIt is used to generate trapdoors and re-encryption keys, but the user does not save the file encryption key locally after the calculation is completed. For data users with the same file, the file encryption keys extracted using the same algorithm are the same.

[0030] The user key generation in step 3 includes:

[0031] Data users select random numbers locally Use the randomly selected a as the user's own private key SK u , using the private key SK u Calculate the user's own public key PK u =g a ; Output the user's public and private key pair (PK u ,SK u )=(g a ,a), where the public key is used to generate the re-encryption key, and the private key is used to decrypt the converted ciphertext; the public key generated by the data user will be made public, and the private key will be kept by himself.

[0032] The data owner DO will randomly select As its own private key SK DO , the generated public-private key pair is (PK DO ,SK DO )=(g a ,a); Data user DU will randomly select As its own private key SK DU , the generated public-private key pair is (PK DU ,SK DU )=(g b ,b).

[0033] Further, the generation of the proxy re-encryption key in step 4 includes:

[0034] After generating their own public and private key pairs, data users use their own files to encrypt their private key SK F And the user's own public key PK u Calculate the proxy re-encryption key RK of the file F for the user himself F→u , used to recover file F that has data ownership in the cloud server.

[0035] Using the system parameters generated in step 1, calculate the proxy re-encryption key of the data user; for the data owner DO, the proxy re-encryption key is RK F→DO =g a·f , and for data users with the same file F, the proxy re-encryption key is RK F→DU =g b·f .

[0036] The data owner's proxy re-encryption key RK F→DO , stored in the ciphertext list of the corresponding file; and the data user's proxy re-encryption key RK F→DU Then you need to perform a match test between the index and the trapdoor. If the test result is True, RK F→DU Stored in the corresponding ciphertext linked list, if the test result is False, it is determined to be the data owner of the file, and the file is encrypted and stored in the cloud server. The proxy re-encryption key RK of file F F→DU Stored in the corresponding ciphertext linked list.

[0037] The keyword extraction in step 5 includes:

[0038] Before uploading the ciphertext of file F, the data owner needs to extract the keywords of the file to generate a keyword index; using the system parameters generated in step 1, extract the keyword w=H2(F).

[0039] The keyword index generation in step 6 includes:

[0040] (1) Data users select random numbers locally Using the system parameters params generated in step 1, calculate

[0041] (2) Use the keyword w extracted in step 5 and the file generated in step 2 to encrypt the private key SK F =f, calculate

[0042] (3) Using the system parameters generated in step 1, calculate

[0043] (4) Generate keyword index through the above calculation Upload the keyword index to the storage server.

[0044] Further, the trapdoor generation in step seven includes:

[0045] Before uploading the encrypted file storage server owned by the data user, it is necessary to determine whether the same file exists in the storage server.

[0046] To determine whether the same file exists in the storage server, the data user uses the file encryption private key SK generated in step 2 F =f and the keyword w extracted in step 5, calculate the trapdoor T w =w f =H2(F) f , and send the trapdoor to the storage server.

[0047] The test in step eight includes:

[0048] Test algorithm: executed by the cloud server; input keyword index C w and Trapdoor T w , to determine whether the trapdoor corresponds to a keyword in the keyword index. If it does, it means that the same file already exists in the server. At this time, the data user only needs to upload the re-encryption key RK of the file F calculated locally for the data user DU F→DU , RK F→DU Add to the ciphertext list corresponding to keyword w.

[0049] The storage server uses the keyword index generated in step 6 and the trapdoor generated in step 7 to determine whether the keyword index and the trapdoor match, specifically including:

[0050] (1) Using the system parameters generated in step 1, the storage server calculates

[0051] (2) Compare the calculation result with the keyword index to determine whether there is a match.

[0052] (3) If there is a match, it means that the ciphertext of file F has been stored in the storage server; the data user, as a data user, no longer stores the file ciphertext and sends the proxy re-encryption key RK F→DU =g b·f Stored in the corresponding ciphertext list in the cloud server.

[0053] (4) If there is no match, it means that the storage server does not store the ciphertext of file F. The data user, as the data owner, uses the algorithm in step 9 to encrypt file F, stores the encrypted ciphertext in the cloud server, and sends the proxy re-encryption key RK F→DO =g a·f Stored in the corresponding ciphertext list in the cloud server.

[0054] The encryption in step nine includes:

[0055] When the data user passes the matching test algorithm of the trapdoor and the keyword index, if there is no match, the data user is identified as the data owner of file F, and the encryption algorithm is executed to upload the encrypted ciphertext of file F to the storage server, which includes:

[0056] (1) The data owner randomly selects And the system parameters generated in step 1 are calculated As the first part of the ciphertext.

[0057] (2) Based on the public key PK encrypted by using the file F =Zf ,calculate

[0058] (3) Calculation As the second part of the ciphertext of file F.

[0059] (4) After the above steps are completed, the ciphertext of file F is generated as follows: Upload ciphertext C to the storage server.

[0060] Further, the proxy re-encryption in step 10 includes:

[0061] After receiving the data acquisition request from the data user, the storage server determines whether the linked list corresponding to the corresponding ciphertext in the storage server stores the proxy re-encryption key of the data user; if the proxy re-encryption key of the data user is stored, the proxy re-encryption key is used to perform proxy re-encryption on the original ciphertext to generate the converted ciphertext; if the proxy re-encryption key of the data user is not stored, False is returned to the data user, indicating that the data user cannot obtain the ciphertext; the converted ciphertext is calculated using the proxy re-encryption key generated in step 4 and the original ciphertext generated in step 9, and the re-encryption key RK of the data user for file F is used. F→DU Take re-encryption as an example, specifically including:

[0062] (1) Use bilinear mapping to calculate the first part of the transformed ciphertext

[0063] (2) Let the second part of the converted ciphertext be the same as the second part of the original ciphertext, C'2 = C2.

[0064] (3) Generate a converted ciphertext C'=(C1', C'2) of the specified file F by the data user. Send the converted ciphertext to the specified user for file recovery.

[0065] (4) For the data owner, executing the same algorithm can generate the corresponding transformed ciphertext.

[0066] The decryption in step 11 includes:

[0067] For data owners and data users, the file key of file F is not stored locally, but only their own public and private keys are saved. When the data user wants to restore file F, he sends a request to the storage server. After the storage server executes step 10, it generates a converted ciphertext that can be decrypted using the data user's private key, thereby ensuring data security without introducing local key management issues.

[0068] Using the user private key generated in step 3 and the converted ciphertext about the user generated in step 10, the file F is decrypted. The specific decryption method includes:

[0069] (1) Using the data user’s private key b, calculate 1 / b.

[0070] (2) Calculate (C1') using the first part of the converted ciphertext C1' 1 / b .

[0071] (3) Using the second part of the converted ciphertext C'2, calculate F = C'2 / (C1') 1 / b , and finally decrypt to obtain file F.

[0072] (4) For the data owner, the same algorithm is executed using his own private key to decrypt the file F.

[0073] Another object of the present invention is to provide a data security deduplication and data recovery system using the data security deduplication and data recovery method, the data security deduplication and data recovery system comprising:

[0074] The initialization module is used to input security parameters, run the initialization algorithm, output the system's public parameter information, and send the public parameter information to data users and storage servers.

[0075] The key generation module is used to calculate the public and private key pairs of the encrypted files respectively, generate the public and private key pairs through the user key generation algorithm, and generate the re-encryption key of the file F for the user u.

[0076] The keyword extraction module is used to be executed by the data owner; the data owner obtains the keyword w after preprocessing the file F locally using the public parameters.

[0077] Keyword index building module, for execution by the data owner; input keyword w and file encryption private key SK F , calculate the keyword index C w .

[0078] Trapdoor generation module, for execution by data users; input keyword w and file encryption private key SK F , calculate the trapdoor T w , send the trapdoor to the cloud server; use the trapdoor to match the index in the cloud server.

[0079] Test module, for execution by the cloud server; input keyword index C w and Trapdoor T w , determine whether the trapdoor matches a keyword in the keyword index.

[0080] Encryption module, used to be executed by the data owner; input file F and file encryption public key PK F ; Calculate the encrypted ciphertext C of file F and keyword index C w, ciphertext C, file F about the data owner DO's re-encryption key RK F→DO Upload to the storage server.

[0081] The proxy re-encryption module is used to be executed by the storage server; it inputs the original ciphertext and uses the re-encryption key RK F→DO or RK F→DU Re-encrypt the original ciphertext C and output the converted ciphertext C'.

[0082] Decryption module, used to be executed by the data user; input conversion ciphertext C', data user's private key SK u , run the decryption algorithm to decrypt, and decrypt to get the plaintext message.

[0083] Another object of the present invention is to provide a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the data security deduplication and data recovery method.

[0084] Another object of the present invention is to provide a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to execute the data security deduplication and data recovery method.

[0085] Another object of the present invention is to provide an information data processing terminal, which is used to implement the data security deduplication and data recovery system.

[0086] In combination with the above technical solutions and the technical problems solved, please analyze the advantages and positive effects of the technical solutions to be protected by the present invention from the following aspects:

[0087] First, in view of the technical problems existing in the above-mentioned prior art and the difficulty of solving the problems, the technical solutions to be protected by the present invention and the results and data during the research and development process are closely combined to analyze in detail and deeply how the technical solutions of the present invention solve the technical problems, and some creative technical effects brought about after solving the problems. The specific description is as follows:

[0088] The purpose of the present invention is to provide an efficient data security deduplication and data recovery solution based on searchable encryption in a cloud environment to address the defects of existing data security deduplication technology, avoid introducing the key management problems existing in convergent encryption, and combine with proxy re-encryption to enable users to correctly recover their own data.

[0089] The present invention adopts searchable encryption technology and proxy re-encryption technology to achieve secure deduplication of data while enabling users to effectively restore ciphertext. Data users extract file encryption keys from files to be stored and encrypt files using the file encryption keys. In a multi-user interactive scenario, searchable encryption technology is used to generate a keyword index of the file. The data owner uploads the file ciphertext and keyword index to a cloud server, and generates a keyword index of the file at the same time to realize the repeatability judgment of the file. For data users, before uploading their own files, it is necessary to determine whether the same file is stored in the server. Since the cloud server stores ciphertext messages, it is impossible to directly judge. Using searchable encryption technology, data users generate search traps locally and match them with the keyword index in the cloud server to determine whether the same file exists in the cloud server. If the trap generated by the data user matches the index stored by the cloud server, it indicates that the same file already exists in the cloud server, and the data user does not need to re-upload the encrypted file, which can effectively reduce communication overhead and computing overhead. The data user only needs to generate a proxy re-key for the file itself and upload the key to the ciphertext linked list corresponding to the cloud server. After completing data deduplication, data users only need to save their own keys locally, without having to save a file key for each file. Therefore, the present invention can effectively reduce key management problems. At the same time, the present invention provides an effective deduplication file recovery function. When a data user wants to recover his own file, he sends a recovery request to the storage server. After receiving the request from the data user, the storage server uses the re-encryption key of the user in the ciphertext list of the corresponding file to calculate and generate a conversion ciphertext for the data user, and sends the generated conversion ciphertext to the data user. When the data user receives the conversion ciphertext, he can use his own private key to decrypt the conversion ciphertext, thereby recovering the file.

[0090] The present invention realizes efficient and fast data security deduplication service between multiple users in an untrusted cloud storage environment. While ensuring that user privacy is not leaked, multi-user participation can effectively save the storage space of the cloud server and effectively reduce the communication and computing overhead of data users. Combined with the proxy re-encryption technology, the correct recovery of user ciphertext can be achieved without introducing file key management issues, realizing complete full-process data security deduplication.

[0091] Second, considering the technical solution as a whole or from the perspective of the product, the technical effects and advantages of the technical solution to be protected by the present invention are described in detail as follows:

[0092] The present invention combines searchable encryption with proxy re-encryption technology, which can effectively solve the key management problem caused by the use of convergent encryption technology for secure deduplication, while reducing communication overhead and computing overhead. The present invention uses proxy re-encryption technology to provide a solution for data users to recover corresponding files.

[0093] The present invention ensures that encrypted data can be securely stored in a cloud server, achieves efficient data security deduplication, does not introduce key management issues, and enables users to effectively recover their own data.

[0094] Third, as auxiliary evidence of the inventiveness of the present invention, it is also reflected in the following important aspects:

[0095] (1) The technical solution of the present invention fills the technical gap in the industry at home and abroad:

[0096] For the first time, a data security deduplication solution based on public key searchable encryption is proposed, which is suitable for data security deduplication in multi-user scenarios. The transition from single user to multi-user can effectively reduce the deduplication rate. At the same time, combined with proxy re-encryption technology, it can effectively restore user files. The combination of the two can effectively solve the key management problem introduced by convergent encryption for secure deduplication, and has higher security.

[0097] (2) The technical solution of the present invention solves a technical problem that people have been eager to solve but have never been able to solve successfully:

[0098] At present, the focus of domestic and foreign research on data deduplication is on how to dedupe efficiently and safely, but there is a lack of consideration on data recovery. In actual application scenarios, users need to restore files after safely deduplicating their own data, and the existing solutions do not propose a method for effectively restoring files after data is safely deduplicated. The present invention can achieve safe deduplication of user data while providing an effective file recovery method, forming a closed loop of data safe deduplication process, which is more in line with actual application scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0099] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments of the present invention. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0100] Figure 1 It is a flow chart of a data security deduplication and data recovery method provided by an embodiment of the present invention;

[0101] Figure 2 It is a schematic diagram of a data security deduplication and data recovery method provided by an embodiment of the present invention;

[0102] Figure 3 is a flow chart of data security deduplication provided by an embodiment of the present invention;

[0103] Figure 4 is a data recovery flow chart provided by an embodiment of the present invention;

[0104] Figure 5 It is a schematic diagram of entities involved in the data security deduplication process provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0105] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0106] In view of the problems existing in the prior art, the present invention provides a data security deduplication and data recovery method, system, medium, device and terminal. The present invention is described in detail below with reference to the accompanying drawings.

[0107] 1. Explanatory Examples In order to enable those skilled in the art to fully understand how to implement the present invention, this section provides an illustrative example that describes the technical solution.

[0108] The embodiment of the present invention provides an efficient data security deduplication solution based on searchable encryption in a cloud environment, and combines proxy re-encryption technology to realize user data recovery. Figure 5 As shown, the entities involved in the overall data security deduplication process include: data owners, data users, and storage servers.

[0109] like Figure 1 As shown, the data security deduplication and data recovery method provided by the embodiment of the present invention includes the following steps:

[0110] S101: A data user extracts a file encryption key from a file to be stored, and encrypts the file using the file encryption key.

[0111] S102, using searchable encryption technology, the data user generates a search trap locally, matches it with the keyword index in the cloud server, and determines whether the same file exists in the cloud server.

[0112] S103, sending a recovery request to the storage server. After receiving the request from the data user, the storage server generates a converted ciphertext for the data user and sends it to the data user. When the data user receives the converted ciphertext, he uses his own private key to decrypt the converted ciphertext to restore the file.

[0113] like Figure 2As shown, the data security deduplication and data recovery method provided by the embodiment of the present invention is mainly divided into two processes: data security deduplication process and data recovery process. The implementation steps of each process are as follows:

[0114] 1. Data security deduplication (see Figure 3 )

[0115] Step 1: Initialize system parameters

[0116] Step 1.1: Input security parameter k, run initialization algorithm, and output system public parameter information The group G1 is a q-order multiplicative cyclic group, g∈G1 is a generator of the group G1, and the bilinear map e:G1×G1→G2, Z=e(g,g)∈G2. The bilinear map e:G1×G1→G2 satisfies the following conditions:

[0117] 1) Bilinear: For any g,h∈G1 and There is e(g a ,h b )=e(g,h) a·b .

[0118] 2) Non-degeneracy: For any generator g∈G1, e(g,g)≠1.

[0119] 3) Computability: For any g, h∈G1, e(g, h) is computable in polynomial time.

[0120] Step 1.2: Send the system public parameters params to data users (including data owners DO, data users DU) and storage servers.

[0121] Step 2: Generate a file encryption key pair

[0122] Step 2.1: The data user generates an encryption key pair for the file F he owns locally. First, calculate the file encryption private key SK F =f=H1(F), using the private key SK F Calculate the file encryption public key Output the public and private key pair (PK F ,SK F ).

[0123] Step 2.2: Encrypt the file with the public key PK F Public, file encryption private key SK F It is used to generate trapdoors and re-encryption keys, but the user does not save the file encryption key locally after the calculation is completed. For data users with the same file, the file encryption keys extracted using the same algorithm are the same.

[0124] Step 3: Generate the user's public and private key pair

[0125] Step 3.1: Data user selects a random number locally Use the randomly selected a as the user's own private key SK u .

[0126] Step 3.2: Using the private key SK u Calculate the user's own public key PK u =g a . Output the user's public and private key pair (PK u ,SK u )=(g a ,a), where the public key is used to generate the re-encryption key, and the private key is used to decrypt the converted ciphertext. The public key generated by the data user will be made public, and the private key will be kept by himself.

[0127] Since data users are divided into two types of entities, data owners and data users, the algorithms executed in the subsequent steps are different, so they are marked separately.

[0128] The data owner DO will randomly select As its own private key SK DO , the generated public-private key pair is (PK DO ,SK DO )=(g a ,a).

[0129] The data user DU will randomly select As its own private key SK DU , the generated public-private key pair is (PK DU ,SK DU )=(g b ,b).

[0130] Step 4: Generate file re-encryption key

[0131] After generating their own public and private key pairs, data users use their own files to encrypt their private key SK F And the user's own public key PK u The proxy re-encryption key RK of the user's own file F can be calculated F→u , used to recover file F that has data ownership in the cloud server.

[0132] Step 4.1: Using the system parameters generated in step 1, calculate the proxy re-encryption key for the data user. For the data owner DO, the proxy re-encryption key is RK F→DO =g a·f , and for data users with the same file F, the proxy re-encryption key is RKF→DU =g b·f .

[0133] Step 4.2: Data owner’s proxy re-encryption key RK F→DO , stored in the ciphertext linked list of the corresponding file.

[0134] Step 4.3: Data user's proxy re-encryption key RK F→DU After the index and the trapdoor match test is performed, if the test result is True, RK F→DU Stored in the corresponding ciphertext linked list, if the test result is False, it is determined to be the data owner of the file, and the file is encrypted and stored in the cloud server. Its proxy re-encryption key RK for file F F→DU Stored in the corresponding ciphertext linked list.

[0135] Step 5: Extract file keywords

[0136] Step 5.1: Before uploading the ciphertext of file F, the data owner needs to extract the keywords of the file to generate a keyword index. Using the system parameters generated in step 1, extract the keyword w=H2(F).

[0137] Step 6: Generate keyword index

[0138] Step 6.1: Data user selects a random number locally Using the system parameters params generated in step 1, calculate

[0139] Step 6.2: Encrypt the private key SK using the keyword w extracted in step 5 and the file generated in step 2 F =f, calculate

[0140] Step 6.3: Using the system parameters generated in step 1, calculate

[0141] Step 6.4: Generate keyword index through the above calculation Upload the keyword index to the storage server.

[0142] Step 7: Generate a trapdoor

[0143] Step 7.1: Before uploading the encrypted file storage server owned by the data user, the data user must first determine whether the same file exists in the storage server. To determine whether the same file exists in the storage server, the data user must first use the file encryption private key SK generated in step 2 F =f and the keyword w extracted in step 5, calculate the trapdoor T w =w f=H2(F) f , and send the trapdoor to the storage server.

[0144] Step 8: Test the algorithm

[0145] Test algorithm: executed by the cloud server. Input keyword index C w and Trapdoor T w , to determine whether the trapdoor corresponds to a keyword in the keyword index. If it does, it means that the same file already exists in the server. At this time, the data user only needs to upload the re-encryption key RK of the file F calculated locally for the data user DU F→DU , RK F→DU Add to the ciphertext list corresponding to keyword w.

[0146] The storage server uses the keyword index generated in step 6 and the trapdoor generated in step 7 to determine whether the keyword index and the trapdoor match, which includes:

[0147] Step 8.1: Using the system parameters generated in step 1, the storage server calculates

[0148] Step 8.2: Compare the above calculation result with the keyword index to determine whether there is a match.

[0149] Step 8.3: If there is a match, it means that the storage server has stored the ciphertext of file F. At this time, the data user, as a data user, no longer stores the file ciphertext, but only needs to transfer the proxy re-encryption key RK F→DU =g b·f It can be stored in the corresponding ciphertext linked list in the cloud server.

[0150] Step 8.4: If there is no match, it means that the storage server does not store the ciphertext of file F. At this time, the data user, as the data owner, needs to use the algorithm in step 9 to encrypt file F, store the encrypted ciphertext in the cloud server, and at the same time, the proxy re-encryption key RK F→DO =g a·f Stored in the corresponding ciphertext list in the cloud server.

[0151] Step 9: Encrypt files

[0152] When the data user passes the matching test algorithm of the trapdoor and the keyword index, if there is no match, the data user is identified as the data owner of file F, and needs to execute the encryption algorithm to upload the encrypted ciphertext of file F to the storage server. The specific steps are as follows:

[0153] Step 9.1: The data owner randomly selects And the system parameters generated in step 1 are calculated As the first part of the ciphertext.

[0154] Step 9.2: Encrypt the public key PK according to the exploit file F =Z f , further calculation

[0155] Step 9.3: Calculation As the second part of the ciphertext of file F.

[0156] Step 9.4: After the above steps are completed, the ciphertext of file F is generated as follows: Upload ciphertext C to the storage server.

[0157] 2. Data recovery (see Figure 4 )

[0158] Step 10: Re-encrypt the file

[0159] After receiving the data user's request to obtain data, the storage server determines whether the linked list corresponding to the corresponding ciphertext in the storage server stores the proxy re-encryption key for the data user. If the proxy re-encryption key for the data user is stored, the proxy re-encryption key is used to perform proxy re-encryption on the original ciphertext to generate the converted ciphertext. If the proxy re-encryption key for the data user is not stored, False is returned to the data user, indicating that the data user cannot obtain the ciphertext. The converted ciphertext is calculated using the proxy re-encryption key generated in step 4 and the original ciphertext generated in step 9. Here, the re-encryption key RK of the data user for file F is used. F→DU Taking re-encryption as an example, the specific algorithm is as follows:

[0160] Step 10.1: Compute the first part of the transformed ciphertext using a bilinear map

[0161] Step 10.2: Let the second part of the converted ciphertext be the same as the second part of the original ciphertext, ie, C'2 = C2.

[0162] Step 10.3: After the above steps, the data user generates the converted ciphertext C'=(C1', C'2) for the specified file F. The converted ciphertext is sent to the specified user for file recovery. For the data owner, the same algorithm can be executed to generate the corresponding converted ciphertext.

[0163] Step 11: User decryption and recovery

[0164] For data owners and data users, they do not store the file key of file F locally, but only save their own public and private keys. When the data user wants to restore file F, he sends a request to the storage server. After the storage server executes step 10, it generates a converted ciphertext that can be decrypted using the data user's private key, thereby ensuring data security without introducing local key management issues.

[0165] Using the user private key generated in step 3 and the converted ciphertext about the user generated in step 10, decrypt the file F. Here, taking the data user as an example, the specific decryption algorithm is as follows:

[0166] Step 11.1: Using the data user’s private key b, calculate 1 / b.

[0167] Step 11.2: Calculate (C1') using the first part of the transformed ciphertext C1' 1 / b .

[0168] Step 11.3: Calculate F = C'2 / (C1') using the second part of the transformed ciphertext C'2 1 / b , and finally decrypted to obtain file F. For the data owner, the same algorithm is used to decrypt the file F using his own private key.

[0169] The data security deduplication and data recovery system provided by the embodiment of the present invention includes:

[0170] The initialization module is used to input security parameters, run the initialization algorithm, output the system's public parameter information, and send the public parameter information to data users and storage servers.

[0171] The key generation module is used to calculate the public and private key pairs of the encrypted files respectively, generate the public and private key pairs through the user key generation algorithm, and generate the re-encryption key of the file F for the user u.

[0172] The keyword extraction module is used to be executed by the data owner; the data owner obtains the keyword w after preprocessing the file F locally using the public parameters.

[0173] Keyword index building module, for execution by the data owner; input keyword w and file encryption private key SK F , calculate the keyword index C w .

[0174] Trapdoor generation module, for execution by data users; input keyword w and file encryption private key SK F , calculate the trapdoor T w , send the trapdoor to the cloud server; use the trapdoor to match the index in the cloud server.

[0175] Test module, for execution by the cloud server; input keyword index C w and Trapdoor T w , determine whether the trapdoor matches a keyword in the keyword index.

[0176] Encryption module, used to be executed by the data owner; input file F and file encryption public key PK F ; Calculate the encrypted ciphertext C of file F and keyword index C w , ciphertext C, file F about the data owner DO's re-encryption key RK F→DO Upload to the storage server.

[0177] The proxy re-encryption module is used to be executed by the storage server; it inputs the original ciphertext and uses the re-encryption key RK F→DO or RK F→DU Re-encrypt the original ciphertext C and output the converted ciphertext C'.

[0178] Decryption module, used to be executed by the data user; input conversion ciphertext C', data user's private key SK u , run the decryption algorithm to decrypt, and decrypt to get the plaintext message.

[0179] 2. Application Examples: In order to prove the creativity and technical value of the technical solution of the present invention, this section provides application examples of the technical solution on specific products or related technologies.

[0180] According to the actual application scenario, searchable encryption technology is used to achieve data security deduplication, and data recovery is achieved by relying on the proxy re-encryption system to construct a complete data security deduplication system. The present invention forms a closed loop process for data security deduplication, which has certain practical value for actual scenario construction.

[0181] The main function of searchable encryption is to retrieve encrypted data stored in the cloud, which has a certain degree of ambiguity. For the actual data security deduplication scenario, the data files need to be completely matched before deduplication can be performed to ensure the completeness of the data. The present invention uses the matching of the trapdoor of searchable encryption and the index to apply the retrieval function to secure deduplication. Combined with the strong unforgeability of the hash function, the hash value of the file is used as a keyword to uniquely identify the file. According to the idea of ​​searchable encryption, a corresponding trapdoor generation algorithm is designed. Under the condition of ensuring a certain degree of security, the matching relationship between the keyword index and the trapdoor can be verified to determine whether the same file exists in the cloud server, thereby achieving secure deduplication of data.

[0182] In actual application scenarios, users store data in cloud servers for backup and restore the stored files within a certain period of time. In order to avoid key management issues, users do not save the encryption keys of each file locally. They use proxy re-encryption technology to convert the original ciphertext stored in the cloud server using the corresponding proxy re-encryption key in the ciphertext list of the data file in the cloud server to generate targeted converted ciphertext. Users can use their own private keys to decrypt the converted ciphertext and restore the file. According to the idea of ​​proxy re-encryption, users who do not have the corresponding key cannot decrypt the converted ciphertext; even if the adversary forges the proxy re-encryption key, since the adversary does not have the file encryption key, it cannot generate the correct proxy re-encryption key, and therefore cannot correctly decrypt the converted ciphertext.

[0183] In summary, the present invention combines the searchable encryption technology with the proxy re-encryption technology for the first time to form a complete data security deduplication solution, which can realize multi-user participation, meet certain social needs, and has practical value.

[0184] 3. Evidence of the effects of the embodiments. The embodiments of the present invention have achieved some positive effects during the development or use process, and indeed have great advantages over the prior art. The following content is described in conjunction with the data, charts, etc. of the test process.

[0185]

[0186]

[0187] It should be noted that the embodiments of the present invention can be implemented by hardware, software, or a combination of software and hardware. The hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware. It can be understood by a person of ordinary skill in the art that the above-mentioned devices and methods can be implemented using computer executable instructions and / or contained in a processor control code, such as a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. Such code is provided on the carrier medium. The device and its modules of the present invention can be implemented by hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., can also be implemented by software executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software, such as firmware.

[0188] The above description is only a specific implementation mode of the present invention, but the protection scope of the present invention is not limited thereto. Any modifications, equivalent substitutions and improvements made by any technician familiar with the technical field within the technical scope disclosed by the present invention and within the spirit and principle of the present invention should be covered by the protection scope of the present invention.

Claims

1. A data security deduplication and data recovery method, characterized in that: The data security deduplication and data recovery method includes: Through the searchable encrypted index and trapdoor matching relationship, it is determined whether the cloud server stores the ciphertext of the same file. If it does, the data user uploads his own proxy re-encryption key for the file to the ciphertext chain list of the cloud server to achieve data security deduplication; if it does not exist, the data user encrypts the ciphertext and uploads it to the cloud server with the proxy re-encryption key; when the data user restores the file, the cloud server uses the user's proxy re-encryption key in the ciphertext chain list to re-encrypt the original ciphertext to generate a converted ciphertext, and the data user uses the private key to decrypt and restore the corresponding file; The data security deduplication and data recovery method comprises the following steps: Step 1, initialization: input security parameters, run the initialization algorithm, output the system's public parameter information params, and send params to data users and storage servers. The data users include data owners DO and data users DU; Step 2: File key generation: performed by the data user; input the file to be encrypted F, and calculate the public and private key pairs (PK F ,SK F ), used to encrypt files and generate proxy re-encryption keys; Step 3: User key generation: performed by the data user; the data user generates a public-private key pair (PK u ,SK u ), used to generate proxy re-encryption keys and to decrypt ciphertext when recovering ciphertext; Step 4: File proxy re-encryption key generation: performed by the data user; the data user generates the re-encryption key RK of file F for user u through the file proxy re-encryption key generation algorithm F→u , used to generate the transformed ciphertext C'; Step 5: Keyword extraction: performed by the data owner; the data owner obtains the keyword w after preprocessing the file F locally using the public parameters; Step 6: Keyword index construction: performed by the data owner; input keyword w and file encryption private key SK F , calculate the keyword index C w ; Step 7, trapdoor generation: executed by the data user; input keyword w and file encryption private key SK F , calculate the trapdoor T w , sending the trapdoor to the cloud server; using the trapdoor to match the index in the cloud server, determining whether the keyword corresponds to the index, and then determining whether the file to be stored by the data user already exists in the cloud server; Step 8, Test: Executed by the cloud server; Input keyword index C w and Trapdoor T w , to determine whether the trapdoor matches a keyword in the keyword index; if it matches, it means that the same file already exists in the server. As a data user, the data user only needs to upload the re-encryption key RK of the file F calculated locally about the data user DU F→DU , RK F→DU Add to the ciphertext linked list corresponding to keyword w; if there is no matching relationship, it means that the same file does not exist in the server. The data user, as the data owner, uploads the keyword index and encrypted ciphertext to the cloud server, and at the same time sends the re-encryption key RK of file F to the data owner DO. F→DO Add to the ciphertext list corresponding to keyword w; Step 9, encryption: performed by the data owner; input file F and file encryption public key PK F ; Calculate the encrypted ciphertext C of file F and keyword index C w , ciphertext C, file F about the data owner DO's re-encryption key RK F→DO Upload to the storage server; Step 10, proxy re-encryption: performed by the storage server; input the original ciphertext and use the re-encryption key RK F→DO or RK F→DU Re-encrypt the original ciphertext C and output the converted ciphertext C'; Step 11, decryption: performed by the data user; input conversion ciphertext C', data user's private key SK u , run the decryption algorithm to decrypt and obtain the plaintext message; The test in step eight includes: Test algorithm: executed by the cloud server; input keyword index C w and trapdoor T w , to determine whether the trapdoor corresponds to a keyword in the keyword index. If it does, it means that the same file already exists in the server. At this time, the data user only needs to upload the re-encryption key RK of the file F calculated locally for the data user DU F→DU , RK F→DU Add to the ciphertext list corresponding to keyword w; The storage server uses the keyword index generated in step 6 and the trapdoor generated in step 7 to determine whether the keyword index and the trapdoor match, specifically including: (1) Using the system parameters generated in step 1, the storage server calculates H3(e(T w ,g r1 )); (2) Compare the calculation result with the keyword index to determine whether there is a match; (3) If there is a match, it means that the file has been stored in the storage server F As a data user, data users no longer store file ciphertexts and F The proxy re-encryption key RK F→DU =g b·f Stored in the corresponding ciphertext list in the cloud server; (4) If there is no match, it means that the storage server does not store the ciphertext of file F. The data user, as the data owner, uses the algorithm in step 9 to encrypt file F, stores the encrypted ciphertext in the cloud server, and sends the proxy re-encryption key RK F→DO =g a·f Store the corresponding ciphertext list in the cloud server; The proxy re-encryption in step 10 includes: After receiving the data acquisition request from the data user, the storage server determines whether the linked list corresponding to the corresponding ciphertext in the storage server stores the proxy re-encryption key of the data user; if the proxy re-encryption key of the data user is stored, the proxy re-encryption key is used to perform proxy re-encryption on the original ciphertext to generate the converted ciphertext; if the proxy re-encryption key of the data user is not stored, False is returned to the data user, indicating that the data user cannot obtain the ciphertext; the converted ciphertext is calculated using the proxy re-encryption key generated in step 4 and the original ciphertext generated in step 9, and the converted ciphertext is obtained based on the data user's information about the file. F The re-encryption key RK F→DU Take re-encryption as an example, specifically including: (1) Use bilinear mapping to calculate the first part of the transformed ciphertext (2) Let the second part of the converted ciphertext be the same as the second part of the original ciphertext, C'2 = C2; (3) Generate a converted ciphertext C'=(C'1, C'2) of the specified file F for the data user; send the converted ciphertext to the specified user for file recovery; (4) For the data owner, executing the same algorithm can generate the corresponding transformed ciphertext; The decryption in step 11 includes: For data owners and data users, no information about files is stored locally. F Instead of saving the file key, the data user only saves their own public and private keys; when the data user wants to restore the file F When the data is received, a request is sent to the storage server. After the storage server executes step 10, a conversion ciphertext decryptable by the private key of the data user is generated, thereby ensuring data security without introducing local key management issues. Use the user private key generated in step 3 and the converted ciphertext about the user generated in step 10 to decrypt the file F , the specific decryption methods include: (1) Using the data user’s private key b, calculate 1 / b; (2) Calculate (C'1) using the first part of the transformed ciphertext C'1 1 / b ; (3) Using the second part of the converted ciphertext C'2, calculate F = C'2 / (C'1) 1 / b , and finally decrypt to obtain file F; (4) For the data owner, the same algorithm is executed using his own private key to decrypt the file F.

2. The data security deduplication and data recovery method according to claim 1, characterized in that: The initialization in step 1 includes: Input security parameter k, run initialization algorithm, and output system public parameter information The group G1 is a q-order multiplicative cyclic group, g∈G1 is a generator of the group G1, and the bilinear map e:G1×G1→G2, Z=e(g,g)∈G2; the bilinear map e:G1×G1→G2 satisfies the following conditions: (1) Bilinear: For any g,h∈G1 and There is e(g a ,h b )=e(g,h) a·b ; (2) Non-degeneracy: for any generator g∈G1, e(g,g)≠1; (3) Computability: For any g, h∈G1, e(g, h) is computable in polynomial time; Send system public parameters params to data users and storage servers, where the data users include data owners DO and data users DU; The file key generation in step 2 includes: The data user generates an encryption key pair for the file F he owns locally; calculates the file encryption private key SK F =f=H1(F), using the private key SK F Calculate the file encryption public key Output the public and private key pair (PK F ,SK F ); Encrypt the file with the public key PK F Public, file encryption private key SK F It is used to generate trapdoors and re-encryption keys. After the calculation is completed, the user does not save the file encryption key locally. For data users with the same file, the file encryption keys extracted using the same algorithm are the same. The user key generation in step 3 includes: Data users select random numbers locally Use the randomly selected a as the user's own private key SK u , using the private key SK u Calculate the user's own public key PK u =g a ; Output the user's public and private key pair (PK u ,SK u )=(g a ,a), where the public key is used to generate the re-encryption key, and the private key is used to decrypt the converted ciphertext; the public key generated by the data user will be made public, and the private key will be kept by himself; The data owner DO will randomly select As its own private key SK DO , the generated public-private key pair is (PK DO ,SK DO )=(g a ,a); Data user DU will randomly select As its own private key SK DU , the generated public-private key pair is (PK DU ,SK DU )=(g b ,b).

3. The data security deduplication and data recovery method according to claim 1, characterized in that: The generation of the proxy re-encryption key in step 4 includes: After generating their own public and private key pairs, data users use their own files to encrypt their private key SK F And the user's own public key PK u Calculate the proxy re-encryption key RK of the file F for the user himself F→u , used to recover the file F with data ownership in the cloud server; Using the system parameters generated in step 1, calculate the proxy re-encryption key of the data user; for the data owner DO, the proxy re-encryption key is RK F→DO =g a·f , and for data users with the same file F, the proxy re-encryption key is RK F→DU =g b·f ; The data owner's proxy re-encryption key RK F→DO , stored in the ciphertext list of the corresponding file; and the data user's proxy re-encryption key RK F→DU Then you need to perform a match test between the index and the trapdoor. If the test result is True, RK F→DU Stored in the corresponding ciphertext linked list, if the test result is False, it is determined to be the data owner of the file, and the file is encrypted and stored in the cloud server. The proxy re-encryption key RK of file F F→DU Stored in the corresponding ciphertext linked list; The keyword extraction in step 5 includes: Before uploading the ciphertext of file F, the data owner needs to extract the keywords of the file to generate a keyword index; using the system parameters generated in step 1, extract the keyword w=H2(F); The keyword index generation in step 6 includes: (1) Data users select random numbers locally Using the system parameters params generated in step 1, calculate (2) Use the keyword w extracted in step 5 and the file generated in step 2 to encrypt the private key SK F =f, calculate (3) Using the system parameters generated in step 1, calculate (4) Generate keyword index through the above calculation Upload the keyword index to the storage server.

4. The data security deduplication and data recovery method according to claim 1, characterized in that: The trapdoor generation in step seven includes: Before uploading the encrypted file storage server owned by the data user, the data user shall determine whether the same file exists in the storage server; To determine whether the same file exists in the storage server, the data user uses the file encryption private key SK generated in step 2 F =f and the keyword w extracted in step 5, calculate the trapdoor T w =w f =H2(F) f , send the trapdoor to the storage server; The encryption in step nine includes: When a data user passes through the matching test algorithm of the trapdoor and the keyword index, if there is no match, the data user is considered to be a file F The data owner executes the encryption algorithm to F The encrypted ciphertext is uploaded to the storage server, including: (1) The data owner randomly selects And the system parameters generated in step 1 are calculated As the first part of the ciphertext; (2) Based on the public key PK encrypted by using the file F =Z f ,calculate (3) Calculation As a file F The second part of the ciphertext; (4) After the above steps are completed, the file is generated F The ciphertext is Upload ciphertext C to the storage server.

5. A data security deduplication and data recovery system using the data security deduplication and data recovery method according to any one of claims 1 to 4, characterized in that: The data security deduplication and data recovery system includes: Initialization module, used to input security parameters, run initialization algorithm, output system public parameter information, and send public parameter information to data users and storage servers; The key generation module is used to calculate the public and private key pairs of the encrypted files respectively, generate the public and private key pairs through the user key generation algorithm, and generate the re-encryption key of the file F for the user u; The keyword extraction module is used to be executed by the data owner; the data owner obtains the keyword w after preprocessing the file F locally using the public parameters; Keyword index building module, for execution by the data owner; input keyword w and file encryption private key SK F , calculate the keyword index C w ; Trapdoor generation module, for execution by data users; input keyword w and file encryption private key SK F , calculate the trapdoor T w , send the trapdoor to the cloud server; use the trapdoor to match the index in the cloud server; Test module, for execution by the cloud server; input keyword index C w and Trapdoor T w , determine whether the trapdoor matches a keyword in the keyword index; Encryption module, used to be executed by the data owner; input file F and file encryption public key PK F ; Calculate the encrypted ciphertext C of file F and keyword index C w , ciphertext C, file F about the data owner DO's re-encryption key RK F→DO Upload to the storage server; The proxy re-encryption module is used to be executed by the storage server; it inputs the original ciphertext and uses the re-encryption key RK F→DO or RK F→DU Re-encrypt the original ciphertext C and output the converted ciphertext C'; Decryption module, used to be executed by the data user; input conversion ciphertext C', data user's private key SK u , run the decryption algorithm to decrypt, and decrypt to get the plaintext message.

6. A computer device, characterized in that: The computer device includes a memory and a processor, the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the data security deduplication and data recovery method as described in any one of claims 1 to 4.

7. A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the processor executes the data security deduplication and data recovery method according to any one of claims 1 to 4.

8. An information data processing terminal, characterized in that: The information data processing terminal is used to implement the data security deduplication and data recovery system as described in claim 5.

Citation Information

Patent Citations

  • Key management method based on convergence encryption for use in cloud storage data duplication elimination

    CN106100832A