USB Controller State Integrity via Isolated Memory Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current processors, such as those with Intel SGX, provide secure enclaves for data protection within the chip but do not safeguard I/O data moving across the on-chip boundary, leaving it vulnerable to unauthorized access and modification by untrusted software.
Innovation Solution
A computing device is configured with an isolated memory region for USB controller state integrity protection, where the base address register of the USB controller is programmed with the isolated memory region address, and secure routing hardware ensures read-write access for the I/O controller while allowing only read-only access by software, preventing untrusted software from modifying the controller state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a system memory buffer is used as a scratchpad for USB controller state, then the controller can store and access state information efficiently, but the buffer becomes accessible to untrusted software with sufficient privileges, compromising security
Solution Approach 1:
The patent divides the memory space into distinct segments: a secure scratchpad buffer region accessible only to the USB controller and a regular system memory region accessible to software. This segmentation isolates the controller state data from untrusted software while maintaining efficient access for the controller itself.
Solution Approach 2:
The patent applies different access permissions to different memory regions. The scratchpad buffer has restricted write access (controller-only) while maintaining read access for software, creating local quality differences in security properties across the memory space to protect critical data while allowing necessary access.
2Reliability
If secure enclave support is implemented for data protection within the chip, then confidentiality and integrity are protected for data resident in platform memory, but I/O data moving across the on-chip boundary remains unprotected
Solution Approach 1:
The patent extends the secure enclave concept by segmenting memory access permissions specifically for I/O controller scratchpad buffers. This creates a protected region within the broader memory system that applies security controls to I/O data paths, expanding protection coverage beyond traditional enclave boundaries.
Solution Approach 2:
The patent introduces a memory management intermediary layer that mediates access to the scratchpad buffer. This intermediary enforces access control policies between the USB controller and system software, acting as a security gateway that protects I/O data without requiring changes to the underlying secure enclave hardware.
3Adaptability or versatility
If the base address register is programmable to allow flexible memory allocation, then the system can adapt to different memory configurations, but untrusted software can modify the register to access or corrupt controller state
Solution Approach 1:
The patent implements dynamic access control for the base address register: during system initialization, the register is programmable to allow flexible memory configuration; after initialization, the register becomes locked to prevent modification. This temporal dynamic behavior provides flexibility when needed while preventing harmful modifications later.
Solution Approach 2:
The patent performs the memory configuration action preliminarily during system boot before the operating system gains control. The base address register is programmed and locked by trusted firmware or boot code, establishing secure memory mappings before untrusted software can interfere, preventing subsequent corruption attempts.
Data Source
AI summary
Technologies for USB controller state integrity protection are disclosed. A computing device reserves an isolated memory region in system memory and programs a base address register of a USB controller with the address of the isolated memory region. The computing device locks the base address register from further chances. The USB controller may store controller state data in a scratchpad buffer located within the isolated memory region. Software executed by a processor may read controller state data from the scratchpad buffer. Secure routing hardware of the computing device controls access to the isolated memory region. The secure routing hardware may allow read and write access by the USB controller and read-only access by software executed by the processor. After storing the controller state data, the computing device may power down the I/O controller. Other embodiments are described and claimed.


