Distributed Searchable Encryption with Verifiable Pattern Hiding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing searchable encryption schemes fail to adequately hide search results from servers hosting the encrypted data and conducting the search, leading to privacy and information leakage issues, and they do not guarantee the correctness of search results, especially in the presence of malicious servers.
Innovation Solution
A distributed and private symmetric searchable encryption scheme using distributed point functions (DPFs) is implemented, which creates a search index for multiple servers, splits the encrypted data, partitions the servers, updates the search index, and verifies the transmitted data to ensure that no server deviates from the protocol, providing information-theoretic security and hiding search patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If searchable encryption schemes are implemented on untrusted servers, then data storage and search functionality are improved, but privacy leakage and information disclosure worsen
Solution Approach 1:
The patent divides the encrypted database into multiple shards distributed across different servers. Each server stores only a portion of the data, and search results are also segmented. This segmentation prevents any single server from accessing complete search results, thereby maintaining privacy while enabling distributed storage and search functionality.
Solution Approach 2:
The patent introduces a trusted client as an intermediary between users and untrusted servers. The client verifies search results using cryptographic proofs before returning them to users, and coordinates the search process across multiple servers. This intermediary ensures privacy protection while enabling functional access to encrypted data.
2Loss of information
If search results are hidden from servers, then privacy protection is improved, but verification of search result correctness becomes more difficult
Solution Approach 1:
The patent pre-computes cryptographic verification data (such as Merkle tree hashes and proof structures) during the database setup phase and stores them with the encrypted data. This preliminary action enables later verification of search results without revealing private information, as the verification can be performed using only public cryptographic parameters.
Solution Approach 2:
The patent implements a verification feedback mechanism where servers provide cryptographic proofs with search results, and the client verifies these proofs before accepting results. This feedback loop ensures correctness without requiring the server to reveal private search information, resolving the contradiction between privacy and verification.
3Loss of information
If distributed point functions are used to create search indexes, then search pattern hiding is improved, but system complexity increases
Solution Approach 1:
The patent uses distributed point functions to create multiple copies of search index information distributed across servers. Each server holds a share of the index that individually reveals no information about search patterns. This copying approach achieves search pattern hiding while distributing the computational complexity across multiple servers rather than concentrating it in one complex component.
4Reliability
If encrypted data is split into multiple portions, then privacy security is improved, but data retrieval efficiency deteriorates
Solution Approach 1:
The patent combines multiple encrypted data portions stored on different servers through secure multi-party computation protocols during search operations. While data is split for storage to enhance security, the system merges the distributed data portions efficiently during retrieval using coordinated cryptographic operations, maintaining both security and reasonable retrieval efficiency.
Data Source
AI summary
A method for distributed and private symmetric searchable encryption includes receiving encrypted data, creating a search index for one or more servers based on the encrypted data using a distributed point function (DPF), splitting the encrypted data into a number of portions based on the number of servers, and partitioning the servers into two or more groups. The method also includes updating the search index based on the splitting and the partitioning, transmitting the split encrypted data to the servers based on the updated search index, verifying the transmitted data using data not transmitted to the server, and determining, based on the verifying, whether any server deviated from an assigned protocol.


