A symmetric searchable encryption method with keyword semantic extension based on SGX

Through the SGX-based keyword semantic expansion symmetric searchable encryption method, the FastText and BIRCH clustering algorithms are used to build a double-layer index and generate query semantic expansion search tokens, which solves the computational overhead and synonym query problems of traditional searchable encryption technology and improves query efficiency and security.

CN119628913BActive Publication Date: 2025-09-23NORTHEASTERN UNIV CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411758616.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-09-23
Estimated Expiration
2044-12-03

AI Technical Summary

Technical Problem

Existing traditional searchable encryption technologies have high computational overhead during semantic search and do not support keyword synonym queries, resulting in low system efficiency.

Method used

A symmetric searchable encryption method based on keyword semantic extension is adopted, and a two-layer index is constructed using the FastText model and BIRCH clustering algorithm. Query semantic extension keyword search tokens are generated through semantic extension, and encrypted calculations are performed in the trusted execution environment on the user side to reduce system overhead.

Benefits of technology

It achieves accurate analysis of user search intent at the semantic level, reduces multiple query calculations, improves query efficiency and system security, and ensures data privacy and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119628913B_ABST
    Figure CN119628913B_ABST
Patent Text Reader

Abstract

The present invention provides a symmetric searchable encryption method for keyword semantic expansion based on SGX, which relates to the field of searchable encryption technology. The semantic expansion of query keywords is combined with searchable encryption technology. A secure channel is established using Intel SGX technology. A session key is used to encrypt a public key, a master key, and keyword semantic expansion model parameters. The session key is sent to a data user via the secure channel. The query keyword is loaded into a local trusted execution environment (SGX). The query keyword is semantically expanded and encrypted, and a semantically expanded keyword search token is generated. The search token is then returned to the data user. The data user uses the search token to access a cloud server. The cloud server obtains the most relevant encrypted document as the search result, decrypts the encrypted document using a symmetric key, and outputs the search result in plaintext.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of searchable encryption technology, and in particular to a keyword semantic extension symmetric searchable encryption method based on SGX. Background Art

[0002] With the development of informatization, more and more sensitive data needs to be stored and processed in the cloud or on third-party platforms. To protect this data and prevent unauthorized access during storage and transmission, encryption technology is widely used. However, encrypted data is less usable and more complex to retrieve than plaintext data.

[0003] Most existing traditional ciphertext retrieval schemes rely on literal keyword matching for information queries without considering context or semantic extension. This can result in multiple ciphertext searches and encryption / decryption operations for the same query object, depending on the query keyword, significantly consuming system computing power. This approach, which requires users to provide keywords that precisely match the encrypted index, often performs poorly for complex queries and semantic searches. Symmetric searchable encryption with semantic extensions only requires a single search for a class of related targets, and query results for related targets can be retrieved, sorted by relevance, saving system computing power. Semantic search accurately analyzes user search intent at the semantic level and returns semantic information that reflects the user's underlying search motivation. However, existing semantic extension searchable encryption systems utilize traditional technical architectures, and encrypted computations increase the system's computational overhead. Therefore, providing an efficient semantic extension searchable encryption method is an urgent need. Summary of the Invention

[0004] The technical problem to be solved by the present invention is to address the deficiencies of the above-mentioned existing technologies and provide a keyword semantic extension symmetric searchable encryption method based on SGX, which ensures the privacy and security of data, solves the problem that traditional outsourcing systems do not support keyword synonym queries, and reduces system overhead, making semantic extension searchable encryption possible in cloud environments.

[0005] A keyword semantic extension symmetric searchable encryption method based on SGX includes the following steps:

[0006] Step 1: The data owner performs initialization operations to generate the public key, master key, keyword semantic extension model and parameters;

[0007] Step 1.1: The data owner executes the initialization algorithm to generate the public key and master key;

[0008] The initialization algorithm is shown in the following formula:

[0009]

