Binding Customer-Signed Firmware to Hardware via MAC and HRK

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing information handling systems face challenges in preventing customer-signed firmware images from being used in different systems, particularly when a motherboard is moved to another chassis, compromising the security of immutable root-of-trust implementations.

Innovation Solution

Incorporating a hidden root key (HRK) embedded in the processor and using front panel SPI flash to store an encrypted data structure comprising the customer public key and MAC address, ensuring that the firmware can only be used in its intended system by validating the MAC address and public key during boot.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If customer-signed firmware is enabled to allow customers to build and sign their own BMC images, then customer flexibility and control are improved, but the security assurance of immutable root-of-trust implementations deteriorates because the vendor can no longer exclusively sign and release BMC code

Engineering Contradiction:
Improvecustomer flexibilityVSAvoidsecurity assurance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The solution segments the trust verification process into two independent components: (1) vendor-signed boot loader that establishes initial trust, and (2) customer-signed BMC image that provides flexibility. The boot loader and BMC image are separated such that the boot loader signs and releases the BMC image, creating distinct security zones where each component verifies the other independently

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The vendor-signed boot loader acts as an intermediary between the hardware root-of-trust and the customer-signed BMC image. It mediates the trust relationship by using its own vendor signature to verify and chain-load the customer BMC image, thereby bridging the gap between immutable hardware trust and flexible customer-signed software

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the customer's public key is stored in the vendor-signed boot loader to enable customer signing, then customer-signed BMC images can be loaded, but the ability to prevent key migration to other information handling systems deteriorates

Engineering Contradiction:
Improvecustomer signing capabilityVSAvoidkey binding security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The solution extracts the customer public key from the boot loader and stores it separately in a dedicated customer key storage area within the BMC image. This separation allows the boot loader to verify the customer key without containing it, preventing key extraction or migration while maintaining verification capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The customer public key is预先 stored in the BMC image during the image building process, before the BMC needs to verify signatures. This preliminary placement ensures the key is bound to the specific BMC image and hardware configuration, preventing later migration or reuse in different systems

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11409883B1Binding customer-signed image to a specific platform
Publication Date: 2022.08.09 DELL PROD LP
  • US11409883B1 patent drawing
  • US11409883B1 patent drawing
  • US11409883B1 patent drawing

AI summary

An information handling system may include a circuit board; a processor disposed on the circuit board, wherein the processor includes a media access control (MAC) address and a hidden root key (HRK) encoded therein; and a memory not disposed on the circuit board. The information handling system may be configured to: determine a customer public key (CPK); create a data structure comprising the CPK and the MAC address; encrypt the data structure using the HRK to generate an encrypted structure; and store the encrypted structure in the memory.