Trust Controller Code Integrity Verification
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If hardware is added to implement trust logic for verifying code integrity, then code security is improved, but device cost increases
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.
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.
2Reliability
If code verification is implemented to detect compromised code, then system reliability is improved, but processing time increases
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.
Data Source
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.


