Data-Oblivious Cryptographic Computing for Side-Channel Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata confidentialityVSAvoidcomputational speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidsecurity guarantee
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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

Engineering Contradiction:
Improvedata confidentialityVSAvoidside channel leakage
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4202748B1Data oblivious cryptographic computing
Publication Date: 2026.04.15 INTEL CORP
  • EP4202748B1 patent drawingFigure 1
  • EP4202748B1 patent drawingFigure 2~3
  • EP4202748B1 patent drawingFigure 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.