WO2019090841A1 - 一种加密文件的检索方法、系统、终端设备及存储介质 - Google Patents
一种加密文件的检索方法、系统、终端设备及存储介质 Download PDFInfo
- Publication number
- WO2019090841A1 WO2019090841A1 PCT/CN2017/112600 CN2017112600W WO2019090841A1 WO 2019090841 A1 WO2019090841 A1 WO 2019090841A1 CN 2017112600 W CN2017112600 W CN 2017112600W WO 2019090841 A1 WO2019090841 A1 WO 2019090841A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- target
- key
- server
- keyword
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
Definitions
- the present application relates to the field of electronic technologies, and in particular, to a method, system, terminal device, and storage medium for retrieving encrypted files.
- the files are usually encrypted and then uploaded to the cloud server.
- the search keyword of the search keyword may be sent to the cloud server, and the cloud server uses the search credential to match each encrypted file, and returns the successfully matched encrypted file to the user, and the user performs the returned file.
- the file can be read after decryption.
- the traditional searchable encryption method can realize the function of retrieving encrypted files, it only supports the way of sharing keys, that is, the data provider and the user share the same key to encrypt, decrypt, and retrieve files. Operation, this way of sharing keys can easily lead to key leakage and affect data security.
- the embodiment of the present invention provides a method for retrieving an encrypted file, so as to solve the problem that the existing retrieval of the encrypted file by the shared key method results in low data security.
- an embodiment of the present application provides a method for retrieving an encrypted file, including:
- the first terminal encrypts the shared file by using the first user key, and obtains the encrypted file, and sends the encrypted file and the index information corresponding to the shared file to the server, where the first user key is secreted.
- the key management center generates according to a preset root key;
- the server encrypts the encrypted file by using the first server key to obtain a double encrypted file, where the first server key is generated by the key management center according to a preset root key. And with the first user key Unique correspondence
- the second terminal acquires the target keyword information, and sends the target keyword information to the server, where the second terminal is an authorized user end of the first terminal;
- the server performs a search in the index information according to the target keyword information, acquires a target double-encrypted file that matches the retrieved target keyword information, and uses a second server-side key pair. Decrypting the target double-encrypted file to obtain a target encrypted file, where the second server-side key is generated by the key management center according to the root key;
- the embodiment of the present application provides a retrieval system for an encrypted file, including a first terminal, a second terminal, a server, and a key management center; and between the first terminal and the server, the second The connection between the terminal and the server, and the key management center and the first terminal, the second terminal, and the server are respectively connected through a network;
- the first terminal includes:
- An encryption module configured to encrypt the shared file by using the first user key, to obtain an encrypted file, and send the encrypted file and the index information corresponding to the shared file to the server, where the first user key Generated by the key management center according to the preset root key;
- the second terminal includes:
- a target keyword module configured to acquire target keyword information, and send the target keyword information to the server, where the second terminal is an authorized user end of the first terminal;
- the server includes:
- a double encryption module configured to encrypt the encrypted file by using a first server key to obtain a double encrypted file, where the first server key is determined by the key management center according to a preset root Key generation and uniquely corresponding to the first user key;
- a search module configured to perform a search in the index information according to the target keyword information, acquire a target double-encrypted file that matches the retrieved target keyword information, and use a second server-side key Decrypting the target double-encrypted file to obtain a target encrypted file, where the second server-side key is generated by the key management center according to the root key;
- a sending module configured to send the target encrypted file to the second terminal
- the second terminal further includes:
- a decryption module configured to decrypt the target encrypted file by using a second user key to obtain a target shared file, where the second user key is generated by the key management center according to the root key, and Uniquely corresponding to the second server key;
- the key management center is configured to generate, according to the preset root key, the first user key, the first server key, the second user key, and the second server Key.
- an embodiment of the present application provides a terminal device, including a memory, a processor, and computer readable instructions stored in the memory and executable on the processor, where the processor executes the computer The following steps are implemented when reading the instruction:
- the first terminal encrypts the shared file by using the first user key, and obtains the encrypted file, and sends the encrypted file and the index information corresponding to the shared file to the server, where the first user key is secreted.
- the key management center generates according to a preset root key;
- the server encrypts the encrypted file by using the first server key to obtain a double encrypted file, where the first server key is generated by the key management center according to a preset root key. And uniquely corresponding to the first user key;
- the second terminal acquires the target keyword information, and sends the target keyword information to the server, where the second terminal is an authorized user end of the first terminal;
- the server performs a search in the index information according to the target keyword information, acquires a target double-encrypted file that matches the retrieved target keyword information, and uses a second server-side key pair. Decrypting the target double-encrypted file to obtain a target encrypted file, where the second server-side key is generated by the key management center according to the root key;
- an embodiment of the present application provides a computer readable storage medium, where the computer readable storage medium stores computer readable instructions, and when the computer readable instructions are executed by a processor, the following steps are implemented:
- the first terminal encrypts the shared file by using the first user key, and obtains the encrypted file, and sends the encrypted file and the index information corresponding to the shared file to the server, where the first user key is secreted.
- Key management center Generated according to a preset root key;
- the server encrypts the encrypted file by using the first server key to obtain a double encrypted file, where the first server key is generated by the key management center according to a preset root key. And uniquely corresponding to the first user key;
- the second terminal acquires the target keyword information, and sends the target keyword information to the server, where the second terminal is an authorized user end of the first terminal;
- the server performs a search in the index information according to the target keyword information, acquires a target double-encrypted file that matches the retrieved target keyword information, and uses a second server-side key pair. Decrypting the target double-encrypted file to obtain a target encrypted file, where the second server-side key is generated by the key management center according to the root key;
- the embodiment of the present application has the following advantages: the first terminal as the data provider encrypts the shared file by using the first user key, and then uploads the file to the server, and the server uses the first server key pair to encrypt the file.
- the second terminal serves as an authorized user end of the first terminal, and sends the target keyword information for searching to the server, and the server searches for the corresponding double encrypted file according to the target keyword information, and then uses the first
- the second server key decrypts the double encrypted file, and sends the obtained target encrypted file to the second terminal, and the second terminal decrypts the target encrypted file by using the second user key to obtain the target shared file.
- a user key uniquely corresponds to the first server key, the second user key and the second server key uniquely correspond, and the first user key and the first server key and the second user key and The second server key is generated by the key management center according to the root key, so that the first terminal and the second terminal can use different keys to share files.
- the encryption and decryption, and the keys between different second terminals may also be different from each other, thereby realizing that multiple authorized users can retrieve the shared files through different keys, thereby improving the data security of the shared files. Because the server encrypts the encrypted file twice, the data security of the shared file is further improved.
- FIG. 1 is a schematic diagram of an application scenario of a method for retrieving an encrypted file according to an embodiment of the present application
- FIG. 2 is a flowchart of an implementation of a method for retrieving an encrypted file according to an embodiment of the present application
- step S1 is a flowchart of an implementation of step S1 in a method for retrieving an encrypted file according to an embodiment of the present application
- step S2 is a flowchart of an implementation of step S2 in a method for retrieving an encrypted file according to an embodiment of the present application
- FIG. 5 is a flowchart of implementing step S4 in the method for retrieving an encrypted file according to an embodiment of the present application
- FIG. 6 is a schematic diagram of a retrieval system for an encrypted file according to an embodiment of the present application.
- FIG. 7 is a schematic diagram of a terminal device according to an embodiment of the present application.
- FIG. 1 shows an application scenario of a method for retrieving an encrypted file according to an embodiment of the present application.
- the application scenario of the method for retrieving the encrypted file involves a first terminal, a second terminal, a server, and a key.
- the first terminal is a data provider
- the second terminal is an authorized user end of the first terminal
- the first terminal can simultaneously authorize multiple second terminals as authorized users, whether it is the first terminal or each In the second terminal
- the key is uniformly distributed by the key management center
- the key management center completes management operations such as generation and distribution of all keys used in the process of encrypting the file
- the first terminal and each second terminal The keys are different, and each terminal uses its own key to encrypt and decrypt the shared file.
- FIG. 2 is a flowchart showing an implementation process of a method for retrieving an encrypted file according to an embodiment of the present application. Details are as follows:
- S1 The first terminal encrypts the shared file by using the first user key to obtain an encrypted file, and sends the encrypted file and the index information corresponding to the shared file to the server, where the first user key is used by the key management center. Generated according to the preset root key.
- the key management center generates the first user key and the first server key according to the preset root key, and the first user key and the first server key uniquely correspond to each other.
- the key management center sends the first user key to the first terminal, and sends the corresponding first server key to the server.
- the key management center when the second terminal successfully requests to be the authorized user of the first terminal, the key management center generates an authorized user based on the same root key as the first user key and the first server key. Second user secret And the second server key is sent to the second terminal, and the corresponding second server key is sent to the server.
- the server associates each server key received with the corresponding user identification information of the client.
- the implementation process of key generation and allocation includes (a1) to (a5), and the details are as follows:
- the key management center sends K uk to user k and sends K sk to the server;
- the server After receiving the K sk , the server associates the user identification information k and K sk as (k, K sk ).
- the shared file to be uploaded is encrypted using the first user key to obtain an encrypted file.
- xi1 is the first user key
- g is a generating element of the cyclic group generated by the key management center according to the preset security parameter
- r is a randomly selected one in the basic key set. The random number, when the key management center sends the first user key to the first terminal, synchronously sends g and r to the first terminal.
- the index information corresponding to the shared file is used to search for the shared file, and the first terminal may determine the corresponding index information by identifying the content of the shared file, or directly obtain the index key of the user input index information, which is not limited herein.
- the first terminal sends the encrypted file and the index information to the server, and also sends its own user identification information to the server.
- the server encrypts the encrypted file by using the first server key to obtain a double encrypted file, where the first server key is generated by the key management center according to the preset root key, and is generated by the first user.
- the key uniquely corresponds.
- the server after receiving the encrypted file sent by the first terminal, the server obtains the first service corresponding to the user identifier information of the first terminal from the associated saved record according to the user identification information of the first terminal.
- the key is double-en
- the server saves the index information and the double encrypted file in association, so that the corresponding double encrypted file can be searched through the index information.
- the second terminal acquires the target keyword information, and sends the target keyword information to the server, where the second terminal is the authorized user end of the first terminal.
- the target keyword information for searching is acquired, and the target keyword information is generated by the search keyword input by the user of the second terminal.
- the second terminal When the second terminal sends the target keyword information to the server, the second terminal also sends its own identification information to the server.
- the server searches in the index information according to the target keyword information, acquires a target double-encrypted file that matches the retrieved target keyword information, and uses the second server-side key to encrypt the file with the target server. Decrypting to obtain a target encrypted file, wherein the second server key is generated by the key management center according to the preset root key.
- the server receives the target keyword information sent by the second terminal, searches in the pre-stored index information, and if the target keyword information is retrieved, acquires the target two corresponding to the target keyword information. Re-encrypt the file.
- the server obtains the second server key corresponding to the identifier information of the second terminal from the associated saved record according to the identifier information of the second terminal, and decrypts the target double encrypted file by using the second server key. Get the target encrypted file.
- S5 The server sends the target encrypted file to the second terminal.
- the second terminal decrypts the target encrypted file by using the second user key to obtain a target shared file, where the second user key is generated by the key management center according to the preset root key, and is connected to the second server.
- the key uniquely corresponds.
- the target encrypted file received by the second terminal has been encrypted according to the second second user key xj1, and therefore, the second terminal completes the target encrypted file by using the second user key xj1.
- first user key xi1 and the first server key xi2 used in the encryption process, and the second user key xj1 and the second server key xi2 used in the decryption process may not be mutually exclusive.
- the key encrypts and decrypts the shared file, thereby improving the data security of the shared file.
- the first terminal as the data provider encrypts the shared file and uploads it to the server by using the first user key
- the server encrypts the encrypted file by using the first server key
- the terminal serves as an authorized client of the first terminal, and sends the target keyword information for the retrieval to the server. After the server retrieves the corresponding double encrypted file according to the target keyword information, the terminal uses the second server key.
- the second terminal decrypting the target encrypted file by using the second user key to obtain the target shared file, because the first user key and The first server key uniquely corresponds, the second user key and the second server key uniquely correspond, and the first user key and the first server key and the second user key and the second server end are densely connected
- the keys are all generated by the key management center according to the root key, so that the first terminal and the second terminal can encrypt and decrypt the shared file using different keys, and different
- the keys between the second terminals may also be different from each other, thereby realizing that multiple authorized users can retrieve the shared files through different keys, thereby improving the data security of the shared files, and at the same time, the server encrypts the files. Secondary encryption further improves the data security of shared files.
- step S1 the following step is performed in step S1 by a specific embodiment.
- the specific terminal implemented by the first terminal encrypts the shared file by using the first user key to obtain an encrypted file, and sends the index information corresponding to the encrypted file and the shared file to the server.
- FIG. 3 shows a specific implementation process of step S1 provided by the embodiment of the present application, which is described in detail as follows:
- S11 The first terminal acquires the shared file and the search keyword corresponding to the shared file.
- the first terminal acquires a shared file provided by the user, and a search keyword corresponding to the shared file.
- the first terminal may determine the corresponding search keyword by identifying the content of the shared file, or directly obtain the search keyword input by the user, which is not limited herein.
- S12 The first terminal encrypts the shared file by using the first user key to obtain an encrypted file.
- the first terminal encrypts the shared file by using the first user key, and the process of obtaining the encrypted file is the same as the method for obtaining the encrypted file described in the foregoing step S1, and details are not described herein again.
- S13 The first terminal generates a fuzzy keyword set according to the search keyword.
- the first terminal generates a fuzzy keyword set according to the determined search keyword, and the fuzzy keyword set is used for performing fuzzy search on the shared file, and the fuzzy keyword set includes a series of fuzzy generated based on the search keyword. Key words, using fuzzy keywords in the fuzzy keyword set to search, can meet the needs of a wider range of retrieval.
- the first terminal constructs a fuzzy keyword set by using a wildcard character according to the search keyword.
- a fuzzy keyword set S w,d is created for the search key w of the edit distance d by using a wildcard character, and a wildcard character is used to represent an edit operation at a certain position in the search key.
- the editing operation includes three modes of operation:
- Insert operation insert a character into the word of the search keyword
- the search key w is student
- the established fuzzy keyword set S student,1 ⁇ student,*student,s*tudent,*tudent,s*udent,...,studen* , student* ⁇
- the number of words in the fuzzy keyword set is 16.
- the size of the constructed fuzzy keyword set S w,1 is (2l+1)+1.
- the size of the constructed fuzzy keyword set S w,d also increases.
- the fuzzy keyword set constructed by it That is, for the search keyword whose search key length is l and the edit distance is d, the size of the fuzzy keyword word set constructed by using the wildcard character is expressed as O(l d ) by the data complexity.
- S14 The first terminal encrypts each keyword in the fuzzy keyword set by using the first index key to obtain a first trapdoor set, where the first index key is generated by the first user key.
- S15 The first terminal encrypts the identification information of the shared file by using the first index key, and forms the encrypted identification information, the first trapdoor set, and the first index key into index information.
- AES Advanced Encryption Standard
- DES Data Encryption Standard
- the identification information of the shared file is used to uniquely identify the shared file, and the identifier information may be a unique number of the file, but is not limited thereto, and may be set according to the needs of the application, and is not limited herein.
- S16 The first terminal sends the encrypted file and the index information to the server.
- the first terminal sends the encrypted file C(file) and the index information Index to the server.
- the first terminal encrypts the shared file by using the first user key, and obtains the addition. a secret file, and constructing a fuzzy keyword set by using a wildcard character according to the search keyword, and then encrypting each keyword in the fuzzy keyword set using the first index key to obtain a first trapdoor set and using the first
- the index key encrypts the identification information of the shared file, and the encrypted identification information, the first trapdoor set and the first index key are combined into index information, and the encrypted file and the index information are jointly sent to the server, so that the server end
- the retrieval is carried out, and the fuzzy search of the search keywords is realized by constructing the fuzzy keyword set, which can effectively improve the search success rate and accuracy, and the fuzzy keyword set constructed by using the wildcard is more complete and can satisfy a larger range. Fuzzy retrieval requirements.
- the specific implementation method for acquiring the target keyword information by the second terminal mentioned in step S2 and transmitting the target keyword information to the server is performed by a specific embodiment. Detailed instructions are given.
- the target keyword information acquired by the second terminal includes a target trapdoor set.
- FIG. 4 shows a specific implementation process of step S2 provided by the embodiment of the present application, which is described in detail as follows:
- S21 The second terminal acquires a keyword to be retrieved.
- the second terminal acquires a keyword to be retrieved input by the user.
- S22 The second terminal generates a target fuzzy keyword set according to the keyword to be retrieved.
- the process of generating the target fuzzy keyword set according to the keyword to be searched by the second terminal and the first terminal in step S13 may generate the fuzzy keyword set according to the search keyword, and the same method may be used. Let me repeat.
- the keyword to be searched is w2
- the edit distance is d2
- the generated target fuzzy keyword set is S w2, d2 .
- S23 The second terminal encrypts each keyword in the target fuzzy keyword set by using the second index key to obtain a target trapdoor set, where the second index key is generated by the second user key, and the second The user key is generated by the Key Management Center based on the root key.
- S24 The second terminal sends the target trapdoor set to the server.
- the second terminal sends the target trapdoor set Fuzzy Enc2 as the target keyword information to the server.
- the second terminal when the authorized user of the second terminal needs to retrieve the related encrypted file by using the keyword to be searched, the second terminal generates a target fuzzy keyword set according to the keyword to be retrieved, and the target fuzzy keyword
- the method for generating the set is the same as the method for generating the fuzzy keyword set by the first terminal according to the search key, and then encrypting each keyword in the target fuzzy keyword set by using the second index key to obtain the target trapdoor.
- the set sends the target trapdoor set as the target keyword information to the server, so that the server can perform the search, and realizes the fuzzy search by constructing the fuzzy keyword set, which can effectively improve the search success rate and the accuracy rate, and adopts
- the fuzzy keyword set constructed by the wildcard method is more complete and can meet the needs of fuzzy retrieval in a wider range.
- the server mentioned in step S4 searches for the target keyword according to the target keyword information, and obtains and retrieves the target keyword according to a specific embodiment.
- the target double-encrypted file is matched with the information, and the target double-encrypted file is decrypted by using the second server-side key, and a specific implementation method of obtaining the target encrypted file is described in detail.
- FIG. 5 shows a specific implementation process of step S4 provided by the embodiment of the present application, which is described in detail as follows:
- the server after receiving the target trapdoor set sent by the second terminal, the server performs fuzzy search in the index information according to the target trapdoor set, and the index information is sent by the first terminal to the server, including The identification information of the encrypted shared file, the first trapdoor set, and the first index key. If the server retrieves the first trapdoor set that matches the target trapdoor set, the index information of the retrieved first trapdoor set is used as the target encryption index.
- Index' obtaining the first index key K I included in the index information as the target index key, and the encrypted information of the encrypted shared file Enc(K I , fid w1 ) included in the index information as the encrypted The identification information of the target shared file.
- the target trapdoor set sent by the second terminal is obtained by using the second index key
- the first trapdoor set in the index information sent by the first terminal saved on the server is densely bound by the first index.
- the key encryption is obtained, that is, the encryption key of the first trapdoor set and the target trapdoor set is different, but since the first index key is generated by the first user key, the second index key is generated by the second user key, and Both the first user key and the second user key are generated by the key management center according to the same root key. Therefore, the fuzzy retrieval process performed by the server can achieve matching with the target trapdoor set in the index information.
- the first trapdoor collection is obtained by using the second index key
- the first trapdoor set in the index information sent by the first terminal saved on the server is densely bound by the first index.
- the key encryption is obtained, that is, the encryption key of the first trapdoor set and the target trapdoor set is different, but since the first index key is generated by the first user key, the second index key is generated by the second user key, and Both the
- S42 The server decrypts the identification information of the target shared file by using the target index key, and obtains the target double encrypted file according to the decrypted identification information.
- the server decrypts the identification information Enc(K I , fid w1 ) of the target shared file by using the target index key obtained in step S41, that is, the first index key K I , to obtain the decrypted Identification information fid w .
- the server Since the server has associated the index information and the double encrypted file in step S2, the server can obtain the target double encrypted file C * (file) corresponding to the identifier information according to the decrypted identification information fid w . .
- S43 The server decrypts the target double encrypted file by using the second server key to obtain the target encrypted file.
- the server decrypts the target double-encrypted file by using the second server-side key, and the process of obtaining the target encrypted file is the same as the method for obtaining the target encrypted file described in step S4 above. Let me repeat.
- the server retrieves a target encrypted index matching the target trapdoor set in the index information according to the target trapdoor set sent by the second terminal, and obtains a corresponding index according to the target encrypted index.
- the target index key and the identifier information of the encrypted target shared file and then use the target index key to decrypt the identification information of the target shared file, and obtain the target double encrypted file according to the decrypted identification information, and use the second service.
- the terminal key pair decrypts the target double-encrypted file to obtain the target encrypted file, so that the second terminal can decrypt the target encrypted file by using the second user key to obtain the target shared file that is finally retrieved, thereby obtaining the target shared file. It realizes that multiple authorized users can retrieve shared files through different keys to improve the data security of shared files.
- FIG. 6 is a structural block diagram of the retrieval system of the encrypted file provided by the embodiment of the present application. For the convenience of description, only the embodiment related to the embodiment of the present application is shown. section.
- the retrieval system of the encrypted file includes a first terminal 61, a second terminal 62, a server 63, and a key management center 64, wherein between the first terminal and the server, between the second terminal and the server, And the key management center and the first terminal, the second terminal, and the server are respectively connected through the network.
- the key management center 64 is configured to generate a first user key, a first server key, a second user key, and a second server key according to the preset root key.
- the first terminal 61 includes an encryption module 611
- the second terminal 62 includes a target keyword module 621 and a decryption module 622.
- the server 63 includes a double encryption module 631, a retrieval module 632, and a transmission module 633.
- the functional modules are described in detail as follows:
- the encryption module 611 is configured to encrypt the shared file by using the first user key to obtain an encrypted file, and send the encrypted file and the index information corresponding to the shared file to the server, where the first user key is obtained by the key Management
- the heart is generated according to the preset root key
- the target keyword module 621 is configured to acquire target keyword information, and send the target keyword information to the server, where the second terminal 62 is an authorized user end of the first terminal 61;
- the decryption module 622 is configured to decrypt the target encrypted file by using the second user key to obtain a target shared file, where the second user key is generated by the key management center according to the root key, and is combined with the second server key Unique correspondence
- the double encryption module 631 is configured to encrypt the encrypted file by using the first server key to obtain a double encrypted file, where the first server key is generated by the key management center according to the preset root key, and Uniquely corresponding to the first user key;
- the searching module 632 is configured to perform a search in the index information according to the target keyword information, acquire a target double-encrypted file that matches the retrieved target keyword information, and use the second server-side key to target the target double Decrypting the encrypted file to obtain a target encrypted file, wherein the second server key is generated by the key management center according to the root key;
- the sending module 633 is configured to send the target encrypted file to the second terminal 62.
- the encryption module 611 includes:
- a first obtaining submodule 6111 configured to acquire a shared file and a search keyword corresponding to the shared file
- a file encryption sub-module 6112 configured to encrypt the shared file by using the first user key to obtain an encrypted file
- a first word set generation sub-module 6113 configured to generate a fuzzy keyword set according to the search keyword
- the keyword encryption sub-module 6114 is configured to encrypt each keyword in the fuzzy keyword set by using the first index key to obtain a first trapdoor set, where the first index key is generated by the first user key;
- the identifier encryption sub-module 6115 is configured to encrypt the identifier information of the shared file by using the first index key, and form the encrypted identifier information, the first trapdoor set, and the first index key into index information;
- the first sending submodule 6116 is configured to send the encrypted file and the index information to the server 63.
- the first word set generation sub-module 6113 is further configured to construct a fuzzy keyword set by using a wildcard according to the search keyword.
- the target keyword information includes a target trapdoor set
- the target keyword module 621 includes:
- a second obtaining sub-module 6211 configured to acquire a keyword to be retrieved
- a second word set generation sub-module 6212 configured to generate a target fuzzy keyword set according to the keyword to be retrieved
- the second encryption sub-module 6213 is configured to encrypt each keyword in the target fuzzy keyword set by using the second index key to obtain a target trapdoor set, where the second index key is generated by the second user key.
- the second user key is generated by the key management center according to the root key;
- the second sending sub-module 6214 is configured to send the target trapdoor set to the server 63.
- retrieval module 632 includes:
- the matching sub-module 6321 is configured to: if the target encrypted index matching the target trapdoor set is retrieved in the index information, obtain the corresponding target index key and the identifier information of the encrypted target shared file according to the target encrypted index;
- the first decryption sub-module 6322 is configured to decrypt the identification information of the target shared file by using the target index key, and obtain the target double-encrypted file according to the decrypted identification information;
- the second decryption sub-module 6323 is configured to decrypt the target double-encrypted file by using the second server-side key to obtain the target encrypted file.
- the embodiment of the present application provides a computer readable storage medium, where the computer readable storage medium is stored with a computer readable instruction, and when the computer readable instruction is executed by the processor, the method for retrieving the encrypted file in the foregoing method embodiment is implemented, or When the computer readable instructions are executed by the processor, the functions of the modules/units in the retrieval system of the encrypted file in the foregoing device embodiment are not repeated herein.
- FIG. 7 is a schematic diagram of a terminal device according to an embodiment of the present application.
- the terminal device 70 of this embodiment includes a processor 71, a memory 72, and computer readable instructions 73 stored in the memory 72 and operable on the processor 71, such as a retrieval program for encrypting files.
- the processor 71 executes the computer readable instructions 73, the steps in the embodiment of the method for retrieving the respective encrypted files described above are implemented, such as steps S1 to S6 shown in FIG.
- the processor 71 executes the computer readable instructions 73
- the functions of the modules/units in the above various apparatus embodiments are implemented, for example, the first terminal 61, the second terminal 62, the server 63, and the key management center 64 shown in FIG. The function of each module/unit.
- computer readable instructions 73 may be partitioned into one or more modules/units, one or more modules/units being stored in memory 72 and executed by processor 71 to complete the application.
- the one or more modules/units may be a series of computer readable instruction segments capable of performing a particular function for describing the execution of computer readable instructions 73 in the terminal device 70.
- the computer readable instructions 73 may be divided into an encryption module on the first terminal, a target keyword module and a decryption module on the second terminal, a double encryption module, a retrieval module, and a transmission module on the server, and key management.
- the program on the center The specific functions of each function module are as follows:
- the key management center is configured to generate a first user key, a first server key, a second user key, and a second server key according to the preset root key.
- An encryption module configured to encrypt the shared file by using the first user key, obtain an encrypted file, and encrypt the file
- the file and the index information corresponding to the shared file are sent to the server, where the first user key is generated by the key management center according to the preset root key;
- a target keyword module configured to acquire the target keyword information, and send the target keyword information to the server, where the second terminal is an authorized user end of the first terminal;
- a decryption module configured to decrypt the target encrypted file by using the second user key to obtain a target shared file, where the second user key is generated by the key management center according to the root key, and is unique with the second server key correspond;
- the double encryption module is configured to encrypt the encrypted file by using the first server key to obtain a double encrypted file, where the first server key is generated by the key management center according to the preset root key, and The first user key uniquely corresponds;
- a retrieval module configured to perform retrieval in the index information according to the target keyword information, acquire a target double-encrypted file that matches the retrieved target keyword information, and encrypt the target by using the second server-side key Decrypting the file to obtain a target encrypted file, wherein the second server key is generated by the key management center according to the root key;
- a sending module configured to send the target encrypted file to the second terminal.
- the encryption module includes:
- a first obtaining submodule configured to acquire a shared file and a search keyword corresponding to the shared file
- a file encryption submodule configured to encrypt the shared file by using the first user key to obtain an encrypted file
- a first word set generation submodule configured to generate a fuzzy keyword set according to the search keyword
- a keyword encryption submodule configured to encrypt each keyword in the fuzzy keyword set by using the first index key to obtain a first trapdoor set, wherein the first index key is generated by the first user key;
- An identifier encryption submodule configured to encrypt the identification information of the shared file by using the first index key, and form the encrypted identification information, the first trapdoor set, and the first index key into index information;
- the first sending submodule is configured to send the encrypted file and the index information to the server.
- the first word set generation sub-module is further configured to construct a fuzzy keyword set by using a wildcard according to the search keyword.
- the target keyword information includes a target trapdoor set
- the target keyword module includes:
- a second obtaining submodule configured to acquire a keyword to be retrieved
- a second word set generation submodule configured to generate a target fuzzy keyword set according to the keyword to be retrieved
- a second encryption submodule configured to encrypt each keyword in the target fuzzy keyword set by using the second index key to obtain a target trapdoor set, wherein the second index key is generated by the second user key, The second user key is generated by the key management center according to the root key;
- the second sending submodule is configured to send the target trapdoor set to the server.
- the retrieval module includes:
- a matching submodule configured to: if the target encrypted index matching the target trapdoor set is retrieved in the index information, obtain the corresponding target index key and the identifier information of the encrypted target shared file according to the target encrypted index;
- a first decryption sub-module configured to decrypt the identification information of the target shared file by using the target index key, and obtain the target double-encrypted file according to the decrypted identification information
- the second decryption sub-module is configured to decrypt the target double-encrypted file by using the second server-side key to obtain the target encrypted file.
- the terminal device 70 can be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server.
- Terminal device 70 may include, but is not limited to, processor 71, memory 72. It will be understood by those skilled in the art that FIG. 7 is merely an example of the terminal device 70, and does not constitute a limitation of the terminal device 70, and may include more or less components than those illustrated, or may combine certain components or different components.
- the terminal device 70 may further include an input/output device, a network access device, a bus, and the like.
- the processor 71 may be a central processing unit (CPU), or may be other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the memory 72 may be an internal storage unit of the terminal device 70, such as a hard disk or memory of the terminal device 60.
- the memory 72 may also be an external storage device of the terminal device 70, such as a plug-in hard disk provided on the terminal device 70, a smart memory card (SMC), a Secure Digital (SD) card, and a flash memory card (Flash). Card) and so on.
- the memory 72 may also include both an internal storage unit of the terminal device 70 and an external storage device.
- Memory 72 is used to store computer readable instructions as well as other programs and data required by terminal device 70.
- the memory 72 can also be used to temporarily store data that has been or will be output.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit is It can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated modules/units if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium.
- the present application implements all or part of the processes in the foregoing embodiments, and may also be implemented by computer readable instructions, which may be stored in a computer readable storage medium.
- the computer readable instructions when executed by a processor, may implement the steps of the various method embodiments described above.
- the computer readable instructions comprise computer readable instruction code, which may be in the form of source code, an object code form, an executable file or some intermediate form or the like.
- the computer readable medium can include any entity or device capable of carrying the computer readable instruction code, a recording medium, a USB flash drive, a removable hard drive, a magnetic disk, an optical disk, a computer memory, a read only memory (ROM, Read-Only) Memory), random access memory (RAM), electrical carrier signals, telecommunications signals, and software distribution media.
- a recording medium a USB flash drive
- a removable hard drive a magnetic disk, an optical disk
- a computer memory a read only memory (ROM, Read-Only) Memory
- RAM random access memory
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种加密文件的检索方法、系统、终端设备及存储介质,该加密文件的检索方法包括:第一终端使用第一用户密钥对共享文件进行加密,并将加密文件和共享文件对应的索引信息发送到服务端,服务端使用第一服务端密钥对加密文件进行加密,第二终端将目标关键字信息发送到服务端,服务端根据目标关键字信息,获取与检索到的目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对目标二重加密文件进行解密,服务端将目标加密文件发送给第二终端,第二终端使用第二用户密钥对目标加密文件进行解密。本申请的技术方案实现了多个授权用户可以通过各自不同的密钥对共享文件进行检索,从而提高了共享文件的数据安全性。
Description
本专利申请以2017年11月8日提交的申请号为201711089073.2,名称为“一种加密文件的检索方法、系统、终端设备及存储介质”的中国发明专利申请为基础,并要求其优先权。
本申请涉及电子技术领域,尤其涉及一种加密文件的检索方法、系统、终端设备及存储介质。
随着云计算的不断发展,越来越多的用户将文件保存在云服务器,为了保证云端服务器上的数据的安全性,通常会将文件加密后再上传到云服务器中。当用户需要搜索加密文件时,可以将搜索关键字的搜索凭证发送到云服务器,云服务器使用搜索凭证对每个加密文件进行匹配,将匹配成功的加密文件返回给用户,用户对返回的文件进行解密后即可读取该文件。
但是,传统的可搜索加密方法虽然能够实现对加密文件进行检索的功能,但是,其仅支持共享密钥的方式,即数据提供者和使用者共享同一个密钥实现对文件的加解密和检索操作,这种共享密钥的方式很容易造成密钥泄露,对数据安全性造成影响。
发明内容
本申请实施例提供一种加密文件的检索方法,以解决现有的通过共享密钥方式实现对加密文件的检索导致数据安全性较低的问题。
第一方面,本申请实施例提供一种加密文件的检索方法,包括:
第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端,其中,所述第一用户密钥由密钥管理中心根据预设的根密钥生成;
所述服务端使用第一服务端密钥对所述加密文件进行加密,得到二重加密文件,其中,所述第一服务端密钥由所述密钥管理中心根据预设的根密钥生成,并与所述第一用户密钥
唯一对应;
第二终端获取目标关键字信息,并将所述目标关键字信息发送到所述服务端,其中,所述第二终端为所述第一终端的授权用户端;
所述服务端根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件,其中,所述第二服务端密钥由所述密钥管理中心根据所述根密钥生成;
所述服务端将所述目标加密文件发送给所述第二终端;
所述第二终端使用第二用户密钥对所述目标加密文件进行解密,得到目共享标文件,其中,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成,并与所述第二服务端密钥唯一对应。
第二方面,本申请实施例提供一种加密文件的检索系统,包括第一终端、第二终端、服务端和密钥管理中心;所述第一终端和所述服务器之间,所述第二终端和所述服务器之间,以及所述密钥管理中心分别和所述第一终端、所述第二终端、所述服务端之间均通过网络进行连接;
所述第一终端包括:
加密模块,用于使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端,其中,所述第一用户密钥由密钥管理中心根据预设的根密钥生成;
所述第二终端包括:
目标关键字模块,用于获取目标关键字信息,并将所述目标关键字信息发送到所述服务端,其中,所述第二终端为所述第一终端的授权用户端;
所述服务端包括:
二重加密模块,用于使用第一服务端密钥对所述加密文件进行加密,得到二重加密文件,其中,所述第一服务端密钥由所述密钥管理中心根据预设的根密钥生成,并与所述第一用户密钥唯一对应;
检索模块,用于根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件,其中,所述第二服务端密钥由所述密钥管理中心根据所述根密钥生成;
发送模块,用于将所述目标加密文件发送给所述第二终端;
所述第二终端还包括:
解密模块,用于使用第二用户密钥对所述目标加密文件进行解密,得到目标共享文件,其中,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成,并与所述第二服务端密钥唯一对应;
所述密钥管理中心,用于根据所述预设的根密钥生成所述第一用户密钥、所述第一服务端密钥、所述第二用户密钥和所述第二服务端密钥。
第三方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端,其中,所述第一用户密钥由密钥管理中心根据预设的根密钥生成;
所述服务端使用第一服务端密钥对所述加密文件进行加密,得到二重加密文件,其中,所述第一服务端密钥由所述密钥管理中心根据预设的根密钥生成,并与所述第一用户密钥唯一对应;
第二终端获取目标关键字信息,并将所述目标关键字信息发送到所述服务端,其中,所述第二终端为所述第一终端的授权用户端;
所述服务端根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件,其中,所述第二服务端密钥由所述密钥管理中心根据所述根密钥生成;
所述服务端将所述目标加密文件发送给所述第二终端;
所述第二终端使用第二用户密钥对所述目标加密文件进行解密,得到目共享标文件,其中,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成,并与所述第二服务端密钥唯一对应。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下步骤:
第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端,其中,所述第一用户密钥由密钥管理中心
根据预设的根密钥生成;
所述服务端使用第一服务端密钥对所述加密文件进行加密,得到二重加密文件,其中,所述第一服务端密钥由所述密钥管理中心根据预设的根密钥生成,并与所述第一用户密钥唯一对应;
第二终端获取目标关键字信息,并将所述目标关键字信息发送到所述服务端,其中,所述第二终端为所述第一终端的授权用户端;
所述服务端根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件,其中,所述第二服务端密钥由所述密钥管理中心根据所述根密钥生成;
所述服务端将所述目标加密文件发送给所述第二终端;
所述第二终端使用第二用户密钥对所述目标加密文件进行解密,得到目共享标文件,其中,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成,并与所述第二服务端密钥唯一对应。
本申请实施例与现有技术相比具有如下优点:作为数据提供者的第一终端使用第一用户密钥将共享文件加密后上传到服务端,服务端使用第一服务端密钥对加密文件进行加密,第二终端作为第一终端的授权用户端,其将用于检索的目标关键字信息发送到服务端,服务端根据该目标关键字信息检索到对应的二重加密文件后,使用第二服务端密钥对该二重加密文件进行解密,将得到的目标加密文件发送给第二终端,第二终端使用第二用户密钥对该目标加密文件进行解密,得到目标共享文件,由于第一用户密钥和第一服务端密钥唯一对应,第二用户密钥和第二服务端密钥唯一对应,并且,第一用户密钥和第一服务端密钥以及第二用户密钥和第二服务端密钥均由密钥管理中心根据根密钥生成,从而使得第一终端和第二终端可以使用不同的密钥对共享文件进行加解密,并且不同的第二终端之间的密钥也可以互不相同,从而实现了多个授权用户可以通过各自不同的密钥对共享文件进行检索,提高共享文件的数据安全性,同时,由于服务端对加密文件进行二次加密,进一步提高了共享文件的数据安全性。
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些
附图获得其他的附图。
图1是本申请实施例提供的加密文件的检索方法的应用场景示意图;
图2是本申请实施例提供的加密文件的检索方法的实现流程图;
图3是本申请实施例提供的加密文件的检索方法中步骤S1的实现流程图;
图4是本申请实施例提供的加密文件的检索方法中步骤S2的实现流程图;
图5是本申请实施例提供的加密文件的检索方法中步骤S4的实现流程图;
图6是本申请实施例提供的加密文件的检索系统的示意图;
图7是本申请实施例提供的终端设备的示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1示出了本申请实施例提供的加密文件的检索方法的应用场景,该加密文件的检索方法的应用场景中涉及到第一终端、第二终端、服务端和密钥管理中心,其中,第一终端为数据提供者,第二终端为第一终端的授权用户端,第一终端可以同时授权多个第二终端作为授权用户端,无论是第一终端还是每个第二终端,均由密钥管理中心统一分配密钥,密钥管理中心完成对加密文件检索过程中所使用的全部密钥的生成和分配等管理操作,并且第一终端和每个第二终端之间的密钥均不相同,每个终端使用自己的密钥完成对共享文件的加解密。
请参阅图2,图2示出了本申请实施例提供的加密文件的检索方法的实现流程。详述如下:
S1:第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将该加密文件和共享文件对应的索引信息发送到服务端,其中,第一用户密钥由密钥管理中心根据预设的根密钥生成。
在本申请实施例中,密钥管理中心预先根据预设的根密钥生成第一用户密钥和第一服务端密钥,并且第一用户密钥和第一服务端密钥唯一对应,密钥管理中心将第一用户密钥发送给第一终端,并将对应的第一服务端密钥发送给服务端。
需要说明的是,第二终端在成功申请成为第一终端的授权用户端时,密钥管理中心会基于与生成第一用户密钥和第一服务端密钥相同的根密钥,生成授权用户端的第二用户密
钥和第二服务端密钥,将第二用户密钥发送给第二终端,同时将对应的第二服务端密钥发送给服务端。
服务端将接收到的每个服务端密钥与对应的用户端的用户标识信息关联保存。
具体地,密钥生成和分配的实现过程包括(a1)至(a5),详细说明如下:
(a1)密钥管理中心从基础密钥集合中随机选择一个数x作为根密钥;
(a2)对于用户k,包括第一用户终端或者第二用户终端的用户,密钥管理中心从基础密钥集合中随机选择一个数xk1,并计算xk2=x-xk1;其中,k为用户端的用户标识信息;
(a3)密钥管理中心将Kuk=(xk1)作为用户k的密钥,将Ksk=(xk2)作为用户k对应的服务端密钥;
(a4)密钥管理中心将Kuk发送给用户k,并将Ksk发送给服务端;
(a5)服务端接收到Ksk后,将用户标识信息k和Ksk关联保存为(k,Ksk)。
当作为数据提供者的第一终端需要共享数据时,使用第一用户密钥对待上传的共享文件进行加密,得到加密文件。
具体地,第一终端利用ElGamal代理加密算法对共享文件进行加密,得到的加密文件为C(file)=(gx,grxi1file),其中,file为共享文件,x为根密钥,i为第一终端的用户标识信息,xi1为第一用户密钥,g为密钥管理中心根据预设的安全参数生成的循环群的一个生成元,r为基础密钥集合中的随机选择的一个随机数,密钥管理中心在向第一终端发送第一用户密钥时,将g和r同步发送给第一终端。
共享文件对应的索引信息用于搜索该共享文件,第一终端可以通过对共享文件的内容识别确定对应的索引信息,也可以直接获取用户输入的索引关键字建立索引信息,此处不做限制。
第一终端将加密文件和索引信息发送到服务端的同时,将自身的用户标识信息也发送到服务端。
S2:服务端使用第一服务端密钥对加密文件进行加密,得到二重加密文件,其中,第一服务端密钥由密钥管理中心根据预设的根密钥生成,并与第一用户密钥唯一对应。
在本申请实施例中,服务端在接收到第一终端发送的加密文件后,根据第一终端的用户标识信息,从关联保存的记录中获取该第一终端的用户标识信息对应的第一服务端密钥,并使用该第一服务端密钥对加密文件进行二次加密,得到二重加密文件
C*(file)=(gx,(gr)xi2*grxi1file),其中,xi2为第一服务端密钥,并且xi1+xi2=x,由于(gr)xi2*grxi1file=grxi2+rxi1file=gr(xi2+xi1)file=grxfile,因此最终得到的二重加密文件为C*(file)=(gx,grxfile),由此可知,虽然第一终端使用第一用户密钥对共享文件进行加密,然后服务端再使用第一服务端密钥进行二次加密,最终得到的二重加密文件与根密钥x直接相关。
服务端将索引信息和二重加密文件关联保存,以便通过该索引信息能够搜索到对应的二重加密文件。
S3:第二终端获取目标关键字信息,并将该目标关键字信息发送到服务端,其中,第二终端为第一终端的授权用户端。
在本申请实施例中,当作为授权用户端的第二终端需要检索该共享文件时,获取进行检索的目标关键字信息,该目标关键字信息由第二终端的用户输入的检索关键字生成。
第二终端将目标关键字信息发送到服务端的同时,将自身的标识信息也发送到服务端。
S4:服务端根据目标关键字信息,在索引信息中进行检索,获取与检索到的目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对该目标二重加密文件进行解密,得到目标加密文件,其中,第二服务端密钥由密钥管理中心根据预设的根密钥生成。
在本申请实施例中,服务端接收到第二终端发送的目标关键字信息,在预存的索引信息中进行检索,若检索到该目标关键字信息,则获取该目标关键字信息对应的目标二重加密文件。
服务端根据第二终端的标识信息,从关联保存的记录中获取该第二终端的标识信息对应的第二服务端密钥,使用该第二服务端密钥对目标二重加密文件进行解密,得到目标加密文件。
具体地,目标二重加密文件为C*(file)=(gx,grxfile),假设第二终端的标识信息为j,第二服务端密钥为xj2,第二用户密钥为xj1,xj1+xj2=x,则使用第二服务端密钥对目标二重加密文件进行解密,得到目标加密文件C'(file)=(gx,(gr)-xj2*grxfile),由于(gr)-xj2*grxfile=gr(x-xj2)file=grxj1file,因此最终得到的目标加密文件C'(file)=(gx,grxj1file)。由此可知,此时的目标加密文件已经变成由第二用户密钥xj1加
密得到,即该目标加密文件与通过第一用户密钥xi1加密得到的加密文件不同。
S5:服务端将目标加密文件发送给第二终端。
在本申请实施例中,服务端将步骤S4得到的目标加密文件C'(file)=(gx,grxj1file)发送给第二终端。
S6:第二终端使用第二用户密钥对目标加密文件进行解密,得到目标共享文件,其中,第二用户密钥由密钥管理中心根据预设的根密钥生成,并与第二服务端密钥唯一对应。
在本申请实施例中,第二终端接收到的目标加密文件已经变为根据第二第二用户密钥xj1加密得到,因此,第二终端使用自己的第二用户密钥xj1完成对目标加密文件的解密,即grxj1file*(gr)-xj1=grxj1-rxj1file=file,从而得到目标共享文件file,该目标共享文件即为步骤S1中作为数据提供者的第一终端共享的共享文件。
需要说明的是,加密过程中使用的第一用户密钥xi1和第一服务端密钥xi2,以及解密过程中使用的第二用户密钥xj1和第二服务端密钥xi2,均可互不相同,但由于xi1+xi2=xj1+xj2=x,确保了最终的二重加密文件只与根密钥x直接相关,因此能够使得第一终端和第二终端分别使用不同的密钥对共享文件进行加解密,从而提高共享文件的数据安全性。
在图2对应的实施例中,作为数据提供者的第一终端使用第一用户密钥将共享文件加密后上传到服务端,服务端使用第一服务端密钥对加密文件进行加密,第二终端作为第一终端的授权用户端,其将用于检索的目标关键字信息发送到服务端,服务端根据该目标关键字信息检索到对应的二重加密文件后,使用第二服务端密钥对该二重加密文件进行解密,将得到的目标加密文件发送给第二终端,第二终端使用第二用户密钥对该目标加密文件进行解密,得到目标共享文件,由于第一用户密钥和第一服务端密钥唯一对应,第二用户密钥和第二服务端密钥唯一对应,并且,第一用户密钥和第一服务端密钥以及第二用户密钥和第二服务端密钥均由密钥管理中心根据根密钥生成,从而使得第一终端和第二终端可以使用不同的密钥对共享文件进行加解密,并且不同的第二终端之间的密钥也可以互不相同,从而实现了多个授权用户可以通过各自不同的密钥对共享文件进行检索,提高共享文件的数据安全性,同时,由于服务端对加密文件进行二次加密,进一步提高了共享文件的数据安全性。
接下来,在图2对应的实施例的基础之上,下面通过一个具体的实施例对步骤S1中
所提及的第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将该加密文件和共享文件对应的索引信息发送到服务端的具体实现方法进行详细说明。
请参阅图3,图3示出了本申请实施例提供的步骤S1的具体实现流程,详述如下:
S11:第一终端获取共享文件和该共享文件对应的检索关键字。
在本申请实施例中,第一终端获取用户提供的共享文件,以及该共享文件对应的检索关键字。
第一终端可以通过对共享文件的内容识别确定对应的检索关键字,也可以直接获取用户输入的检索关键字,此处不做限制。
S12:第一终端使用第一用户密钥对共享文件进行加密,得到加密文件。
在本申请实施例中,第一终端使用第一用户密钥对共享文件进行加密,得到加密文件的过程与上述步骤S1中描述的得到加密文件的实现方法相同,此处不再赘述。
S13:第一终端根据检索关键字,生成模糊关键词集。
在本申请实施例中,第一终端根据确定的检索关键字,生成模糊关键词集,模糊关键词集用于对共享文件进行模糊检索,模糊关键词集中包含基于检索关键字生成的一系列模糊关键词,使用模糊关键词集中的模糊关键词进行检索,能够满足更大范围内的检索需求。
进一步地,第一终端根据所述检索关键字,生成模糊关键词集的具体实现方式详述如下:
第一终端根据检索关键字,采用通配符的方式构造模糊关键词集。
具体地,采用通配符的方式对编辑距离为d的检索关键字w建立一个模糊关键词集Sw,d,使用通配符来表示检索关键字中某个位置上的编辑操作。其中,编辑操作包括三种操作方式:
(1)插入操作:向检索关键字的单词中插入字符;
(2)删除操作:从检索关键字的单词中删除字符;
(3)修改操作:将检索关键字的单词中的字符修改为其他字符。
编辑距离为d的检索关键字w所构造的模糊关键词集表示为Sw,d={S'w,0,S'w,1,...,S'w,d},其中S'w,n表示基于w具有n个通配符的一组单词,每个通配符表示在检索关键字w上的编辑操作。
例如,对于编辑距离d为1,检索关键字w为student,建立的模糊关键词集Sstudent,1={student,*student,s*tudent,*tudent,s*udent,...,studen*,student*},该模糊关键词集
中的单词数量为16个。通常情况下,对于检索关键字长度为l的检索关键字w,若其编辑距离d为1,则构造的模糊关键词集Sw,1的大小为(2l+1)+1。随着编辑距离d的增大,其构造的模糊关键词集Sw,d的大小也随之增加。当编辑距离d分别为2和3时,其构造的模糊关键词集即对于检索关键字长度为l并且编辑距离为d的关检索关键字,采用通配符的方式构造的模糊关键词词集的大小通过数据复杂度表示为O(ld)。
S14:第一终端使用第一索引密钥对模糊关键词集中的每个关键词进行加密,得到第一陷门集合,其中,第一索引密钥由第一用户密钥产生。
在本申请实施例中,第一终端使用第一用户密钥xi1生成第一索引密钥KI,KI=f(xi1),其中,f为哈希函数。
第一索引密钥用来对模糊关键词集中的每个关键词进行加密,得到第一陷门集合FuzzyEnc1,FuzzyEnc1={Tw(KI)}w∈Sw1,d1,其中,Sw1,d1为编辑距离为d1,检索关键字为w1的模糊关键词集,并且T可以由公钥加密算法RSA实现。
S15:第一终端使用第一索引密钥对共享文件的标识信息进行加密,并将加密后的标识信息、第一陷门集合和第一索引密钥组成索引信息。
在本申请实施例中,第一终端使用步骤S14中生成的第一索引密钥KI,对共享文件的标识信息进行加密,得到加密后的标识信息F,F=Enc(KI,fidw),其中,fidw为包含模糊关键词w的共享文件的标识信息,Enc通过高级加密标准(Advanced Encryption Standard,AES)或者数据加密标准(Data Encryption Standard,DES)实现。
共享文件的标识信息用于唯一标识该共享文件,该标识信息可以是文件唯一编号,但并不限于此,具体可以根据应用的需要进行设置,此处不做限制。
第一终端将加密后的标识信息F、第一陷门集合FuzzyEnc1和第一索引密钥KI组成索引信息Index,Index={KI,<FuzzyEnc1,F>},即Index={KI,<{Tw(KI)}w∈Sw1,d1,Enc(KI,fidw)>}。
S16:第一终端将加密文件和索引信息发送到服务端。
在本申请实施例中,第一终端将加密文件C(file)和索引信息Index发送到服务端。
在图3对应的实施例中,第一终端使用第一用户密钥对共享文件进行加密,得到加
密文件,并根据检索关键字,采用通配符的方式构造模糊关键词集,然后使用第一索引密钥对模糊关键词集中的每个关键词进行加密,得到第一陷门集合,并使用第一索引密钥对共享文件的标识信息进行加密,并将加密后的标识信息、第一陷门集合和第一索引密钥组成索引信息,将加密文件和索引信息共同发送到服务端,以便服务端进行检索,通过构造模糊关键词集的方式实现对检索关键字的模糊检索,能够有效提高检索成功率和准确率,并且采用通配符的方式构造的模糊关键词集更加完整,能够满足更大范围内的模糊检索需求。
在图3对应的实施例的基础之上,下面通过一个具体的实施例对步骤S2中所提及的第二终端获取目标关键字信息,并将该目标关键字信息发送到服务端的具体实现方法进行详细说明。
在本申请实施例中,第二终端获取的目标关键字信息包括目标陷门集合。
请参阅图4,图4示出了本申请实施例提供的步骤S2的具体实现流程,详述如下:
S21:第二终端获取待检索关键字。
在本申请实施例中,第二终端获取用户输入的待检索关键字。
S22:第二终端根据待检索关键字,生成目标模糊关键词集。
在本申请实施例中,第二终端根据待检索关键字,生成目标模糊关键词集的过程与步骤S13中第一终端根据检索关键字,生成模糊关键词集可以采用相同的方法,此处不再赘述。
具体地,待检索关键字为w2,编辑距离为d2,生成的目标模糊关键词集为Sw2,d2。
S23:第二终端使用第二索引密钥对目标模糊关键词集中的每个关键词进行加密,得到目标陷门集合,其中,该第二索引密钥由第二用户密钥产生,该第二用户密钥由密钥管理中心根据根密钥生成。
在本申请实施例中,第二终端使用第二用户密钥xi2生成第二索引密钥KJ,KJ=f(xi2),其中,f为哈希函数。
第二索引密钥用来对目标模糊关键词集Sw2,d2中的每个关键词进行加密,得到目标陷门集合FuzzyEnc2,FuzzyEnc2={Tw(KJ)}w∈Sw2,d2。
S24:第二终端将目标陷门集合发送到服务端。
在本申请实施例中,第二终端将目标陷门集合FuzzyEnc2作为目标关键字信息发送到服务端。
在图4对应的实施例中,当第二终端的授权用户需要使用待检索关键字检索相关的加密文件时,第二终端根据待检索关键字,生成目标模糊关键词集,该目标模糊关键词集的生成过程采用的方法与第一终端根据检索关键字生成模糊关键词集的生成方法相同,然后使用第二索引密钥对目标模糊关键词集中的每个关键词进行加密,得到目标陷门集合,将该目标陷门集合作为目标关键字信息发送到服务端,以便服务端进行检索,实现了通过构造模糊关键词集的方式进行模糊检索,能够有效提高检索成功率和准确率,并且采用通配符的方式构造的模糊关键词集更加完整,能够满足更大范围内的模糊检索需求。
在图4对应的实施例的基础之上,下面通过一个具体的实施例对步骤S4中所提及的服务端根据目标关键字信息,在索引信息中进行检索,获取与检索到的目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对该目标二重加密文件进行解密,得到目标加密文件的具体实现方法进行详细说明。
请参阅图5,图5示出了本申请实施例提供的步骤S4的具体实现流程,详述如下:
S41:若服务端在索引信息中检索到与目标陷门集合相匹配的目标加密索引,则根据该目标加密索引获取对应的目标索引密钥和加密后的目标共享文件的标识信息。
在本申请实施例中,服务端接收到第二终端发送的目标陷门集合后,根据该目标陷门集合,在索引信息中进行模糊检索,索引信息由第一终端发送给服务端,包含了加密后的共享文件的标识信息、第一陷门集合和第一索引密钥。若服务端检索到与该目标陷门集合相匹配的第一陷门集合,则将检索到的第一陷门集合所在的索引信息作为目标加密索引。
假设检索到的目标加密索引为Index'={KI,<{Tw'(KI)}w'∈Sw1,d1,Enc(KI,fidw')>},则根据该目标加密索引Index',获取该索引信息中包含的第一索引密钥KI作为目标索引密钥,以及该索引信息中包含的加密后的共享文件的标识信息Enc(KI,fidw1)作为加密后的目标共享文件的标识信息。
需要说明的是,虽然第二终端发送的目标陷门集合是使用第二索引密钥加密得到,而服务端上保存的第一终端发送的索引信息中的第一陷门集合由第一索引密钥加密得到,即第一陷门集合和目标陷门集合的加密密钥不同,但由于第一索引密钥由第一用户密钥产生,第二索引密钥由第二用户密钥产生,而第一用户密钥和第二用户密钥均由密钥管理中心根据相同的根密钥生成,因此,服务端进行的模糊检索过程能够实现在索引信息中检索到与目标陷门集合相匹配的第一陷门集合。
S42:服务端使用目标索引密钥对目标共享文件的标识信息进行解密,并根据解密后的标识信息获取目标二重加密文件。
在本申请实施例中,服务端使用步骤S41得到的目标索引密钥,即第一索引密钥KI,对目标共享文件的标识信息Enc(KI,fidw1)进行解密,得到解密后的标识信息fidw。
由于在步骤S2中服务端已经将索引信息和二重加密文件关联保存,因此,服务端根据解密后的标识信息fidw,能够获取到该标识信息对应的目标二重加密文件C*(file)。
S43:服务端使用第二服务端密钥对目标二重加密文件进行解密,得到目标加密文件。
在本申请实施例中,服务端使用第二服务端密钥对目标二重加密文件进行解密,得到目标加密文件的过程与上述步骤S4中描述的得到目标加密文件的实现方法相同,此处不再赘述。
在图5对应的实施例中,服务端根据第二终端发送的目标陷门集合,在索引信息中检索到与该目标陷门集合相匹配的目标加密索引,并根据该目标加密索引获取对应的目标索引密钥和加密后的目标共享文件的标识信息,进而使用该目标索引密钥对目标共享文件的标识信息进行解密,并根据解密后的标识信息获取目标二重加密文件,使用第二服务端密钥对对该目标二重加密文件进行解密,得到目标加密文件,使得第二终端能够使用自己的第二用户密钥对该目标加密文件进行解密,得到最终检索到的目标共享文件,从而实现了多个授权用户可以通过各自不同的密钥对共享文件进行检索,提高共享文件的数据安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的加密文件的检索方法,图6示出了本申请实施例提供的加密文件的检索系统的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
请参阅图6,该加密文件的检索系统包括第一终端61、第二终端62、服务端63和密钥管理中心64,其中,第一终端和服务器之间,第二终端和服务器之间,以及密钥管理中心分别和第一终端、第二终端、服务端之间均通过网络进行连接。
密钥管理中心64,用于根据预设的根密钥生成第一用户密钥、第一服务端密钥、第二用户密钥和第二服务端密钥。
第一终端61包括加密模块611,第二终端62包括目标关键字模块621和解密模块622,服务端63包括二重加密模块631、检索模块632和发送模块633,各功能模块详细说明如下:
加密模块611,用于使用第一用户密钥对共享文件进行加密,得到加密文件,并将该加密文件和该共享文件对应的索引信息发送到服务端,其中,第一用户密钥由密钥管理中
心根据预设的根密钥生成;
目标关键字模块621,用于获取目标关键字信息,并将目标关键字信息发送到服务端,其中,所述第二终端62为第一终端61的授权用户端;
解密模块622,用于使用第二用户密钥对目标加密文件进行解密,得到目标共享文件,其中,第二用户密钥由密钥管理中心根据根密钥生成,并与第二服务端密钥唯一对应;
二重加密模块631,用于使用第一服务端密钥对加密文件进行加密,得到二重加密文件,其中,第一服务端密钥由密钥管理中心根据预设的根密钥生成,并与第一用户密钥唯一对应;
检索模块632,用于根据目标关键字信息,在索引信息中进行检索,获取与检索到的目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对该目标二重加密文件进行解密,得到目标加密文件,其中,第二服务端密钥由密钥管理中心根据根密钥生成;
发送模块633,用于将目标加密文件发送给第二终端62。
进一步地,加密模块611包括:
第一获取子模块6111,用于获取共享文件和该共享文件对应的检索关键字;
文件加密子模块6112,用于使用第一用户密钥对共享文件进行加密,得到加密文件;
第一词集生成子模块6113,用于根据检索关键字,生成模糊关键词集;
关键词加密子模块6114,用于使用第一索引密钥对模糊关键词集中的每个关键词进行加密,得到第一陷门集合,其中,第一索引密钥由第一用户密钥产生;
标识加密子模块6115,用于使用第一索引密钥对共享文件的标识信息进行加密,并将加密后的标识信息、第一陷门集合和第一索引密钥组成索引信息;
第一发送子模块6116,用于将加密文件和索引信息发送到服务端63。
进一步地,第一词集生成子模块6113,还用于根据检索关键字,采用通配符的方式构造模糊关键词集。
进一步地,目标关键字信息包括目标陷门集合,目标关键字模块621包括:
第二获取子模块6211,用于获取待检索关键字;
第二词集生成子模块6212,用于根据待检索关键字,生成目标模糊关键词集;
第二加密子模块6213,用于使用第二索引密钥对目标模糊关键词集中的每个关键词进行加密,得到目标陷门集合,其中,第二索引密钥由第二用户密钥产生,第二用户密钥由密钥管理中心根据根密钥生成;
第二发送子模块6214,用于将目标陷门集合发送到服务端63。
进一步地,检索模块632包括:
匹配子模块6321,用于若在索引信息中检索到与目标陷门集合相匹配的目标加密索引,则根据该目标加密索引获取对应的目标索引密钥和加密后的目标共享文件的标识信息;
第一解密子模块6322,用于使用目标索引密钥对目标共享文件的标识信息进行解密,并根据解密后的标识信息获取目标二重加密文件;
第二解密子模块6323,用于使用第二服务端密钥对目标二重加密文件进行解密,得到目标加密文件。
本申请实施例提供的一种加密文件的检索系统中各模块实现各自功能的过程,具体可参考前述方法实施例的描述,此处不再赘述。
本申请实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机可读指令,该计算机可读指令被处理器执行时实现前述方法实施例中的加密文件的检索方法,或者,该计算机可读指令被处理器执行时前述装置实施例中加密文件的检索系统中各模块/单元的功能,为避免重复,这里不再赘述。
请参阅图7,图7是本申请实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备70包括:处理器71、存储器72以及存储在存储器72中并可在处理器71上运行的计算机可读指令73,例如加密文件的检索程序。处理器71执行计算机可读指令73时实现上述各个加密文件的检索方法实施例中的步骤,例如图1所示的步骤S1至步骤S6。或者,处理器71执行计算机可读指令73时实现上述各装置实施例中各模块/单元的功能,例如图6所示第一终端61、第二终端62、服务端63和密钥管理中心64中各模块/单元的功能。
示例性的,计算机可读指令73可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器72中,并由处理器71执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述计算机可读指令73在终端设备70中的执行过程。例如,计算机可读指令73可以被分割成第一终端上的加密模块,第二终端上的目标关键字模块和解密模块,服务端上的二重加密模块、检索模块和发送模块,密钥管理中心上的程序。各功能模块具体功能如下:
密钥管理中心,用于根据预设的根密钥生成第一用户密钥、第一服务端密钥、第二用户密钥和第二服务端密钥。
加密模块,用于使用第一用户密钥对共享文件进行加密,得到加密文件,并将该加密
文件和该共享文件对应的索引信息发送到服务端,其中,第一用户密钥由密钥管理中心根据预设的根密钥生成;
目标关键字模块,用于获取目标关键字信息,并将目标关键字信息发送到服务端,其中,所述第二终端为第一终端的授权用户端;
解密模块,用于使用第二用户密钥对目标加密文件进行解密,得到目标共享文件,其中,第二用户密钥由密钥管理中心根据根密钥生成,并与第二服务端密钥唯一对应;
二重加密模块,用于使用第一服务端密钥对加密文件进行加密,得到二重加密文件,其中,第一服务端密钥由密钥管理中心根据预设的根密钥生成,并与第一用户密钥唯一对应;
检索模块,用于根据目标关键字信息,在索引信息中进行检索,获取与检索到的目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对该目标二重加密文件进行解密,得到目标加密文件,其中,第二服务端密钥由密钥管理中心根据根密钥生成;
发送模块,用于将目标加密文件发送给第二终端。
进一步地,加密模块包括:
第一获取子模块,用于获取共享文件和该共享文件对应的检索关键字;
文件加密子模块,用于使用第一用户密钥对共享文件进行加密,得到加密文件;
第一词集生成子模块,用于根据检索关键字,生成模糊关键词集;
关键词加密子模块,用于使用第一索引密钥对模糊关键词集中的每个关键词进行加密,得到第一陷门集合,其中,第一索引密钥由第一用户密钥产生;
标识加密子模块,用于使用第一索引密钥对共享文件的标识信息进行加密,并将加密后的标识信息、第一陷门集合和第一索引密钥组成索引信息;
第一发送子模块,用于将加密文件和索引信息发送到服务端。
进一步地,第一词集生成子模块,还用于根据检索关键字,采用通配符的方式构造模糊关键词集。
进一步地,目标关键字信息包括目标陷门集合,目标关键字模块包括:
第二获取子模块,用于获取待检索关键字;
第二词集生成子模块,用于根据待检索关键字,生成目标模糊关键词集;
第二加密子模块,用于使用第二索引密钥对目标模糊关键词集中的每个关键词进行加密,得到目标陷门集合,其中,第二索引密钥由第二用户密钥产生,第二用户密钥由密钥管理中心根据根密钥生成;
第二发送子模块,用于将目标陷门集合发送到服务端。
进一步地,检索模块包括:
匹配子模块,用于若在索引信息中检索到与目标陷门集合相匹配的目标加密索引,则根据该目标加密索引获取对应的目标索引密钥和加密后的目标共享文件的标识信息;
第一解密子模块,用于使用目标索引密钥对目标共享文件的标识信息进行解密,并根据解密后的标识信息获取目标二重加密文件;
第二解密子模块,用于使用第二服务端密钥对目标二重加密文件进行解密,得到目标加密文件。
终端设备70可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备70可包括,但不仅限于,处理器71、存储器72。本领域技术人员可以理解,图7仅仅是终端设备70的示例,并不构成对终端设备70的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备70还可以包括输入输出设备、网络接入设备、总线等。
所称处理器71可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器72可以是终端设备70的内部存储单元,例如终端设备60的硬盘或内存。存储器72也可以是终端设备70的外部存储设备,例如终端设备70上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器72还可以既包括终端设备70的内部存储单元也包括外部存储设备。存储器72用于存储计算机可读指令以及终端设备70所需的其他程序和数据。存储器72还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既
可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (20)
- 一种加密文件的检索方法,其特征在于,所述检索方法包括:第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端,其中,所述第一用户密钥由密钥管理中心根据预设的根密钥生成;所述服务端使用第一服务端密钥对所述加密文件进行加密,得到二重加密文件,其中,所述第一服务端密钥由所述密钥管理中心根据预设的根密钥生成,并与所述第一用户密钥唯一对应;第二终端获取目标关键字信息,并将所述目标关键字信息发送到所述服务端,其中,所述第二终端为所述第一终端的授权用户端;所述服务端根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件,其中,所述第二服务端密钥由所述密钥管理中心根据所述根密钥生成;所述服务端将所述目标加密文件发送给所述第二终端;所述第二终端使用第二用户密钥对所述目标加密文件进行解密,得到目标共享文件,其中,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成,并与所述第二服务端密钥唯一对应。
- 如权利要求1所述的检索方法,其特征在于,所述第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端包括:所述第一终端获取所述共享文件和所述共享文件对应的检索关键字;所述第一终端使用所述第一用户密钥对所述共享文件进行加密,得到所述加密文件;所述第一终端根据所述检索关键字,生成模糊关键词集;所述第一终端使用第一索引密钥对所述模糊关键词集中的每个关键词进行加密,得到第一陷门集合,其中,所述第一索引密钥由所述第一用户密钥产生;所述第一终端使用所述第一索引密钥对所述共享文件的标识信息进行加密,并将加密后的标识信息、所述第一陷门集合和所述第一索引密钥组成所述索引信息;所述第一终端将所述加密文件和所述索引信息发送到所述服务端。
- 如权利要求2所述的检索方法,其特征在于,所述第一终端根据所述检索关键字,生成模糊关键词集包括:所述第一终端根据所述检索关键字,采用通配符的方式构造所述模糊关键词集。
- 如权利要求2或3所述的检索方法,其特征在于,所述目标关键字信息包括目标陷门集合,所述第二终端获取目标关键字信息,并将所述目标关键字信息发送到所述服务端包括:所述第二终端获取待检索关键字;所述第二终端根据所述待检索关键字,生成目标模糊关键词集;所述第二终端使用第二索引密钥对所述目标模糊关键词集中的每个关键词进行加密,得到目标陷门集合,其中,所述第二索引密钥由第二用户密钥产生,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成;所述第二终端将所述目标陷门集合发送到所述服务端。
- 如权利要求4所述的检索方法,其特征在于,所述服务端根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件包括:若所述服务端在所述索引信息中检索到与所述目标陷门集合相匹配的目标加密索引,则根据所述目标加密索引获取对应的目标索引密钥和加密后的目标共享文件的标识信息;所述服务端使用所述目标索引密钥对所述目标共享文件的标识信息进行解密,并根据解密后的标识信息获取目标二重加密文件;所述服务端使用所述第二服务端密钥对所述目标二重加密文件进行解密,得到所述目标加密文件。
- 一种加密文件的检索系统,其特征在于,所述检索系统包括第一终端、第二终端、服务端和密钥管理中心;所述第一终端和所述服务器之间,所述第二终端和所述服务器之间,以及所述密钥管理中心分别和所述第一终端、所述第二终端、所述服务端之间均通过网络进行连接;所述第一终端包括:加密模块,用于使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端,其中,所述第一用户密钥由密钥管理中心根据预设的根密钥生成;所述第二终端包括:目标关键字模块,用于获取目标关键字信息,并将所述目标关键字信息发送到所述服务端,其中,所述第二终端为所述第一终端的授权用户端;所述服务端包括:二重加密模块,用于使用第一服务端密钥对所述加密文件进行加密,得到二重加密文件,其中,所述第一服务端密钥由所述密钥管理中心根据预设的根密钥生成,并与所述第一用户密钥唯一对应;检索模块,用于根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件,其中,所述第二服务端密钥由所述密钥管理中心根据所述根密钥生成;发送模块,用于将所述目标加密文件发送给所述第二终端;所述第二终端还包括:解密模块,用于使用第二用户密钥对所述目标加密文件进行解密,得到目标共享文件,其中,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成,并与所述第二服务端密钥唯一对应;所述密钥管理中心,用于根据所述预设的根密钥生成所述第一用户密钥、所述第一服务端密钥、所述第二用户密钥和所述第二服务端密钥。
- 如权利要求6所述的检索系统,其特征在于,所述加密模块包括:第一获取子模块,用于获取所述共享文件和所述共享文件对应的检索关键字;文件加密子模块,用于使用所述第一用户密钥对所述共享文件进行加密,得到所述加密文件;第一词集生成子模块,用于根据所述检索关键字,生成模糊关键词集;关键词加密子模块,用于使用第一索引密钥对所述模糊关键词集中的每个关键词进行加密,得到第一陷门集合,其中,所述第一索引密钥由所述第一用户密钥产生;标识加密子模块,用于使用所述第一索引密钥对所述共享文件的标识信息进行加密,并将加密后的标识信息、所述第一陷门集合和所述第一索引密钥组成所述索引信息;第一发送子模块,用于将所述加密文件和所述索引信息发送到所述服务端。
- 如权利要求7所述的检索系统,其特征在于,所述目标关键字信息包括目标陷门集合,所述目标关键字模块包括:第二获取子模块,用于获取待检索关键字;第二词集生成子模块,用于根据所述待检索关键字,生成目标模糊关键词集;第二加密子模块,用于使用第二索引密钥对所述目标模糊关键词集中的每个关键词进行加密,得到目标陷门集合,其中,所述第二索引密钥由第二用户密钥产生,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成;第二发送子模块,用于将所述目标陷门集合发送到所述服务端。
- 如权利要求6或7所述的检索系统,其特征在于,所述目标关键字信息包括目标陷门集合,所述目标关键字模块包括:第二获取子模块,用于获取待检索关键字;第二词集生成子模块,用于根据所述待检索关键字,生成目标模糊关键词集;第二加密子模块,用于使用第二索引密钥对所述目标模糊关键词集中的每个关键词进行加密,得到目标陷门集合,其中,所述第二索引密钥由第二用户密钥产生,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成;第二发送子模块,用于将所述目标陷门集合发送到所述服务端。
- 如权利要求9所述的检索系统,其特征在于,所述检索模块包括:匹配子模块,用于若在所述索引信息中检索到与所述目标陷门集合相匹配的目标加密索引,则根据所述目标加密索引获取对应的目标索引密钥和加密后的目标共享文件的标识信息;第一解密子模块,用于使用所述目标索引密钥对所述目标共享文件的标识信息进行解密,并根据解密后的标识信息获取目标二重加密文件;第二解密子模块,用于使用所述第二服务端密钥对所述目标二重加密文件进行解密,得到所述目标加密文件。
- 一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端,其中,所述第一用户密钥由密钥管理中心根据预设的根密钥生成;所述服务端使用第一服务端密钥对所述加密文件进行加密,得到二重加密文件,其中,所述第一服务端密钥由所述密钥管理中心根据预设的根密钥生成,并与所述第一用户密钥 唯一对应;第二终端获取目标关键字信息,并将所述目标关键字信息发送到所述服务端,其中,所述第二终端为所述第一终端的授权用户端;所述服务端根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件,其中,所述第二服务端密钥由所述密钥管理中心根据所述根密钥生成;所述服务端将所述目标加密文件发送给所述第二终端;所述第二终端使用第二用户密钥对所述目标加密文件进行解密,得到目标共享文件,其中,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成,并与所述第二服务端密钥唯一对应。
- 如权利要求11所述的终端设备,其特征在于,所述第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端包括:所述第一终端获取所述共享文件和所述共享文件对应的检索关键字;所述第一终端使用所述第一用户密钥对所述共享文件进行加密,得到所述加密文件;所述第一终端根据所述检索关键字,生成模糊关键词集;所述第一终端使用第一索引密钥对所述模糊关键词集中的每个关键词进行加密,得到第一陷门集合,其中,所述第一索引密钥由所述第一用户密钥产生;所述第一终端使用所述第一索引密钥对所述共享文件的标识信息进行加密,并将加密后的标识信息、所述第一陷门集合和所述第一索引密钥组成所述索引信息;所述第一终端将所述加密文件和所述索引信息发送到所述服务端。
- 如权利要求12所述的终端设备,其特征在于,所述第一终端根据所述检索关键字,生成模糊关键词集包括:所述第一终端根据所述检索关键字,采用通配符的方式构造所述模糊关键词集。
- 如权利要求12或13所述的终端设备,其特征在于,所述目标关键字信息包括目标陷门集合,所述第二终端获取目标关键字信息,并将所述目标关键字信息发送到所述服务端包括:所述第二终端获取待检索关键字;所述第二终端根据所述待检索关键字,生成目标模糊关键词集;所述第二终端使用第二索引密钥对所述目标模糊关键词集中的每个关键词进行加密,得到目标陷门集合,其中,所述第二索引密钥由第二用户密钥产生,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成;所述第二终端将所述目标陷门集合发送到所述服务端。
- 如权利要求14所述的终端设备,其特征在于,所述服务端根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件包括:若所述服务端在所述索引信息中检索到与所述目标陷门集合相匹配的目标加密索引,则根据所述目标加密索引获取对应的目标索引密钥和加密后的目标共享文件的标识信息;所述服务端使用所述目标索引密钥对所述目标共享文件的标识信息进行解密,并根据解密后的标识信息获取目标二重加密文件;。所述服务端使用所述第二服务端密钥对所述目标二重加密文件进行解密,得到所述目标加密文件。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如下步骤:第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端,其中,所述第一用户密钥由密钥管理中心根据预设的根密钥生成;所述服务端使用第一服务端密钥对所述加密文件进行加密,得到二重加密文件,其中,所述第一服务端密钥由所述密钥管理中心根据预设的根密钥生成,并与所述第一用户密钥唯一对应;第二终端获取目标关键字信息,并将所述目标关键字信息发送到所述服务端,其中,所述第二终端为所述第一终端的授权用户端;所述服务端根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件,其中,所述第二服务端密钥由所述密钥管理中心根据所述根密钥生成;所述服务端将所述目标加密文件发送给所述第二终端;所述第二终端使用第二用户密钥对所述目标加密文件进行解密,得到目标共享文件, 其中,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成,并与所述第二服务端密钥唯一对应。
- 如权利要求16所述的计算机可读存储介质,其特征在于,所述第一终端使用第一用户密钥对共享文件进行加密,得到加密文件,并将所述加密文件和所述共享文件对应的索引信息发送到服务端包括:所述第一终端获取所述共享文件和所述共享文件对应的检索关键字;所述第一终端使用所述第一用户密钥对所述共享文件进行加密,得到所述加密文件;所述第一终端根据所述检索关键字,生成模糊关键词集;所述第一终端使用第一索引密钥对所述模糊关键词集中的每个关键词进行加密,得到第一陷门集合,其中,所述第一索引密钥由所述第一用户密钥产生;所述第一终端使用所述第一索引密钥对所述共享文件的标识信息进行加密,并将加密后的标识信息、所述第一陷门集合和所述第一索引密钥组成所述索引信息;所述第一终端将所述加密文件和所述索引信息发送到所述服务端。
- 如权利要求17所述的计算机可读存储介质,其特征在于,所述第一终端根据所述检索关键字,生成模糊关键词集包括:所述第一终端根据所述检索关键字,采用通配符的方式构造所述模糊关键词集。
- 如权利要求17或18所述的计算机可读存储介质,其特征在于,所述目标关键字信息包括目标陷门集合,所述第二终端获取目标关键字信息,并将所述目标关键字信息发送到所述服务端包括:所述第二终端获取待检索关键字;所述第二终端根据所述待检索关键字,生成目标模糊关键词集;所述第二终端使用第二索引密钥对所述目标模糊关键词集中的每个关键词进行加密,得到目标陷门集合,其中,所述第二索引密钥由第二用户密钥产生,所述第二用户密钥由所述密钥管理中心根据所述根密钥生成;所述第二终端将所述目标陷门集合发送到所述服务端。
- 如权利要求19所述的计算机可读存储介质,其特征在于,所述服务端根据所述目标关键字信息,在所述索引信息中进行检索,获取与检索到的所述目标关键字信息相匹配的目标二重加密文件,并使用第二服务端密钥对所述目标二重加密文件进行解密,得到目标加密文件包括:若所述服务端在所述索引信息中检索到与所述目标陷门集合相匹配的目标加密索引, 则根据所述目标加密索引获取对应的目标索引密钥和加密后的目标共享文件的标识信息;所述服务端使用所述目标索引密钥对所述目标共享文件的标识信息进行解密,并根据解密后的标识信息获取目标二重加密文件;。所述服务端使用所述第二服务端密钥对所述目标二重加密文件进行解密,得到所述目标加密文件。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711089073.2 | 2017-11-08 | ||
| CN201711089073.2A CN108038128B (zh) | 2017-11-08 | 2017-11-08 | 一种加密文件的检索方法、系统、终端设备及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019090841A1 true WO2019090841A1 (zh) | 2019-05-16 |
Family
ID=62092782
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/112600 Ceased WO2019090841A1 (zh) | 2017-11-08 | 2017-11-23 | 一种加密文件的检索方法、系统、终端设备及存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN108038128B (zh) |
| WO (1) | WO2019090841A1 (zh) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109040109B (zh) * | 2018-08-31 | 2022-01-21 | 国鼎网络空间安全技术有限公司 | 基于密钥管理机制的数据交易方法及系统 |
| CN109660555B (zh) * | 2019-01-09 | 2020-07-14 | 上海交通大学 | 基于代理重加密的内容安全分享方法和系统 |
| CN111191266A (zh) * | 2019-12-31 | 2020-05-22 | 中国广核电力股份有限公司 | 一种文件加密方法和系统以及解密方法和系统 |
| CN113315626B (zh) * | 2020-02-27 | 2023-01-10 | 阿里巴巴集团控股有限公司 | 一种通信方法、密钥管理方法、设备、系统及存储介质 |
| CN111737720B (zh) * | 2020-07-21 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及电子设备 |
| CN112822255B (zh) * | 2020-12-31 | 2023-02-28 | 平安科技(深圳)有限公司 | 基于区块链的邮件处理方法、邮件发送端、接收端及设备 |
| CN112887087B (zh) * | 2021-01-20 | 2023-04-18 | 成都质数斯达克科技有限公司 | 数据管理方法、装置、电子设备及可读存储介质 |
| CN115134083B (zh) * | 2022-06-27 | 2025-05-30 | 成都卫士通信息产业股份有限公司 | 一种可搜索加密方法、装置、设备及存储介质 |
| CN115883199B (zh) * | 2022-11-29 | 2025-11-18 | 中国农业银行股份有限公司 | 一种文件传输方法、装置、电子设备及存储介质 |
| CN119293823B (zh) * | 2024-10-18 | 2025-10-10 | 中电信量子信息科技集团有限公司 | 一种基于量子加密的文件加密方法、装置、设备及介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102176709A (zh) * | 2010-12-13 | 2011-09-07 | 北京交通大学 | 一种带隐私保护的数据共享与发布的方法和装置 |
| CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
| CN105320896A (zh) * | 2015-10-21 | 2016-02-10 | 成都卫士通信息产业股份有限公司 | 一种云存储加密以及其密文检索方法与系统 |
| WO2016063254A1 (en) * | 2014-10-23 | 2016-04-28 | Pageproof.Com Limited | Encrypted collaboration system and method |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040117621A1 (en) * | 2002-12-12 | 2004-06-17 | Knight Erik A. | System and method for managing resource sharing between computer nodes of a network |
| CN103457733B (zh) * | 2013-08-15 | 2016-12-07 | 中电长城网际系统应用有限公司 | 一种云计算环境数据共享方法和系统 |
| CN103731432B (zh) * | 2014-01-11 | 2017-02-08 | 西安电子科技大学昆山创新研究院 | 一种支持多用户的可搜索加密方法 |
| JP6234605B2 (ja) * | 2014-10-21 | 2017-11-22 | 三菱電機株式会社 | サーバ装置及び検索システム及び端末装置及び検索方法及びサーバプログラム及び端末プログラム |
| CN107330340B (zh) * | 2017-06-19 | 2020-09-11 | 国家计算机网络与信息安全管理中心 | 文件加密方法、设备、文件解密方法、设备及存储介质 |
-
2017
- 2017-11-08 CN CN201711089073.2A patent/CN108038128B/zh active Active
- 2017-11-23 WO PCT/CN2017/112600 patent/WO2019090841A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102176709A (zh) * | 2010-12-13 | 2011-09-07 | 北京交通大学 | 一种带隐私保护的数据共享与发布的方法和装置 |
| CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
| WO2016063254A1 (en) * | 2014-10-23 | 2016-04-28 | Pageproof.Com Limited | Encrypted collaboration system and method |
| CN105320896A (zh) * | 2015-10-21 | 2016-02-10 | 成都卫士通信息产业股份有限公司 | 一种云存储加密以及其密文检索方法与系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108038128B (zh) | 2020-02-14 |
| CN108038128A (zh) | 2018-05-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2019090841A1 (zh) | 一种加密文件的检索方法、系统、终端设备及存储介质 | |
| Yuan et al. | SEISA: Secure and efficient encrypted image search with access control | |
| US12309127B2 (en) | End-to-end secure operations using a query vector | |
| JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
| US10268834B2 (en) | Privacy-preserving querying mechanism on privately encrypted data on semi-trusted cloud | |
| WO2024077948A1 (zh) | 匿踪查询方法、装置和系统及存储介质 | |
| WO2019178958A1 (zh) | 数据加密方法、数据查询方法、装置、设备及存储介质 | |
| US20090300351A1 (en) | Fast searchable encryption method | |
| EP4020265A1 (en) | Method and device for storing encrypted data | |
| CN109361644B (zh) | 一种支持快速搜索和解密的模糊属性基加密方法 | |
| Al Sibahee et al. | Efficient encrypted image retrieval in IoT-cloud with multi-user authentication | |
| JP7440662B2 (ja) | マルチキー情報検索 | |
| US12074966B2 (en) | Encrypted information retrieval | |
| CN112000632A (zh) | 密文的分享方法、介质、分享客户端及系统 | |
| Zhu et al. | Privacy-preserving search for a similar genomic makeup in the cloud | |
| WO2024208208A1 (zh) | 数据查询方法、装置、设备及介质 | |
| CN117951730A (zh) | 一种基于哈希索引的云端安全可搜索加密方法 | |
| CN114760081A (zh) | 档案加密与解密方法、装置及电子设备 | |
| Souror et al. | Secure query processing for smart grid data using searchable symmetric encryption | |
| CN119788424B (zh) | 支持多数据源共享的图像检索方法及系统 | |
| CN114253943A (zh) | 一种加密数据库构建方法、装置、介质及设备 | |
| CN112637233B (zh) | 一种基于多用户数据的安全求均值方法 | |
| CN115510490A (zh) | 一种非密钥共享的加密数据查询方法、装置、系统及设备 | |
| Kamini et al. | Encrypted multi-keyword ranked search supporting gram based search technique | |
| CN119760774B (zh) | 一种高效的隐私保护语义搜索方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17931500 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 01.10.2020) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17931500 Country of ref document: EP Kind code of ref document: A1 |