Firmware Upload Authentication for ROM-Less Electronic Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Ensuring the authenticity of firmware in ROM-less electronic devices without a dedicated hardware implementation, particularly in the presence of unsecure communication channels, to prevent unauthorized firmware uploads and data injection.
Innovation Solution
A method involving a cryptographic processor to decrypt firmware modules using stored keys, verify their authenticity, and install them in a volatile memory, while ensuring secure communication through a cryptographic processor, and utilizing a pseudo-monotonic counter to prevent unauthorized firmware execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If firmware is stored in volatile memory for ROM-less devices, then device complexity and cost are reduced, but firmware authenticity and security cannot be ensured
Solution Approach 1:
The patent applies preliminary action by storing cryptographic keys in non-volatile memory before firmware execution. The initial firmware key is stored in non-volatile memory during device manufacturing, enabling subsequent verification of firmware authenticity without requiring dedicated security hardware during operation. This preliminary preparation allows the system to maintain simplicity while ensuring security.
Solution Approach 2:
The patent uses cryptographic keys as an intermediary mechanism between the firmware and the verification system. Instead of directly verifying firmware authenticity through complex hardware security modules, the system employs cryptographic signatures and keys as intermediaries to validate firmware integrity, thereby maintaining device simplicity while ensuring authenticity.
2Speed
If firmware is uploaded through an interface directly accessible to volatile memory, then upload speed is improved, but security against unauthorized firmware injection is compromised
Solution Approach 1:
The patent introduces the cryptographic processor as an intermediary between the communication interface and the volatile memory. When firmware is uploaded through the interface, the cryptographic processor verifies the firmware's digital signature using stored cryptographic keys before allowing installation. This intermediary verification step prevents unauthorized firmware injection while maintaining efficient upload speeds through the direct interface path.
Solution Approach 2:
The system performs preliminary cryptographic verification of uploaded firmware before installing it in volatile memory. The cryptographic processor checks the firmware signature against stored keys in advance, ensuring authenticity is verified before the firmware gains execution capability, thereby preventing unauthorized injection.
3Reliability
If cryptographic verification is performed for every firmware upload, then firmware authenticity is ensured, but power consumption increases
Solution Approach 1:
The patent implements periodic cryptographic verification only when firmware upload operations occur, rather than continuous verification. The cryptographic processor performs authentication checks selectively during firmware update events, and the system returns to low-power operation between such events. This periodic approach ensures authenticity when needed while minimizing power consumption during normal operation.
Data Source
AI summary
The present disclosure relates to a method including executing, by an electronic device, a first firmware module stored in a volatile memory of the electronic device, the execution of the first firmware module causing an updated firmware key to be stored in a non-volatile memory of the electronic device, and uploading a second firmware module to the electronic device. The method also includes decrypting the second firmware module by a cryptographic processor of the electronic device based on the updated firmware key, and installing the decrypted second firmware module in the volatile memory of the electronic device at least partially overwriting the first firmware module.


