Storage Device Firmware Validation via Known Data Pattern
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
Data Source
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.


