Trusted Database Access for Secure Encrypted Query Computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database security solutions expose sensitive data to security risks during decryption and operations on ciphertext, leading to poor performance and limited functionality, especially when interacting with unauthorized programs or malicious administrators.
Innovation Solution
Implement a database access method that utilizes a trusted execution environment (TEE) to perform decryption and computation on encrypted data, caching plaintext results, and ensuring secure data transmission by encrypting computation results, thereby reducing performance overheads and enhancing security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is encrypted and stored in ciphertext to prevent unauthorized access, then data security is improved, but execution performance deteriorates due to decryption overhead and limited cryptographic operations
Solution Approach 1:
The system segments the execution environment into two distinct parts: a trusted execution environment (TEE) for secure data processing and a non-secure environment for general database operations. By dividing the database access process into secure and non-secure segments, the patent enables cryptographic operations to occur in the isolated TEE while maintaining overall system performance.
Solution Approach 2:
The patent introduces a database kernel as an intermediary layer between the user and the encrypted data storage. The kernel manages encryption/decryption operations and coordinates communication between the TEE and non-secure environment, reducing the performance overhead by handling cryptographic operations efficiently at the kernel level rather than at the application level.
2Reliability
If cryptographic operations are performed on ciphertext data, then data security is maintained, but the types of operations are limited and execution performance is poor
Solution Approach 1:
The patent transitions from operating solely on ciphertext to a two-dimensional approach: decrypting data within the TEE to plaintext form for versatile operations, then re-encrypting results. This dimensional change in data representation enables full SQL functionality while maintaining security through the TEE boundary.
Solution Approach 2:
The system dynamically changes the encryption parameter state based on the operational context. Data is encrypted at rest in the database, decrypted to plaintext within the TEE for computation, and re-encrypted for storage or transmission. This parameter change enables both security and operational versatility.
3Reliability
If frequent switching between trusted execution environment and non-secure environment is performed during data operations, then data security is improved, but performance overhead increases
Solution Approach 1:
The patent implements a caching mechanism that performs preliminary actions by storing decrypted plaintext data in the TEE before it is needed for subsequent operations. When the same data is required again, the system retrieves it from the cache rather than performing repeated decryption and context switching, significantly reducing performance overhead.
4Ease of operation
If plaintext data is stored in memory during decryption operations, then data accessibility is improved, but security risks increase due to exposure
Solution Approach 1:
The patent applies local quality by creating a security zone (TEE) with different properties from the rest of the system. Within this localized secure environment, plaintext data can exist safely because the TEE provides hardware-enforced isolation and protection. The same plaintext data would be vulnerable in the non-secure environment, but the localized secure context enables both accessibility and security.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A database access method and apparatus are disclosed, to ensure data security during interaction between a user and a database, and effectively reduce performance overheads. The method includes: receiving an encrypted data computation request sent by a database kernel, where the encrypted data computation request requests to perform computation on encrypted data of a user, and the database kernel runs in a non-secure execution environment (S301); receiving encrypted data sent by the database kernel, where the encrypted data is all encrypted data in a user query request (S302); performing decryption and computation on the encrypted data in response to the encrypted data computation request, to obtain a computation result (S303); encrypting the computation result to obtain an encrypted computation result (S304); and sending the encrypted computation result to the database kernel (S305).