Boot ROM Provider Bootloader Multi-OEM Key Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices manufactured with components from multiple OEMs face challenges in verifying and loading firmware due to the impracticality of including multiple public keys in the chipset, leading to performance limitations.
Innovation Solution
A network device executes a boot ROM application to load a provider bootloader application that includes multiple OEM public keys, allowing it to verify and load OEM bootloader applications using a single provider public key, thereby enabling the installation of authorized firmware and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple OEM public keys are included in the chipset, then multiple OEM bootloader applications can be verified, but the device complexity and manufacturing difficulty increase
Solution Approach 1:
A provider bootloader application is introduced as an intermediary between the chipset and multiple OEM bootloader applications. The chipset contains only a single provider public key, and the provider bootloader application includes multiple OEM public keys in its header. This intermediary structure allows verification of multiple OEM bootloaders without increasing chipset complexity.
Solution Approach 2:
The verification functionality is segmented into two layers: (1) chipset level with single provider public key for verifying provider bootloader, and (2) provider bootloader level with multiple OEM public keys for verifying OEM bootloaders. This segmentation separates the trust anchor storage from the multi-OEM verification capability.
2Adaptability or versatility
If multiple OEM public keys are included in the chipset, then multiple OEM bootloader applications can be verified, but the manufacturing process becomes more difficult
Solution Approach 1:
The provider bootloader application serves as an intermediary that consolidates multiple OEM public keys outside the chipset. This allows the chipset to be manufactured with a simple single-key structure, while the provider bootloader (loaded from external memory) provides the multi-OEM verification capability.
Solution Approach 2:
Multiple OEM public keys are copied into the provider bootloader application's header section, which is then loaded into system memory during boot. This copying approach allows the keys to be distributed and updated without modifying the chipset hardware.
3Device complexity
If a single provider public key is used, then device complexity is reduced, but the ability to verify multiple OEM bootloader applications is limited
Solution Approach 1:
The verification capability is extended to another dimension by moving from chipset-embedded keys to provider bootloader-included keys. The single provider public key in the chipset verifies the provider bootloader, which in turn contains multiple OEM public keys, creating a hierarchical verification structure that expands adaptability without increasing chipset complexity.
Solution Approach 2:
The provider bootloader application performs multiple functions: (1) verified by the provider public key in the chipset, (2) contains multiple OEM public keys in its header, and (3) enables verification of multiple OEM bootloader applications. This multi-functional design achieves versatility without increasing chipset complexity.
Data Source
AI summary
A network device may load, via a boot ROM application, a provider bootloader application from a memory of the network device and may calculate a first hash value based on decrypting a provider bootloader signature with a provider public key. The network device may calculate a second hash value based on the provider bootloader application and may utilize, when the first hash value and the second hash value are equivalent, the provider bootloader application to load an original equipment manufacturer (OEM) bootloader application from the memory. The network device may calculate a third hash value based on decrypting an OEM bootloader signature with one of a plurality of OEM public keys. The network device may calculate a fourth hash value based on the OEM bootloader application. The network device may complete, when the third hash value and the fourth hash value are equivalent, a boot process for the network device.


