Secure Memory Isolation via Single I/O Controller and TCE Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In trusted execution environments, existing solutions fail to effectively isolate secure memory from non-secure entities and efficiently manage I/O devices with varying security access privileges, leading to potential unauthorized access and data breaches.

Innovation Solution

A method utilizing a single I/O controller to manage both secure and non-secure I/O devices by establishing address translation, storing translation control tables in secure memory, determining security levels, and reconfiguring devices during ownership changes, ensuring secure memory access is restricted to authorized entities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single I/O controller is used for both secure and non-secure I/O devices, then device complexity is reduced and resource utilization is improved, but security isolation between secure and non-secure entities deteriorates

Engineering Contradiction:
ImproveI/O controller structureVSAvoidsecure memory isolation
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the address space into secure and non-secure regions, and divides I/O devices into secure and non-secure categories. The I/O controller manages both types separately through distinct translation control tables (TCE tables) stored in different memory regions, maintaining security isolation while using a single controller hardware structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of security attributes and translation control tables that mediate between secure and non-secure entities accessing the I/O controller. This intermediary layer enables the single controller to distinguish and manage different security contexts without requiring separate physical controllers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If translation control tables for secure I/O devices are stored in secure memory, then security isolation is improved, but access control complexity increases

Engineering Contradiction:
Improvesecure memory isolationVSAvoidaccess control mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by storing translation control tables for secure I/O devices exclusively in secure memory regions, while non-secure devices use non-secure memory. The I/O controller locally determines the security context of each device and retrieves appropriate TCE tables from the corresponding memory region, maintaining isolation without requiring complex centralized control.

Inventive Principle:
Principle #3Local quality

3Reliability

If security attributes are monitored during ownership reassignment, then security isolation is improved, but processing time increases

Engineering Contradiction:
Improvesecurity isolationVSAvoidownership reassignment processing
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring security attributes and translation control tables before I/O device ownership changes occur. The system maintains security context information in advance, enabling rapid verification during ownership reassignment without requiring complex real-time security checks, thus reducing processing time while maintaining isolation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12045471B2Secure memory isolation for secure endpoints
Publication Date: 2024.07.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12045471B2 patent drawing
  • US12045471B2 patent drawing
  • US12045471B2 patent drawing

AI summary

A single input/output (I/O) controller for both secure partitionable endpoints (PEs) and non-secure PEs is enabled in a trusted execution environment (TEE) where secure memory portions are isolated from non-secure PEs. Security attributes for certain endpoints indicate secure memory access privilege of owning entities of the certain endpoints. A security monitor has exclusive access to the address translation control tables (TCE) stored in secure memory associated with a secure endpoint. When owning entity reassignment occurs, the endpoints are reinitialized to support a change in ownership from an outgoing owning entity having secure memory access and an incoming owning entity not having secure memory access.