Address Mask Table for TEE Context Switch Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In an OS environment where a protection-target program is dynamically loaded and mapped, entry point masking cannot be used to prevent physical attacks on a Trusted Execution Environment (TEE) due to dynamic changes in isolation settings.

Innovation Solution

A program processing device that includes setting data specifying physical and logical addresses, a call wrapper function for context switching, an address mask table generation section, a countermeasure application section to attach the call wrapper to the program, and an execution section to look up the address mask table and unmask jump addresses based on determined isolation settings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If entry point masking is used to prevent physical attacks on TEE, then security against fault attacks is improved, but the method cannot be applied in OS environments with dynamic program loading and mapping

Engineering Contradiction:
Improvesecurity against fault attacksVSAvoidcompatibility with dynamic OS environment
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing masked jump addresses in a table structure before program execution. The address mask table generation section creates entries that map isolated addresses to real addresses in advance, allowing the execution section to quickly retrieve and apply the correct masked addresses during context switches without dynamic calculation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an address mask table as an intermediary mechanism between the isolation setting and the actual jump address. This table serves as a mediator that translates isolated addresses (which change with dynamic OS mapping) to real addresses (which remain constant for security), enabling entry point masking to work in dynamic OS environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If isolation setting changes dynamically with each execution in OS environment, then program flexibility and dynamic loading capability are improved, but entry point masking becomes ineffective

Engineering Contradiction:
Improvedynamic program loading capabilityVSAvoideffectiveness of entry point masking
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary action by pre-computing the relationship between isolated addresses and real addresses for all possible execution contexts and storing them in the address mask table. This allows the execution section to retrieve the correct masked address instantly during context switches, maintaining masking effectiveness despite dynamic isolation changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a table of pre-computed address mappings. Instead of calculating masked addresses in real-time for each dynamic execution context, the system copies pre-computed address relationships into the address mask table, enabling fast retrieval and application during execution while adapting to dynamic OS conditions.

Inventive Principle:
Principle #26Copying

3Productivity

If jump address is acquired without unmasking in dynamic execution, then execution speed is improved, but unauthorized memory access can occur

Engineering Contradiction:
Improveexecution speedVSAvoidunauthorized memory access
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by pre-storing masked jump addresses in the address mask table during program setup. During execution, the system simply retrieves the pre-computed masked address from the table rather than calculating it in real-time, maintaining high execution speed while ensuring security through the pre-established address mapping.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The address mask table serves as an intermediary that bridges the gap between speed and security. It provides pre-computed masked addresses that can be retrieved instantly during execution, eliminating the need for real-time calculation while ensuring that only authorized memory access is permitted through the established address mapping.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250147895A1Program processing device and program processing method
Publication Date: 2025.05.08 MITSUBISHI ELECTRIC CORP
  • US20250147895A1 patent drawing
  • US20250147895A1 patent drawing
  • US20250147895A1 patent drawing

AI summary

A program processing device includes an address mask table generation section, a countermeasure application section, and an execution section. The address mask table generation section generates an address mask table based on setting data. The countermeasure application section attaches a call wrapper to a program, identifies a transition process of performing context switch from the program, and replaces the transition process with a process of performing a jump by specifying a physical address where the call wrapper is to be deployed. The execution section looks up the address mask table in executing a countermeasure-applied program, allocates a memory and assigns a physical address. Instead of acquiring a jump address with no change in the transition process, the execution section makes a change so as to use a jump address obtained by unmasking the jump address acquired by looking up the address mask table, based on determined isolation setting.