Multistage Secure Boot Using Precomputed Firmware Authentication Tags
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional boot processes in computing devices, particularly those with multiple hardware components, are inefficient and time-consuming due to the need for multiple asymmetric cryptographic calculations, which are processor-intensive and increase boot time and power consumption.
Innovation Solution
Implement a multistage boot process using independent stage keys, where authentication tags generated during a previous boot operation are used for faster symmetric cryptographic authentication of firmware images, reducing the need for repeated asymmetric cryptographic operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple asymmetric cryptographic calculations are performed to authenticate firmware during boot, then security is improved, but boot time increases
Solution Approach 1:
The boot process is divided into multiple stages, with each stage having its own dedicated key (stage key). This segmentation allows the system to use different cryptographic approaches for different boot stages, optimizing both security and performance. The first stage key is used for initial authentication, while subsequent stages use their own keys, avoiding repeated asymmetric calculations.
Solution Approach 2:
Authentication tags are generated in advance during previous boot operations and stored for later use. These pre-computed authentication tags eliminate the need to perform full asymmetric cryptographic calculations during each boot, as the system can verify firmware using the pre-generated tags with faster symmetric operations.
2Reliability
If multiple asymmetric cryptographic calculations are performed to authenticate firmware during boot, then security is improved, but power consumption increases
Solution Approach 1:
The boot process is divided into multiple stages, with each stage having its own dedicated key (stage key). This segmentation allows the system to use different cryptographic approaches for different boot stages, optimizing both security and performance. The first stage key is used for initial authentication, while subsequent stages use their own keys, avoiding repeated asymmetric calculations.
Solution Approach 2:
Authentication tags are generated in advance during previous boot operations and stored for later use. These pre-computed authentication tags eliminate the need to perform full asymmetric cryptographic calculations during each boot, as the system can verify firmware using the pre-generated tags with faster symmetric operations.
3Loss of time
If symmetric cryptographic operations are used instead of asymmetric operations, then boot time is reduced, but authentication security may be compromised
Solution Approach 1:
Authentication tags are generated in advance during previous boot operations and stored for later use. These pre-computed authentication tags eliminate the need to perform full asymmetric cryptographic calculations during each boot, as the system can verify firmware using the pre-generated tags with faster symmetric operations.
Solution Approach 2:
Authentication tags serve as intermediaries between the asymmetric cryptographic operations (performed once during previous boots) and the current boot verification process. These tags enable fast symmetric verification while maintaining the security guarantees of the original asymmetric authentication, acting as a secure mediator that preserves authentication integrity.
Data Source
AI summary
Disclosed are systems, apparatuses, methods, and computer-readable media for booting a device with independent stage keys. In one illustrative example, a computing device can generate a first stage key for a first stage of a current boot operation of the device based on a private key associated with the device. The computing device can authenticate a first firmware of the first stage using a first authentication tag and the first stage key, wherein the first authentication tag is generated during a previous boot operation. computing device can execute the first firmware based on authenticating the first firmware.


