Event-based apparatus and method for securing bios in a trusted computing system during execution
First Claim
1. An apparatus for protecting a basic input/output system (BIOS) in a computing system, the apparatus comprising:
- a BIOS read only memory (ROM), comprising;
BIOS contents, wherein said BIOS contents are stored as plaintext; and
an encrypted message digest, wherein said encrypted message digest comprises an encrypted version of a first message digest that corresponds to said BIOS contents, and wherein said encrypted version is generated via a symmetric key algorithm and a key;
an event detector, configured to generate a BIOS check interrupt that interrupts normal operation of the computing system upon the occurrence of an event, wherein said event comprises one or more occurrences of a PCI Express access; and
a tamper detector, operatively coupled to said BIOS ROM and said event detector, configured to access said BIOS contents and said encrypted message digest upon assertion of said BIOS check interrupt, and configured to direct a microprocessor to generate a second message digest corresponding to said BIOS contents and a decrypted message digest corresponding to said encrypted message digest using said symmetric key algorithm and said key, and configured to compare said second message digest with said decrypted message digest, and configured to preclude said operation of said microprocessor if said second message digest and said decrypted message digest are not equal;
wherein said microprocessor comprises a dedicated crypto/hash unit disposed within execution logic, and wherein said crypto/hash unit generates said second message digest and said decrypted message digest, and wherein said key is exclusively accessed by said crypto/hash unit; and
wherein said microprocessor further comprises a random number generator disposed within said execution logic, and wherein said random number generator generates a random number at completion of a current BIOS check, which is employed by said event detector to randomly set a number of occurrences of said event that are to occur before a following BIOS check.
1 Assignment
0 Petitions
Accused Products
Abstract
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), an event detector, and a tamper detector. The BIOS ROM has BIOS contents that are stored as plaintext, and an encrypted message digest, where the encrypted message digest comprises an encrypted version of a first message digest that corresponds to the BIOS contents, and where and the encrypted version is generated via a symmetric key algorithm and a key. The event detector is configured to generate a BIOS check interrupt that interrupts normal operation of the computing system upon the occurrence of an event, where the event includes one or more occurrences of a PCI Express access. The tamper detector is operatively coupled to the BIOS ROM 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 using the symmetric key algorithm and the key, and is configured to compare the second message digest with the decrypted message digest, and configured to preclude the operation of the microprocessor if the second message digest and the decrypted message digest are not equal. The microprocessor includes a dedicated crypto/hash unit disposed within execution logic, where the crypto/hash unit generates the second message digest and the decrypted message digest, and where the key is exclusively accessed by the crypto/hash unit. The microprocessor further has a random number generator disposed within the execution logic, where the random number generator generates a random number at completion of a current BIOS check, which is employed by the event detector to randomly set a number of occurrences of the event that are to occur before a following BIOS check.
-
Citations
21 Claims
-
1. An apparatus for protecting a basic input/output system (BIOS) in a computing system, the apparatus comprising:
-
a BIOS read only memory (ROM), comprising; BIOS contents, wherein said BIOS contents are stored as plaintext; and an encrypted message digest, wherein said encrypted message digest comprises an encrypted version of a first message digest that corresponds to said BIOS contents, and wherein said encrypted version is generated via a symmetric key algorithm and a key; an event detector, configured to generate a BIOS check interrupt that interrupts normal operation of the computing system upon the occurrence of an event, wherein said event comprises one or more occurrences of a PCI Express access; and a tamper detector, operatively coupled to said BIOS ROM and said event detector, configured to access said BIOS contents and said encrypted message digest upon assertion of said BIOS check interrupt, and configured to direct a microprocessor to generate a second message digest corresponding to said BIOS contents and a decrypted message digest corresponding to said encrypted message digest using said symmetric key algorithm and said key, and configured to compare said second message digest with said decrypted message digest, and configured to preclude said operation of said microprocessor if said second message digest and said decrypted message digest are not equal; wherein said microprocessor comprises a dedicated crypto/hash unit disposed within execution logic, and wherein said crypto/hash unit generates said second message digest and said decrypted message digest, and wherein said key is exclusively accessed by said crypto/hash unit; and wherein said microprocessor further comprises a random number generator disposed within said execution logic, and wherein said random number generator generates a random number at completion of a current BIOS check, which is employed by said event detector to randomly set a number of occurrences of said event that are to occur before a following BIOS check. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus for protecting a basic input/output system (BIOS) in a computing system, the apparatus comprising:
-
a BIOS read only memory (ROM), comprising; BIOS contents, wherein said BIOS contents are stored as plaintext; and an encrypted message digest, wherein said encrypted message digest comprises an encrypted version of a first message digest that corresponds to said BIOS contents, and wherein said encrypted version is generated via a symmetric key algorithm and a key; and a microprocessor, coupled to said BIOS ROM, said microprocessor comprising; an event detector, configured to generate a BIOS check interrupt that interrupts normal operation of the computing system upon the occurrence of an event, wherein said event comprises one or more occurrences of a PCI Express access; a tamper detector, operatively coupled to said BIOS ROM and said event detector, configured to access said BIOS contents and said encrypted message digest upon assertion of said BIOS check interrupt, and configured to direct said microprocessor to generate a second message digest corresponding to said BIOS contents and a decrypted message digest corresponding to said encrypted message digest using said symmetric key algorithm and said key, and configured to compare said second message digest with said decrypted message digest, and configured to preclude said operation of said microprocessor if said second message digest and said decrypted message digest are not equal; a dedicated crypto/hash unit disposed within execution logic, wherein said crypto/hash unit generates said second message digest and said decrypted message digest, and wherein said key is exclusively accessed by said crypto/hash unit; and a random number generator disposed within said execution logic, and wherein said random number generator generates a random number at completion of a current BIOS check, which is employed by said event detector to randomly set a number of occurrences of said event that are to occur before a following BIOS check. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for protecting a basic input/output system (BIOS) in a computing system, the method comprising:
-
storing BIOS contents as plaintext in a BIOS ROM along with an encrypted message digest that comprises an encrypted version of first message digest that corresponds to the BIOS contents, wherein the encrypted version is generated via a symmetric key algorithm and a key; upon the occurrence of an event, generating a BIOS check interrupt that interrupts normal operation of the computing system, wherein the event comprises one or more occurrences of a PCI Express access; upon assertion of the BIOS check interrupt, accessing the BIOS contents and the encrypted message digest, and generating a second message digest corresponding to the BIOS contents and a decrypted message digest corresponding to the first encrypted message using the symmetric key algorithm and said key; comparing the second message digest with the decrypted message digest; and precluding operation of the microprocessor if the second message digest and the decrypted message digest are not equal; wherein the microprocessor comprises a dedicated crypto/hash unit disposed within execution logic, and wherein the crypto/hash unit generates the second message digest and the decrypted message digest, and wherein the key is exclusively accessed by the crypto/hash unit; and wherein the microprocessor further comprises a random number generator disposed within the execution logic, and wherein the random number generator generates a random number at completion of a current BIOS check, which is employed by the event detector to randomly set a number of occurrences of the event that are to occur before a following BIOS check. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification