IP Library Granted Patent US 8,949,586
Granted Patent B2
US 8,949,586 · App. 13/267,795 · Granted Feb 3, 2015

System and method for authenticating computer system boot instructions during booting by using a public key associated with a processor and a monitoring device

Inventors: Chirag K. Shroff (Apex, NC); Anthony H. Grieco (Wake Forest, NC)
Assignee: Cisco Technology, Inc.
H04L9/3234H04L63/0823G06F21/00H04L9/3263H04L9/3247G06F21/575
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,949,586
App. No.
13/267,795
Granted
Feb 3, 2015
Kind
B2
Abstract

Various systems, processes, and products may be used to authenticate computer system boot instructions. In particular implementations, a system, process, and product for authenticating computer system boot instructions may include the ability to determine, according to pre-boot computer system instructions, whether a public key associated with the boot instructions is authentic using a public key associated with a central processing unit. The system, process, and product may also include the ability to determine, if the public key associated with boot instructions is authentic, whether the boot instructions are authentic using the public key associated with boot instructions. The system, process, and product may further include the ability to launch the boot instructions if the boot instructions are authentic.

Claims (57)

1. A system, comprising:

a boot device having a first memory comprising boot instructions and an associated public key and a second memory comprising pre-boot instructions;

a processor having an associated public key, the processor configured to:

determine whether the pre-boot instructions are authentic using the public key associated with the processor;

determine, if the pre-boot instructions are authentic, whether the public key associated with the boot instructions is authentic using the public key associated with the processor;

determine, if the public key associated with the boot instructions is authentic, whether the boot instructions are authentic using the public key associated with the boot instructions; and

launch the boot instructions if the boot instructions are authentic; and

a monitoring device coupled with the boot device and the processor, the monitoring device configured to:

monitor communications between the processor and the boot device during authentication associated with the boot instructions, and

verify that the boot instructions are authentic by determining if the communications between the processor and the boot device during the authentication conform to one or more pre-defined criteria that specify expected communications during the authentication associated with the boot instructions.

2. The system of claim 1 , wherein the processor is further configured to perform start-up operations that include determining whether the pre-boot instructions are authentic.

3. The system of claim 2 , wherein the start-up operations comprise shutting down the system if the pre-boot instructions are not authentic.

4. The system of claim 2 , wherein the processor is configured to perform start-up operations according to microcode.

5. The system of claim 1 , wherein the processor is further configured to:

shut down the system if the public key associated with the boot instructions is not authentic; and

shut down the system if the boot instructions are not authentic.

6. The system of claim 1 , wherein the processor is configured to:

analyze a digital signature of the public key for the boot instructions using the public key associated with the processor to determine whether the public key for the boot instructions is authentic.

7. The system of claim 1 , wherein the processor is configured to:

analyze a digital signature of the boot instructions using the public key for the boot instructions to determine whether the boot instructions are authentic.

8. The system of claim 1 , wherein the boot instructions comprise a basic input-output system.

9. The system of claim 1 , wherein the monitoring device is further configured:

monitor an operating environment during authentication associated with the boot instructions, and

verify that the boot instructions are authentic by determining if the operating environment during the authentication conforms to one or more pre-defined criteria that specify expected system operating parameters during the authentication associated with the boot instructions.

10. The system of claim 1 , wherein the monitoring device is further configured to:

interrupt system operations if the communications do not satisfy the pre-defined criteria.

11. The system of claim 10 , wherein the monitoring device is configured to shut down the system to interrupt system operations.

12. A method comprising:

determining whether pre-boot instructions are authentic using a public key associated with a central processing unit;

determining whether a public key associated with boot instructions is authentic using the public key associated with the central processing unit;

determining whether the boot instructions are authentic using the public key associated with boot instructions;

launching the boot instructions if the boot instructions are authentic; and

monitoring communications between the central processing unit and a boot device during authentication associated with the boot instructions, wherein the boot device stores the pre-boot instructions and the boot instructions, and verifying that the boot instructions are authentic by determining if the communications between the central processing unit and the boot device during the authentication satisfy one or more predefined criteria that specify expected communications during the authentication associated with the boot instructions.

13. The method of claim 12 , wherein determining whether the a public key associated with boot instructions is authentic is performed according to the pre-boot instructions.

14. The method of claim 12 , further comprising:

shutting down the central processing unit if the public key associated with the boot instructions is not authentic; and

shutting down the central processing unit if the boot instructions are not authentic.

15. The method of claim 12 , wherein determining whether a public key associated with the boot instructions is authentic comprises analyzing a digital signature of the public key using the public key associated with the central processing unit.

16. The method of claim 12 , wherein determining whether the boot instructions are authentic comprises analyzing a digital signature of the boot instructions using the public key for the boot instructions.

17. The method of claim 12 , further comprising:

interrupting system operations if the communications do not satisfy the predefined criteria.

18. The method of claim 17 , wherein the interrupting includes shutting down the central processing unit.

19. Logic encoded on one or more non-transitory computer readable media for execution and when executed operable to:

determine whether pre-boot instructions are authentic using a public key associated with a central processing unit;

determine whether a public key associated with boot instructions is authentic using the public key associated with the central processing unit;

determine, if the public key associated with boot instructions is authentic, whether the boot instructions are authentic using the public key associated with boot instructions;

launch the boot instructions if the boot instructions are authentic; and

monitor communications between the central processing unit and a boot device during authentication associated with the boot instructions, wherein the boot device stores the pre-boot instructions and the boot instructions, and verify that the boot instructions are authentic by determining if the communications between the central processing unit and the boot device during the authentication satisfy one or more predefined criteria that specify expected communications during the authentication associated with the boot instructions.

20. The logic of claim 19 , wherein determining whether the public key associated with boot instructions is authentic is performed according to the pre-boot instructions.

21. The logic of claim 19 , wherein the logic is further operable to:

shut down the central processing unit if the public key associated with the boot instructions is not authentic; and

shut down the central processing unit if the boot instructions are not authentic.

22. The logic of claim 19 , wherein determining whether a public key associated with the boot instructions is authentic comprises evaluating a digital signature of the public key using the public key associated with the central processing unit.

23. The logic of claim 19 , wherein determining whether the boot instructions are authentic comprises analyzing a digital signature of the boot instructions using the public key for the boot instructions.

24. The logic of claim 19 , wherein the logic is further operable to:

interrupt system operations if the communications do not meet the pre-defined criteria.

25. The logic of claim 24 , wherein interrupting system operations comprises shutting down the central processing unit.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR NAME FROM CHIRAG K. SCHROFF TO READ CHIRAG K. SHROFF PREVIOUSLY RECORDED ON REEL 027028 FRAME 0602. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 7, 2011
From: SHROFF, CHIRAG K.; GRIECO, ANTHONY H.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 027034/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2011
From: SCHROFF, CHIRAG K.; GRIECO, ANTHONY H.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 027028/0602 →
Continuity (1)
Related Publication 20130091345A1 · Apr 11, 2013