Multi-party collaborative ciphertext search systems, methods, devices, and media
Through a multi-party collaborative encrypted search system, using TEE and symmetric searchable encryption algorithms, user data encryption and search are achieved, solving the problem of data search service under the protection of user data privacy and realizing a balance between data privacy protection and service provision.
Patent Information
- Application Number
- CN202211150485.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-21
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2042-09-21
AI Technical Summary
Under the premise of protecting user data privacy, the technical pain point of how to provide data search services in enterprise or ordinary user scenarios is that existing technologies cannot simultaneously achieve data privacy protection and data service provision.
A multi-party collaborative encrypted search system is introduced, including a key storage terminal, an encryption server, an encrypted storage party, and a data search terminal. It utilizes a TEE (Trusted Execution Environment) and a symmetric searchable encryption algorithm to encrypt and search user data, ensuring data privacy and providing search services.
While protecting user data privacy, it provides data services to the data search end, solving the problem that traditional technologies cannot protect or provide services for data privacy, and realizing the security and usability of data search.
Smart Images

Figure CN115563151B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of blockchain technology, specifically to a multi-party collaborative encrypted search scheme for user data privacy protection, and more particularly to a multi-party collaborative encrypted search system, method, device, and medium. Background Technology
[0002] Currently, users are increasingly aware of the importance of data privacy. Addressing user data privacy can involve storing it locally or encrypting it and storing it with a third party. However, in scenarios where users are ordinary users and the data search platform is either a business or an individual user, how to provide search services while ensuring user data privacy is a current technical challenge.
[0003] The invention patent with publication number CN112417006A discloses a blockchain-based encrypted keyword search method, system, device, and medium, including: a data owner generating system parameters, a master public key, and a master private key, and disclosing the system parameters and master public key; encrypting keywords based on the master private key to generate an index supporting multiple keyword searches, and encrypting plaintext to generate ciphertext, and uploading the index and ciphertext to a cloud server; the data owner authenticating data users and adding authenticated data users to a user list; data users generating a trapdoor based on a search request, the cloud server performing a search based on the trapdoor, and returning the search results to the data user; data users verifying the correctness of the search results based on a smart contract and paying fees to the cloud server and the data owner; and data users decrypting the ciphertext based on the search results to obtain the plaintext. Summary of the Invention
[0004] In view of the deficiencies in the prior art, the present invention provides a multi-party collaborative encrypted text search system, method, device and medium.
[0005] According to the present invention, a multi-party collaborative encrypted text search system, method, device, and medium are provided, the solution of which is as follows:
[0006] Firstly, a multi-party collaborative encrypted search system is provided, the system comprising: a user, a key storage terminal, an encryption server, an encrypted storage party, and a data search terminal;
[0007] Key storage: Used to host and store the keys used by encryption service providers to encrypt user data;
[0008] Encryption server: In the TEE, obtain the key from the key storage terminal;
[0009] Users: They encrypt their data through an encryption server and then entrust it to a ciphertext storage provider.
[0010] Encryption storage provider: Hosts users' encrypted data and provides encrypted search services to data search terminals;
[0011] Data search terminal: Retrieves relevant information by searching keywords through an encrypted server.
[0012] Preferably, the encryption server further includes: encrypting user data using a key in the TEE and returning the encrypted data to the user.
[0013] Preferably, the encryption server further includes: in the TEE, using a key to encrypt the keywords searched by the data search terminal, and returning the data encrypted with the keyword trapdoor to the data search terminal.
[0014] Preferably, the data search terminal specifically includes: searching for keywords through a trapdoor encryption on the encryption server, and then inputting the trapdoor-encrypted data to the ciphertext storage party to obtain relevant information.
[0015] Secondly, a multi-party collaborative encrypted search method is provided, the method comprising:
[0016] Step S1: The key storage terminal obtains the public key PK of the RSA public key pair of the encryption service provider's TEE; the user obtains the public key PK of the encryption service provider's TEE.
[0017] Step S2: The key storage terminal generates a key EK locally using a symmetric searchable encryption algorithm;
[0018] Step S3: The key storage terminal encrypts EK using the public key PK to obtain C;
[0019] Step S4: Send C to the encryption service provider;
[0020] Step S5: The encryption service provider uses the TEE's private key to decrypt C in the TEE environment to obtain the key EK;
[0021] Step S6: The user uses the public key PK to encrypt the information m that needs to be stored, and obtains D;
[0022] Step S7: The user sends D to the encryption service provider;
[0023] Step S8: Decrypt D using the private key within the encryption service provider TEE to obtain m, and then encrypt m using the key EK to obtain N;
[0024] Step S9: The encryption service provider sends N to the user;
[0025] Step S10: The user stores N to the encrypted storage location;
[0026] Step S11: The data search terminal sends the search keyword F to the encryption service provider;
[0027] Step S12: The encryption service provider uses EK to encrypt G through a trapdoor of a symmetric searchable encryption algorithm F.
[0028] Step S13: The encryption service provider returns G to the data search terminal;
[0029] Step S14: The data search end sends G to the encrypted storage end;
[0030] Step S15: The ciphertext storage party obtains relevant information H using a symmetric searchable encryption algorithm.
[0031] Step S16: The encrypted storage party returns H to the data search end.
[0032] Thirdly, an apparatus is provided, the apparatus comprising:
[0033] One or more processors;
[0034] Storage device for storing one or more programs.
[0035] When the one or more programs are executed by the one or more processors, the one or more processors implement the steps of the method.
[0036] Fourthly, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, implements the steps of the method.
[0037] Compared with the prior art, the present invention has the following beneficial effects:
[0038] 1. This invention solves the problem of providing data services to data search terminals in scenarios where the user is an ordinary user and the data search terminal is an enterprise or an ordinary user, while protecting the user's data privacy;
[0039] 2. This invention solves the problem that traditional related technologies can only provide data services without protecting data privacy, or can protect data privacy but cannot provide data services. Attached Figure Description
[0040] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0041] Figure 1 This is a schematic diagram of the overall process of the present invention. Detailed Implementation
[0042] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the protection scope of the present invention.
[0043] This invention provides a multi-party collaborative encrypted text search system, referring to... Figure 1 As shown, the system includes five roles: user, key storage terminal, encryption server, ciphertext storage party, and data search terminal.
[0044] Key storage: Used to host and store the keys used by encryption service providers to encrypt user data.
[0045] Encryption server: Within the TEE, the key is retrieved from the key storage terminal. Then, within the TEE, the key is used to encrypt user data, and the encrypted data is returned to the user. Secondly, within the TEE, the key is used to encrypt the search keywords used by the data search terminal, and the keyword-trapdoor-encrypted data is returned to the data search terminal.
[0046] Users: They encrypt their data through an encryption server and then entrust it to a ciphertext storage provider.
[0047] Encryption storage provider: Hosts users' encrypted data and provides encrypted search services to data search terminals.
[0048] Data search end: Search for keywords through a trapdoor encryption server, then input the trapdoor-encrypted data to the ciphertext storage provider to obtain relevant information.
[0049] This invention also provides a multi-party collaborative encrypted text search method, referring to... Figure 1 As shown, the method includes:
[0050] Step S1: The key storage terminal obtains the public key PK of the RSA public key pair of the encryption service provider's TEE; the user obtains the public key PK of the RSA public key pair of the encryption service provider's TEE.
[0051] Step S2: The key storage terminal generates a key EK locally using a symmetric searchable encryption algorithm. In this embodiment, the encryption algorithm used is AES.
[0052] Step S3: The key storage terminal uses the public key PK to encrypt EK, obtaining C.
[0053] Step S4: Send C to the encryption service provider.
[0054] Step S5: The encryption service provider uses the TEE's private key to decrypt C in the TEE environment to obtain the key EK.
[0055] Step S6: The user uses the public key PK to encrypt the information m to be stored, and obtains D.
[0056] Step S7: The user sends D to the encryption service provider.
[0057] Step S8: Decrypt D using the private key within the encryption service provider TEE to obtain m, and then encrypt m using the key EK to obtain N.
[0058] Step S9: The encryption service provider sends N to the user.
[0059] Step S10: The user stores N to the encrypted storage location.
[0060] Step S11: The data search terminal sends the search keyword F to the encryption service provider.
[0061] Step S12: The encryption service provider uses EK to obtain G by encrypting the trapdoor of the symmetric searchable encryption algorithm F.
[0062] Step S13: The encryption service provider returns G to the data search end.
[0063] Step S14: The data search end sends G to the encrypted storage end.
[0064] Step S15: The ciphertext storage party obtains relevant information H through symmetric searchable encryption algorithm technology.
[0065] Step S16: The encrypted storage party returns H to the data search end.
[0066] The present invention also provides an apparatus comprising: one or more processors; and a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the steps in the method.
[0067] The present invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the method.
[0068] This invention provides a multi-party collaborative encrypted search system, method, device, and medium. By introducing TEE (Telegraphic Exchange Equipment) and encrypted search technology, it solves the problem of providing data services to data search terminals (enterprises or ordinary users) while protecting user data privacy, in scenarios where the user is an ordinary user and the data search terminal is an enterprise or ordinary user. This addresses the difficulties encountered in traditional related technologies, which either only provide data services without protecting data privacy, or protect data privacy but cannot provide data services.
[0069] Those skilled in the art will understand that, besides implementing the system and its various devices, modules, and units provided by this invention in the form of purely computer-readable program code, the same functions can be achieved entirely through logical programming of the method steps, making the system and its various devices, modules, and units of this invention function in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, the system and its various devices, modules, and units provided by this invention can be considered as a hardware component, and the devices, modules, and units included therein for implementing various functions can also be considered as structures within the hardware component; alternatively, the devices, modules, and units for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0070] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.
Claims
1. A multi-party collaborative encrypted text search system, characterized in that, include: Users, key storage terminals, encryption servers, ciphertext storage providers, and data search terminals; Key storage: Used to host and store keys, which are the keys used by the encryption service provider to encrypt user data; Encryption server: In the TEE, obtain the key from the key storage terminal; Users: They encrypt their data through an encryption server and then entrust it to a ciphertext storage provider. Encryption storage provider: Hosts users' encrypted data and provides encrypted search services to data search terminals; Data search terminal: Retrieves relevant information by searching keywords through an encrypted server; The encryption server also includes: in the TEE, using a key to encrypt user data and returning the encrypted data to the user; The encryption server also includes: within the TEE, using a key to encrypt keywords searched by the data search terminal, and returning the keyword-trapdoor-encrypted data to the data search terminal. The data search terminal specifically includes: searching for keywords through a trapdoor encryption server, then inputting the trapdoor-encrypted data to the ciphertext storage provider to obtain relevant information.
2. A multi-party collaborative encrypted text search method, characterized in that, The multi-party collaborative encrypted search system based on claim 1 includes: Step S1: The key storage terminal obtains the RSA public key PK of the encryption service provider's TEE; the user obtains the RSA public key PK of the encryption service provider's TEE; Step S2: The key storage terminal locally generates a symmetric key EK using a symmetric searchable encryption algorithm; Step S3: The key storage terminal encrypts EK using the public key PK to obtain C; Step S4: Send C to the encryption service provider; Step S5: The encryption service provider uses its private key to decrypt C in the TEE environment to obtain the key EK; Step S6: The user uses the public key PK to encrypt the information m that needs to be stored, and obtains D; Step S7: The user sends D to the encryption service provider; Step S8: Decrypt D using the private key within the encryption service provider TEE to obtain m, and then encrypt m using the key EK to obtain N; Step S9: The encryption service provider sends N to the user; Step S10: The user stores N to the encrypted storage location; Step S11: The data search terminal sends the search keyword F to the encryption service provider; Step S12: The encryption service provider uses EK to encrypt G through a trapdoor of a symmetric searchable encryption algorithm. Step S13: The encryption service provider returns G to the data search terminal; Step S14: The data search end sends G to the encrypted storage end; Step S15: The ciphertext storage party obtains relevant information H using a symmetric searchable encryption algorithm. Step S16: The encrypted storage party returns H to the data search end.
3. A device, characterized in that, The device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors perform the steps of the method as described in claim 2.
4. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method described in claim 2.
Citation Information
Patent Citations
Ciphertext keyword search method, system and device based on block chain and medium
CN112417006A
Condition hiding searchable proxy re-encryption method based on block chain and storage medium
CN114598472A