Secure Memory Isolation via Single I/O Controller and TCE Tables
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If security attributes are monitored during ownership reassignment, then security isolation is improved, but processing time increases
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.
Data Source
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.


