Encrypted Database Join Protocol Using Homomorphic Encryption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud-based database systems face challenges in performing table joins on encrypted tables without leaking information, making them vulnerable to attacks, as existing solutions either require significant computational overhead or are impractical for real-world systems.
Innovation Solution
A two-server protocol is implemented, where each server only computes an encrypted join indicator without decrypting the data, with the second server obliviously decrypting the result and returning it to the first server, ensuring neither server retains significant knowledge of the data values, and using a homomorphic encryption scheme to perform joins on encrypted data structures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is encrypted before outsourcing to cloud-based databases, then privacy and security are improved, but the ability to perform table joins without leaking information deteriorates
Solution Approach 1:
The system segments the table join operation into multiple phases: (1) generating encrypted hash lists from join attributes without decrypting data, (2) performing set intersection operations on encrypted hash lists to identify matching rows, and (3) retrieving and joining only the identified rows. This segmentation allows join operations to be performed on encrypted data while maintaining security.
Solution Approach 2:
The patent introduces encrypted hash lists as an intermediary structure that enables join operations without exposing underlying encrypted data. The hash lists serve as a mediator between the need for join capability and the requirement for data confidentiality, allowing the database server to perform intersections on hash values without accessing the actual encrypted join attributes.
2Reliability
If traditional join operations are performed on encrypted tables, then information leakage to cloud servers increases, but computational overhead and complexity increase
Solution Approach 1:
The patent extracts the join attribute values from encrypted table rows and transforms them into encrypted hash lists separately. This extraction allows the join operation to be performed on the hash lists without requiring the database server to handle or understand the complex encrypted data structures, thereby reducing system complexity while maintaining information confidentiality.
3Reliability
If existing encryption-based join solutions are implemented, then security against attacks is improved, but computational overhead and impracticality for real-world systems worsen
Solution Approach 1:
The patent applies partial action by performing the computationally intensive hash list generation and intersection operations only on the necessary join attributes rather than entire tables. The database server performs set intersection on encrypted hash lists to identify matching rows, then retrieves only those specific rows for the final join, avoiding unnecessary computational overhead while maintaining security.
Data Source
AI summary
Computer systems and associated methods are disclosed to implement a table join protocol for two encrypted database tables using two different servers. In embodiments, responsive to a query that specifies a join of two tables, a first server performs a join operation on encrypted representations of the join attributes of two rows from the two tables to determine an encrypted join indicator. The join attributes are encrypted in a scheme that is homomorphic with respect to the join operation. The first server sends the join indicator to a second server to be decrypted, and then uses the decrypted join indicator to determine whether the two rows satisfies the join. In embodiments, the first server does not possess the decryption key for the encrypted representations, and the second server does not have access to the encrypted representations. The division of labor thus reduces the vulnerability of both individual servers.


