Secure Boot Code Update via Hardware Memory Locking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face vulnerabilities in their system firmware, particularly BIOS code, which can be compromised by malware during updates, as existing methods lack secure mechanisms to lock and unlock memory regions effectively, making them susceptible to tampering.
Innovation Solution
A multi-phase update procedure is implemented using a hardware locking mechanism to securely update system firmware by locking one memory region while unlocking another, ensuring that only the intended region is updated, and employing digital signatures for authenticity, along with system management mode locking for enhanced security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the memory region storing system firmware is unlocked to allow updates, then the firmware can be updated to address bugs or add features, but the memory region becomes vulnerable to tampering by malware
Solution Approach 1:
The memory space is divided into multiple regions: a first memory region for storing the current system firmware, a second memory region for storing updated firmware, and a third memory region for storing boot code. This segmentation allows selective locking and unlocking of specific regions during updates, enabling firmware updates while maintaining security by keeping the boot code region locked.
Solution Approach 2:
The updated system firmware is prepared and stored in the second memory region before the actual update execution. The boot code in the third region is executed first to initiate the update process, ensuring that the update is performed by trusted code while the target region is properly prepared and locked appropriately.
2Object-affected harmful factors
If hardware locking mechanism is used to protect memory regions during firmware updates, then security against tampering is improved, but the complexity of the update procedure increases
Solution Approach 1:
The system firmware itself contains the update execution code that automatically manages the locking and unlocking of memory regions during the update process. The firmware performs self-update by executing the multi-phase procedure, eliminating the need for external complex control mechanisms while maintaining security.
3Reliability
If digital signatures are verified for firmware authenticity, then the security and integrity of firmware updates are ensured, but the update process time increases
Solution Approach 1:
The digital signature verification is performed in advance during the multi-phase update procedure, before the actual firmware execution. By verifying the signature of the updated firmware in the second memory region before switching to it, the system ensures authenticity while minimizing the time impact on the main update process.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
It is determined whether an updated first boot phase code is present. The updated first boot phase code is validated. In response to the validating, a current version of the first boot phase code is updated using the updated first boot phase code.