BMC Trust Verification via Time-Counter Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Custom BMC firmware stacks in information handling systems are vulnerable to security breaches due to uncontrolled development and deployment, leading to potential damage to hardware and loss of trust in non-custom code segments, as they can be maliciously modified, compromising the integrity and security of the system.

Innovation Solution

A trust verification system is implemented using a secure communication channel between trusted and untrusted domains within the baseboard management controller (BMC), where an assistance application monitors the custom BMC firmware stack and verifies the integrity of non-custom code segments by encrypting communications with a time counter-based encryption key, ensuring that only trusted code executes and preventing illicit modifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom BMC firmware stacks are allowed to be developed and deployed freely, then system functionality and adaptability are improved, but security and integrity are compromised due to uncontrolled development and potential malicious modifications

Engineering Contradiction:
Improvecustom firmware functionalityVSAvoidfirmware integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The BMC is divided into trusted and untrusted domains, with custom firmware running in the untrusted domain while critical system code runs in the trusted domain. This segmentation allows custom functionality to be added without compromising the integrity of core system operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An assistance application acts as an intermediary between the untrusted custom firmware and the trusted domain. This intermediary monitors and verifies the integrity of custom firmware, allowing adaptability while maintaining security through a mediating layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If encryption is implemented using traditional static keys, then communication security is improved, but security is weakened over time due to key reuse and potential compromise

Engineering Contradiction:
Improvecommunication securityVSAvoidkey validity duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The encryption key is made dynamic by incorporating a time counter value into its generation. The key changes over time, preventing reuse and maintaining security even if a key is compromised at one point. This is achieved through the encryption key comprising a function of a time counter value.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The encryption parameters are changed continuously by using a time-dependent key derivation function. This transforms the static key into a dynamic parameter that evolves over time, enhancing security against replay attacks and key compromise.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11593490B2System and method for maintaining trusted execution in an untrusted computing environment using a secure communication channel
Publication Date: 2023.02.28 DELL PROD LP
  • US11593490B2 patent drawing
  • US11593490B2 patent drawing
  • US11593490B2 patent drawing

AI summary

An Information Handling System (IHS) includes multiple hardware devices, and a baseboard Management Controller (BMC) in communication with the plurality of hardware devices. The BMC includes instructions for executing an assistance application (APP) in an untrusted domain of the BMC. The assistance APP configured to monitor a custom BMC firmware stack executed in the untrusted domain. The instructions are further executed to verify an integrity of the assistance APP from a trusted domain of the BMC by encrypting communications between the trusted and untrusted domains using an encryption key that comprises a function of a time counter value.