Trust Controller Code Integrity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Compromised code in subsystem controllers, such as power supply controllers, can lead to erroneous operations in computing systems, potentially disabling entire data centers, and existing solutions like adding hardware for trust logic increase costs.

Innovation Solution

Implementing a trust controller that uses existing controllers to verify the integrity of code by generating and comparing hash values, without adding hardware, to determine if code is compromised, thereby enabling or disabling power supply controllers as necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware is added to implement trust logic for verifying code integrity, then code security is improved, but device cost increases

Engineering Contradiction:
Improvecode securityVSAvoiddevice cost
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The existing controller is made to perform multiple functions: both its original control function and the additional trust logic function for verifying code integrity. The controller executes a trust logic program stored in memory to verify code images, eliminating the need for separate dedicated hardware while maintaining security functionality.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The controller uses its own existing resources (processor, memory, storage) to perform self-verification of its code images. The trust logic program utilizes the controller's built-in hash calculation capabilities and comparison functions to verify its own integrity without requiring external verification hardware.

Inventive Principle:
Principle #25Self-service

2Reliability

If code verification is implemented to detect compromised code, then system reliability is improved, but processing time increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The code verification is performed during the boot process before the controller begins normal operations. The trust logic program calculates hash values of code images and compares them against stored reference values in advance, ensuring that any compromised code is detected before it can execute malicious operations, thus minimizing impact on overall system performance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11314867B2Determinations of compromise of controller code images
Publication Date: 2022.04.26 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11314867B2 patent drawing
  • US11314867B2 patent drawing
  • US11314867B2 patent drawing

AI summary

In some examples, a trust controller generates a first value and send the first value to a target controller of a subsystem, and generates a first verification value based on the first value and a known good code image for the target controller. The trust controller receives a second verification value from the target controller, the second verification value based on the first value and a code image to be executed at the target controller. The trust controller determines whether the code image to be executed at the target controller is compromised based on the first verification value and the second verification value.