Platform Firmware Resilience Project Name Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing Platform Firmware Resilience (PFR) systems face challenges in correctly identifying and authenticating firmware images for different hardware platforms, leading to potential boot failures due to the use of shared root keys and code signing keys across multiple platforms, which can result in incorrect firmware being loaded.
Innovation Solution
Incorporating a project name specific to each hardware platform into the Platform Firmware Resilience routine, stored in non-volatile memory, to compare with the project name of firmware images and prevent access if they do not match, ensuring that only compatible firmware is loaded and executed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the same root key and code signing key are used across multiple hardware platforms to reduce costs, then key management cost is reduced, but the risk of loading incorrect firmware increases
Solution Approach 1:
The patent segments the firmware authentication process by introducing a project name field that uniquely identifies each hardware platform. This segmentation allows the system to maintain a single root key and code signing key across multiple platforms while still being able to distinguish between different firmware images through their associated project names, thereby resolving the contradiction between cost reduction and reliability.
Solution Approach 2:
The patent introduces an intermediary mechanism - the project name field stored in non-volatile memory alongside the firmware image - that mediates between the shared cryptographic keys and the specific hardware platform. This intermediary allows the Platform Firmware Resilience routine to verify not only the cryptographic signature but also the contextual compatibility of the firmware with the target platform, preventing incorrect firmware from being loaded despite shared keys.
2Speed
If the Platform Firmware Resilience routine only performs cryptographic signature verification, then authentication speed is improved, but the ability to prevent boot failure from incorrect firmware is reduced
Solution Approach 1:
The patent applies preliminary action by having the Platform Firmware Resilience routine perform an additional project name comparison check before allowing firmware execution. This preliminary verification step ensures that even if cryptographic verification passes, the firmware is specifically compatible with the target hardware platform, preventing boot failures without significantly impacting authentication speed.
3Quantity of substance
If firmware images are stored without platform-specific identification, then storage efficiency is improved, but the risk of firmware mismatch with hardware platform increases
Solution Approach 1:
The patent applies local quality by associating a project name field with each firmware image, creating a localized identifier that specifies the intended hardware platform for that particular firmware. This local identification allows the system to maintain efficient storage while enabling precise matching between firmware and hardware platform through the project name comparison in the authentication routine.
Data Source
AI summary
A method and system to ensure correct firmware image execution in a computer system. The computer system has a processor executing a basic input/output system (BIOS) and a baseboard management controller (BMC). A first flash memory device is coupled to the processor storing a BIOS firmware image and a project name. A second flash memory device is coupled to the BMC storing a BMC firmware image and the project name. A programmable logic device is coupled to the first and second flash memory devices. The programmable logic device including a non-volatile memory storing a project name. The programmable logic device is configured to execute a Platform Firmware Resilience routine to compare the project name of the BIOS firmware image and the project name of the BMC firmware image with the stored project name before starting the BMC or executing the BIOS firmware image by the processor.


