Uniform Enclave Interface for Privileged Process Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software applications lack safeguards against processes with higher privileges, such as the host operating system, accessing sensitive data stored within them.

Innovation Solution

The method involves creating an enclave manager in an untrusted environment to generate enclaves, which are protected environments isolating sensitive data. Enclave clients are configured to provide entry points into the enclave, allowing for the creation of trusted application instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If applications store sensitive data in the host computing device, then data accessibility is improved, but security against privileged processes deteriorates

Engineering Contradiction:
Improvedata accessibilityVSAvoidsecurity against privileged processes
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments the computing environment into untrusted host environments and trusted enclave environments. Sensitive data is segregated into isolated enclave memory spaces that are inaccessible to privileged host processes, while non-sensitive operations remain in the host environment. This segmentation allows data to be stored in the host device while protecting it from unauthorized access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The enclave manager acts as an intermediary between untrusted host processes and trusted enclave code. It provides controlled interfaces for data access, allowing applications to retrieve sensitive data through authenticated enclave calls rather than direct host memory access. This intermediary mechanism maintains security while enabling legitimate data accessibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If enclaves are created to protect sensitive data, then security is improved, but system complexity deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The enclave manager provides a universal interface that handles multiple security functions through a single component. It manages enclave creation, data access requests, code execution, and thread donation all through one standardized interface. This multi-functionality reduces the number of separate security mechanisms needed, thereby reducing overall system complexity while maintaining strong security.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If enclave clients provide multiple entry points, then functionality is improved, but attack surface deteriorates

Engineering Contradiction:
ImprovefunctionalityVSAvoidattack surface
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

Each enclave client entry point is configured with specific, localized access permissions rather than universal access. The initialize function accepts specific system resources, the donate thread function accepts only OS-provided threads, and the destroy function terminates only the specific enclave. This localized quality of access rights reduces the attack surface while maintaining the needed functionality of multiple entry points.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12235951B2Uniform enclave interface
Publication Date: 2025.02.25 GOOGLE LLC
  • US12235951B2 patent drawing
  • US12235951B2 patent drawing
  • US12235951B2 patent drawing

AI summary

A uniform enclave interface is provided for creating and operating enclaves across multiple different types of backends and system configurations. For instance, an enclave manager may be created in an untrusted environment of a host computing device. The enclave manager may include instructions for creating one or more enclaves. An enclave may be generated in memory of the host computing device using the enclave manager. One or more enclave clients of the enclave may be generated by the enclave manager such that the enclave clients configured to provide one or more entry points into the enclave. One or more trusted application instances may be created in the enclave.