Encrypted Firmware Update Key Chain
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for updating firmware on computing systems are insecure, as publicly available software packages can be decomposed by malicious users, and existing secure update techniques are cumbersome and time-consuming.
Innovation Solution
A method involving the transmission of encrypted software packages and decryption keys, where each version of the software and its corresponding decryption key are encrypted, allowing only the previous decryption key to decrypt the next version, ensuring secure updates without exposing the source code to unintended users.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If firmware updates are made publicly available, then users can easily download and install updates, but malicious users can decompile the firmware and gain access to source code
Solution Approach 1:
The firmware update package is encrypted with a decryption key before being made publicly available. The encryption is performed in advance, so when users download the update package, it is already protected. This preliminary encryption action prevents malicious users from decompiling and accessing source code, while still allowing legitimate users to update their firmware through the public channel.
2Object-affected harmful factors
If secure update methods are implemented, then source code protection is improved, but the update process becomes cumbersome and time consuming
Solution Approach 1:
The decryption key is automatically provided to the computing system through the firmware update package itself or through an automated delivery mechanism. The system performs self-service by automatically receiving and applying the decryption key without requiring manual intervention, specialized procedures, or time-consuming authentication processes. This eliminates the cumbersome aspects of traditional secure update methods while maintaining source code protection.
Data Source
AI summary
A method for updating software comprises transmitting a first version of the software and a first decryption key to a computing system. The method further comprises generating a second version of the software and a second decryption key. The method further comprises encrypting the second version of the software and the second decryption key. The encrypted second version of the software is configured to be decrypted using the first decryption key and not the second decryption key. The method further comprises transmitting the encrypted second version of the software and the encrypted second decryption key to the computing system.


