Chain of Trust Boot Authentication via Parallel Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data center systems lack effective authentication of BIOS/boot images, making them vulnerable to hacking and compromising security, which can lead to negative impacts on computing system security.

Innovation Solution

Implementing a system root of trust that authenticates itself and then authenticates the BIOS/boot images of processors, allowing parallel authentication of processes to establish a chain of trust while minimizing the impact on boot time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a system root of trust sequentially authenticates all processors and their processes, then security is ensured, but boot time increases significantly

Engineering Contradiction:
ImprovesecurityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The authentication process is segmented into two independent parts: (1) system root of trust authenticating processor boot codes, and (2) each processor independently authenticating its own processes. This segmentation allows parallel execution of authentication tasks, reducing overall boot time while maintaining security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system root of trust performs preliminary authentication of processor boot codes before processors start executing. Once authenticated, processors are released to independently authenticate their processes in parallel, avoiding sequential delays.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If processors authenticate their BIOS/boot images before execution, then security is improved, but the authentication process becomes complex and time-consuming

Engineering Contradiction:
ImprovesecurityVSAvoidauthentication process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system root of trust acts as an intermediary that authenticates processor boot codes on behalf of all processors. This centralized preliminary authentication simplifies the overall process, as processors then only need to authenticate their own processes without re-authenticating boot images.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Each processor is designed to independently authenticate its own processes after boot code verification. This self-service approach distributes the authentication workload and reduces the complexity burden on the central system root of trust.

Inventive Principle:
Principle #25Self-service

3Loss of time

If the system root of trust authenticates multiple boot images in parallel, then boot time is reduced, but security may be compromised

Engineering Contradiction:
Improveboot timeVSAvoidsecurity
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The parallel authentication is segmented into two secure layers: (1) system root of trust parallelly authenticating only boot codes, and (2) each processor independently and sequentially authenticating its own processes. This segmentation maintains security while enabling parallelism in the boot code authentication phase.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11314868B2Rapidly establishing a chain of trust in a computing system
Publication Date: 2022.04.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11314868B2 patent drawing
  • US11314868B2 patent drawing
  • US11314868B2 patent drawing

AI summary

A system root of trust device of a computing system authenticates boot images associated with data processing units of the computing system. The device includes at least one processor configured to determine whether a first set of boot code associated with a first processor of the computing system is authentic, in response to determining that the first set of boot code is authentic, reset the first processor to allow the first processor to boot and authenticate first executable code to be executed by the first processor, after resetting the first processor, determine whether a second set of boot code associated with a second processor of the computing system is authentic, and in response to determining that the second set of boot code is authentic, reset the second processor to allow the second processor to boot and to authenticate second executable code to be executed by the second processor.