Encrypted Search Index Structure for Secure Keyword Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional common key encryption-based concealed search techniques face challenges in generating search queries efficiently, particularly when dealing with a large number of data pieces, as the generation cost and data size of the search query increase proportionally, leading to high processing demands on both the requester and executer sides, especially in resource-constrained environments like IC cards and narrow communication bands.
Innovation Solution
A server apparatus that stores encrypted data and an index structure with unique numeric values corresponding to keywords, allowing the terminal to generate a search seed that does not depend on the number of registration data pieces, enabling efficient search queries by transferring only the keyword to the server for processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional common key encryption-based concealed search technique is used, then data can be searched in encrypted form, but the generation cost and data size of search query increase proportionally with the number of registration data pieces
Solution Approach 1:
The patent segments the search system into two parts: the terminal apparatus generates only a search seed (small data), and the server apparatus performs the complex index query generation and search processing. This segmentation reduces the query generation burden on resource-constrained terminal devices while maintaining encrypted search capability.
Solution Approach 2:
The patent introduces a server apparatus as an intermediary between the terminal apparatus and the encrypted data storage. The server generates the actual index queries based on search seeds from terminals, handling the computational complexity centrally while allowing multiple terminals to perform simple search operations.
2Reliability
If conventional concealed search technique is used, then encrypted data can be searched, but processing demands on both requester and executer sides increase with data volume
Solution Approach 1:
The patent divides processing tasks by computational demand: terminal apparatuses perform only lightweight search seed generation, while the server apparatus handles the computationally intensive index query generation and data matching, improving overall system efficiency.
Solution Approach 2:
The patent uses encrypted indexes that are pre-generated and stored on the server, allowing multiple search operations to query the same encrypted index structure without regenerating it each time, thus improving search efficiency for repeated queries.
3Reliability
If search query contains all registration data, then complete search can be performed, but communication bandwidth requirements increase
Solution Approach 1:
The patent extracts only the essential search seed from the terminal apparatus, which is a small encrypted value sufficient to retrieve all necessary information from the server's encrypted indexes, eliminating the need to transmit large amounts of query data.
Solution Approach 2:
The server apparatus acts as an intermediary that receives small search seeds from terminals and returns only the necessary search results, filtering and processing data centrally to minimize communication bandwidth requirements between clients and server.
Data Source
AI summary
In a server apparatus, a data storage part stores a plurality of pieces of encrypted data. An index storage part stores, as an index I, a data structure which is for performing search with using a function H that outputs a unique numeric value in response to an inputted keyword, the data structure having a plurality of storage areas corresponding, in one-to-one relation, to numeric values outputted from the function H, and storing, for a plurality of keywords corresponding to plaintext data, an identifier of encrypted data being post-encryption data of the plaintext data to which each keyword corresponds, in a storage area corresponding to the numeric value outputted from the function H when each keyword is inputted. A search part inputs one of the plurality of keywords to the function H, identifies a storage area corresponding to the numeric value outputted from the function H, from the index I, and acquires encrypted data corresponding to the identifier stored in the identified storage area, from the data storage part.


