Data protected search method and system
Through multiple encryption anonymization processing and matching between the user side and the data provider, the data protected search problem of users querying privacy data in the cloud edge system is solved, and secure search in the cloud side data provider scenario is realized.
Patent Information
- Application Number
- CN202510492909.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-18
- Publication Date
- 2025-08-08
AI Technical Summary
In the cloud-edge end system architecture, when the user's query condition is private data and the data stored on the cloud side belongs to the data provider, it is difficult for the prior art to realize data protected search.
The user side encrypts and anonymizes the initial search data based on the user's private key, and the data provider further encrypts and anonymizes the anonymous search data based on the data private key, and matches the encrypted keyword data in the target database. The user side finally obtains the query result based on the symmetric private key decryption.
The data stored on the cloud side is a data protected search in the scenario where the data provider is a data provider, ensuring the security of user query privacy and the data security of the data provider.
Smart Images

Figure CN120449176A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data search technology, and in particular to a method and system for protected data search. Background Art
[0002] With the coordinated development of cloud computing, edge computing, and terminal devices, the cloud-edge-device collaborative architecture is becoming an increasingly important computing model. In this architecture, it's common for users on the terminal side to query and retrieve data in the cloud. The user's query content is stored on the terminal device, while the queried dataset is stored on the edge or cloud side. In some application scenarios, the user's query criteria include private data, such as customer names and phone numbers, placing high demands on search privacy. Therefore, protected data search methods are commonly used to search for specific data in cloud-side databases while encrypting the user's search data.
[0003] In the data protected search method in the related art, the user first encrypts the data and then uploads it to the cloud-side database for storage. When a query is needed, the user first encrypts the search data. The cloud side matches the encrypted search data with the encrypted database and feeds back the encrypted search results. The user decrypts the search results to obtain the required data.
[0004] However, in some application scenarios of the cloud-edge system architecture, the data stored on the cloud side is not uploaded by users but belongs to the data provider. Therefore, there is an urgent need for a data protected search method suitable for this scenario. Summary of the Invention
[0005] Based on this, it is necessary to provide a protected data search method and system that can be applied to data stored on the cloud side and belongs to the data provider in order to address the above technical problems.
[0006] In a first aspect, the present application provides a data protected search method. The method is used in a data protected search system including a user terminal, a big data processing platform, and a data provider, wherein the big data processing platform and the data provider are both located on the cloud side; the method comprises:
[0007] The user terminal encrypts and anonymizes the initial search data based on the user private key to obtain first anonymous search data, and sends the first anonymous search data to the data provider;
[0008] The data provider encrypts and anonymizes the first anonymous search data based on the data private key to obtain second anonymous search data, matches the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted functional data corresponding to the second anonymous search data, and sends the target encrypted functional data to the user terminal; wherein, the encrypted keyword data in the search column of the target database is obtained by the big data processing platform performing two rounds of encryption and anonymization on the initial keyword data based on the data private key and the user private key, and the encrypted functional data in the non-search column of the target database is obtained by the big data processing platform performing symmetric encryption on the initial functional data based on the symmetric key of the user terminal;
[0009] The user end decrypts the target encrypted function data based on the symmetric private key to obtain the queried function data corresponding to the initial search data.
[0010] In one embodiment, the method further comprises:
[0011] The data provider sends the initial keyword data of the initial database to the first processing module of the data processing platform; wherein the first processing module is a data processing resource in the data processing platform allocated to the data provider;
[0012] The first processing module encrypts and anonymizes the initial keyword data based on the data private key to obtain intermediate keyword data, and sends the intermediate keyword data to the second processing module of the data processing platform; wherein the second processing module is allocated data processing resources in the data processing platform to the user end, and the processing logic between the first processing module and the second processing module is isolated from each other;
[0013] The second processing module encrypts and anonymizes the intermediate keyword data based on the user's private key to obtain encrypted keyword data, and sends the encrypted keyword data to the data provider;
[0014] The data provider stores the encrypted keyword data in the target database.
[0015] In one embodiment, the method further comprises:
[0016] The data provider sends the initial function data in the initial database to the second processing module;
[0017] The second processing module performs symmetric encryption processing on the initial function data based on the symmetric key to obtain encrypted function data, and sends the encrypted function data to the data provider;
[0018] The data provider stores the encrypted functional data in the target database.
[0019] In one embodiment, the second processing module encrypts and anonymizes the intermediate keyword data based on the user's private key to obtain encrypted keyword data, including:
[0020] The second processing module calls a cryptographic machine, wherein the user's private key is stored in the cryptographic machine;
[0021] The cipher machine uses the user's private key to encrypt and anonymize the intermediate keyword data to obtain encrypted keyword data.
[0022] In one embodiment, the method further comprises:
[0023] The cipher machine sends the cipher public key to the user end;
[0024] The user end encrypts the user's private key based on the public key to obtain an intermediate private key, and sends the intermediate private key to the cipher machine;
[0025] The cipher machine uses the cipher private key to decrypt the intermediate private key to obtain the user private key.
[0026] In one embodiment, the second processing module performs symmetric encryption processing on the initial function data based on the symmetric key to obtain encrypted function data, including:
[0027] The second processing module calls a cryptographic machine, wherein the symmetric private key is stored in the cryptographic machine;
[0028] The cipher machine uses the symmetric private key to encrypt and anonymize the initial function data to obtain encrypted function data.
[0029] In one embodiment, the data provider matches the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted function data corresponding to the second anonymous search data, including:
[0030] The data provider creates a query index based on the encrypted keyword data in the target database;
[0031] The data provider determines target encryption function data based on the second anonymous search data and the query index.
[0032] In a second aspect, the present application further provides a data protected search system, which includes a user terminal, a big data processing platform, and a data provider, wherein the big data processing platform and the data provider are located on the cloud side;
[0033] The user terminal is configured to encrypt and anonymize the initial search data based on the user's private key to obtain first anonymous search data, and send the first anonymous search data to the data provider;
[0034] The data provider is configured to encrypt and anonymize the first anonymous search data based on the data private key to obtain second anonymous search data, match the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted function data corresponding to the second anonymous search data, and send the target encrypted function data to the user terminal;
[0035] The big data processing platform is used to perform two rounds of encryption and anonymization processing on the initial keyword data based on the data private key and the user private key to obtain encrypted keyword data, and is used to perform symmetric encryption processing on the initial function data based on the user's symmetric key to obtain encrypted function data;
[0036] The user end is used to decrypt the target encrypted functional data based on the symmetric private key to obtain the queried functional data corresponding to the initial search data.
[0037] In a third aspect, the present application further provides a data protected search method, which is used by a data provider, the data provider being located on the cloud side and being in communication with a user terminal, and the method comprising:
[0038] Acquire first anonymous search data sent by the user terminal, where the first anonymous search data is obtained by the user terminal encrypting and anonymizing initial search data based on a user private key;
[0039] Performing encryption and anonymization processing on the first anonymous search data based on the data private key of the data provider to obtain second anonymous search data;
[0040] Based on matching processing between the second anonymous search data and the encrypted keyword data in the target database, target encrypted functional data corresponding to the second anonymous search data is obtained. The encrypted keyword data in the search column of the target database is obtained by the cloud-side big data processing platform performing two rounds of encryption and anonymization processing on the initial keyword data based on the data private key and the user private key. The encrypted functional data in the non-search column of the target database is obtained by the big data processing platform performing symmetric encryption processing based on the user-side symmetric key.
[0041] The target encrypted function data is sent to the user terminal, so that the user terminal decrypts the target encrypted function data based on the symmetric key to obtain the queried function data corresponding to the initial search data.
[0042] In a fourth aspect, the present application further provides a data protected search method, characterized in that the method is used on a user terminal, the user terminal is in communication with a data provider on the cloud side, and the method includes:
[0043] Performing encryption and anonymization processing on the initial search data based on the user's private key to obtain first anonymous search data;
[0044] The first anonymous search data is sent to the data provider, so that the data provider can encrypt and anonymize the first anonymous search data based on the data private key to obtain second anonymous search data, match the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted functional data corresponding to the second anonymous search data, and send the target encrypted functional data to the user terminal; wherein, the encrypted keyword data in the search column of the target database is obtained by the big data processing platform performing two rounds of encryption and anonymization processing on the initial keyword data based on the data private key and the user private key, and the encrypted functional data in the non-search column of the target database is obtained by the big data processing platform performing symmetric encryption processing on the initial functional data based on the symmetric key of the user terminal;
[0045] The target encrypted function data is decrypted based on the symmetric private key to obtain the queried function data corresponding to the initial search data.
[0046] The data protected search method and system provided above are applied to a data protected search system including a user terminal, a big data processing platform and a data provider, wherein the big data processing platform and the data provider are both located on the cloud side, and the method includes: the user terminal encrypts and anonymizes the initial search data based on the user private key to obtain first anonymous search data, and sends the first anonymous search data to the data provider; the data provider encrypts and anonymizes the first anonymous search data based on the data private key to obtain second anonymous search data, matches the second anonymous search data with the encrypted keyword data in the target database, obtains target encrypted function data corresponding to the second anonymous search data, and sends the target encrypted function data to the user terminal; wherein the encrypted keyword data in the search column in the target database is the initial keyword data encrypted and anonymized by the big data processing platform in two rounds based on the data private key and the user private key. It is obtained by processing that the encrypted functional data in the non-search column of the target database is obtained by symmetric encryption of the initial functional data by the big data processing platform based on the symmetric key of the user end; the user end decrypts the target encrypted functional data based on the symmetric private key to obtain the queried functional data corresponding to the initial search data; in this way, the initial query data of the user end is encrypted in two rounds based on the user private key and the data private key, and the searched data of the data provider is also encrypted in two rounds based on the user private key and the data private key. The two encrypted data are compared, so that the data provider and the cloud side cannot know the specific content of the initial query data sent by the user. At the same time, the non-search column data is pre-encrypted using the symmetric key of the user end, so that the data provider cannot infer the specific content of the query data based on the functional data obtained by the search, thereby realizing protected search of data in the scenario where the data stored on the cloud side belongs to the data provider. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0048] Figure 1 is a structural block diagram of a data protected search system in one embodiment;
[0049] Figure 2 1 is a flow chart of a data protected search method according to an embodiment;
[0050] Figure 3 A structural block diagram of a data protected search system in another embodiment
[0051] Figure 4 Schematic diagram of a flow chart of the steps of obtaining encrypted keyword data in one embodiment;
[0052] Figure 5 1 is a flow chart of steps for obtaining encryption function data in one embodiment;
[0053] Figure 6 is a flow chart of a data protected search method according to another embodiment;
[0054] Figure 7 is a diagram of the internal structure of a computer device in one embodiment;
[0055] Figure 8 FIG. 1 is a block diagram of the internal structure of a computer device in another embodiment. DETAILED DESCRIPTION
[0056] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0057] The data protection search method provided in the embodiment of the present application can be applied to Figure 1In the data-protected search system shown, a user terminal 102 in the data-protected search system is in communication with a cloud side 104. The cloud side 104 includes a big data processing platform 1044. The cloud side 1044 allocates storage resources and business processing resources based on the usage requirements of the data provider 1042. The initial database is used to store the original data stored by the data provider 1042, and the target database is used to store the encrypted data of the initial data. The target database is used for the user terminal 102 to search for the required data. The big data processing platform 1044 is relatively independent of the data provider 1042 in terms of hardware resources, and can communicate using an interface. The data provider 1042 can apply to the big data processing platform 1044 for the use of data processing resources.
[0058] Exemplarily, the cloud side 104 can be implemented by a server cluster consisting of multiple servers, a portion of the resources in the server cluster are provided to the data provider 1042 and used as the business office environment of the data provider 1042, and a portion of the resources in the server cluster are used as a big data processing platform 1044 for data processing by the user terminal 102 and the data provider 1042.
[0059] Exemplarily, the user terminal 102 can be a terminal device; the terminal device can be, but is not limited to, various personal computers, laptops, smart phones, tablets, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart car-mounted devices, etc., and the portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc.
[0060] For example, Figure 1 The system shown can be applied in financial business scenarios, wherein the user end 102 can be a terminal device used by a specific user of the financial business, the data provider 1042 is a data storage resource leased by the financial business enterprise on the cloud side 104; the big data platform 1044 is a data processing resource on the cloud side, which can be allocated to the data provider 1042 and the user end 102 for use based on requests from the financial business enterprise.
[0061] Another example, Figure 1 The shown one can also be used in medical business scenarios or other business scenarios that require protected search.
[0062] In an exemplary embodiment, Figure 2 As shown, a data protected search method is provided, which is applied to Figure 1 The data protected search system in
[15] is used as an example to illustrate the method. The data protected search system includes a user terminal, a big data processing platform, and a data provider, wherein the data provider and the big data processing platform are both located on the cloud side. The method includes the following steps 202 to 206. Among them:
[0063] In step 202 , the user terminal encrypts and anonymizes the initial search data based on the user private key to obtain first anonymous search data, and sends the first anonymous search data to the data provider.
[0064] The user private key refers to a private key generated by the user end based on the public-private key system; the public key generated by the user end is not disclosed to ensure that the cloud side and the data provider cannot decrypt the first anonymous search data.
[0065] The initial search data refers to the query data in plain text form on the user side, which is generally the user's sensitive private data, such as name, phone number, or ID number.
[0066] For example, the user terminal encrypts and anonymizes the initial search data based on the user's private key to obtain the first anonymous search data using the RSA asymmetric encryption algorithm, as shown in Formula 1:
[0067] B = A^d1 mod n, Formula 1
[0068] Where B is the first anonymous search data, d1 is the user's private key, and n is the modulus in the RSA asymmetric encryption algorithm.
[0069] In step 204, the data provider encrypts and anonymizes the first anonymous search data based on the data private key to obtain second anonymous search data, matches the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted function data corresponding to the second anonymous search data, and sends the target encrypted function data to the user end.
[0070] The data private key refers to a private key generated by the data provider based on a public-private key system, wherein the public key generated by the data provider is not disclosed to ensure that the cloud side cannot decrypt the second anonymous search data.
[0071] For example, the data provider may encrypt and anonymize the first anonymous search data based on the data private key to obtain the second anonymous search data by using the RSD asymmetric encryption algorithm, as shown in Formula 2:
[0072] C = B^d² mod n, Formula 2
[0073] Where C is the second anonymous search data, and d2 is the data private key.
[0074] Among them, the encrypted keyword data in the search column of the target database is obtained by the big data processing platform performing two rounds of encryption and anonymization processing on the initial keyword data based on the data private key and the user private key, and the encrypted function data in the non-search column of the target database is obtained by the big data processing platform performing symmetric encryption processing on the initial function data based on the symmetric key of the user end.
[0075] Among them, the initial keyword data refers to the data included in the search column in the original data provided by the data provider; the initial keyword data is encrypted twice using the data private key and the user private key using the big data platform. In this way, when the data provider uses the second anonymous search data that has undergone two rounds of encryption and anonymization processing and the encrypted keyword data for matching processing, the user private key is used in the encryption process of the second anonymous search data and the encrypted keyword data. The data provider cannot know the data content currently queried by the user, and therefore, the security of the user-side search privacy can be achieved.
[0076] The initial functional data refers to the data in the original data provided by the data provider, excluding the search column, that is, the actual data content that the user terminal wants to obtain from the data provider. In this embodiment, this data is referred to as functional data to distinguish it from the keyword data used for search matching.
[0077] Using large platform data to symmetrically encrypt the initial functional data using the user's symmetric key ensures that the data provider cannot infer the specific content of the query data sent by the user based on the matched target encrypted functional data, thus ensuring the security of the user's search privacy. In this embodiment, symmetric encryption is used to encrypt the initial functional data of non-search columns. This not only ensures that the user can decrypt the received target encrypted functional data using the symmetric key, but also reduces the computational complexity of symmetric encryption, reducing resource consumption during the encryption process of non-search columns.
[0078] Among them, the symmetric key is generated by the user end based on the symmetric encryption algorithm.
[0079] In one possible implementation, the big data processing platform performs two rounds of encryption and anonymization on the initial keyword data to obtain encrypted keyword data, and performs symmetric encryption on the initial function data to obtain encrypted function data, before the user triggers a query. For example, when the data provider stores a new initial data or a set of initial data in the initial database, the big data processing platform is called in real time to perform two rounds of encryption and anonymization on the initial keyword data or the initial keyword data within the set of initial data, and symmetric encryption on the initial function data, and then stores the encrypted data in the target database. When the user triggers a data search, the search is performed directly in the target database, improving the response speed of the real-time search.
[0080] In one possible implementation, the data provider matches the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted functional data corresponding to the second anonymous search data. This includes: the data provider establishing a query index based on the encrypted keyword data in the target database; and determining the target encrypted functional data based on the second anonymous search data and the query index. In this manner, search efficiency is improved by establishing the query index.
[0081] In step 206 , the user terminal decrypts the target encrypted functional data based on the symmetric private key to obtain the queried functional data corresponding to the initial search data.
[0082] The data protected search method provided in the above embodiment is applied to a data protected search system including a user terminal, a big data processing platform and a data provider, wherein the big data processing platform and the data provider are both located on the cloud side, and the method includes: the user terminal encrypts and anonymizes the initial search data based on the user private key to obtain first anonymous search data, and sends the first anonymous search data to the data provider; the data provider encrypts and anonymizes the first anonymous search data based on the data private key to obtain second anonymous search data, matches the second anonymous search data with the encrypted keyword data in the target database, obtains target encrypted function data corresponding to the second anonymous search data, and sends the target encrypted function data to the user terminal; wherein the encrypted keyword data in the search column in the target database is the initial keyword data subjected to two rounds of encryption and anonymization processing by the big data processing platform based on the data private key and the user private key. It is obtained that the encrypted functional data in the non-search column of the target database is obtained by symmetric encryption of the initial functional data by the big data processing platform based on the symmetric key of the user end; the user end decrypts the target encrypted functional data based on the symmetric private key to obtain the queried functional data corresponding to the initial search data; in this way, the initial query data of the user end is encrypted in two rounds based on the user private key and the data private key, and the searched data of the data provider is also encrypted in two rounds based on the user private key and the data private key. The two encrypted data are compared, so that the data provider and the cloud side cannot know the specific content of the initial query data sent by the user. At the same time, the non-search column data is pre-encrypted using the symmetric key of the user end, so that the data provider cannot infer the specific content of the query data based on the functional data obtained by the search, thereby realizing protected search of data in the scenario where the data stored on the cloud side belongs to the data provider.
[0083] In an exemplary embodiment, please refer to Figure 3The big data processing platform in the protected data search system includes a first processing module and a second processing module. The first processing module and the second processing module are respectively assigned to the data provider and the user end for invocation. The processing logic between the first processing module and the second processing module is isolated from each other. The first processing module and the second processing module can communicate data through an interface.
[0084] In this embodiment, please refer to Figure 4 The data protected search method provided further includes steps 402 to 408, wherein:
[0085] Step 402: The data provider sends the initial keyword data of the initial database to the first processing module of the data processing platform.
[0086] In step 404 , the first processing module encrypts and anonymizes the initial keyword data based on the data private key to obtain intermediate keyword data, and sends the intermediate keyword data to the second processing module of the data processing platform.
[0087] In a possible implementation, a cryptographic machine is provided on the cloud side for use by the second processing module in encrypting and anonymizing the intermediate keyword data based on the user's private key.
[0088] Among them, a cipher machine is a dedicated hardware encryption device that performs encryption operations by using physical chips, modules or dedicated processors, and does not rely entirely on software implementation.
[0089] In this embodiment, the user's private key is stored in the cipher machine; the second processing module encrypts and anonymizes the intermediate keyword data based on the user's private key, and the process of obtaining the encrypted keyword data includes: the second processing module calls the cipher machine, and the cipher machine uses the user's private key to encrypt and anonymize the intermediate keyword data to obtain encrypted keyword data.
[0090] In this embodiment, a cryptographic machine is used to store the user's private key to ensure the security of the user's private key, especially when the cloud-side service provider itself may be attacked or there is a security threat within the service provider, thereby reducing the risk of the user's private key being stolen.
[0091] In one implementation of this embodiment, the provided data protected search processing method further includes: the cryptographic machine sending its public key to the user terminal; the user terminal encrypting the user's private key based on the public key to obtain an intermediate private key; and sending the intermediate private key to the cryptographic machine; the cryptographic machine decrypting the intermediate private key using the Mia private key to obtain the user's private key. The public and private keys are an asymmetric key pair.
[0092] In this way, the user end encrypts its own user private key with the cipher machine's public key and then sends it to the cipher machine. The cipher machine uses the private key to decrypt the intermediate key, obtains the user private key and stores it, which can ensure the security of the user private key during the transmission between the user end and the cipher machine.
[0093] Step 406: The second processing module encrypts and anonymizes the intermediate keyword data based on the user's private key to obtain encrypted keyword data, and sends the encrypted keyword data to the data provider.
[0094] In step 408, the data provider stores the encrypted keyword data in the target database.
[0095] In the data protected search method provided in the above embodiment, the first processing module and the second processing module with two isolated processing logics in the big data processing platform are used to complete the data private key encryption process and the user private key encryption process of the initial keyword data respectively. On the one hand, the resources of the big data processing platform are used to improve the processing efficiency of encryption anonymization. On the other hand, the above two encryption anonymization processing processes are isolated from each other to ensure the security of the user private key and the data private key. On the other hand, the initial keyword data is first encrypted and anonymized using the data key through the first processing module, and then encrypted and anonymized using the user key through the second processing module to avoid exposing the unencrypted search column to the user end. Therefore, the method provided by this embodiment can also ensure the security of the original data of the data provider.
[0096] In an exemplary embodiment, please refer to Figure 5 The data protected search method provided further includes steps 502 to 506, wherein:
[0097] Step 502: The data provider sends the initial function data in the initial database to the second processing module.
[0098] In step 504 , the second processing module performs symmetric encryption processing on the initial function data based on the symmetric key to obtain encrypted function data, and sends the encrypted function data to the data provider.
[0099] In an implementation method of setting up a cryptographic machine on the cloud side, the symmetric key is stored in the cryptographic machine, and the second processing module performs symmetric encryption processing on the initial functional data based on the symmetric key. The process of obtaining the encrypted functional data includes: the second processing module calls the cryptographic machine; the cryptographic machine uses the symmetric private key to encrypt and anonymize the initial functional data to obtain the encrypted functional data.
[0100] In this embodiment, exemplarily, when the user end encrypts the user private key based on the cryptographic public key to obtain the intermediate private key, the user end also encrypts the symmetric key based on the cryptographic public key to obtain the intermediate key; when the user end sends the intermediate private key to the cryptographic machine, it also sends the intermediate key to the cryptographic machine, and the cryptographic machine uses the cryptographic private key to decrypt the intermediate key to obtain the symmetric key and stores it.
[0101] Step 506: The data provider stores the encrypted function data in the target database.
[0102] In a possible implementation, the data provider sends the initial function data in the initial database to the second processing module through the first processing module; the second processing module sends the encrypted function data to the data provider through the first processing module.
[0103] Exemplarily, the data provider sends the data table T1 that currently needs to be encrypted in the initial database to the first processing module. The first processing module encrypts and anonymizes the initial keyword data in the search column in the data table to obtain data table T2. The non-search column in data table T2 is consistent with the non-search column in data table T1; the first processing module sends the data table T2 to the second processing module. The second processing module further encrypts and anonymizes the search column in data table T2 based on the user's private key, and performs symmetrical encryption on the non-search column in data table T2 to obtain data table T3; the second processing module sends the data table T3 to the first processing module, and the first processing module sends the data table T3 to the data provider; the data provider stores the data table T3 in the target database.
[0104] In an exemplary embodiment, Figure 6 As shown, a data protected search method is provided, which is applied to Figure 1 The data protected search system in the example is described, and the data protected search system includes a user terminal, a big data processing platform, and a data provider, wherein the data provider and the big data processing platform are both located on the cloud side, and the big data processing platform includes a first processing module and a second processing module, wherein the first processing module and the second processing module are respectively assigned to the data provider and the user terminal for calling, and the processing logic between the first processing module and the second processing module is isolated from each other. The method includes the following steps S1 to S18. Among them:
[0105] Step S1: The cipher machine sends its public key to the user terminal.
[0106] In step S2, the user terminal encrypts the user private key and the symmetric key based on the cryptographic public key to obtain an intermediate private key and an intermediate key.
[0107] In step S3, the user terminal sends the intermediate private key and the intermediate key to the cryptographic machine.
[0108] Step S4: The cipher machine decrypts the intermediate private key and the intermediate key based on the cipher private key decryption to obtain the user private key and the symmetric key, and stores the user private key and the symmetric key.
[0109] In step S5, the data provider sends the initial keyword data and initial function data of the initial database to the first processing module of the data processing platform.
[0110] Step S6: The first processing module encrypts and anonymizes the initial keyword data based on the data private key to obtain intermediate keyword data.
[0111] Step S7: The first processing module sends the intermediate keyword data and the initial function data to the second processing module of the data processing platform.
[0112] Step S8: The second processing module sends the intermediate keyword data and the initial function data to the cipher machine.
[0113] In step S9, the cipher machine encrypts and anonymizes the intermediate keyword data based on the user's private key to obtain encrypted keyword data, and symmetrically encrypts the initial function data based on the symmetric key to obtain encrypted function data.
[0114] Step S10: The cipher machine sends the encrypted keyword data and the cipher function data to the second processing module.
[0115] In step S11 , the second processing module sends the encrypted keyword data and the cryptographic function data to the first processing module.
[0116] Step S12: The first processing module stores the encrypted keyword data and the password function data into a target database in the data provider.
[0117] In step S13, the user terminal encrypts and anonymizes the initial search data based on the user's private key to obtain first anonymous search data.
[0118] In step S14 , the user terminal sends the first anonymous search data to the data provider.
[0119] In step S15 , the data provider encrypts and anonymizes the first anonymous search data based on the data private key to obtain second anonymous search data.
[0120] Step S16: The data provider performs matching processing on the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted function data corresponding to the second anonymous search data;
[0121] In step S17, the data provider sends the target encryption function data to the user terminal.
[0122] In step S18, the user terminal decrypts the target encrypted functional data based on the symmetric private key to obtain the queried functional data corresponding to the initial search data.
[0123] The data protected search method provided in the above embodiment realizes efficient encryption operation processing and key security protection of the queried data by combining the big data processing platform and hardware cryptographic machine on the cloud side. Among them, the encryption task of the initial keyword data and the initial function data is set in the operation by utilizing the high-performance computing resources on the cloud side. At the same time, the security of the user's private key and symmetric key on the user side is protected by the hardware cryptographic machine to prevent the user's private key and symmetric key from being maliciously stolen and causing data leakage.
[0124] Among them, the process of the above steps S1 to S4 can be regarded as the environment preparation stage, and steps S5 to S12 can be regarded as the data offline preparation stage, where offline refers to the triggering of the data search request in advance of the user terminal; steps S13 to S18 can be regarded as the real-time query stage. It can be seen that the data protected search method provided by the above embodiment offline processes the data anonymization process with the largest computational amount, ensuring that the user terminal only needs to perform two rounds of anonymization processing on the initial query data when performing a protected search, and has near real-time response efficiency.
[0125] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0126] It should be understood that the term "based on" as used herein is used to describe one or more factors that influence a determination, and does not exclude other factors that may influence the determination. For example, the phrase "determine A based on B" means that the determination of A may be based entirely or at least partially on factor B. In other words, B is a factor that influences the determination of A, but does not exclude the determination of A being based on C.
[0127] Based on the same inventive concept, the embodiment of the present application also provides a data protected search system, such as Figure 1 As shown, the system includes a user end, a big data processing platform and a data provider, wherein the big data processing platform and the data provider are located on the cloud side.
[0128] The user end is used to encrypt and anonymize the initial search data based on the user's private key to obtain first anonymous search data, and send the first anonymous search data to the data provider.
[0129] The data provider is used to encrypt and anonymize the first anonymous search data based on the data private key to obtain the second anonymous search data, match the second anonymous search data with the encrypted keyword data in the target database, obtain the target encrypted function data corresponding to the second anonymous search data, and send the target encrypted function data to the user end.
[0130] The big data processing platform is used to perform two rounds of encryption and anonymization processing on the initial keyword data based on the data private key and the user private key to obtain encrypted keyword data, and is used to perform symmetric encryption processing on the initial function data based on the user's symmetric key to obtain encrypted function data;
[0131] The user end is used to decrypt the target encrypted functional data based on the symmetric private key to obtain the queried functional data corresponding to the initial search data.
[0132] In an exemplary embodiment, please refer to Figure 3 The big data processing platform includes a first processing module and a second processing module, wherein the first processing module and the second processing module are respectively assigned to the data provider and the user end for calling, and the processing logic between the first processing module and the second processing module is isolated from each other.
[0133] The first processing module is used to encrypt and anonymize the initial keyword data based on the data private key to obtain intermediate keyword data, and then send the intermediate keyword data to the second processing module of the data processing platform. The second processing module is used to encrypt and anonymize the intermediate keyword data based on the user private key to obtain encrypted keyword data, and then send the encrypted keyword data to the data provider; the data provider is responsible for storing the encrypted functional data in the target database.
[0134] In an exemplary embodiment, please refer to Figure 3 The cloud side also includes a cryptographic machine, in which the user's private key is stored. The second processing module is used to call the cryptographic machine, which is used to encrypt and anonymize the intermediate keyword data using the user's private key to obtain encrypted keyword data.
[0135] In an exemplary embodiment, the cryptographic machine is used to send the cryptographic public key of the cryptographic machine to the user end; the user end is used to encrypt the user private key based on the cryptographic public key to obtain an intermediate private key, and send the intermediate private key to the cryptographic machine; the cryptographic machine is used to decrypt the intermediate private key using the cryptographic private key to obtain the user private key.
[0136] In an exemplary embodiment, the symmetric private key is stored in a cryptographic machine; the second processing module calls the cryptographic machine, and the cryptographic machine is used to encrypt and anonymize the initial functional data using the symmetric private key to obtain encrypted functional data.
[0137] In an exemplary embodiment, the data provider is configured to establish a query index based on the encrypted keyword data in the target database; the data provider determines target encrypted function data based on the second anonymous search data and the query index.
[0138] In an exemplary embodiment, a data protected search method is provided for Figure 1 The data provider in the data protection system shown is located on the cloud side and is in communication with the user side. The method includes: obtaining first anonymous search data sent by the user side, the first anonymous search data being encrypted and anonymized by the user side based on the user's private key; encrypting and anonymizing the first anonymous search data based on the data provider's data private key to obtain second anonymous search data; matching the second anonymous search data with encrypted keyword data in a target database to obtain target encrypted function data corresponding to the second anonymous search data, the encrypted keyword data in the search column of the target database being obtained by the cloud side's big data processing platform performing two rounds of encryption and anonymization on the initial keyword data based on the data private key and the user's private key, and the encrypted function data in the non-search column of the target database being obtained by the big data processing platform performing symmetric encryption based on the user side's symmetric key; and sending the target encrypted function data to the user side so that the user side decrypts the target encrypted function data based on the symmetric key to obtain the queried function data corresponding to the initial search data.
[0139] In an exemplary embodiment, a data protected search method is provided for Figure 1The user end in the data protection system shown is in communication connection with the data provider located on the cloud side, and the method includes: encrypting and anonymizing the initial search data based on the user private key to obtain first anonymous search data; sending the first anonymous search data to the data provider so that the data provider encrypts and anonymizes the first anonymous search data based on the data private key to obtain second anonymous search data, matching the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted function data corresponding to the second anonymous search data, and sending the target encrypted function data to the user end; wherein, the encrypted keyword data in the search column of the target database is obtained by the big data processing platform performing two rounds of encryption and anonymization on the initial keyword data based on the data private key and the user private key, and the encrypted function data in the non-search column of the target database is obtained by the big data processing platform performing symmetric encryption on the initial function data based on the symmetric key of the user end; decrypting the target encrypted function data based on the symmetric private key to obtain the queried function data corresponding to the initial search data.
[0140] In an exemplary embodiment, a computer device is provided, which may be a server, for implementing Figure 1 The internal structure of the data provider in the data protected search system shown in FIG. Figure 7 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O) and a communication interface. The processor, memory and input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The number of databases of the computer device can be multiple, at least one database is used to store encrypted keyword data and encrypted function data, and at least one database is used to store initial keyword data and initial function data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data protected search method for a data provider is implemented.
[0141] In an exemplary embodiment, a computer device is provided, which may be a terminal, for implementing Figure 1 The internal structure of the user end in the data protected search system shown in FIG. Figure 8As shown. The computer device includes a processor, memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals via wired or wireless means, and the wireless means can be achieved via Wi-Fi, mobile cellular networks, NFC (near-field communication), or other technologies. When executed by the processor, the computer program implements a method for protected data search on a user side. The display unit of the computer device is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device casing, or an external keyboard, touchpad or mouse.
[0142] Those skilled in the art will understand that Figure 7 and Figure 8 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0143] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0144] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), data processing logic devices based on quantum computing, and the like.
[0145] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0146] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A data protected search method, characterized in that: The method is used in a data protected search system including a user terminal, a big data processing platform, and a data provider, wherein the big data processing platform and the data provider are both located on the cloud side; the method includes: The user terminal encrypts and anonymizes the initial search data based on the user private key to obtain first anonymous search data, and sends the first anonymous search data to the data provider; The data provider performs encryption and anonymization processing on the first anonymous search data based on the data private key to obtain second anonymous search data, performs matching processing on the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted functional data corresponding to the second anonymous search data, and sends the target encrypted functional data to the user terminal; wherein, the encrypted keyword data in the search column of the target database is obtained by the big data processing platform performing two rounds of encryption and anonymization processing on the initial keyword data based on the data private key and the user private key, and the encrypted functional data in the non-search column of the target database is obtained by the big data processing platform performing symmetric encryption processing on the initial functional data based on the symmetric key of the user terminal; The user terminal decrypts the target encrypted functional data based on the symmetric private key to obtain the queried functional data corresponding to the initial search data.
2. The method according to claim 1, characterized in that The method further comprises: The data provider sends the initial keyword data of the initial database to the first processing module of the data processing platform; wherein the first processing module is a data processing resource in the data processing platform allocated to the data provider; The first processing module encrypts and anonymizes the initial keyword data based on the data private key to obtain intermediate keyword data, and sends the intermediate keyword data to the second processing module of the data processing platform; wherein the second processing module is the data processing resource allocated to the user terminal in the data processing platform, and the processing logic between the first processing module and the second processing module is isolated from each other; The second processing module encrypts and anonymizes the intermediate keyword data based on the user private key to obtain the encrypted keyword data, and sends the encrypted keyword data to the data provider; The data provider stores the encrypted keyword data in the target database.
3. The method according to claim 2, characterized in that The method further comprises: The data provider sends the initial function data in the initial database to the second processing module; The second processing module performs symmetric encryption processing on the initial function data based on the symmetric key to obtain the encrypted function data, and sends the encrypted function data to the data provider; The data provider stores the encrypted function data in the target database.
4. The method according to claim 2, characterized in that The second processing module encrypts and anonymizes the intermediate keyword data based on the user private key to obtain the encrypted keyword data, including: The second processing module calls a cryptographic machine, wherein the user private key is stored in the cryptographic machine; The cryptographic machine uses the user private key to encrypt and anonymize the intermediate keyword data to obtain the encrypted keyword data.
5. The method according to claim 4, characterized in that The method further comprises: The cryptographic machine sends the cryptographic public key of the cryptographic machine to the user terminal; The user terminal encrypts the user private key based on the cryptographic public key to obtain an intermediate private key, and sends the intermediate private key to the cryptographic machine; The cryptographic machine uses the cryptographic private key to decrypt the intermediate private key to obtain the user private key.
6. The method according to claim 3, characterized in that The second processing module performs symmetric encryption processing on the initial function data based on the symmetric key to obtain the encrypted function data, including: The second processing module calls a cryptographic machine, wherein the symmetric private key is stored in the cryptographic machine; The cryptographic machine uses the symmetric private key to encrypt and anonymize the initial functional data to obtain the encrypted functional data.
7. The method according to claim 1, characterized in that The data provider performs matching processing on the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted function data corresponding to the second anonymous search data, including: The data provider establishes a query index based on the encrypted keyword data in the target database; The data provider determines the target encryption function data based on the second anonymous search data and the query index.
8. A data protected search system, characterized in that: The data protected search system includes a user terminal, a big data processing platform and a data provider, wherein the big data processing platform and the data provider are located on the cloud side; The user terminal is configured to perform encryption and anonymization processing on the initial search data based on the user private key to obtain first anonymous search data, and send the first anonymous search data to the data provider; The data provider is configured to encrypt and anonymize the first anonymous search data based on a data private key to obtain second anonymous search data, match the second anonymous search data with encrypted keyword data in a target database to obtain target encrypted function data corresponding to the second anonymous search data, and send the target encrypted function data to the user terminal; The big data processing platform is used to perform two rounds of encryption and anonymization processing on the initial keyword data based on the data private key and the user private key to obtain the encrypted keyword data, and is used to perform symmetric encryption processing on the initial function data based on the symmetric key of the user terminal to obtain encrypted function data; The user terminal is used to decrypt the target encrypted functional data based on the symmetric private key to obtain the queried functional data corresponding to the initial search data.
9. A data protected search method, characterized in that: The method is used by a data provider, the data provider is located on the cloud side, and the data provider is in communication with a user terminal. The method includes: Acquire first anonymous search data sent by the user terminal, where the first anonymous search data is obtained by the user terminal encrypting and anonymizing initial search data based on a user private key; Performing encryption and anonymization processing on the first anonymous search data based on the data private key of the data provider to obtain second anonymous search data; Matching the second anonymous search data with the encrypted keyword data in the target database to obtain target encrypted functional data corresponding to the second anonymous search data, wherein the encrypted keyword data in the search column of the target database is obtained by the cloud-side big data processing platform performing two rounds of encryption and anonymization processing on the initial keyword data based on the data private key and the user private key, and the encrypted functional data in the non-search column of the target database is obtained by the big data processing platform performing symmetric encryption processing based on the symmetric key of the user end; The target encrypted function data is sent to the user terminal, so that the user terminal decrypts the target encrypted function data based on the symmetric key to obtain the queried function data corresponding to the initial search data.
10. A data protected search method, characterized in that: The method is used on a user terminal, which is in communication with a data provider on the cloud side. The method includes: Performing encryption and anonymization processing on the initial search data based on the user's private key to obtain first anonymous search data; The first anonymous search data is sent to the data provider, so that the data provider performs encryption and anonymization processing on the first anonymous search data based on the data private key to obtain second anonymous search data, and the second anonymous search data is matched with the encrypted keyword data in the target database to obtain target encrypted function data corresponding to the second anonymous search data, and the target encrypted function data is sent to the user terminal; wherein, the encrypted keyword data in the search column of the target database is obtained by the cloud-side big data processing platform performing two rounds of encryption and anonymization processing on the initial keyword data based on the data private key and the user private key, and the encrypted function data in the non-search column of the target database is obtained by the big data processing platform performing symmetric encryption processing on the initial function data based on the symmetric key of the user terminal; The target encrypted function data is decrypted based on the symmetric private key to obtain the queried function data corresponding to the initial search data.