[0010] Among them, Genkey(1 λ ) is the initialization algorithm; λ is the security parameter; is the keyword; is a symmetric key, which is a keyword Part of M a and M b The input security parameter λ is obtained dimensional reversible matrix; S is a random dimensional vector, used to encrypt the index node vector and query vector, m is a random number, Random numbers to prevent statistical attacks;

[0011] The expression of the public key is shown in the following formula:

[0012] pk=(λ,F(·))

[0013] Among them, pk is the public key; F(·) is a pseudo-random function (PRF) set by the data owner DO, F: k is the length of the random keyword, is the length of the security parameter;

[0014] The expression of the master key is shown in the following formula:

[0015]

[0016] Among them, mk is the master key; The function generates a symmetric key based on the security parameter λ The function generates the reversible matrix M according to the security parameter λ a and M b , The function generates a random vector S according to the security parameter λ; k1, k2, k3 are the data owner’s mathematical foundation integer group Z p The random number randomly selected from

[0017]

[0018] Step 1.2: The data owner uses the FastText model to generate a keyword semantic expansion model and parameters;

[0019] Step 2: The data owner constructs an AVL-tree index and an inverted index for the plaintext document collection, splits and encrypts the index structure to obtain the split and encrypted AVL-tree index and inverted index, and synthesizes them into a secure encrypted index. The plaintext document is then encrypted to obtain an encrypted document, and the secure encrypted index and encrypted document are stored in the cloud server.

[0020] Step 2.1: Use the FastText model to perform word segmentation preprocessing on the plaintext document collection, convert the segmented text into numerical features, and obtain a large dataset of word vectors;

[0021] Step 2.2: The data owner uses the BIRCH clustering algorithm to cluster the large word vector dataset and constructs an AVL-tree index and inverted index based on the clustering results;

[0022] Use the BIRCH clustering algorithm to build a clustering feature CF tree to organize word vector data. Through the data information in the CF tree, quickly cluster the word vector data to obtain the clustering results. Based on the <keyword-category>, construct the AVL-tree index I1. Based on the clustering results, generate the <category-document> vector and construct the inverted index I2.

[0023] Step 2.3: Split the AVL-tree index and inverted index in sequence;

[0024] Step 2.4: Use the secure knn algorithm to encrypt the split AVL-tree index and inverted index to obtain the split encrypted AVL-tree index and inverted index, and synthesize the secure encrypted index;

[0025] Step 2.5: Use the Enc algorithm to encrypt the secret key and plaintext document to obtain the encrypted document;

[0026] Step 2.6: The data owner sends the secure encrypted index and encrypted documents to the cloud server for storage;

[0027] Step 3: The data owner performs Intel SGX remote authentication to generate a session key, establishes a secure channel, and verifies whether Intel SGX on the data user is running securely. If the verification is successful, the data owner encrypts the public key, master key, and keyword semantic extension model parameters using the session key and sends them to the data user through a secure channel. The data owner loads the keyword requested by the data user into the local trusted execution environment SGX, performs semantic extension and encryption on the query keyword, generates a semantic extension keyword search token, and returns the semantic extension keyword search token to the data user.

[0028] Step 3.1: The data user applies for Intel SGX remote authentication and generates a session key, establishing a secure channel to verify that Intel SGX on the data user is running securely. If the verification is successful, the public key, master key, and keyword semantic extension model parameters are encrypted using the session key and sent to the data user via the secure channel.

[0029] Step 3.2: By calling the Intel SGX Ecall instruction, the query keyword requested by the data user is loaded into the local trusted execution environment SGX. The FastText model is used to perform word+gram context prediction based on the query keyword. The top K semantic expansion keywords are returned based on the cosine distance to form the semantic expansion keyword set.

[0030] Step 3.3: Take the first j query results with the closest cosine distance in the semantic expansion keyword set, sort the returned results in descending order, and construct a The query vector of dimension 1 is used to represent the keywords to be queried. The corresponding position of each query keyword in the query vector is the probability of the keyword appearing in the semantic expansion keyword set, and the other positions that do not appear are set to 0.

