Retrieval method, apparatus, and system, and non-volatile computer-readable storage medium
By using Trusted Execution Environment (TEE) to encrypt and decrypt data in cross-domain search scenarios, data leakage and security issues are solved, and efficient and secure cross-domain search is achieved.
Patent Information
- Application Number
- PCT/CN2024/110590
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-14
- Filing Date
- 2024-08-08
- Publication Date
- 2025-03-20
AI Technical Summary
In cross-domain retrieval scenarios, there are data breach risks, access control and authentication issues, as well as the risks of malicious attacks and tampering, resulting in a decrease in data security.
Trusted Execution Environment (TEE) is used for cross-domain retrieval of data, and the security of data during transmission and processing is ensured by encrypting and decrypting the searched content in the trusted execution environment of the central cluster and the data cluster.
It effectively solves the problems of data security and data consistency in cross-domain retrieval, improves the security of data and the credibility of the retrieval process, and reduces the risks of information leakage and malicious attacks.
Smart Images

Figure CN2024110590_20032025_PF_FP_ABST
Abstract
Description
Retrieval method, device, system and non-volatile computer-readable storage medium
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is based on the application with CN application number 202311189203.5 and application date September 14, 2023, and claims its priority. The disclosed content of the CN application is hereby introduced as a whole into this application. Technical Field
[0003] The present disclosure relates to the field of communication technology, and in particular to a retrieval method, a retrieval device, a retrieval system, an electronic device, and a non-volatile computer-readable storage medium. Background Art
[0004] With the innovation of business models, more and more companies need to combine their own data with the data of other companies to mine value and guide their development and decision-making. Therefore, for cross-domain search scenarios, joint data search is needed.
[0005] In related technologies, data in cross-domain retrieval scenarios comes from different organizations or departments, is in different clusters, and is physically isolated from each other.
[0006] Summary of the Invention
[0007] According to some embodiments of the present disclosure, a retrieval method on the central cluster side is provided, including: encrypting content to be retrieved in a trusted execution environment of the central cluster; sending the encrypted content to be retrieved to multiple data clusters so that the encrypted content to be retrieved can be retrieved in the trusted execution environments of the multiple data clusters; and fusing multiple first retrieval results returned by the multiple data clusters to determine a second retrieval result.
[0008] In some embodiments, encrypting the content to be retrieved in the trusted execution environment created by the central cluster includes: generating a public key and a private key in the trusted execution environment of the central cluster; using the public key to encrypt the content to be retrieved so that the encrypted content to be retrieved can be decrypted using the private key in the trusted execution environments of multiple data clusters.
[0009] In some embodiments, fusing multiple first search results returned by multiple data clusters to determine a second search result includes: receiving multiple encrypted first search results returned by multiple data clusters, encrypting the multiple first search results using a public key in a trusted execution environment of the multiple data clusters; and decrypting the encrypted multiple first search results using a private key in a trusted execution environment of a central cluster to obtain multiple first search results.
[0010] In some embodiments, in the trusted execution environment of the central cluster, decrypting the encrypted multiple first search results using a private key includes: authenticating the encrypted multiple first search results; and decrypting the encrypted multiple first search results if the encrypted multiple first search results pass the authentication.
[0011] In some embodiments, multiple first search results are obtained in the trusted execution environment of multiple data clusters in the following manner: searching based on scalar information and vector information of the content to be retrieved, and vector indexes and scalar indexes of data in the database to obtain multiple first search results.
[0012] In some embodiments, the plurality of first search results are obtained using a secure application programming interface of a trusted execution environment of the plurality of data clusters.
[0013] In some embodiments, scalar indexes and vector indexes are obtained in a trusted execution environment of multiple data clusters in the following manner: based on the scalar information of the data in the database, the data is divided into different data partitions, and the scalar information is generated based on the key information of the data; based on the keywords of the data in the data partition, an inverted index of the data in the data partition is established as a scalar index; and the data in the data partition is vectorized to generate a vector index.
[0014] In some embodiments, the plurality of first search results are obtained in the trusted execution environment of the plurality of data clusters in the following manner: searching the content to be searched based on the vector information and keywords of the content to be searched to obtain the plurality of first search results.
[0015] In some embodiments, the encrypted content to be retrieved is retrieved in the trusted execution environment of multiple data clusters in the following manner: the encrypted content to be retrieved is authenticated; if the encrypted content to be retrieved passes the authentication, the encrypted content to be retrieved is decrypted in the trusted execution environment of multiple data clusters to obtain the content to be retrieved.
[0016] According to other embodiments of the present disclosure, a retrieval method on the data cluster side is provided, including: receiving content to be retrieved that is encrypted in the trusted execution environment of the central cluster; performing decryption processing in the trusted execution environment of the data cluster to obtain the content to be retrieved; searching the content to be retrieved in the trusted execution environment of the data cluster to obtain a first retrieval result; returning the first retrieval result to the central cluster, so that the central cluster can fuse the first retrieval results returned by multiple data clusters to determine a second retrieval result.
[0017] In some embodiments, the content to be retrieved is encrypted by generating a public key in the trusted execution environment of the central cluster, and decrypted in the trusted execution environment of the data cluster to obtain the content to be retrieved, including: decrypting in the trusted execution environment of the data cluster using a private key, where the private key is generated in the trusted execution environment of the central cluster.
[0018] In some embodiments, returning the first search result to the central cluster includes: encrypting the first search result using a public key in the trusted execution environment of the data cluster; returning the encrypted first search result to the central cluster so that the encrypted multiple first search results can be decrypted using a private key in the trusted execution environment of the central cluster.
[0019] In some embodiments, the encrypted first search result is decrypted in the trusted execution environment of the central cluster in the following manner: authenticating the encrypted first search result; and decrypting the encrypted first search result if the encrypted first search result passes the authentication.
[0020] In some embodiments, in a trusted execution environment of a data cluster, searching for content to be retrieved includes searching based on scalar information and vector information of the content to be retrieved, and vector indexes and scalar indexes of data in a database to obtain a first search result.
[0021] In some embodiments, the first search result is obtained using a secure application programming interface of a trusted execution environment of the data cluster.
[0022] In some embodiments, retrieval based on the scalar information and vector information of the content to be retrieved, as well as the vector index and scalar index of the data in the database includes: dividing the data into different data partitions based on the scalar information of the data in the database, and generating scalar information based on the key information of the data; establishing an inverted index of the data in the data partition as a scalar index based on the keywords of the data in the data partition; and vectorizing the data in the data partition to generate a vector index.
[0023] In some embodiments, in the trusted execution environment of the data cluster, searching for the content to be searched includes: searching for the content to be searched according to vector information and keywords of the content to be searched to obtain a plurality of first search results.
[0024] In some embodiments, in a trusted execution environment of a data cluster, performing decryption processing includes: authenticating the encrypted content to be retrieved; and if the encrypted content to be retrieved passes the authentication, decrypting the encrypted content to be retrieved to obtain the content to be retrieved.
[0025] According to some further embodiments of the present disclosure, a retrieval system is provided, comprising: a central cluster for executing the retrieval method on the central cluster side in any of the above embodiments; and multiple data clusters for executing the retrieval method on the data cluster side in any of the above embodiments.
[0026] According to some further embodiments of the present disclosure, a retrieval device on the central cluster side is provided, including: a content distribution module, used to encrypt the content to be retrieved in the trusted execution environment of the central cluster, and send the encrypted content to be retrieved to multiple data clusters, so that the encrypted content to be retrieved can be retrieved in the trusted execution environments of the multiple data clusters; a result fusion module, used to fuse multiple first retrieval results returned by multiple data clusters to determine a second retrieval result.
[0027] In some embodiments, the content distribution module generates a public key and a private key in the trusted execution environment of the central cluster, and uses the public key to encrypt the content to be retrieved, so that the encrypted content to be retrieved can be decrypted using the private key in the trusted execution environments of multiple data clusters.
[0028] In some embodiments, the result fusion module receives multiple encrypted first search results returned by multiple data clusters, and the multiple first search results are encrypted using a public key in the trusted execution environment of the multiple data clusters; the retrieval device also includes an authentication and decryption module, which is used to decrypt the encrypted multiple first search results using a private key in the trusted execution environment of the central cluster to obtain multiple first search results.
[0029] In some embodiments, the authentication and decryption module authenticates the encrypted plurality of first search results; and decrypts the encrypted plurality of first search results if the encrypted plurality of first search results pass the authentication.
[0030] In some embodiments, multiple first search results are obtained in the trusted execution environment of multiple data clusters in the following manner: searching based on scalar information and vector information of the content to be retrieved, and vector indexes and scalar indexes of data in the database to obtain multiple first search results.
[0031] In some embodiments, the plurality of first search results are obtained using a secure application programming interface of a trusted execution environment of the plurality of data clusters.
[0032] In some embodiments, scalar indexes and vector indexes are obtained in a trusted execution environment of multiple data clusters in the following manner: based on the scalar information of the data in the database, the data is divided into different data partitions, and the scalar information is generated based on the key information of the data; based on the keywords of the data in the data partition, an inverted index of the data in the data partition is established as a scalar index; and the data in the data partition is vectorized to generate a vector index.
[0033] In some embodiments, the encrypted content to be retrieved is retrieved in the trusted execution environment of multiple data clusters in the following manner: the encrypted content to be retrieved is authenticated; if the encrypted content to be retrieved passes the authentication, the encrypted content to be retrieved is decrypted in the trusted execution environment of multiple data clusters to obtain the content to be retrieved.
[0034] According to some further embodiments of the present disclosure, a retrieval device on the data cluster side is provided, including: an authentication and decryption module for receiving content to be retrieved that is encrypted in the trusted execution environment of the central cluster, and performing decryption processing in the trusted execution environment of the data cluster to obtain the content to be retrieved; a retrieval module for searching the content to be retrieved in the trusted execution environment of the data cluster to obtain a first retrieval result, and returning the first retrieval result to the central cluster, so that the central cluster can fuse the first retrieval results returned by multiple data clusters to determine a second retrieval result.
[0035] In some embodiments, the content to be retrieved is encrypted by generating a public key in the trusted execution environment of the central cluster, and the authentication and decryption module performs decryption processing in the trusted execution environment of the data cluster using a private key generated in the trusted execution environment of the central cluster.
[0036] In some embodiments, the retrieval module encrypts the first retrieval result using a public key in the trusted execution environment of the data cluster; and returns the encrypted first retrieval result to the central cluster so that the encrypted multiple first retrieval results can be decrypted using a private key in the trusted execution environment of the central cluster.
[0037] In some embodiments, the encrypted first search result is decrypted in the trusted execution environment of the central cluster in the following manner: authenticating the encrypted first search result; and decrypting the encrypted first search result if the encrypted first search result passes the authentication.
[0038] In some embodiments, the retrieval module performs a search based on the scalar information and vector information of the content to be retrieved, and the vector index and scalar index of the data in the database to obtain a first search result.
[0039] In some embodiments, the first search result is obtained using a secure application programming interface of a trusted execution environment of the data cluster.
[0040] In some embodiments, the retrieval module divides the data into different data partitions based on the scalar information of the data in the database, and the scalar information is generated based on the key information of the data; based on the keywords of the data in the data partition, an inverted index of the data in the data partition is established as a scalar index; and the data in the data partition is vectorized to generate a vector index.
[0041] In some embodiments, the authentication and decryption module authenticates the encrypted content to be retrieved; if the encrypted content to be retrieved passes the authentication, the encrypted content to be retrieved is decrypted to obtain the content to be retrieved.
[0042] According to some further embodiments of the present disclosure, an electronic device is provided, including: a memory; and a processor coupled to the memory, wherein the processor is configured to execute the retrieval method in any one of the above embodiments based on instructions stored in the memory device.
[0043] According to some further embodiments of the present disclosure, a non-volatile computer-readable storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the retrieval method in any of the above embodiments is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0045] The present disclosure can be more clearly understood from the following detailed description with reference to the accompanying drawings:
[0046] FIG1 shows a flowchart of some embodiments of the retrieval method of the present disclosure;
[0047] FIG2 a shows a schematic diagram of some embodiments of the retrieval system of the present disclosure;
[0048] FIG2 b shows a schematic diagram of some embodiments of the retrieval process of the present disclosure;
[0049] FIG3 shows a flowchart of other embodiments of the retrieval method of the present disclosure;
[0050] 4a-4b are block diagrams illustrating some embodiments of the retrieval apparatus of the present disclosure;
[0051] FIG5 shows a block diagram of some embodiments of an electronic device of the present disclosure;
[0052] FIG6 shows a block diagram of another embodiment of the electronic device of the present disclosure;
[0053] FIG7 shows a block diagram of some embodiments of the retrieval system of the present disclosure. DETAILED DESCRIPTION
[0054] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure.
[0055] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.
[0056] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.
[0057] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, they should be considered part of the specification.
[0058] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not limiting. Therefore, other examples of the exemplary embodiments may have different values.
[0059] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0060] The inventors of the present disclosure have discovered that the above-mentioned related technologies have the following problems: there are information security risks such as data leakage, which leads to a decrease in data security.
[0061] In view of this, the present disclosure proposes a retrieval technology solution that can improve data security during the retrieval process.
[0062] As mentioned earlier, data security and privacy issues have always been a major concern for businesses during data sharing. Therefore, how to conduct reliable data value mining while ensuring data security and privacy has become a current research trend.
[0063] For example, cross-cluster joint retrieval (such as semantic retrieval, etc.) mainly has the following technical problems.
[0064] (1) Data leakage risk. Cross-cluster federated retrieval involves multiple data sources and storage systems. If not properly protected, sensitive information may be leaked during data transmission or processing, leading to privacy issues and security vulnerabilities.
[0065] (2) Access control and authentication issues. In a cross-cluster environment, different data sources may use different authentication and access control mechanisms. Therefore, it is important to ensure consistency in authentication and access control across clusters to prevent unauthorized access and information leakage.
[0066] (3) Malicious attacks and tampering. Cross-cluster federated retrieval without proper protection is vulnerable to malicious attacks, such as man-in-the-middle attacks, data tampering, or denial of service attacks.
[0067] To avoid data security issues associated with cross-cluster semantic retrieval, related technologies centralize user data on centralized servers for processing, which can lead to privacy leaks.
[0068] In response to the above technical problems, the technical solution disclosed in the present invention adopts TEE (Trusted Execution Environment) to perform cross-domain retrieval of data.
[0069] A TEE is a secure computing environment that provides hardware and software-level protection to protect sensitive data and execution processes from unauthorized access and attacks. It creates an isolated execution environment where code and data in a trusted execution environment can be securely computed and processed in an untrusted environment.
[0070] TEE-based cross-domain search technology can effectively address data security and consistency issues in cross-domain search. Furthermore, leveraging the hardware security provided by TEE technology ensures the credibility and security of the search process, improving the usability and practicality of cross-domain search technology.
[0071] For example, the following embodiments may be used to implement the technical solutions of the present disclosure.
[0072] FIG1 shows a flowchart of some embodiments of the retrieval method of the present disclosure.
[0073] As shown in FIG1 , in step 110 , the content to be retrieved is encrypted in the trusted execution environment of the central cluster.
[0074] For example, the central cluster is responsible for connecting with each sub-cluster (i.e., each data cluster), distributing the user's search requirements to each sub-cluster, receiving the search results of each sub-cluster, and determining the overall search results through fusion processing.
[0075] For example, data clusters can be located in different locations, belong to the same enterprise or organization, and be physically isolated from each other. Data clusters must register with the central cluster and obtain authorization to interact with it. Authorized data clusters receive search requests from the central cluster, perform searches within the cluster, and return the results to the central cluster upon completion.
[0076] In some embodiments, a public key and a private key are generated in the trusted execution environment of the central cluster; the content to be retrieved is encrypted using the public key, so that the encrypted content to be retrieved can be decrypted using the private key in the trusted execution environments of multiple data clusters.
[0077] In some embodiments, the content to be retrieved is encrypted in the central cluster and then distributed to the data cluster. After receiving the retrieval content distributed by the central cluster, the data cluster performs retrieval within the data cluster.
[0078] For example, a TEE is created for semantic retrieval (including TEEs for the central cluster and each data cluster). A symmetric key, including a public key and a private key, is generated in the TEE environment of the central cluster to encrypt the data. The content to be retrieved is then encrypted. For example, a symmetric encryption algorithm such as AES (Advanced Encryption Standard) can be used for encryption.
[0079] In this way, the generated key only exists within the TEE and cannot be obtained by external programs, ensuring the confidentiality and integrity of the key.
[0080] In step 120 , the encrypted content to be retrieved is sent to multiple data clusters so that the encrypted content to be retrieved can be retrieved in the trusted execution environments of the multiple data clusters.
[0081] For example, the encrypted information to be retrieved is distributed to various data clusters for the next step of semantic retrieval.
[0082] In some embodiments, the encrypted content to be retrieved is authenticated in a trusted execution environment of multiple data clusters; if the encrypted content to be retrieved passes the authentication, the encrypted content to be retrieved is decrypted in the trusted execution environment of multiple data clusters to obtain the content to be retrieved.
[0083] For example, in the semantic retrieval program where the data cluster is located, the encrypted data to be retrieved and authentication information are transmitted to the TEE environment of the data cluster for authentication and decryption.
[0084] In this way, the authentication process ensures that only authorized entities can access the data in the data cluster, thereby improving data security.
[0085] For example, after receiving the information to be retrieved, the data cluster authenticates the encrypted information to ensure that the data has not been tampered with during transmission. For example, authentication algorithms such as HMAC (Hash-based Message Authentication Code) can be used for authentication. For example, the private key of the symmetric key generated by the content distribution module can be used to decrypt the authenticated data to obtain the decrypted information to be retrieved.
[0086] In some embodiments, a search is performed in the trusted execution environments of the multiple data clusters based on the scalar information and vector information of the content to be searched, as well as the vector index and scalar index of the data in the database, to obtain multiple first search results. For example, the multiple first search results are obtained using a secure application programming interface of the trusted execution environments of the multiple data clusters.
[0087] In some embodiments, the content to be retrieved is retrieved based on the vector information and keywords of the content to be retrieved to obtain a plurality of first search results.
[0088] In some embodiments, the semantic retrieval program runs in a TEE environment of a data cluster; in this TEE environment, key components of the semantic retrieval system can be run securely.
[0089] For example, data security can be enhanced through a secure boot process. When a TEE is booted, the hardware verifies its integrity and authenticity. For example, the verification process can involve the hardware verifying the TEE's identity based on its signature and ensuring that the TEE's code and data have not been tampered with. Only after verification is successful can the TEE securely boot and begin execution.
[0090] For example, data security can be improved through the TEE's security mechanisms. The code and data inside the TEE are protected by the TEE's security mechanisms, such as memory encryption, code integrity verification, and access control.
[0091] In this way, index construction and query processing are performed in the TEE environment of the data cluster, thereby completing the training and indexing of data in the data cluster to improve retrieval efficiency.
[0092] In some embodiments, in a trusted execution environment of multiple data clusters, data is divided into different data partitions based on scalar information of the data in the database, and the scalar information is generated based on key information of the data; based on the keywords of the data in the data partition, an inverted index of the data in the data partition is established as a scalar index; and the data in the data partition is vectorized to generate a vector index.
[0093] For example, a data partition corresponding to the information to be retrieved can be determined based on at least one of a scalar index or a vector index, and the information to be retrieved can be retrieved in the data partition. This can narrow the search scope for the information to be retrieved, thereby improving search efficiency.
[0094] For example, extract key information from data in a data cluster to form scalar information; partition the data in the data cluster based on the scalar information to improve retrieval efficiency; extract keywords from the data in each data partition and use the keywords to build an inverted index; and vectorize the partitioned data through a vectorization model to form a vector index.
[0095] For example, a multi-way recall mechanism of vector index and inverted index can be used to quickly perform nearest neighbor search on massive data in a data cluster based on semantics to retrieve results.
[0096] In some embodiments, the plurality of first search results are obtained using a secure application programming interface of a trusted execution environment of the plurality of data clusters.
[0097] For example, index data and user queries are encrypted and protected within the TEE by using the secure API (Application Programming Interface) provided by the TEE, ensuring that the data is inaccessible outside the TEE.
[0098] These APIs provide access to TEE functions such as encryption, decryption, secure storage, and secure computing. By using secure APIs, the retrieval system can perform operations such as query processing, index building, and result return within the TEE to protect the security of data and operations.
[0099] In step 130 , the multiple first search results returned by the multiple data clusters are fused to determine a second search result.
[0100] In the above embodiment, a trusted execution environment is used to create an isolated execution environment for the central cluster and multiple data clusters. Cross-domain data retrieval in this isolated execution environment can avoid information security risks such as data leakage, thereby improving data security.
[0101] In some embodiments, multiple encrypted first search results returned by multiple data clusters are received, and the multiple first search results are encrypted using a public key in the trusted execution environment of the multiple data clusters; in the trusted execution environment of the central cluster, the encrypted multiple first search results are decrypted using a private key to obtain the multiple first search results.
[0102] For example, the encrypted plurality of first search results are authenticated; and when the encrypted plurality of first search results pass the authentication, the encrypted plurality of first search results are decrypted.
[0103] For example, the central cluster receives retrieval results returned by multiple data clusters, performs authentication and decryption in the TEE environment of the central cluster, and obtains the decrypted retrieval results.
[0104] This ensures that data cannot be read outside the TEE and prevents man-in-the-middle attacks or unauthorized access.
[0105] For example, the returned first search results can be sorted based on the similarity distance between each first search result and the content to be searched; the first n first search results with the closest distance (the value of n can be set according to actual needs) are filtered out as the second search results.
[0106] In the above embodiment, the TEE-based cross-cluster joint search method can retrieve massive amounts of unstructured data without moving the data, thereby unlocking the value of the data. During the search process, the security and privacy of the data are protected, and the search process is monitored and verified to ensure the accuracy and credibility of the calculation results.
[0107] FIG. 2 a shows a schematic diagram of some embodiments of the retrieval system of the present disclosure.
[0108] As shown in Figure 2a, the central cluster is responsible for connecting to each sub-cluster (i.e., each data cluster), distributing the user's search requirements to each sub-cluster through the central node; receiving the search results of each sub-cluster, and determining the overall search results through fusion processing.
[0109] Data clusters can be located in different locations, belonging to the same enterprise or organization, and physically isolated from each other. Data clusters must register with the central cluster and obtain authorization to interact with it. Authorized data clusters receive search requests from the central cluster, perform searches within the cluster, and return the results to the central cluster upon completion.
[0110] In some embodiments, the retrieval system mainly includes four modules: a content distribution module, an authentication and decryption module, a retrieval module, and a result fusion module.
[0111] For example, the content distribution module is primarily responsible for: encrypting the content to be searched in the central cluster; distributing the encrypted content to the data cluster. After receiving the search content from the central cluster, the data cluster performs the search within that data cluster. This process may include the following.
[0112] Create a TEE for semantic retrieval. Generate a symmetric key, including a public key and a private key, within the central cluster's TEE environment to encrypt the data. Encrypt the content to be retrieved. For example, a symmetric encryption algorithm such as AES can be used. The generated key exists only within the TEE and cannot be accessed by external programs, ensuring its confidentiality and integrity. Distribute the encrypted information to be retrieved to each data cluster for the next step of semantic retrieval.
[0113] For example, the authentication and decryption module is primarily responsible for transmitting the encrypted data to be retrieved and authentication information to the data cluster's TEE environment for authentication and decryption within the semantic retrieval program. This ensures that only authorized entities can access data in the data cluster, thereby improving data security. This process can include the following.
[0114] After receiving the information to be retrieved, the data cluster authenticates the encrypted information to be retrieved (e.g., through software signature authentication) to ensure that the data has not been tampered with during transmission. For example, authentication algorithms such as HMAC can be used for authentication. For example, the private key of the symmetric key generated by the content distribution module can be used to decrypt the authenticated data to obtain the decrypted information to be retrieved.
[0115] For example, the semantic retrieval module is primarily responsible for training and indexing data within the data cluster to improve retrieval efficiency. The semantic retrieval program runs within the data cluster's TEE environment; within this TEE, key components of the semantic retrieval system can be run securely. For example, a secure boot process can be used to enhance data security. This process may include the following.
[0116] When a TEE is launched, the hardware verifies its integrity and authenticity. For example, the verification process may involve the hardware verifying the TEE's identity based on its signature and ensuring that the TEE's code and data have not been tampered with. Only after verification is the TEE securely launched and begins execution. Data security can be enhanced through the TEE's security mechanisms. The code and data within the TEE are protected by the TEE's security mechanisms, such as memory encryption, code integrity verification, and access control.
[0117] FIG2 b shows a schematic diagram of some embodiments of the retrieval process of the present disclosure.
[0118] As shown in Figure 2b, the indexing process may include: extracting key information from the data in the data cluster to form scalar information; partitioning the data in the data cluster based on the scalar information to improve retrieval efficiency; extracting keywords from the data in each data partition and using the keywords to build an inverted index; and vectorizing the partitioned data through a vectorization model to form a vector index.
[0119] For example, the retrieval process may include: using a multi-way recall mechanism of vector index and inverted index to quickly perform nearest neighbor retrieval on massive data in the data cluster based on semantics to retrieve results.
[0120] In the above examples, index data and user queries are encrypted and protected within the TEE using secure APIs provided by the TEE, ensuring that the data is inaccessible outside the TEE. These APIs provide access to TEE functionality such as encryption, decryption, secure storage, and secure computation. By using secure APIs, the retrieval system can perform operations such as query processing, index building, and result return within the TEE, protecting the security of data and operations.
[0121] For example, the result fusion module is mainly responsible for: the central cluster receives the first search results (such as search results 1 and 2) returned by multiple data clusters, authenticates (such as through software signatures, etc.) and decrypts them in the TEE environment of the central cluster, and obtains the decrypted search results.
[0122] This ensures that data cannot be read outside the TEE and prevents man-in-the-middle attacks or unauthorized access.
[0123] For example, the returned first search results can be sorted based on the similarity distance between each first search result and the content to be searched; the first n first search results with the closest distance (the value of n can be set according to actual needs) are filtered out as the second search results.
[0124] In the above embodiment, the cross-cluster semantic search system is protected by TEE to address the risk of data leakage caused by the transmission or sharing of plain text data in semantic search. This can protect user data privacy while performing cross-domain search and realize joint computing across different domains.
[0125] In addition, the TEE-based cross-cluster retrieval method can store index data and sensitive information within the TEE. This ensures data integrity and confidentiality, prevents data tampering or leakage, and increases data protection.
[0126] Moreover, through a series of security mechanisms, including secure API, code verification, access control, etc., verifiability and credibility are provided, the retrieval calculation process is monitored and verified, and the accuracy and credibility of the calculation results are ensured.
[0127] FIG3 shows a flowchart of other embodiments of the retrieval method of the present disclosure.
[0128] As shown in FIG3 , in step 310 , content to be retrieved that is encrypted in a trusted execution environment of a central cluster is received.
[0129] In step 320 , decryption processing is performed in the trusted execution environment of the data cluster to obtain the content to be retrieved.
[0130] In some embodiments, the encrypted content to be retrieved is authenticated; if the encrypted content to be retrieved passes the authentication, the encrypted content to be retrieved is decrypted to obtain the content to be retrieved.
[0131] In some embodiments, the content to be retrieved is encrypted using a public key generated in the trusted execution environment of the central cluster, and decrypted in the trusted execution environment of the data cluster using a private key generated in the trusted execution environment of the central cluster.
[0132] In step 330 , the content to be searched is searched in the trusted execution environment of the data cluster to obtain a first search result.
[0133] In some embodiments, a search is performed based on the scalar information and vector information of the content to be searched, and the vector index and scalar index of the data in the database to obtain a first search result.
[0134] For example, the first search result is obtained using a secure application programming interface of a trusted execution environment of the data cluster.
[0135] In some embodiments, data is divided into different data partitions based on scalar information of the data in the database, and the scalar information is generated based on the key information of the data; based on the keywords of the data in the data partition, an inverted index of the data in the data partition is established as a scalar index; the data in the data partition is vectorized to generate a vector index.
[0136] In step 340 , the first search result is returned to the central cluster so that the central cluster can fuse the first search results returned by multiple data clusters to determine a second search result.
[0137] In some embodiments, the first search result is encrypted using a public key in the trusted execution environment of the data cluster; the encrypted first search result is returned to the central cluster so that the encrypted multiple first search results can be decrypted using a private key in the trusted execution environment of the central cluster.
[0138] In some embodiments, the encrypted first search result is authenticated in the trusted execution environment of the central cluster; and if the encrypted first search result passes the authentication, the encrypted first search result is decrypted.
[0139] 4a-4b are block diagrams illustrating some embodiments of the retrieval apparatus of the present disclosure.
[0140] As shown in Figure 4a, the retrieval device 4a on the central cluster side includes: a content distribution module 41a, which is used to encrypt the content to be retrieved in the trusted execution environment of the central cluster, and send the encrypted content to be retrieved to multiple data clusters, so that the encrypted content to be retrieved can be retrieved in the trusted execution environment of multiple data clusters; a result fusion module 42a, which is used to fuse multiple first retrieval results returned by multiple data clusters to determine the second retrieval result.
[0141] In some embodiments, the content distribution module 41a generates a public key and a private key in the trusted execution environment of the central cluster, and uses the public key to encrypt the content to be retrieved, so that the encrypted content to be retrieved can be decrypted using the private key in the trusted execution environments of multiple data clusters.
[0142] In some embodiments, the result fusion module 42a receives multiple encrypted first search results returned by multiple data clusters, and the multiple first search results are encrypted using a public key in the trusted execution environment of the multiple data clusters; the retrieval device 4a also includes an authentication and decryption module 43a, which is used to decrypt the encrypted multiple first search results using a private key in the trusted execution environment of the central cluster to obtain multiple first search results.
[0143] In some embodiments, the authentication and decryption module 43a authenticates the encrypted plurality of first search results; and decrypts the encrypted plurality of first search results if the encrypted plurality of first search results pass the authentication.
[0144] In some embodiments, multiple first search results are obtained in the trusted execution environment of multiple data clusters in the following manner: searching based on scalar information and vector information of the content to be retrieved, and vector indexes and scalar indexes of data in the database to obtain multiple first search results.
[0145] In some embodiments, the plurality of first search results are obtained in the trusted execution environment of the plurality of data clusters in the following manner: searching the content to be searched based on the vector information and keywords of the content to be searched to obtain the plurality of first search results.
[0146] In some embodiments, the plurality of first search results are obtained using a secure application programming interface of a trusted execution environment of the plurality of data clusters.
[0147] In some embodiments, scalar indexes and vector indexes are obtained in a trusted execution environment of multiple data clusters in the following manner: based on the scalar information of the data in the database, the data is divided into different data partitions, and the scalar information is generated based on the key information of the data; based on the keywords of the data in the data partition, an inverted index of the data in the data partition is established as a scalar index; and the data in the data partition is vectorized to generate a vector index.
[0148] In some embodiments, the encrypted content to be retrieved is retrieved in the trusted execution environment of multiple data clusters in the following manner: the encrypted content to be retrieved is authenticated; if the encrypted content to be retrieved passes the authentication, the encrypted content to be retrieved is decrypted in the trusted execution environment of multiple data clusters to obtain the content to be retrieved.
[0149] As shown in Figure 4b, the retrieval device 4b on the data cluster side includes: an authentication and decryption module 41b, which is used to receive the content to be retrieved encrypted in the trusted execution environment of the central cluster, and perform decryption processing in the trusted execution environment of the data cluster to obtain the content to be retrieved; a retrieval module 42b, which is used to search the content to be retrieved in the trusted execution environment of the data cluster to obtain a first retrieval result, and return the first retrieval result to the central cluster, so that the central cluster can fuse the first retrieval results returned by multiple data clusters to determine the second retrieval result.
[0150] In some embodiments, the content to be retrieved is encrypted by generating a public key in the trusted execution environment of the central cluster, and the authentication and decryption module performs decryption processing in the trusted execution environment of the data cluster using a private key generated in the trusted execution environment of the central cluster.
[0151] In some embodiments, the retrieval module 42b encrypts the first retrieval result using a public key in the trusted execution environment of the data cluster; and returns the encrypted first retrieval result to the central cluster so that the encrypted multiple first retrieval results can be decrypted using a private key in the trusted execution environment of the central cluster.
[0152] In some embodiments, the encrypted first search result is decrypted in the trusted execution environment of the central cluster in the following manner: authenticating the encrypted first search result; and decrypting the encrypted first search result if the encrypted first search result passes the authentication.
[0153] In some embodiments, the retrieval module 42b performs a search based on the scalar information and vector information of the content to be retrieved, and the vector index and scalar index of the data in the database to obtain a first search result.
[0154] In some embodiments, the first search result is obtained using a secure application programming interface of a trusted execution environment of the data cluster.
[0155] In some embodiments, the retrieval module 42b divides the data into different data partitions based on the scalar information of the data in the database, and the scalar information is generated based on the key information of the data; based on the keywords of the data in the data partition, an inverted index of the data in the data partition is established as a scalar index; and the data in the data partition is vectorized to generate a vector index.
[0156] In some embodiments, the retrieval module 42b searches the content to be retrieved based on the vector information and keywords of the content to be retrieved to obtain a plurality of first retrieval results.
[0157] In some embodiments, the authentication and decryption module 41b authenticates the encrypted content to be retrieved; if the encrypted content to be retrieved passes the authentication, the encrypted content to be retrieved is decrypted to obtain the content to be retrieved.
[0158] FIG5 shows a block diagram of some embodiments of an electronic device of the present disclosure.
[0159] As shown in FIG5 , the electronic device 5 of this embodiment includes: a memory 51 and a processor 52 coupled to the memory 51 . The processor 52 is configured to execute the retrieval method in any one of the embodiments of the present disclosure based on instructions stored in the memory 51 .
[0160] The memory 51 may include, for example, a system memory, a fixed non-volatile storage medium, etc. The system memory may store, for example, an operating system, application programs, a boot loader, a database, and other programs.
[0161] FIG6 shows a block diagram of some other embodiments of the electronic device of the present disclosure.
[0162] As shown in FIG6 , the electronic device 6 of this embodiment includes: a memory 610 and a processor 620 coupled to the memory 610 . The processor 620 is configured to execute the retrieval method in any one of the aforementioned embodiments based on instructions stored in the memory 610 .
[0163] The memory 610 may include, for example, a system memory, a fixed non-volatile storage medium, etc. The system memory may store, for example, an operating system, application programs, a boot loader, and other programs.
[0164] The electronic device 6 may further include an input / output interface 630, a network interface 640, a storage interface 650, and the like. These interfaces 630, 640, 650, as well as the memory 610 and the processor 620, may be connected, for example, via a bus 660. The input / output interface 630 provides a connection interface for input / output devices such as a display, mouse, keyboard, touch screen, microphone, and speakers. The network interface 640 provides a connection interface for various networked devices. The storage interface 650 provides a connection interface for external storage devices such as SD cards and USB flash drives.
[0165] FIG7 shows a block diagram of some embodiments of the retrieval system of the present disclosure.
[0166] As shown in FIG7 , the retrieval system 7 includes: a central cluster 71 for executing the retrieval method on the central cluster side in any of the above embodiments; and multiple data clusters 72 for executing the retrieval method on the data cluster side in any of the above embodiments.
[0167] Those skilled in the art will appreciate that embodiments of the present disclosure may be provided as methods, systems, or computer program products. Thus, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present disclosure may take the form of a computer program product implemented on one or more computer-usable non-transitory storage media, including but not limited to magnetic disk storage, CD-ROMs, optical storage, and the like, containing computer-usable program code.
[0168] The retrieval method, retrieval device, retrieval system, electronic device, and non-volatile computer-readable storage medium according to the present disclosure have been described in detail. To avoid obscuring the concepts of the present disclosure, some details well known in the art have been omitted. Based on the above description, those skilled in the art will fully understand how to implement the technical solutions disclosed herein.
[0169] The methods and systems of the present disclosure may be implemented in many ways. For example, the methods and systems of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless otherwise specified. In addition, in some embodiments, the present disclosure may also be implemented as programs recorded in a recording medium, which include machine-readable instructions for implementing the methods according to the present disclosure. Therefore, the present disclosure also covers recording media that store programs for executing the methods according to the present disclosure.
[0170] Although some specific embodiments of the present disclosure have been described in detail by way of examples, those skilled in the art will appreciate that the above examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Those skilled in the art will appreciate that modifications may be made to the above embodiments without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.
Claims
1. A search method, comprising: In the trusted execution environment of the central cluster, the content to be retrieved is encrypted; Sending the encrypted content to be searched to multiple data clusters, so as to search the encrypted content to be searched in the trusted execution environments of the multiple data clusters; The multiple first search results returned by the multiple data clusters are merged to determine a second search result.
2. The search method according to claim 1, wherein: The encrypting of the content to be retrieved in the trusted execution environment created by the central cluster includes: In the trusted execution environment of the central cluster, generating a public key and a private key; The content to be retrieved is encrypted using the public key, so that the encrypted content to be retrieved is decrypted using the private key in the trusted execution environment of the multiple data clusters.
3. The search method according to claim 2, wherein: The step of fusing the plurality of first search results returned by the plurality of data clusters to determine the second search result includes: receiving the encrypted plurality of first search results returned by the plurality of data clusters, wherein the plurality of first search results are encrypted using the public key in a trusted execution environment of the plurality of data clusters; In the trusted execution environment of the central cluster, the encrypted multiple first search results are decrypted using the private key to obtain the multiple first search results.
4. The search method according to claim 3, wherein: The decrypting the encrypted plurality of first search results by using the private key in the trusted execution environment of the central cluster comprises: authenticating the encrypted plurality of first search results; When the encrypted first search results are authenticated, the encrypted first search results are decrypted.
5. The search method according to any one of claims 1 to 4, wherein: The multiple first search results are obtained in the trusted execution environment of the multiple data clusters in the following manner: According to the scalar information and vector information of the content to be retrieved, and the vector index and scalar information of the data in the database The quantity index is searched to obtain the multiple first search results.
6. The search method according to claim 5, wherein: The plurality of first search results are obtained using a secure application programming interface of a trusted execution environment of the plurality of data clusters.
7. The search method according to claim 5 or 6, wherein: The scalar index and the vector index are obtained in the trusted execution environment of the multiple data clusters in the following manner: Dividing the data into different data partitions according to scalar information of the data in the database, wherein the scalar information is generated according to key information of the data; According to the keywords of the data in the data partition, an inverted index of the data in the data partition is established as the scalar index; Vectorization processing is performed on the data in the data partition to generate the vector index.
8. The search method according to any one of claims 1 to 7, wherein: The multiple first search results are obtained in the trusted execution environment of the multiple data clusters in the following manner: The content to be searched is searched according to the vector information and keywords of the content to be searched to obtain the multiple first search results.
9. The search method according to any one of claims 1 to 8, wherein: The encrypted content to be retrieved is retrieved in the trusted execution environment of the multiple data clusters in the following manner: authenticating the encrypted content to be retrieved; When the encrypted content to be retrieved passes authentication, the encrypted content to be retrieved is decrypted in the trusted execution environment of the plurality of data clusters to obtain the content to be retrieved.
10. A retrieval method comprising: Receiving content to be retrieved that is encrypted in a trusted execution environment of a central cluster; In the trusted execution environment of the data cluster, decryption processing is performed to obtain the content to be retrieved; In the trusted execution environment of the data cluster, searching the content to be searched to obtain a first search result; The first search result is returned to the central cluster so that the central cluster returns the result to the multiple data clusters. The first search results returned are fused to determine the second search results.
11. The search method according to claim 10, wherein: The content to be retrieved is encrypted by generating a public key in the trusted execution environment of the central cluster, The performing of decryption processing in the trusted execution environment of the data cluster to obtain the content to be retrieved includes: In the trusted execution environment of the data cluster, a decryption process is performed using a private key, where the private key is generated in the trusted execution environment of the central cluster.
12. The search method according to claim 11, wherein: The returning the first search result to the central cluster comprises: In the trusted execution environment of the data cluster, encrypting the first search result using the public key; The encrypted first search results are returned to the central cluster, so that the encrypted multiple first search results are decrypted using the private key in the trusted execution environment of the central cluster.
13. The search method according to claim 12, wherein: The encrypted first search result is decrypted in the trusted execution environment of the central cluster in the following manner: authenticating the encrypted first search result; When the encrypted first search result passes the authentication, the encrypted first search result is decrypted.
14. The search method according to any one of claims 10 to 13, wherein: The retrieving the content to be retrieved in the trusted execution environment of the data cluster includes: A search is performed based on the scalar information and vector information of the content to be searched, and the vector index and scalar index of the data in the database to obtain the first search result.
15. The search method according to claim 14, wherein: The first search result is obtained by using a secure application programming interface of a trusted execution environment of the data cluster.
16. The search method according to claim 14 or 15, wherein: The searching according to the scalar information and vector information of the content to be searched, and the vector index and scalar index of the data in the database includes: Dividing the data into different data partitions according to scalar information of the data in the database, wherein the scalar information is generated according to key information of the data; According to the keywords of the data in the data partition, an inverted index of the data in the data partition is established as the scalar index; Vectorization processing is performed on the data in the data partition to generate the vector index.
17. The search method according to any one of claims 10 to 16, wherein: The retrieving the content to be retrieved in the trusted execution environment of the data cluster includes: The content to be searched is searched according to the vector information and keywords of the content to be searched to obtain the multiple first search results.
18. The search method according to any one of claims 10 to 17, wherein: The decryption process in the trusted execution environment of the data cluster includes: authenticating the encrypted content to be retrieved; When the encrypted content to be retrieved passes the authentication, the encrypted content to be retrieved is decrypted to obtain the content to be retrieved.
19. A retrieval system comprising: A central cluster, used to execute the search method according to any one of claims 1 to 9; A plurality of data clusters are used to execute the retrieval method described in any one of claims 10-18.
20. A retrieval device, comprising: A content distribution module, used for encrypting the content to be searched in the trusted execution environment of the central cluster, and sending the encrypted content to be searched to multiple data clusters, so as to search the encrypted content to be searched in the trusted execution environments of the multiple data clusters; The result fusion module is used to fuse the multiple first search results returned by the multiple data clusters to determine the second search result.
21. A retrieval device, comprising: The authentication and decryption module is used to receive the encrypted content to be retrieved in the trusted execution environment of the central cluster and Performing decryption processing in the trusted execution environment of the cluster to obtain the content to be retrieved; The retrieval module is used to search the content to be searched in the trusted execution environment of the data cluster to obtain a first search result, and return the first search result to the central cluster so that the central cluster can merge the first search results returned by multiple data clusters to determine a second search result.
22. An electronic device, comprising: Memory; and A processor coupled to the memory, wherein the processor is configured to execute the retrieval method according to any one of claims 1 to 18 based on instructions stored in the memory.
23. A non-volatile computer-readable storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the retrieval method according to any one of claims 1 to 18 is implemented.
24. A computer program product comprising instructions, which, when executed by a processor, cause the processor to perform the search method according to any one of claims 1 to 18.
Citation Information
Patent Citations
Distributed search method and system
CN102436513A
Data retrieval method and device, equipment and storage medium
CN114064729A
Data fusion calculation method and device for trusted execution environment, equipment and medium
CN115085917A
Privacy computing system and method based on trusted execution environment
CN115412275A
Using trusted execution environments to perform a communal operation for mutually-untrusted devices
US20210374234A1