Virtual Primary Platform on Secure Element

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Tamper Resistant Elements (TREs) are not adequately equipped to support the implementation of the Virtual Primary Platform (VPP) ecosystem due to stringent hardware and security constraints, leading to development delays and high costs.

Innovation Solution

Implementing a Virtual Primary Platform using a Tamper Resistant Element and an External Execution Environment, where the VPP Low Level Operating System (LLOS) is distributed across a VPP Process Execution Environment (VPEE) and an External Execution Environment, allowing for secure access to processes' code and data, and managing process switches without altering security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If strong security mechanisms and specific hardware components (MMU, DMA, encryption) are enforced in VPP, then security level is improved, but device complexity and cost increase

Engineering Contradiction:
Improvesecurity levelVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The VPP LLOS is segmented into two parts: VPP LLOS API stubs installed in the VPEE (Tamper Resistant Element) and an external agent installed in the External Execution Environment. This segmentation allows security-critical functions to remain in the TRE while less critical functions are externalized, reducing hardware complexity while maintaining security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The VPP LLOS API stubs act as an intermediary between the VPEE and the external agent. They route communications securely, enabling the external agent to provide LLOS functions while maintaining the security boundary of the TRE. This mediator approach allows existing TREs to support VPP without requiring additional security hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If VPP LLOS functions are externalized from VPEE, then hardware requirements are reduced, but security concerns may arise

Engineering Contradiction:
Improvehardware requirementsVSAvoidsecurity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

LLOS functions are extracted from the VPEE and implemented in the External Execution Environment through the external agent. This extraction reduces hardware requirements by moving non-critical LLOS functions outside the TRE, while security is maintained through the API stubs that control access to the TRE.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The VPP LLOS API stubs serve as a secure intermediary that manages all communications between the VPEE and the external agent. They authenticate and authorize access requests, ensuring that externalizing LLOS functions does not compromise the security of the TRE or its protected resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4035042B1Virtual primary platform (VPP) implemented on a secure element and an external environment
Publication Date: 2024.05.08 THALES DIS FRANCE SA
  • EP4035042B1 patent drawingFigure 1
  • EP4035042B1 patent drawingFigure 2
  • EP4035042B1 patent drawingFigure 3

AI summary

The present invention relates to a method to implement a Virtual Primary Platform (VPP) using a Tamper Resistant Element (TRE) and an External Execution Environment (EEE), said Virtual Primary Platform (VPP) comprising a VPP Low Level Operating System (VPP LLOS) distributed across a VPP Process Execution Environment (VPEE) in the Tamper Resistant Element (TRE), the External Execution Environment (EEE), said VPP Low Level Operating System (VPP LLOS) comprising VPP LLOS API stubs installed in the VPP Process Execution Environment (VPEE) and routing communications between the VPP Process Execution Environment (VPEE) and the External Execution Environment (EEE) and an external agent (EA) installed in the External Execution Environment (EEE) and comprising processes' codes (CO) and data (DA) stored in the External Execution Environment (EEE) to be loaded for execution into the VPP Process Execution Environment (VPEE) in order, for the VPP Process Execution Environment (VPEE) to get a secure access to VPP external processes' code (CO) and data (DA), to emulate the VPP Low Level Operating System (VPP LLOS) functions and to manage processes' switches for the execution of any VPP application relying on the Virtual Primary Platform (VPP) to be executed.