[0031] Step 3.4: Use the secure knn algorithm to encrypt the query vector and split the query vector in sequence according to the value of vector S in the {0,1} space in step 1.1;

[0032] The process of splitting the query vector is as follows:

[0033]

[0034] in, To construct based on j query results dimensional query vector, It represents the secure knn algorithm that splits the query vector according to the value of the random vector S. The value of i represents the order in the array; and When the value i is taken in the array, the query vector is obtained according to the safe knn algorithm The query vector after segmentation;

[0035] Step 3.5: Generate a semantically extended keyword search token and return the semantically extended keyword search token to the data user through the Intel SGX Ocall instruction;

[0036] The generation process of semantic expansion keyword search token is as follows:

[0037]

[0038] Among them, V kED Expand keyword search tokens for semantics;

[0039] Step 4: The data user uses the semantically extended keyword search token to access the cloud server. The cloud server uses the semantically extended keyword search token to match the encrypted AVL-tree index and inverted index in the secure encrypted index obtained in step 2, obtains the ID in the encrypted inverted index, and then obtains the index node vector of the document after the inverted index is established for the plaintext document based on the ID. The cloud server uses the secure knn product of the semantically extended keyword search token and the index node vector based on the query to obtain the most relevant encrypted document as the search result and returns it to the data user.

[0040] Step 5: After receiving the most relevant encrypted document from the cloud server, the data user uses the symmetric key to decrypt the encrypted document and output the plaintext document of the search result;

[0041] The beneficial effects of adopting the above technical solution are:

[0042] (1) This solves the problem that traditional outsourcing systems do not support keyword synonym queries. By introducing keyword semantic expansion in encrypted data retrieval, it is possible to accurately analyze the user's search intent at the semantic level and return semantic information that reflects the user's potential search motivation. The semantically expanded keywords are encrypted and a search token is generated. Only one search is required to retrieve relevant search results at once. This avoids the system overhead of multiple query calculations and improves query efficiency.

[0043] (2) The introduction of trusted computing SGX technology based on the CPU trusted library (one of the TEE paradigms) can open up a trusted computing area in the hardware memory of the data user. After remote authentication is passed, a secure channel can be established between the data owner and the user. By building a trusted environment on the user side, the data owner's semantic extension algorithm model parameters, secret keys and secure KNN algorithm are placed in the data user's secure trusted execution environment for execution. With the hardware-level support provided by SGX technology, the security of the software is enhanced. The SGX trusted environment will strictly protect the confidentiality of program data and code integrity, protect the safe operation of sensitive data and code, and enable data users to obtain multiple query results with the highest correlation on demand with a single request. Even during the enclave tearing, they can be encrypted and protected, avoiding the multiple query system overhead caused by exact keyword matching and reducing the computing overhead of the trusted environment. The overall computing power and security of the system are improved, providing users with more efficient and practical data search services. While protecting query privacy and data security, the efficiency and practicality of system search are improved. While improving system performance, it also ensures that unauthorized access to enclaves or memory snooping will not occur.

[0044] The method of the present invention combines Intel SGX technology with keyword semantic expansion to achieve symmetric searchable encryption, improving query efficiency and the practicality of query results. Compared with traditional outsourced searchable encryption systems, this method not only ensures data privacy and security, but also solves the problem that traditional outsourced systems do not support keyword synonym queries, and also reduces system overhead, making semantically expanded searchable encryption possible in cloud environments. The method of the present invention overcomes the deterministic matching search of traditional encryption search patterns and saves system computing power for similar target searches. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 A flowchart of a keyword semantically extended symmetric searchable encryption method based on SGX provided by an embodiment of the present invention;

[0046] Figure 2 An example diagram of the FastText model architecture provided by an embodiment of the present invention;

