Encrypted SQL Database Query Processing via Secret Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database encryption methods face challenges in protecting data during SQL operations, as they require compatibility with both data at rest and data in use, and are vulnerable to security breaches, especially when unauthorized access attempts utilize sophisticated analytical tools.
Innovation Solution
A method and system for encrypting SQL-based databases that generates two encrypted database copies, using XOR and additive secret sharing, and probabilistic searchable encryption to perform secure query operations without decrypting the data, employing a Secure Multi-Party Computation (SMPC) proxy server to process queries on encrypted data across multiple servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is encrypted using traditional encryption methods, then data at rest is protected, but data in use during SQL operations becomes vulnerable to security breaches
Solution Approach 1:
The encryption key is segmented into multiple shares using secret sharing schemes (e.g., Shamir's Secret Sharing). Each database server holds a portion of the key shares, and the complete key is reconstructed only when needed for authorized operations. This segmentation prevents any single server from having full access to the decryption key, protecting data while enabling distributed SQL operations.
Solution Approach 2:
A trusted third party or secure key management service acts as an intermediary to manage key shares and facilitate secure key reconstruction during SQL operations. This intermediary enables data processing while maintaining security by controlling key access without requiring full key exposure to individual servers or operators.
2Productivity
If data is decrypted for SQL operations, then query processing is efficient, but data becomes exposed to security breaches
Solution Approach 1:
Encryption keys and access permissions are pre-configured and distributed to database servers before SQL operations occur. Key shares are prepared in advance through secret sharing schemes, enabling rapid key reconstruction and encrypted query processing without requiring real-time decryption. This preliminary setup maintains both security and operational efficiency.
Solution Approach 2:
The system dynamically changes encryption parameters and key states during SQL operations. Data remains encrypted during storage and transmission, with decryption occurring only in controlled, temporary states during authorized query processing. After operations complete, data returns to encrypted state, minimizing exposure time and maintaining security throughout the data lifecycle.
3Device complexity
If encryption keys are stored centrally, then key management is simplified, but security breaches can compromise all data
Solution Approach 1:
The central encryption key is segmented into multiple key shares distributed across different database servers or secure locations. No single location holds the complete key, so compromising one server does not expose the full decryption capability. This segmentation provides both distributed security and manageable key recovery processes through secure key sharing protocols.
Solution Approach 2:
The key management system uses nested layers of security where master keys are protected by additional encryption layers and access controls. Key shares are nested within secure enclaves or protected by multiple authentication mechanisms, creating defense-in-depth that simplifies overall management while significantly enhancing security resilience against breaches.
Data Source
AI summary
The subject matter discloses a method operated on a computerizing system comprising generating two secret shares of at least some of the data fields in a database, loading data fields of the database into two database copies, wherein one secret share of the two secret shares is loaded into one database copy and another secret share of the two secret shares is loaded into another database copy, receiving a request to perform a query in the database, processing said query on the database copies, wherein the database fields employed by the query process and the query results remain secret during processing, and revealing the secret query results.


