Secure Software Update via External Hardware Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software update mechanisms for standalone devices often require costly and complex communication links for secure verification, introducing potential security gaps and compatibility issues.
Innovation Solution
A secure software update mechanism that uses an external hardware device, such as a USB flash drive, to validate and verify software updates without an active communication link, employing symmetrical and asymmetrical key encryption and digital signatures to ensure integrity and authenticity, with a validation process that includes checksum calculations and encryption of session keys.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If digital certificates and public/private key pairs are used to secure software updates, then security and authenticity verification is improved, but device complexity and maintenance costs increase due to requiring communication links for certificate validation
Solution Approach 1:
The security verification process is segmented into two independent parts: (1) a communication phase where the update package with digital signature is transferred via any medium, and (2) a local verification phase where the standalone device uses embedded public keys to validate the signature without needing communication links. This segmentation eliminates the contradiction by separating the certificate distribution from the verification process.
Solution Approach 2:
Public keys for verification are pre-loaded into the standalone device's secure storage during manufacturing or initial setup. This preliminary action ensures that the device has all necessary verification credentials embedded before receiving updates, eliminating the need for ongoing communication links for certificate validation and reducing device complexity.
2Measurement precision
If checksum algorithms like MD5 are applied to verify software integrity, then detection of corruption and modification is improved, but security against malicious code is insufficient without additional encryption
Solution Approach 1:
The patent combines multiple security mechanisms into a composite verification system: MD5 checksum algorithms provide integrity verification, RSA public/private key pairs provide cryptographic signing, and digital certificates provide authentication. This composite approach integrates weak individual elements into a strong unified security system that achieves both precise integrity measurement and reliable protection against tampering.
Solution Approach 2:
The patent merges checksum verification and cryptographic signature verification into a unified validation process. The update package contains both the software and its digital signature, and the verification system combines MD5 integrity checks with RSA signature validation to achieve comprehensive security that neither method could provide alone.
3Ease of operation
If private keys are distributed to devices for decryption of updates, then ease of operation is improved, but security is compromised as the purpose of public/private key pairs is thwarted
Solution Approach 1:
Instead of distributing private keys to devices for decryption (which would compromise security), the patent inverts the approach: private keys remain securely embedded in the standalone device for signing verification, while public keys are distributed in update packages for authentication. This inversion maintains cryptographic security while enabling easy verification of update authenticity.
Solution Approach 2:
The patent introduces digital signatures as an intermediary mechanism between the update source and the device. Rather than direct key exchange or private key distribution, the update package includes a digital signature that mediates the verification process, allowing the device to authenticate updates without ever needing the source's private key.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A secure software update provides an update utility with an update definition, a private encryption key and a public signature key to a target device. A software update package is prepared on portable media that includes an executable update program, a checksum for the program that is encrypted with a symmetrical key, an encrypted symmetrical key that is encrypted with a public encryption key and a digital signature prepared with a private signature key. The update process authenticates the digital signature, decrypts the symmetrical key using the private encryption key, and decrypts the checksum using the symmetrical key. A new checksum is generated for the executable update program and compared to the decrypted checksum. If inconsistencies are detected during the update process, the process is terminated. Otherwise, the software update can be installed with a relatively high degree of assurance against corruption, viruses and third party interference.