Hash-Based One-Time Signatures for Secure IoT Software Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Low-cost and resource-constrained IoT devices face challenges in securely updating software due to high code footprint requirements for asymmetric signature schemes and scalability issues with symmetric authentication schemes, particularly in terms of key management and power consumption.
Innovation Solution
The implementation of hash-based one-time signatures (HB-OTS) with cryptographically secure hash functions for signing and verification, along with a key provisioning scheme that deploys new keys continuously for secure software updates, reducing the need for large key pairs and allowing for efficient validation of update packages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If asymmetric signature schemes (RSA-2048, ECC-256) are used for secure software updates, then security level is improved, but code footprint and resource usage increase
Solution Approach 1:
The patent changes the cryptographic parameter from traditional asymmetric algorithms (RSA-2048, ECC-256) to hash-based one-time signatures (HB-OTS), achieving 128-bit security with only 0.5 KB code footprint compared to the much larger footprints of conventional asymmetric schemes
Solution Approach 2:
The patent employs one-time signature keys that are disposable and used only once, then discarded. Each update package contains a new key pair that is used for verification and then replaced, eliminating the need for long-term key management and reducing overall resource requirements
2Quantity of substance
If symmetric authentication schemes are used for software updates, then code footprint is reduced, but scalability and key management become problematic
Solution Approach 1:
The patent introduces asymmetry through one-time signature key pairs where a private key generates signatures that can be verified by a public key. This asymmetric relationship enables scalable verification without requiring pre-shared secrets between all parties, solving the scalability limitation of symmetric schemes
Solution Approach 2:
The patent performs preliminary key provisioning by embedding future update keys within update packages. Each package contains keys for subsequent updates, allowing the system to scale without requiring complex key distribution infrastructure
3Reliability
If traditional asymmetric signature schemes are implemented, then security is improved, but power consumption and execution time increase
Solution Approach 1:
The patent changes the cryptographic approach to hash-based signatures, which require significantly less computational power and execution time compared to RSA-2048 or ECC-256, while maintaining 128-bit security level suitable for resource-constrained IoT devices
4Quantity of substance
If resource-constrained field nodes are used for IoT devices, then device cost and power consumption are reduced, but secure software update capability is compromised
Solution Approach 1:
The patent changes the cryptographic parameters to use hash-based one-time signatures with 128-bit security, which can be implemented in only 0.5 KB of code, making secure updates feasible on the most resource-constrained IoT devices while maintaining adequate security
Solution Approach 2:
The patent uses disposable one-time keys that eliminate the need for complex key management infrastructure, enabling secure updates on cheap, resource-constrained devices without requiring large amounts of memory or processing power
Data Source
AI summary
In a method for validating software updates, a data processing system contains a current version of a software component. The data processing system saves at least first and second current advance keys (AKs). After saving the current AKs, the data processing system receives an update package for a new version of the software component. The data processing system extracts a digital signature and two or more new AKs from the update package. The data processing system uses at least one current AK to determine whether the digital signature is valid. In response to a determination that the digital signature is valid, the data processing system uses a software image from the update package to update the software component, and the data processing system saves the new AKs, for subsequent utilization as the current AKs.


