Firmware Integrity Verification via Security Circuit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data security systems face challenges in verifying the integrity of firmware in processor-based devices, as tampered firmware can easily mimic expected security values, making it difficult to detect unauthorized modifications or spoofing.

Innovation Solution

A method and apparatus that apply a selected mathematical function, such as a cryptographic hash or cyclic redundancy check, to the firmware independently of its execution, generating a verification value that can be compared to a baseline to ensure the firmware's authenticity and prevent unauthorized operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If firmware verification is performed using traditional methods that allow execution before verification, then device operation speed is improved, but firmware security and integrity are compromised

Engineering Contradiction:
Improvedevice operation speedVSAvoidfirmware security
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by performing firmware verification before the firmware is loaded into volatile memory and executed. The security circuit calculates a verification value from the firmware stored in non-volatile memory and compares it against an expected value, ensuring integrity is established prior to any execution occurs. This prevents tampered firmware from ever reaching the execution stage while maintaining normal device operation speed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a security circuit is added to verify firmware independently, then firmware integrity verification is improved, but device complexity increases

Engineering Contradiction:
Improvefirmware integrity verificationVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a security circuit as an intermediary component that independently verifies firmware integrity. This dedicated circuit calculates verification values and compares them against expected values without interfering with the main processor's execution of legitimate firmware. The security circuit acts as a mediator between the firmware storage and execution stages, adding verification capability while maintaining clear separation of concerns.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If firmware verification is performed before loading, then security against tampering is improved, but verification time is increased

Engineering Contradiction:
Improvesecurity against tamperingVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements self-service by having the security circuit perform verification operations autonomously using the firmware data already present in non-volatile memory. The circuit independently calculates verification values and compares them against stored expected values without requiring external intervention or additional time-consuming operations. This self-contained verification process minimizes time overhead while maintaining strong security.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11409872B2Confirming a version of firmware loaded to a processor-based device
Publication Date: 2022.08.09 SEAGATE TECH LLC
  • US11409872B2 patent drawing
  • US11409872B2 patent drawing
  • US11409872B2 patent drawing

AI summary

Apparatus and method for verifying firmware used by a programmable processor in a processor-based device, such as but not limited to a solid-state drive (SSD). In some embodiments, the firmware is stored in a device memory and is accessed to generate an output value using a suitable mathematical function, such as a cryptographic function, a cyclic redundancy check (CRC) function, etc. The output value is used to verify a state of the firmware, such as by ensuring a proper version of firmware has been loaded, that an attacking party has not tampered with the firmware, etc. The firmware may be subsequently loaded and executed by the programmable processor responsive to successful verification. A nonce value supplied by a host can be incorporated into the output value generation process.