Computer system having security features for authenticating different components
First Claim
Patent Images
1. A computer system comprising:
- a first section of non-volatile memory configured to store a BIOS program, the first section of non-volatile memory being reprogrammable; and
a second section of non-volatile memory operatively coupled to the first section of non-volatile memory, the second section of non-volatile memory being configured to store a boot-block program;
the BIOS program having a validation routine configured to validate the boot-block program stored in the second section of non-volatile memory.
6 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for protecting a computer system. Specifically, a method and system for validating portions of memory at each power-on cycle is described. A Boot Block is used to validate the BIOS, CMOS and NVRAM of a system. The BIOS may also be used to validate the Boot Block, CMOS and NVRAM.
161 Citations
31 Claims
-
1. A computer system comprising:
-
a first section of non-volatile memory configured to store a BIOS program, the first section of non-volatile memory being reprogrammable; and
a second section of non-volatile memory operatively coupled to the first section of non-volatile memory, the second section of non-volatile memory being configured to store a boot-block program;
the BIOS program having a validation routine configured to validate the boot-block program stored in the second section of non-volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
CMOS memory operatively coupled to at least one of the first section of non-volatile memory and the second section of non-volatile memory; and
non-volatile random access memory (NVRAM) operatively coupled to at least one of the first section of non-volatile memory and the second section of non-volatile memory.
-
-
17. The system, as set forth in claim 16, wherein the validation routine is configured to validate at least one of the CMOS memory and the NVRAM.
-
18. The system, as set forth in claim 1, comprising a processing system operatively coupled to the first section of non-volatile memory and to the second section of non-volatile memory.
-
19. A computer system comprising:
-
means for validating a boot-block program stored in a first section of non-volatile memory with a BIOS program stored in a second section of non-volatile memory, wherein the means for validating the boot-block program comprises;
means for storing a public key and a hash algorithm used to validate the boot-block program;
means for storing an encrypted hash correlative to the boot-block program;
means for calculating a first hash of the boot-block program using the hash algorithm;
means for decrypting the encrypted hash using the public key to produce a second hash; and
means for comparing the first hash to the second hash. - View Dependent Claims (20, 21, 22, 23, 24)
means for booting the system if the first hash matches the second hash; and
means for not booting the system if the first hash does not match the second hash.
-
-
21. The system, as set forth in claim 19, wherein the means for validating the boot-block program comprises:
means for warning a user if the first hash does not match the second hash.
-
22. The system, as set forth in claim 21, wherein the means for validating the boot-block program comprises:
means for booting the system if the first hash does not match the second hash.
-
23. The system, as set forth in claim 21, wherein the means for validating the boot-block program comprises:
means for booting the system if the first hash does not match the second hash in response to an instruction to boot from the user.
-
24. The system, as set forth in claim 19, wherein the means for validating the boot-block program comprises:
means for enabling or disabling resources in dependence upon whether the first hash matches the second hash.
-
25. A method of operating a computer system comprising:
-
validating a book program stored in a first section of non-volatile memory with a BIOS program stored in a second section of non-volatile memory, wherein the act of validating the boot-block program comprises;
storing a public key and a hash algorithm used to validate the boot-block program;
storing an encrypted hash correlative to the boot-block program;
calculating a first hash of the boot-block program using the hash algorithm;
decrypting the encrypted hash using the public key to produce a second hash; and
comparing the first hash to the second hash. - View Dependent Claims (26, 27, 28, 29, 30, 31)
booting the system if the first hash matches the second hash; and
preventing the system from booting if the first hash does not match the second hash.
-
-
27. The method, as set forth in claim 25, wherein the act of validating the boot-block program comprises:
warning a user if the first hash does not match the second hash.
-
28. The method, as set forth in claim 27, wherein the act of validating the boot-block program comprises:
booting the system if the first hash does not match the second hash.
-
29. The method, as set forth in claim 27, wherein the act of validating the boot-block program comprises:
booting the system if the first hash does not match the second hash in response to an instruction to boot from the user.
-
30. The method, as set forth in claim 25, wherein the act of validating the boot-block program comprises:
enabling or disabling resources in dependence upon whether the first hash matches the second hash.
-
31. The method, as set forth in claim 25, wherein the act of validating the BIOS program comprises:
performing at least one of a self-correcting, reset, and default finction if the first hash does not match the second hash.
Specification