Subset Firmware Updates With Hash Authentication for Remote Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Networked devices face challenges in software and firmware updates due to low data-transfer rates, network burden, battery power constraints, and potential for data corruption or malicious changes, which can lead to reduced performance and security risks.
Innovation Solution
The use of delta files that include subsets of files with associated manifests and hash values for integrity verification, allowing selective updates and ensuring authenticity by comparing expected and calculated hash values, with mechanisms to handle unauthorized changes and battery-efficient transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full firmware updates are transmitted over the network, then device security and integrity are improved, but network burden and data-transfer requirements increase
Solution Approach 1:
The firmware update is divided into a baseline image and delta files containing only the differences. This segmentation allows transmitting minimal data (only changed portions) while maintaining complete firmware integrity through the combination of baseline and deltas.
Solution Approach 2:
The baseline firmware image is pre-installed on the device before updates. This preliminary action eliminates the need to transmit the entire firmware repeatedly, reducing network burden while ensuring the device has a complete, verified firmware foundation.
2Reliability
If complete firmware images are downloaded for updates, then update reliability is improved, but battery power consumption increases
Solution Approach 1:
By segmenting the update into delta files rather than complete images, the data transmission and processing volume is minimized, directly reducing the energy required for network communication and firmware application while maintaining update authenticity through cryptographic verification.
3Reliability
If all firmware files are verified for integrity, then security is improved, but processing time and complexity increase
Solution Approach 1:
The verification mechanism extracts and checks only the critical integrity information (hash values, digital signatures) from the delta files and manifests, rather than analyzing every byte of firmware content. This extraction approach maintains security while reducing processing complexity.
Solution Approach 2:
Integrity verification data (hashes, signatures) is pre-computed and embedded in the delta files and manifests during creation. This preliminary preparation eliminates the need for complex real-time analysis, allowing efficient verification at update time while maintaining strong security.
4Manufacturing precision
If version information is tracked for all files, then update accuracy is improved, but device memory requirements increase
Solution Approach 1:
Version control is segmented to track only the baseline version and delta sequence numbers rather than maintaining detailed version information for every individual firmware file. This segmentation reduces memory requirements while preserving accurate update tracking through the structured manifest system.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of creating an update for distribution to network endpoints (108, 110, 112, 114, 116, 118, 120, 122), comprising under control of one or more processors configured with executable instructions: selecting a subset of files (132, 134, 136) to update a plurality of files stored in a memory device of a network endpoint (108, 110, 112, 114, 116, 118, 120, 122) to be updated; generating a hash of the subset of files (132, 134, 136); creating a delta file (124) comprising the subset of files (132, 134, 136) and the hash of the subset of files; and sending, to the network endpoint (108, 110, 112, 114, 116, 118, 120, 122), the subset of files (132, 134, 136), wherein the subset of files (132, 134, 136) is less than a number of the plurality of files stored in the memory device of the network endpoint (108, 110, 112, 114, 116, 118, 120, 122).