Trusted Execution Environment With Isolated, Auditable Application Runs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing trusted execution environments lack flexibility, updateability, and inside-out isolation, leading to vulnerabilities and inefficiencies in managing multiple applications and ensuring secure, consistent execution environments.

Innovation Solution

A computing device is configured to establish a trusted execution environment with a flexible, dynamically allocatable resource management system, including an execution engine, storage module, and management module, which ensures isolation, audit, and authorization properties, along with a security monitor for multiple instances, and a storage module for immutable data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a monolithic operating system kernel is used to provide comprehensive system services, then system functionality and ease of operation are improved, but the attack surface increases and security reliability deteriorates

Engineering Contradiction:
Improvesystem functionalityVSAvoidsecurity reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the operating system into a monolithic kernel and separate user-space modules. Critical kernel functions remain in protected memory, while non-critical services are moved to user-space modules that can be independently loaded, updated, and terminated without affecting the kernel. This segmentation reduces the attack surface while maintaining system functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a module loader and module manager as intermediaries between user-space applications and the kernel. These intermediaries handle module loading, execution, and termination, providing a controlled interface that isolates user-space modules from direct kernel access while maintaining system functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the operating system kernel is expanded to include more system calls and features, then adaptability and versatility are improved, but the complexity increases and security vulnerabilities worsen

Engineering Contradiction:
Improvesystem capabilitiesVSAvoidkernel complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic module loading system where user-space modules can be loaded, executed, and terminated on-demand. This allows the system to adapt its capabilities dynamically without permanently expanding the kernel. Modules are loaded only when needed and can be removed when no longer required, maintaining low kernel complexity while providing high adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal module framework that can load and execute various types of user-space modules with different functionalities. The module manager provides a unified interface for handling diverse module types, allowing the system to achieve versatility through a single, simple kernel that delegates to specialized user-space modules.

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

3Duration of action of stationary object

If software updates are deployed to extend product lifecycle, then duration of action is improved, but the risk of introducing new vulnerabilities and system failures increases

Engineering Contradiction:
Improveproduct lifecycleVSAvoidsystem stability
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The patent treats user-space modules as disposable, short-lived components that can be independently updated, tested, and terminated. If a module update introduces vulnerabilities or failures, only that specific module is affected and can be independently rolled back or reloaded, without requiring system-wide updates or risking overall system stability.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent implements a module signing and verification mechanism that checks module integrity before loading. This beforehand verification prevents malicious or corrupted modules from being loaded, cushioning the system against potential vulnerabilities and failures before they can affect system stability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Reliability

If hardware-based trusted execution environments are implemented, then security isolation is improved, but flexibility and updateability deteriorate

Engineering Contradiction:
Improvesecurity isolationVSAvoidflexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic module loading system within the trusted execution environment, allowing modules to be loaded, executed, and terminated on-demand. This dynamic approach provides flexibility and adaptability while maintaining the security isolation of the hardware-based TEE, as all module operations are controlled by the secure module manager.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the trusted execution environment into a secure kernel component and user-space modules. The kernel provides security isolation and protection, while user-space modules provide flexibility and updateability. This segmentation allows the system to achieve both security isolation and flexibility simultaneously.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12443701B2Computing device for establishing a trusted execution environment
Publication Date: 2025.10.14 GAPFRUIT AG
  • US12443701B2 patent drawing
  • US12443701B2 patent drawing
  • US12443701B2 patent drawing

AI summary

The application relates to a computing device configured to establish a trusted execution environment for executing application code. The trusted execution environment comprises an execution engine configured to execute application code; a storage module to provide read-only access to the execution engine for accessing the application code; and a management module. The management module is configured to receive execution request(s); instruct the execution engine to load the application code from the storage module and to execute the application code; bundle data input, response data output to and from the execution engine into input data stream(s) and output data stream(s), respectively; terminate the execution engine after execution of the application code; create an execution record of execution of the application code comprising the input and output data streams; and transmit the execution record to the requestor.