Secure BIOS Mechanism with Fuse Override and Integrity Checks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for securing a Basic Input/Output System (BIOS) in computing systems face challenges in balancing accessibility for upgrades with the need to protect against unauthorized tampering, as moving BIOS storage onto the microprocessor die complicates upgrades and encryption methods degrade system performance.
Innovation Solution
The solution involves storing BIOS contents as plaintext with an encrypted message digest, using a tamper detection mechanism that generates random intervals for checking integrity, and employing a JTAG control chain to program intervals and event occurrences, with a fuse to indicate unauthorized activity and an access control element to manage programming, ensuring secure operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If BIOS storage is moved onto the microprocessor die, then security against tampering is improved, but ease of upgrade deteriorates
Solution Approach 1:
The invention separates the BIOS storage into two parts: the main BIOS code remains externally accessible for easy upgrades, while only the critical security verification data (message digest and encrypted key) is placed in internal secure storage on the microprocessor die. This segmentation allows upgrades of the main BIOS without compromising security, as the integrity verification mechanism remains intact.
2Reliability
If encryption is applied to BIOS contents, then security against tampering is improved, but system performance deteriorates
Solution Approach 1:
The invention extracts only the essential security verification element (the encrypted message digest) from the full BIOS encryption approach. Instead of encrypting the entire BIOS contents which would require heavy decryption operations for every access, only a small cryptographic hash (message digest) is encrypted and stored. This reduces the decryption overhead from megabytes of data to just a few bytes, dramatically improving system performance while maintaining security.
3Reliability
If random interval checking is implemented, then detection of unauthorized modification is improved, but use of energy increases
Solution Approach 1:
The invention implements periodic integrity checking of the BIOS at predetermined intervals rather than continuous monitoring. The microprocessor is configured to verify the integrity of the BIOS code by comparing its message digest against the encrypted stored version at these periodic intervals. This periodic action maintains strong detection capability while significantly reducing energy consumption compared to continuous verification, as the system alternates between normal operation and verification modes.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
An apparatus is provided for protecting a basic input/output system (BIOS) in a computing system. The apparatus includes a BIOS read only memory (ROM), a tamper detector, a random number generator, a JTAG control chain, a fuse, a machine specific register, and an access controller. The BIOS ROM includes BIOS contents stored as plaintext, and an encrypted message digest, where the encrypted message digest has an encrypted version of a first message digest that corresponds to the BIOS contents. The tamper detector is operatively coupled to the BIOS ROM, and is configured to generate a BIOS check interrupt at a combination of prescribed intervals and event occurrences, and is configured to access the BIOS contents and the encrypted message digest upon assertion of the BIOS check interrupt, and is configured to direct a microprocessor to generate a second message digest corresponding to the BIOS contents and a decrypted message digest corresponding to the encrypted message digest, and is configured to compare the second message digest with the decrypted message digest, and is configured to preclude the operation of the microprocessor if the second message digest and the decrypted message digest are not equal. The random number generator disposed within the microprocessor, and generates a random number at completion of a current BIOS check, which is employed to set a following prescribed interval, whereby the prescribed intervals are randomly varied. The JTAG control chain is configured to program the combination of prescribed intervals and event occurrences within tamper detection microcode storage. The fuse is configured to indicate whether programming of the combination of prescribed intervals and event occurrences is to be disabled. The machine specific register is configured to store a value therein. The access control element is coupled to the fuse, the machine specific register, and the JTAG control chain, and is configured to determine that the fuse is blown, and configured to direct the JTAG control chain to enable programming of the combination of prescribed intervals and event occurrences if the value matches an override value within the access control element during a period that the value is stored within the machine specific register.