Firmware Verification via Hash Segmentation and Sorting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices face challenges in ensuring the accuracy and legality of firmware updates, which can lead to device malfunction or damage if incorrect or illegal firmware is installed.

Innovation Solution

A data storage device and method utilizing a secure hash algorithm (SHA) and a non-one-to-one mapping and sorting algorithm to verify the integrity of firmware data, where the hash data is generated, divided, and reassembled to create a unique sorting hash data stored in an efuse region, allowing only accurate and legal firmware updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If firmware update is performed without verification, then device functionality is improved, but device reliability deteriorates due to potential installation of erroneous or illegal firmware

Engineering Contradiction:
Improvefirmware update capabilityVSAvoiddevice operational reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing the hash value of legitimate firmware in the controller before firmware update occurs. The efuse region stores the mapping and sorting algorithm that will be used for verification. When firmware update is requested, the controller immediately verifies the incoming firmware against the pre-stored hash value, preventing erroneous or illegal firmware from being installed. This advance preparation ensures that only authenticated firmware can update the device, thereby maintaining reliability while enabling update functionality.

Inventive Principle:
Principle #10Preliminary action

2Speed

If simple hash verification is used, then verification speed is improved, but security against deliberate damage deteriorates

Engineering Contradiction:
Improvefirmware verification speedVSAvoidvulnerability to deliberate damage
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent applies segmentation by dividing the firmware data into multiple data groups and calculating hash values for each group separately. Instead of computing a single hash for the entire firmware, the system segments the firmware into chunks, computes individual hash values for each segment, and then combines them using a mapping and sorting algorithm. This segmentation approach maintains verification speed by allowing parallel processing of multiple smaller hash computations while significantly enhancing security, as deliberate damage or tampering with any single segment will result in a mismatched hash value, preventing unauthorized firmware installation.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If one-to-one mapping is used for hash data, then data storage simplicity is improved, but security complexity deteriorates

Engineering Contradiction:
Improvehash storage structureVSAvoidsusceptibility to firmware tampering
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The patent applies asymmetry by implementing a non-one-to-one mapping relationship between firmware data and its hash representation. The mapping and sorting algorithm transforms the original hash data into a different format and arrangement, creating an asymmetric transformation that is easy to compute in one direction but difficult to reverse. This asymmetric mapping enhances security against deliberate damage because tampering with the firmware will not produce a predictable change in the hash value, making it impossible for attackers to craft malicious firmware that passes verification. The asymmetric structure ensures that only the original legitimate firmware can produce the expected hash signature.

Inventive Principle:
Principle #4Asymmetry

Data Source

PatentUS10685120B2Data storage device and data storage method for confirming firmware data
Publication Date: 2020.06.16 SILICON MOTION INC
  • US10685120B2 patent drawing
  • US10685120B2 patent drawing
  • US10685120B2 patent drawing

AI summary

A data storage device utilized for confirming firmware data includes a flash memory and a controller. The controller is coupled to the flash memory to receive first firmware data and first sorting hash data related to the first firmware data, and it divides a first hash data generated from the first firmware data into a plurality of data groups, and re-assembles the data groups according to a mapping and sorting algorithm to generate second sorting hash data. The controller includes an efuse region for writing the mapping and sorting algorithm. When the controller determines that the second sorting hash data is identical to the first sorting hash data, the first firmware data is allowed to update the controller.