Fuzzy Search on Encrypted Messages via Local Indexer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cloud services struggle to perform fuzzy searches on encrypted message histories due to the requirement for exact matches, limiting the ability to find variations, misspellings, or incomplete search terms without compromising privacy and security.
Innovation Solution
An indexer is implemented within a trusted domain to maintain a dictionary of unencrypted words from message histories, allowing for fuzzy searches by generating encrypted search tokens that can be used to search an encrypted database, enabling matches without exposing plaintext or context to the cloud service.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cloud services encrypt message history to protect privacy and security, then user privacy and security are improved, but the ability to perform fuzzy searches is worsened
Solution Approach 1:
The system segments the search process into two parts: the cloud service performs exact matching on encrypted data, while the local device performs fuzzy matching on unencrypted search terms. This segmentation allows each component to operate in its optimal environment (encrypted vs. unencrypted) while achieving both security and search flexibility.
Solution Approach 2:
The local device acts as an intermediary between the user and the cloud service. It receives the user's search intent, generates multiple variations (fuzzy matches), sends these to the cloud for exact matching, and then combines the results. This intermediary enables fuzzy search functionality without requiring the cloud service to process unencrypted data.
2Measurement precision
If cloud services perform exact match searches on encrypted data, then search accuracy is improved, but the ability to find variations and misspellings is worsened
Solution Approach 1:
The system dynamically adjusts the search approach based on the stage of the search process. At the local device stage, it uses dynamic fuzzy matching to generate multiple variations of search terms. At the cloud service stage, it uses static exact matching on encrypted data. The results are then dynamically combined to provide both precision and flexibility.
Solution Approach 2:
The local device performs partial fuzzy matching by generating multiple variations of the search term (sometimes excessively so, creating many potential matches). This partial matching approach ensures that no potential match is missed, and then the cloud service filters these down to exact matches, achieving both comprehensive coverage and precision.
3Reliability
If a third-party cloud service stores encrypted message history, then data security is improved, but direct access to underlying data by the service is worsened
Solution Approach 1:
The system enables self-service searching where the user's local device performs the fuzzy matching and variation generation, and the cloud service performs the exact matching on encrypted data. This self-service approach allows the user to maintain control over their data while still enabling search functionality, with each component serving itself within its security context.
Data Source
AI summary
Systems, methods, and computer-readable media for fuzzy-searches on encrypted messages include maintaining, in an indexer, a dictionary of words appearing in a message history. Upon receiving a query including at least one search term, a fuzzy search of the dictionary using the at least one search term is performed to determine one or more fuzzy-matching words in the dictionary, and one or more search tokens are generated from the one or more fuzzy-matching words, the one or more search tokens including encrypted versions of the one or more fuzzy-matching words. The one or more search tokens are provided to a search service for searching a database of encrypted messages of the message history, where the at least one search term may not have an exact match with any of the words in the dictionary.


