Secure Boot Device Using Segmented Key Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing devices for metering, such as electric and gas meters, face challenges in balancing fast boot times, security, and compactness due to the memory and processing demands of traditional public key algorithms used for firmware updates.
Innovation Solution
The implementation of a secure boot device that utilizes a combination of digital signature and symmetric key message digest mechanisms, including a control module, memory, and bootloader, to verify firmware updates and ensure security checks are performed efficiently, using symmetric key algorithms for verification and storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If public key algorithms are used to verify firmware digital signatures, then security is improved, but memory usage and processing power requirements increase
Solution Approach 1:
The verification process is segmented into two distinct phases: (1) controller performs digital signature verification using public key algorithm, and (2) bootloader performs message digest verification using symmetric key algorithm. This segmentation allows the computationally intensive public key operation to be performed only once during firmware update, while subsequent boot operations use the lighter symmetric key verification, reducing overall memory and processing requirements.
Solution Approach 2:
The controller performs the computationally intensive digital signature verification as a preliminary action before the bootloader executes. The verification result and associated symmetric key are stored in memory, allowing the bootloader to perform only the lighter message digest verification. This preliminary action eliminates the need for the bootloader to perform heavy public key operations, reducing its memory and processing requirements.
2Reliability
If public key algorithms are used to verify firmware digital signatures, then security is improved, but processing power requirements increase
Solution Approach 1:
The verification process is segmented into two distinct phases: (1) controller performs digital signature verification using public key algorithm, and (2) bootloader performs message digest verification using symmetric key algorithm. This segmentation allows the computationally intensive public key operation to be performed only once during firmware update, while subsequent boot operations use the lighter symmetric key verification, reducing overall processing power requirements.
Solution Approach 2:
The controller performs the computationally intensive digital signature verification as a preliminary action before the bootloader executes. The verification result and associated symmetric key are stored in memory, allowing the bootloader to perform only the lighter message digest verification. This preliminary action eliminates the need for the bootloader to perform heavy public key operations, reducing its processing power requirements.
3Reliability
If traditional secure boot methods are used, then security is improved, but boot time increases
Solution Approach 1:
The boot verification process is segmented into two phases with different security mechanisms: the controller performs comprehensive digital signature verification (slower but more secure), while the bootloader performs faster message digest verification using pre-computed symmetric keys. This segmentation maintains security while reducing boot time, as the expensive public key operations are performed only once during firmware update, not during every boot operation.
Data Source
AI summary
One embodiment is a device comprising a controller for verifying a digital signature of a process, a memory for storing an indication from the controller that the digital signature was verified the indication including at least one symmetric key, and a bootloader for receiving the indication from the memory and performing at least one security check using the at least one symmetric key, wherein the bootloader executes a function of the external process, only when it passes the security check.


