Modified Permuterm Index for Accurate Encrypted Wildcard Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for performing wildcard searches on encrypted data produce false positives, and there is no known method to remove these without decrypting the data, making them vulnerable to leakage abuse attacks and increasing processing load.
Innovation Solution
A modified permuterm index is generated by appending a zero-or-more wildcard value to the permuterm index entries, allowing accurate wildcard searches on encrypted data without decrypting the data, using a Hash-based Message Authentication Code (HMAC) for encryption, and performing searches on the modified index entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If wildcard search is performed on encrypted data using existing solutions, then search functionality is provided, but false positives are generated and cannot be removed without decrypting the data
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing wildcard search results in the index during the indexing phase. Instead of performing wildcard matching at query time (which would require decryption and post-processing), the system pre-generates all possible wildcard variations and stores them in the encrypted index. This allows accurate wildcard searches to be performed directly on encrypted data without generating false positives that need later removal.
2Measurement precision
If post-processing is performed to remove false positives from wildcard search results, then search accuracy is improved, but the process requires decryption which compromises security
Solution Approach 1:
The patent uses copying by creating and storing multiple versions of index entries corresponding to different wildcard patterns in the encrypted index. Instead of performing post-processing on decrypted data, the system pre-creates copies of the data with wildcard variations already applied and stored in the index. This allows the search to directly compare encrypted queries against these pre-computed encrypted copies, eliminating the need for decryption during post-processing while maintaining security.
3Quantity of substance
If wildcard search is performed on encrypted data without pre-computation, then storage space is saved, but false positives are generated and processing load increases
Solution Approach 1:
The patent applies preliminary action by performing the computationally intensive wildcard pattern generation and matching setup during the indexing phase rather than at query time. The system pre-computes all wildcard variations and stores them in the encrypted index structure, which shifts the processing load to the indexing stage. During actual searches, the pre-computed index enables efficient direct comparison without generating false positives or requiring post-processing, thereby improving query processing efficiency.
Data Source
AI summary
The present disclosure is directed towards a method of generating a modified permuterm index entry for use in a search for a keyword in a portion of an encrypted data collection, including identifying a keyword in one or more portions of an encrypted data collection; generating a permuterm index entry for the keyword, wherein the permuterm index entry comprises X values including a delimiting value inserted after the last value of the keyword, wherein the delimiting value marks the end of the keyword; generating a modified permuterm index entry for the keyword from the permuterm index entry, wherein the modified permuterm index entry comprises the first Y values of the permuterm index entry appended with a zero-or-more wildcard value, wherein Y is greater than zero and Y is less than or equal to X; and storing the modified permuterm index entry in a modified permuterm index. A data structure for use in a search for a keyword in a portion of an encrypted data collection, wherein the data structure is a modified permuterm index entry, is also provided.