[0047] Figure 3 A schematic diagram of a self-balancing binary search tree AVL provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0048] The following embodiments of the present invention are described in further detail with reference to the accompanying drawings and examples. The following examples are used to illustrate the present invention but are not intended to limit the scope of the present invention.

[0049] The present invention proposes a keyword semantic expansion symmetric searchable encryption method based on SGX. It uses the FastText model, BIRCH clustering algorithm, self-balancing binary search tree AVL, inverted index, symmetric encryption and other technologies to transform single keyword queries into multi-keyword queries. The BIRCH clustering algorithm, which is more robust to outliers, is used to cluster the text and construct a double-layer index. During the retrieval process, the query keywords are semantically expanded, query semantic expansion keyword search tokens are constructed, and similarity analysis is performed using secure knn technology. The search document results obtained after the query keyword semantic expansion are returned. This embodiment describes in detail the architecture and algorithm implementation of the system solution, including initialization, key generation, query keyword semantic expansion, encryption, search tokens, ciphertext search, decryption and other functions. Finally, the method of the present invention is tested. The results show that the method of the present invention can effectively implement access control and process ciphertext retrieval requests, and performs well in terms of running stability and computational efficiency in SGX. It ensures high query efficiency, reduces the query cost of accurate matching, and verifies the practicality of the method.

[0050] In this embodiment, a keyword semantic extension symmetric searchable encryption method based on SGX is provided. Figure 1 As shown, the following steps are included:

[0051] Step 1: The data owner performs initialization operations to generate the public key, master key, keyword semantic extension model and parameters;

[0052] Step 1.1: The data owner executes the initialization algorithm to generate the public key and master key;

[0053] The initialization algorithm is shown in the following formula:

[0054]

[0055] Among them, Genkey(1 λ ) is the initialization algorithm, λ is the security parameter; For keywords, is a symmetric key, which is a keyword Part of M a and M b The input security parameter λ is obtained dimensional reversible matrix; S is a random dimensional vector, used to encrypt the index node vector and query vector, m is a random number, Random numbers to prevent statistical attacks;

[0056] The expression of the public key is shown in the following formula:

[0057] pk=(λ,F(·))

[0058] Among them, pk is the public key; F(·) is a pseudo-random function (PRF) set by the data owner DO, F: k is the length of the random keyword, is the length of the security parameter;

[0059] The expression of the master key is shown in the following formula:

[0060]

[0061] Among them, mk is the master key; The function generates a symmetric key based on the security parameter λ The function generates a reversible matrix M based on the security parameter λ a and M b , The function generates a random vector S according to the security parameter λ; k1, k2, k3 are the data owner DO in the mathematical foundation integer group Z p The random number randomly selected from

[0062] Step 1.2: The data owner uses the FastText model developed by Facebook AI Research (FAIR) to simplify text classification and word vector generation, such as Figure 2 As shown, generate keyword semantic expansion model and parameters;

[0063] Step 2: The data owner constructs an AVL-tree index and an inverted index for the plaintext document collection, splits and encrypts the index structure to obtain the split and encrypted AVL-tree index and inverted index, and synthesizes them into a secure encrypted index. The plaintext document is then encrypted to obtain an encrypted document, and the secure encrypted index and encrypted document are stored in the cloud server.

[0064] The plaintext documents to be processed are processed through a two-layer indexing mechanism. Based on the frequency of keywords in the plaintext document set, the dimension of the index nodes is reduced, further improving the search efficiency.

