Secure Enclave Debug Access Control for Processor Secrets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information processing systems face challenges in protecting confidential information from debug attacks, as existing secure enclaves may not adequately prevent unauthorized access during testing or debugging processes.

Innovation Solution

The implementation of a secure enclave unit within a processor, which includes an encryption unit, enclave page cache, access control unit, and a debug aggregator with authentication and policy enforcement mechanisms, allows for the use of private debug commands while maintaining the secrecy of cryptographic keys and other sensitive information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If debug commands are allowed to access processor components for testing and debugging, then ease of operation and manufacturing testing are improved, but security against unauthorized access to confidential information deteriorates

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The processor is divided into secure and non-secure regions, with the secure enclave isolating confidential information from debug access. The debug interface is segmented into authenticated and unauthenticated paths, allowing legitimate debugging while blocking unauthorized access to sensitive areas.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An authentication mechanism acts as an intermediary between debug commands and processor components. The secure enclave controller mediates access requests, verifying authenticity before allowing debug operations, thus preventing direct unauthorized access to confidential information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If secure enclaves are implemented to protect confidential information, then security is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidprocessor structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The secure enclave is implemented as a nested structure within the processor, with the enclave controller and encryption units embedded within the existing processor architecture. This nested approach provides enhanced security while minimizing the increase in overall device complexity by integrating rather than adding separate systems.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Reliability

If access control mechanisms are added to prevent debug attacks, then security is improved, but ease of operation deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoiddebugging process
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The access control system dynamically adjusts permissions based on authentication status and policy settings. During legitimate debugging sessions, authenticated access is granted to necessary components, while unauthorized access attempts are blocked. This dynamic behavior maintains security without permanently restricting legitimate debug operations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8955144B2Protecting information processing system secrets from debug attacks
Publication Date: 2015.02.10 INTEL CORP
  • US8955144B2 patent drawing
  • US8955144B2 patent drawing
  • US8955144B2 patent drawing

AI summary

Embodiments of an invention for protecting information processing system secrets from debug attacks are disclosed. In one embodiment, a processor includes storage, a debug unit, and a test access port. The debug unit is to receive a policy from a debug aggregator. The policy is based on a value of a first fuse and has a production mode corresponding to a production value of the first fuse and a debug mode corresponding to a debug value of the fuse. The test access port is to provide access to the storage using a debug command in the debug mode and to prevent access to the storage using the debug command in the production mode.