Trusted-Server Trusted Application Infinite Loop for Non-blocking TEE Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Trusted Applications in a Trusted Execution Environment (TEE) are limited in functioning as a server, experiencing blocking states, inability to partially execute tasks, and lack of persistence between tasks, which restricts their ability to process requests and deliver data in a non-blocking manner.

Innovation Solution

Implementing a method where a Trusted Application runs in an infinite state-full loop within the TEE, utilizing a Trusted-Pipe as a mailbox for data exchange between the Trusted-Server and Customer Application, enabling asynchronous data exchange without blocking, and allowing the Trusted-Server to request additional data during task execution without stopping, through the use of two FIFO buffers for communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a Trusted Application follows the standard execution model with sequential task scheduling, then security and memory isolation are maintained, but the application cannot function as a server with non-blocking operations

Engineering Contradiction:
Improveserver functionalityVSAvoidblocking state
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent segments the Trusted Application into two distinct components: a Trusted-Server TA that runs in an infinite loop and a Trusted-Pipe TA that handles communication. This segmentation allows the server component to maintain continuous execution while the pipe component manages blocking operations, thereby enabling server functionality without compromising the blocking state issue.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The Trusted-Pipe TA acts as an intermediary between the Customer Application and the Trusted-Server TA. It serves as a mailbox that buffers commands and data, allowing the server to operate in non-blocking mode while the pipe handles the blocking communication operations. This intermediary resolves the contradiction by decoupling the server's continuous execution from the blocking communication states.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If a Trusted Application executes tasks sequentially as per specification, then memory isolation and security are ensured, but the application cannot partially execute tasks or maintain state between tasks

Engineering Contradiction:
Improvememory isolationVSAvoidtask execution continuity
Core Design Contradiction:
Stability of the object's compositionVSDuration of action of moving object

Solution Approach 1:

The patent implements a nested structure where the Trusted-Server TA contains an infinite execution loop that orchestrates multiple tasks, while the Trusted-Pipe TA is nested within the same TEE instance to handle communication. This nesting allows the outer server loop to maintain state and partially execute tasks while the inner pipe component ensures memory isolation and security boundaries are maintained.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The Trusted-Server TA executes continuously in an infinite loop, maintaining state between tasks and enabling partial task execution. The loop continuously polls the Trusted-Pipe for new commands and processes them without interruption, ensuring continuous useful action while the pipe component reclaims memory between operations to maintain isolation.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If a Trusted Application uses single instance/multi session or multi instance/single session model, then session management is simplified, but the application cannot implement client-server model with asynchronous data exchange

Engineering Contradiction:
Improvesession managementVSAvoidasynchronous communication
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The Trusted-Pipe TA is designed as a universal component that can handle multiple sessions simultaneously while maintaining a single instance. It provides multi-functional capabilities including command buffering, data exchange, and session management, allowing the system to implement asynchronous client-server communication while keeping session management simple through the single-instance pipe.

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

Solution Approach 2:

The Trusted-Pipe TA serves as an intermediary mailbox that enables asynchronous data exchange between the customer application and trusted server. It decouples the communication timing, allowing the server to process data at its own pace while the pipe maintains the communication channel and buffers data, thereby enabling asynchronous operation without complex session management.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If the operating system reclaims volatile memory between tasks as specified, then security and resource management are improved, but the application cannot maintain execution context between tasks

Engineering Contradiction:
Improvememory managementVSAvoidexecution context
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent extracts the execution context and state information from the volatile memory that would be reclaimed between tasks. The Trusted-Server TA maintains its state in the infinite loop's memory space, separating persistent state from temporary task data. This extraction allows the system to reclaim volatile memory while preserving the essential execution context needed for continuous server operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The Trusted-Server TA performs preliminary actions by initializing its state and setting up the infinite execution loop before tasks are executed. It prepares the necessary data structures and context in advance, allowing it to resume execution seamlessly after memory reclamation. The pipe component also prepares command buffers in advance, ensuring context is preserved across task boundaries.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11886572B2Method to upgrade a tee trusted application to a server mode
Publication Date: 2024.01.30 THALES DIS FRANCE SA
  • US11886572B2 patent drawing
  • US11886572B2 patent drawing

AI summary

Upgrade to a Trusted Application in a Trusted Execution Environment compliant to a Trusted Execution Environment standard to an as-a-server functioning by running, inside the Trusted Execution Environment, each instance of a Multi Instance/Single Session Trusted-Server Trusted Application compliant to the TEE standard in an infinite state-full loop polling a session of a Single Instance/Multi Session Trusted-Pipe Trusted Application, the single session of each of the instance of the Trusted-Server Trusted Application being adapted to perform a task as a server, said Trusted-Pipe Trusted Application being further polled by the Customer Application and opening session depending on command coming from the Customer Application.