[0065] Step 2.1: For the plaintext document set D = {D1, D2, ..., D n Use the FastText model for word segmentation preprocessing, convert the segmented text into numerical features, and obtain a large word vector dataset;

[0066] Step 2.2: The data owner DO uses the BIRCH clustering algorithm to cluster the large word vector dataset and constructs an AVL-tree index and inverted index based on the clustering results;

[0067] Use the BIRCH clustering algorithm to build a clustering feature CF tree to organize word vector data, thereby reducing computing and storage requirements. Through the data information in the CF tree, the word vector data is quickly clustered to obtain clustering results. And based on <keyword-category>, construct AVL-tree (self-balancing binary search tree) index I1, such as Figure 3 As shown, based on the clustering results Generate <category-document> vector and construct inverted index I2;

[0068] Step 2.3: Split the AVL-tree index and inverted index in sequence;

[0069] For the plaintext document D, obtain the query keyword set W D ={w1,....,w η}、Reversible matrix M a 、M b and random dimensional vector S, according to the value of vector S in the {0,1} space, the AVL-tree index I1 and inverted index I2 are expanded into dimensional vector, which splits the AVL-tree index I1:(I1',I1") and the inverted index I2:(I'2,I2") in turn;

[0070] Step 2.4: Use the secure knn algorithm to encrypt the split AVL-tree index and inverted index to obtain the split encrypted AVL-tree index and inverted index, and synthesize the secure encrypted index;

[0071] Encrypted AVL-tree index based on <keyword-category> I t 'Expressed as Inverted index I' based on <category-document> d Expressed as Synthetic secure encryption index S index Indicated as S index =(I t ',I' d );

[0072] Step 2.5: Use the Enc algorithm to encrypt the secret key and plaintext document to obtain the encrypted document. The encryption process is shown in the following formula:

[0073]

[0074] Where C is the encrypted document;

[0075] Step 2.6: The data owner DO sends the secure encrypted index and encrypted document to the cloud server for storage;

[0076] Step 3: The data owner performs Intel SGX remote authentication to generate a session key, establishes a secure channel, and verifies whether Intel SGX on the data user is running securely. If the verification is successful, the data owner encrypts the public key, master key, and keyword semantic extension model parameters using the session key and sends them to the data user through a secure channel. By calling the Intel SGX Ecall instruction, the keyword requested by the data user is loaded into the local trusted execution environment SGX, the query keyword is semantically extended and encrypted, and a semantic extension keyword search token is generated. The semantic extension keyword search token is then returned to the data user through the Intel SGX Ocall instruction.

[0077] Step 3.1: The data user applies for Intel SGX remote authentication and generates a session key, establishing a secure channel to verify that Intel SGX on the data user is running securely. If the verification is successful, the public key, master key, and keyword semantic extension model parameters are encrypted using the session key and sent to the data user via the secure channel.

[0078] Step 3.2: By calling the Intel SGX Ecall instruction, the data is used with the query keyword w requested by the owner. κ ∈W D Loaded into the local trusted execution environment SGX, according to the query keyword w κ ∈W D ,Use the FastText model, perform word+gram results to predict the context, and return the top K semantic expansion keywords based on the cosine distance to form the semantic expansion keyword set;

[0079] Step 3.3: Take the first j query results with the closest cosine distance in the semantic expansion keyword set. For example, if j=5, it means that 5 results need to be returned. Arrange the returned results in descending order and construct a dimensional query vector To represent the keywords to be queried, each query keyword is in the query vector The corresponding position in is the probability of the keyword appearing in the semantic expansion keyword set, and the other positions that do not appear are set to 0;

[0080] Step 3.4: Use the secure knn algorithm to parse the query vector Encryption, according to the value of vector S in step 1.1 in the {0,1} space, split the query vector in turn

[0081] The process of splitting the query vector is as follows:

[0082]

[0083] in, The secure knn algorithm splits the query vector according to the random vector S. The value of i represents the order in the array; and When the value i is taken in the array, the safe knn algorithm is used to obtain The query vector after segmentation;

[0084] Step 3.5: Generate a semantic extension keyword search token and return the semantic extension keyword search token to the data user DU through the Intel SGX Ocall instruction;

[0085] The generation process of semantic expansion keyword search token is as follows:

[0086]

[0087] Among them, V kED Expand keyword search tokens for semantics;

[0088] Step 4: The data user uses the semantic extension keyword search token to access the cloud server. The cloud server matches the encrypted AVL-tree index and inverted index in the secure encrypted index obtained in step 2.4 based on the semantic extension keyword search token to obtain the encrypted inverted index I after the <category-document> segmentation. d ', and then according to the encrypted inverted index I d 'id gets the index node vector of document IDs after creating an inverted index for the plaintext document The cloud server uses the secure knn product of the semantically expanded keyword search token and the index node vector based on the query, obtains the most relevant encrypted document as the search result, and returns it to the data user;

[0089] The most relevant encrypted document expression is as follows:

[0090] C KWED =(C1,…,C K )

[0091] Among them, C KWED is the top K encrypted document set with the highest relevance, C1,…,C K is the most relevant encrypted document, and K is the number of most relevant encrypted documents;

[0092] Step 5: After receiving the most relevant encrypted document from the cloud server, the data user uses the symmetric key to decrypt the encrypted document and output the plaintext document of the search result;

[0093] The plain text document expression of the search results is as follows:

[0094] D KWED ={D1,D2,…,D n}

[0095] Among them, D KWED is the plaintext document set of search results, D1, D2, ..., D n The plain text document of the search result;

[0096] This paper proposes a symmetric searchable encryption method for keyword semantic expansion based on SGX. Leveraging the FastText model, the BIRCH clustering algorithm, a self-balancing binary search tree (AVL), an inverted index, symmetric encryption, and a secure KNN, this method transforms single-keyword queries into multi-keyword queries. A two-layer secure index is constructed, and SGX is used to semantically expand and encrypt the query keywords to generate a search token. The top k matching search results are then returned to the user through cosine distance similarity calculations, decrypted, and returned to the user, yielding the plaintext.

[0097] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope defined by the claims of the present invention.

Claims

1. A keyword semantically extended symmetric searchable encryption method based on SGX, characterized by: Step 1: The data owner performs initialization operations to generate the public key, master key, keyword semantic extension model and parameters; Step 2: The data owner constructs an AVL-tree index and an inverted index for the plaintext document collection, splits and encrypts the index structure to obtain the split and encrypted AVL-tree index and inverted index, and synthesizes them into a secure encrypted index. The plaintext document is then encrypted to obtain an encrypted document, and the secure encrypted index and encrypted document are stored in the cloud server. Step 3: The data owner performs Intel SGX remote authentication to generate a session key, establishes a secure channel, and verifies whether Intel SGX on the data user is running securely. If the verification is successful, the data owner encrypts the public key, master key, and keyword semantic extension model parameters using the session key and sends them to the data user through the secure channel. The data owner loads the keyword requested by the data user into the local trusted execution environment SGX, performs semantic extension and encryption on the query keyword, generates a semantic extension keyword search token, and returns the semantic extension keyword search token to the data user. Step 4: The data user uses the semantically extended keyword search token to access the cloud server. The cloud server matches the encrypted AVL-tree index and inverted index in the secure encrypted index obtained in step 2 based on the semantically extended keyword search token, obtains the ID in the encrypted inverted index, and then obtains the index node vector of the document after the inverted index is established for the plaintext document based on the ID. The cloud server uses the secure knn product of the semantically extended keyword search token and the index node vector based on the query to obtain the most relevant encrypted document as the search result and returns it to the data user.

2. The SGX-based keyword semantic extension symmetric searchable encryption method according to claim 1, characterized in that: The specific method of step 1 is: Step 1.1: The data owner executes the initialization algorithm to generate the public key and master key; The initialization algorithm is shown in the following formula: Among them, Genkey(1 λ ) is the initialization algorithm; λ is the security parameter; is the keyword; is a symmetric key, which is a keyword Part of M a and M b The input security parameter λ is obtained dimensional reversible matrix; S is a random dimensional vector, used to encrypt the index node vector and query vector, m is a random number, Random numbers to prevent statistical attacks; The expression of the public key is shown in the following formula: pk=(λ,F(·)) Among them, pk is the public key; F(·) is a pseudo-random function (PRF) set by the data owner DO, k is the length of the random keyword, is the length of the security parameter; The expression of the master key is shown in the following formula: Among them, mk is the master key; The function generates a symmetric key based on the security parameter λ The function generates a reversible matrix M based on the security parameter λ a and M b , The function generates a random vector S according to the security parameter λ; k1, k2, k3 are the data owner’s mathematical foundation integer group Z p The random number randomly selected from Step 1.2: The data owner uses the FastText model to generate a keyword semantic expansion model and parameters.

3. The SGX-based keyword semantic extension symmetric searchable encryption method according to claim 2, characterized in that: The specific method of step 2 is: Step 2.1: Use the FastText model to perform word segmentation preprocessing on the plaintext document collection, convert the segmented text into numerical features, and obtain a large dataset of word vectors; Step 2.2: The data owner uses the BIRCH clustering algorithm to cluster the large word vector dataset and constructs an AVL-tree index and inverted index based on the clustering results; Step 2.3: Split the AVL-tree index and inverted index in sequence; Step 2.4: Use the secure knn algorithm to encrypt the split AVL-tree index and inverted index to obtain the split encrypted AVL-tree index and inverted index, and synthesize the secure encrypted index; Step 2.5: Use the Enc algorithm to encrypt the secret key and plaintext document to obtain the encrypted document; Step 2.6: The data owner sends the secure encrypted index and encrypted documents to the cloud server for storage.

4. The SGX-based keyword semantic extension symmetric searchable encryption method according to claim 3, characterized in that: The specific method of step 2.2 is: use the BIRCH clustering algorithm to construct a clustering feature CF tree to organize word vector data, quickly cluster the word vector data through the data information in the CF tree to obtain the clustering results, and construct an AVL-tree index I1 based on <keyword-category>, generate a <category-document> vector based on the clustering results, and construct an inverted index I2.

5. The SGX-based keyword semantic extension symmetric searchable encryption method according to claim 4, characterized in that: The specific method of step 3 is: Step 3.1: The data user applies for Intel SGX remote authentication and generates a session key, establishing a secure channel to verify that Intel SGX on the data user is running securely. If verification is successful, the public key, master key, and keyword semantic extension model parameters are encrypted using the session key and sent to the data user via the secure channel. Step 3.2: By calling the Intel SGX Ecall instruction, the query keyword requested by the data user is loaded into the local trusted execution environment SGX. The FastText model is used to perform word+gram context prediction based on the query keyword. The top K semantic expansion keywords are returned based on the cosine distance to form the semantic expansion keyword set. Step 3.3: Take the first j query results with the closest cosine distance in the semantic expansion keyword set, sort the returned results in descending order, and construct a The query vector of dimension 1 is used to represent the keywords to be queried. The corresponding position of each query keyword in the query vector is the probability of the keyword appearing in the semantic expansion keyword set, and the other positions that do not appear are set to 0. Step 3.4: Use the secure knn algorithm to encrypt the query vector and split the query vector in sequence according to the value of vector S in the {0,1} space in step 1.1; Step 3.5: Generate a semantically extended keyword search token and return the semantically extended keyword search token to the data user through the Intel SGX Ocall instruction.

6. The SGX-based keyword semantic extension symmetric searchable encryption method according to claim 5, characterized in that: The process of splitting the query vector in step 3.4 is as follows: in, To construct based on j query results dimensional query vector, It represents the secure knn algorithm that splits the query vector according to the value of the random vector S The value of i represents the order in the array; and When the value i is taken in the array, the query vector is obtained according to the safe knn algorithm The query vector after segmentation.

7. The SGX-based keyword semantic extension symmetric searchable encryption method according to claim 6, characterized in that: The generation process of the semantic expansion keyword search token in step 3.5 is as follows: Among them, V kED Expand keyword search tokens for semantics.

Citation Information

Patent Citations

  • A multi-keyword expansion retrieval method based on a ciphertext

    CN109902143A

  • KR20220051774A