Multi-Core Secure Boot Chain of Trust Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing secure boot mechanisms for IoT devices and multi-core processors lack robust validation and trust hierarchies, making them vulnerable to unauthorized software execution and compromising the chain of trust.

Innovation Solution

A secure boot mechanism using a global public key to validate the first boot loader, deriving mutated keys based on hashes, and cross-core validation to ensure that only trusted software is booted, employing a chain of trust corresponding to a defense-in-depth hierarchy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a secure boot mechanism with multi-core validation is implemented, then system security and trust integrity are improved, but device complexity and validation overhead increase

Engineering Contradiction:
Improvesystem securityVSAvoidvalidation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The secure boot validation process is segmented across multiple cores in a hierarchical manner. Each core validates specific execution environments (EEs) under its control, with the first core validating system EEs and subsequent cores validating application EEs. This segmentation distributes the validation burden while maintaining security, resolving the contradiction between enhanced security and reduced complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Execution environments are validated before execution occurs. The chain of trust mechanism performs preliminary validation of software components (bootloader, kernel, drivers, applications) before they are executed, ensuring security is established in advance rather than during operation, thereby improving reliability without significantly increasing runtime complexity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If cross-core validation chain of trust is implemented, then unauthorized software execution is prevented, but validation time and processing overhead increase

Engineering Contradiction:
Improvetrust integrityVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Validation is performed as a preliminary action during the boot process before execution begins. The chain of trust validates each execution environment sequentially from the bootloader through the kernel and drivers before allowing application execution, establishing trust early in the system lifecycle.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The validation process is segmented by core and execution environment type. The first core handles validation of system-critical EEs (bootloader, kernel, drivers) while subsequent cores handle application EEs. This segmentation allows parallel validation across multiple cores, reducing total validation time while maintaining comprehensive trust verification.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10402567B2Secure boot for multi-core processor
Publication Date: 2019.09.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10402567B2 patent drawing
  • US10402567B2 patent drawing
  • US10402567B2 patent drawing

AI summary

The disclosed technology is generally directed to a secure boot mechanism for a multi-core system. In some examples, multiple execution environments may be sequentially booted according to a chain of trust that corresponds to the defense-in-depth hierarchy. A first stage of the secure boot may be based on the hardware root of trust of the multi-core processor. Subsequent stages may be based upon the trust in the previous stages. In some examples, if any stage is determined to be compromised, then the secure boot ceases, and neither the stage determined to be compromised nor any subsequent stages are booted.