Secure Search Engine Using Hash Provider Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing search engines raise privacy concerns due to the accumulation of detailed search data, as they often retain search terms and results, despite some implementing minimal logging practices.
Innovation Solution
A secure search method using a hash provider that registers users with a unique number and encryption key, hashing search terms and encrypting results, ensuring only the user can access their search data through a separation of duties between hash and search providers, utilizing cryptographic hash functions and symmetric encryption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If search engines log search terms and results for business analysis, then service quality and personalization improve, but user privacy is compromised
Solution Approach 1:
The system divides the search engine into two independent components: a search provider that processes queries and returns results, and a hash provider that generates and manages cryptographic keys. This segmentation ensures that no single entity possesses both the ability to conduct searches and the ability to decrypt results, thereby protecting user privacy while maintaining service functionality.
Solution Approach 2:
Cryptographic hash functions serve as an intermediary mechanism between the user and the search engine. The hash provider generates salted hashes of search terms and results, which are then processed by the search engine without revealing the actual content. This intermediary layer allows the search engine to operate on encrypted data, preventing direct access to private information.
2Object-affected harmful factors
If search engines minimize logging to protect privacy, then user anonymity improves, but access to search data for legitimate purposes is reduced
Solution Approach 1:
The hash provider performs preliminary actions by generating cryptographic keys and salted hashes before the search process begins. These pre-computed hashes enable the search engine to efficiently process and retrieve encrypted results without needing to access or store the actual search terms, thus maintaining anonymity while preserving data accessibility through cryptographic means.
Solution Approach 2:
The system transforms search terms from their original plaintext form into salted cryptographic hashes. This parameter change in the data representation allows the search engine to operate on transformed data that cannot be reverse-engineered to reveal the original terms, thereby maintaining user anonymity while enabling functional search capabilities.
3Device complexity
If a single organization controls both search processing and data encryption, then system simplicity improves, but trust and privacy security deteriorate
Solution Approach 1:
The system explicitly segments control by separating the search provider and hash provider into distinct organizational entities. The hash provider exclusively manages cryptographic operations including key generation and hash computation, while the search provider handles query processing and result delivery. This segmentation creates a system where privacy security is enhanced through distributed trust, despite the increased organizational complexity.
Solution Approach 2:
The system employs asymmetric roles with different capabilities: the hash provider has cryptographic authority but no access to search results, while the search provider has access to search operations but cannot decrypt results. This asymmetric distribution of powers ensures that no single entity has complete control, thereby enhancing privacy security through structural design.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A secure search method of securing searches by a user through a hash provider using a search engine. The user registers with the hash provider. The hash provider sends a unique number, encrypted result database, and hashed index to the search engine. The user enters in at least one search term to be searched. The user hashes the search term and sends the search term to the search engine with the unique number. The search engine searches and selects the hashed index and encrypted result database based on the unique number. The encrypted result data set taken from the encrypted result database is sent to user. The user decrypts the result set.