Storage Device Firmware Validation via Known Data Pattern

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for preventing firmware logic tampering in storage devices, such as digital signatures and encryption, are inadequate and fail to effectively recover from tampered or corrupted firmware situations.

Innovation Solution

A storage device system that includes non-volatile storage with a firmware image, a known data pattern in plaintext, and an encrypted version, using a controller to receive a symmetric key for decrypting the encrypted data pattern and validating the firmware image update, ensuring secure updates and booting processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional digital signatures and encryption are used to prevent firmware tampering, then basic security is provided, but the system cannot effectively recover from tampered or corrupted firmware situations

Engineering Contradiction:
Improvefirmware securityVSAvoidfirmware recovery capability
Core Design Contradiction:
ReliabilityVSEase of repair

Solution Approach 1:

The patent stores a known data pattern (KDP) in plaintext within the storage device before firmware updates occur. This preliminary storage of the reference KDP enables the device to later verify firmware integrity and recover from tampering by comparing encrypted firmware data against the stored plaintext KDP, thus providing both security and recovery capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an encrypted known data pattern (encrypted KDP) as an intermediary element between the firmware update process and the verification process. The encrypted KDP serves as a mediator that can be decrypted using the symmetric key to verify firmware integrity, enabling both security verification and recovery operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If firmware validation processes are executed during power-on-reset and downloading, then firmware integrity is checked, but the complexity of the validation process increases

Engineering Contradiction:
Improvefirmware integrity verificationVSAvoidvalidation process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the verification function into a simple comparison operation between the decrypted firmware data and the stored plaintext KDP. By separating the verification logic from the complex download and boot processes, the system achieves reliable integrity verification without significantly increasing overall system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10997297B1Validating firmware for data storage devices
Publication Date: 2021.05.04 SANDISK TECHNOLOGIES LLC
  • US10997297B1 patent drawing
  • US10997297B1 patent drawing
  • US10997297B1 patent drawing

AI summary

This disclosure relates to a storage device comprising non-volatile storage and a controller. The non-volatile storage may comprise a firmware image, a known data pattern (KDP) in plaintext, and an encrypted KDP. The controller may be coupled to the non-volatile storage, and may be configured to update the firmware image of the non-volatile storage. For this update, the controller may first receive a symmetric key from a host by way of a public key encryption process. Next, the controller may decrypt the encrypted KDP using the symmetric key. If the decrypted KDP matches the KDP in plaintext, the symmetric key may be validated and the firmware image update may be downloaded. The firmware image update may then replace the firmware image in non-volatile storage.