Trusted Execution Environment Licensing for Instance Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack efficient mechanisms to control the number of instances of a trusted execution environment, allowing multiple concurrent instances despite the absence of direct control over the trusted execution environment state.

Innovation Solution

A method and system utilizing a secure cryptoprocessor with a register to manage instances of a trusted execution environment, where a new instance checks the register status and writes a value indicating its presence, ensuring only one instance runs at a time, with authorization and secure session establishment for communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the trusted execution environment is started from the operating system under control of the licensee, then the licensee can start multiple instances of the trusted execution environment, but this leads to loss of control over the number of running instances and potential security risks

Engineering Contradiction:
Improveflexibility to start multiple instancesVSAvoidcontrol over instance number
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A license server acts as an intermediary between the operating system and the trusted execution environment instances. The license server verifies licenses and provides authorization tokens that control instance startup, preventing uncontrolled multiplication of instances while maintaining the ability to start multiple authorized instances.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the license server monitors the number of running instances and compares it against licensed limits. When the limit is reached, the license server prevents further instance startup, providing continuous control over instance proliferation.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If no direct control mechanism is implemented over the trusted execution environment state, then the system maintains simplicity and ease of operation, but this allows unauthorized or excessive instances to run

Engineering Contradiction:
Improvesimplicity of system operationVSAvoidunauthorized instance execution
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

License verification and authorization are performed in advance before trusted execution environment instances are started. The license server pre-validates the right to run a certain number of instances and provides authorization tokens, so that when instances are started, the control mechanism is already in place without adding complexity to the startup process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3776315B1Trusted execution environment instances licenses management
Publication Date: 2026.01.21 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • EP3776315B1 patent drawingFigure 1
  • EP3776315B1 patent drawingFigure 2
  • EP3776315B1 patent drawingFigure 3~4

AI summary

There is provided mechanisms for handling instances of a trusted execution environment on an execution platform. The trusted execution environment is associated with a secure cryptoprocessor. The secure cryptoprocessor holds a register. The trusted execution environment is configured to read from and write to a volatile part of the register at a given index i. A method is performed by the trusted execution environment. The method comprises checking, upon start of a new instance of the trusted execution environment, status of the register at the given index i. The method comprises enabling the new instance to keep running only when successfully reading a first value representing no currently run instance of the trusted execution environment from the register at the index i or if the register at the given index i has its status set to "undefined" when checking the status. The method comprises writing a second value representing one currently run instance of the trusted execution environment to the register at the given index i.