Security Controller Firmware Integrity Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing devices lack effective security measures to ensure that firmware and other programs are not corrupted during the boot process, as they do not validate the integrity of stored code before execution, making them susceptible to malicious modifications.

Innovation Solution

A security controller is introduced between the processing resource and memory, which validates the integrity of firmware and other programs by generating and comparing security measurement values using cryptographic hash functions, ensuring only uncorrupted code is executed during the boot process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor directly fetches and executes firmware from memory during reset, then the boot process is fast and simple, but the system is vulnerable to corrupted or malicious code execution

Engineering Contradiction:
Improvefirmware integrityVSAvoidboot process structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A security controller is introduced as an intermediary component between the processor and memory. This controller intercepts memory access requests from the processor, validates firmware integrity using cryptographic hash functions, and only permits execution of validated code. This resolves the contradiction by adding a security layer without significantly complicating the overall boot process architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The security controller performs preliminary validation of firmware integrity before the processor executes the code. By calculating and verifying cryptographic hash values of firmware in advance, the system ensures that only uncorrupted code is loaded into execution memory, preventing malicious or corrupted firmware from being executed.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If firmware and programs are stored in the same memory without validation, then the device structure is simple, but the system is susceptible to malicious modifications

Engineering Contradiction:
Improvememory structureVSAvoidcode corruption vulnerability
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The security controller acts as an intermediary that monitors and validates all code access requests. It calculates cryptographic hash values of firmware and programs stored in memory, compares them against expected values, and blocks access to any corrupted or unauthorized code, thereby protecting against malicious modifications while maintaining a relatively simple memory structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The security controller implements a feedback mechanism by continuously monitoring code integrity through hash validation. When code is accessed or modified, the controller verifies its integrity and provides feedback by either permitting or blocking execution based on the validation result, creating a closed-loop security system.

Inventive Principle:
Principle #23Feedback

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This solution ensures that only validated, uncorrupted firmware and programs are executed, enhancing the security and reliability of the boot process by preventing malicious modifications and corruption.

Implementation Method 1

generates a first security measurement value of the instructions by applying a first cryptographic hash function to the read instructions

Methodology Applied
Scientific EffectCryptographic hash function:

Data Source

PatentUS10776493B2Secure management and execution of computing code including firmware
Publication Date: 2020.09.15 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10776493B2 patent drawing
  • US10776493B2 patent drawing
  • US10776493B2 patent drawing

AI summary

Secure management of computing code is provided herein. The computing code corresponds to computing programs including firmware and software that are stored in the memory of a computing device. When a processor attempts to read or execute computing code, a security controller measures that code and/or corresponding program, thereby generating a security measurement value. The security controller uses the security measurement value to manage access to the memory. The security measurement value can be analyzed together with integrity values of the computing programs, which are calculated while holding the reset of the processor. The integrity values indicate the validity or identity of the stored computing programs, and provide a reference point with which computing programs being read or executed can be compared. The security controller can manage access to memory based on the security measurement value by hiding or exposing portions of the memory to the processor.