Data-Oblivious Cryptographic Computing for Side-Channel Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data oblivious computation techniques rely on compiler correctness and complex code analysis for security, and are unable to defend against untrusted code, leading to potential data leaks via side channels.
Innovation Solution
Implement data oblivious cryptographic computing by tagging and encrypting sensitive data in registers and heap allocations, using cryptographic addresses and encryption schemes to ensure secure processing, and enforcing data oblivious execution architecturally to prevent data leaks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fully homomorphic encryption (FHE) is used to protect sensitive data, then data confidentiality is improved, but computational overhead increases by five orders of magnitude and memory consumption becomes massive
Solution Approach 1:
The patent segments the protection mechanism into two parts: (1) conventional encryption for data at rest and in transit, and (2) architectural enforcement of data oblivious computation for active processing. This segmentation allows using lightweight encryption algorithms instead of FHE, achieving confidentiality without the five orders of magnitude slowdown.
Solution Approach 2:
The patent introduces a trusted execution environment (TEE) as an intermediary that enforces data oblivious computation architecturally. The TEE acts as a mediator between untrusted code and sensitive data, providing security guarantees without requiring complex cryptographic operations like FHE, thus maintaining computational efficiency.
2Productivity
If data oblivious computation is used to reduce overhead, then computational and memory overheads are reduced, but the system relies on compiler correctness and complex code analysis which are error-prone and unable to defend against untrusted code
Solution Approach 1:
The patent replaces the mechanical/software-based enforcement (compiler transformations and code analysis) with an architectural/hardware-based enforcement mechanism. The processor architecture itself is modified to include features like encrypted register files and memory encryption, which enforce data oblivious computation without relying on compiler correctness, thus providing reliable security guarantees while maintaining efficiency.
3Reliability
If conventional encryption is used for sensitive data, then data confidentiality is maintained, but side channel attacks can still leak information through timing and power consumption patterns
Solution Approach 1:
The patent applies encryption to data before it enters the processing pipeline (in the load stage), and maintains encryption throughout computation. By preliminarily encrypting data and maintaining encrypted states during processing, the system prevents side channel attacks that would otherwise occur during intermediate computational steps where data might be in plaintext or partially processed states.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
A method comprises identifying a sensitive heap allocation for a sensitive data object in memory, and encrypting the data object using a first encryption key, different from a second encryption key used to encrypt one or more non-sensitive data objects in the memory, to provide cryptographic isolation between the sensitive data object and the one or more non-sensitive data objects.