Processor-Agnostic Enclave Image Layout for SGX

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Independent software vendors (ISVs) face challenges in developing enclave files that must accommodate different SGX processor types, requiring separate memory management strategies and adjustments to attestation infrastructure due to varying SGX capabilities, leading to increased complexity and effort in ensuring secure enclave operation across multiple platforms.

Innovation Solution

The implementation of a processor-agnostic enclave image layout loading method that detects the target processor type after loading and adjusts the memory layout accordingly, using a virtual address multiplication factor to ensure consistent measurement values and seamless operation on both static and dynamic SGX processors without requiring specific coding for each type.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate memory management strategies are used for different SGX processor types, then secure operation on specific platforms is ensured, but development complexity and effort increase

Engineering Contradiction:
Improvesecure operationVSAvoiddevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal enclave image format that can be executed on multiple SGX processor types (both static and dynamic memory management) without requiring separate builds or modifications. The enclave image contains a measurement token that enables it to adapt its memory layout at runtime based on the target processor's capabilities, allowing a single image to serve multiple platform-specific functions.

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

Solution Approach 2:

The patent changes the memory management parameters dynamically at runtime based on the detected processor type. The enclave image includes a measurement token that encodes processor-specific parameters, allowing the same enclave binary to adjust its heap and stack layout parameters according to whether it's running on a static or dynamic SGX processor, thereby maintaining security while reducing development complexity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If enclave images are tailored for specific memory management instructions, then optimal performance is achieved, but adaptability to unknown target platforms decreases

Engineering Contradiction:
ImproveperformanceVSAvoidplatform adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic adaptation mechanisms where the enclave image can detect the target processor type at runtime and adjust its memory layout accordingly. The measurement token enables the enclave to determine whether it's running on a static or dynamic SGX processor and modify its heap and stack parameters in real-time, combining the benefits of platform-specific optimization with cross-platform compatibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary configuration by embedding processor-specific measurement tokens in the enclave image during build time. This allows the enclave to pre-know which processor types it was designed for and prepare appropriate memory layouts in advance, enabling fast runtime adaptation without requiring external configuration files or complex detection routines.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If attestation infrastructure is adjusted for varying SGX capabilities, then accurate verification is achieved, but implementation effort increases

Engineering Contradiction:
Improveverification accuracyVSAvoidimplementation effort
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The patent merges processor-specific verification information into a single measurement token that is embedded in the enclave image. This token combines both the enclave identity and the target processor type information, allowing the attestation infrastructure to verify both aspects simultaneously using a unified process, thereby maintaining verification accuracy while reducing implementation complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The measurement token acts as an intermediary that bridges the enclave and the attestation infrastructure. It carries encoded information about the target processor type and enclave configuration, allowing the attestation service to automatically determine the correct verification parameters without requiring manual configuration or complex conditional logic in the attestation infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10354095B2Methods and apparatus to initialize enclaves on target processors
Publication Date: 2019.07.16 INTEL CORP
  • US10354095B2 patent drawing
  • US10354095B2 patent drawing
  • US10354095B2 patent drawing

AI summary

Methods, apparatus, systems and articles of manufacture are disclosed to initialize enclaves on target processors. An example apparatus includes an image file retriever to retrieve configuration parameters associated with an enclave file, and an address space manager to calculate a minimum virtual address space value for an enclave image layout based on the configuration parameters, and generate an optimized enclave image layout to allow enclave image execution on unknown target processor types by multiplying the minimum address space value with a virtual address factor to determine an optimized virtual address space value for the optimized enclave image layout.