Trusted Execution Environment Access Control for SMT Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware trusted execution environments (TEEs) face vulnerabilities, such as the LITF vulnerability, which allow adversarial OS or virtual machine monitors to infer plaintext contents of SGX enclaves, leading to potential security breaches, and disabling Simultaneous Multithreading (SMT) to mitigate this reduces processor performance.

Innovation Solution

The solution involves modifying existing TEE instruction circuitry to conditionally provide access to a TEE for hardware threads based on the execution state of sibling threads, ensuring that a hardware thread can enter a TEE only if sibling threads are in a sleep state or already within the same TEE, thereby preventing malicious access and maintaining SMT functionality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If SMT is disabled to mitigate LITF vulnerability, then security of TEE is improved, but processor performance deteriorates

Engineering Contradiction:
Improvesecurity of TEEVSAvoidprocessor performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by implementing different security policies for different hardware threads within the same core. Specifically, it checks the execution state of each sibling thread individually and applies access control only to threads that could pose a security risk (those executing outside TEE), while allowing threads executing within the same TEE to access without restriction. This localized approach maintains security for vulnerable configurations while preserving performance for safe configurations.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic access control by continuously monitoring the execution state of sibling threads and adjusting TEE access permissions in real-time. The access control mechanism dynamically evaluates whether sibling threads are in a safe state (executing within the same TEE or halted) or unsafe state (executing outside TEE), and accordingly enables or disables access to the TEE. This dynamic adjustment allows the system to maintain security when necessary while preserving performance when safe.

Inventive Principle:
Principle #15Dynamics

2Reliability

If access control checks are implemented for sibling threads, then security of TEE is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity of TEEVSAvoidinstruction execution circuitry complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing an autonomous access control mechanism that automatically monitors sibling thread states and makes access decisions without external intervention. The instruction execution circuitry is enhanced to self-evaluate the security context of incoming TEE access requests by checking sibling thread states, and self-enforce access control decisions. This self-service approach consolidates security logic within the existing execution circuitry rather than requiring separate complex control systems.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent merges the access control functionality with the existing instruction execution circuitry for TEE instructions. Rather than implementing a separate complex access control system, the patent integrates security checks into the existing instruction decoding and execution path. The same circuitry that decodes TEE enter/exit instructions also performs the sibling thread state checks and access control decisions, reducing overall system complexity while maintaining security.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240202314A1Device, method, and system to determine an access to a trusted execution environment
Publication Date: 2024.06.20 INTEL CORP
  • US20240202314A1 patent drawing
  • US20240202314A1 patent drawing
  • US20240202314A1 patent drawing

AI summary

Techniques and mechanisms for a processor core to execute an instruction for a hardware (HW) thread to have access to a trusted execution environment (TEE). In an embodiment, execution of the instruction includes determining whether any sibling HW thread, which is currently active, is also currently approved to access the TEE. TEE access by the HW thread is conditioned upon a requirement that any sibling HW thread is either currently inactive, is currently in the same TEE, or is currently approved to enter the TEE. In another embodiment, execution of another instruction, for the HW thread to exit the TEE, includes or otherwise results in system software being conditionally notified of an opportunity to wake up one or more sibling HW threads.