IP Library Granted Patent US 11,580,225
Granted Patent B2
US 11,580,225 · App. 16/775,823 · Granted Feb 14, 2023

Determine whether to perform action on computing device based on analysis of endorsement information of a security co-processor

Inventors: Luis E. Luciani, Jr. (Tomball, TX); Darrell R. Haskell (Pagosa Springs, CO)
Assignee: Hewlett Packard Enterprise Development LP
G06F21/57G06F1/3206G06F9/3877G06F9/4401G06F21/121
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 11,580,225
App. No.
16/775,823
Granted
Feb 14, 2023
Kind
B2
Abstract

Examples disclosed herein relate to a computing device that includes a central processing unit, a management controller separate from the central processing unit, and a security co-processor. The management controller is powered using an auxiliary power rail that provides power to the management controller while the computing device is in an auxiliary power state. The security co-processor includes device unique data. The management controller receives the device unique data and stores a representation at a secure location. At a later time, the management controller receives endorsement information from an expected location of the security co-processor. The management controller determines whether to perform an action on the computing device based on an analysis of the endorsement information and the stored representation of the device unique data.

Claims (62)

1. A computing device comprising:

a controller hub;

a multiplexor;

at least one central processing unit (CPU);

a management controller separate from the at least one CPU, wherein the management controller is powered using an auxiliary power rail that provides power to the management controller while the computing device is in an auxiliary power state; and

a security co-processor including a device unique data unique to the security co-processor, wherein the device unique data comprises a cryptographic key,

wherein the management controller is to:

at a first time, receive the device unique data comprising the cryptographic key and store a representation of the device unique data in a secure location;

at a later time after the first time, as part of a validation sequence during a boot of the computing device:

control, using a control signal, the multiplexor to connect the management controller to the security co-processor,

receive, through the multiplexor, endorsement information from an expected location of the security co-processor,

compare information based on the endorsement information to the representation of the device unique data comprising the cryptographic key, and

determine whether to enable or prevent the boot of the computing device according to whether the information based on the endorsement information matches the representation of the device unique data comprising the cryptographic key; and

after the validation sequence, control, using the control signal, the multiplexor in the computing device to connect the controller hub to the security co-processor.

2. The computing device of claim 1 , wherein the management controller is to control the multiplexor after the validation sequence to connect the controller hub to the security co-processor in response to the information based on the endorsement information matching the representation of the device unique data comprising the cryptographic key,

wherein the controller hub is to manage data communication between the CPU and other components of the computing device.

3. The computing device of claim 1 , wherein the management controller is to:

after controlling the multiplexor to connect the management controller to the security co-processor:

send a startup command to the security co-processor, and

after the sending of the startup command, send a request to the security co-processor for the endorsement information.

4. The computing device of claim 1 , wherein the endorsement information comprises a cryptographic key.

5. The computing device of claim 1 , wherein the representation of the device unique data is a hash of the device unique data.

6. The computing device of claim 1 , wherein the management controller is to, as part of the validation sequence, validate program code of the management controller and a firmware image in a firmware memory.

7. The computing device of claim 1 , wherein the management controller is to prevent the boot of the computing device in response to the information based on the endorsement information not matching the representation of the device unique data comprising the cryptographic key.

8. The computing device of claim 1 , wherein the management controller is a baseboard management controller.

9. The computing device of claim 1 , wherein the management controller is to perform the validation sequence again on a next boot of the computing device.

10. The computing device of claim 1 , wherein the security co-processor is powered by the auxiliary power rail when the validation sequence is performed.

11. A non-transitory machine-readable storage medium comprising instructions that upon execution cause a management controller to:

receive, at a first time, a device unique data from a security co-processor that is unique to the security co-processor of a computing device that further comprises the management controller and a central processing unit (CPU) separate from the management controller, wherein the device unique data comprises a cryptographic key;

store a representation of the device unique data in a secure location,

wherein the management controller is powered using an auxiliary power rail that provides power to the management controller while the computing device is in an auxiliary power state;

at a later time after the first time and as part of a validation sequence during a boot of the computing device:

control, using a control signal, a multiplexor in the computing device to connect the management controller to the security co-processor,

receive, through the multiplexor, endorsement information from an expected location of the security co-processor;

compare information based on the endorsement information to the representation of the device unique data comprising the cryptographic key, and

determine whether to enable or prevent the boot of the computing device according to whether the information based on the endorsement information matches the representation of the device unique data comprising the cryptographic key; and

after the validation sequence, control, using the control signal, the multiplexor in the computing device to connect a controller hub of the computing device to the security co-processor.

12. The non-transitory machine-readable storage medium of claim 11 , wherein the controller hub is to manage data communication between the CPU and other components of the computing device.

13. The non-transitory machine-readable storage medium of claim 12 , further comprising instructions that when executed cause the management controller to:

control the multiplexor after the validation sequence to connect the controller hub to the security co-processor in response to the information based on the endorsement information matching the representation of the device unique data comprising the cryptographic key.

14. The non-transitory machine-readable storage medium of claim 11 , further comprising instructions that when executed cause the management controller to:

after controlling the multiplexor to connect the management controller to the security co-processor:

send a startup command to the security co-processor, and

after the sending of the startup command, send a request to the security co-processor for the endorsement information.

15. The non-transitory machine-readable storage medium of claim 11 , further comprising instructions that when executed cause the management controller to as part of the validation sequence, validate program code of the management controller and a firmware image in a firmware memory.

16. A method comprising:

receiving, by a management controller at a first time, a device unique data from a security co-processor that is unique to the security co-processor of a computing device that further comprises the management controller and a central processing unit (CPU) separate from the management controller, wherein the device unique data comprises a cryptographic key;

storing, by the management controller, a representation of the device unique data in a secure location,

wherein the management controller is powered using an auxiliary power rail that provides power to the management controller while the computing device is in an auxiliary power state;

at a later time after the first time and as part of a validation sequence during a boot of the computing device:

controlling, using a control signal, a multiplexor in the computing device to connect the security co-processor to the management controller;

receiving, by the management controller through the multiplexor, endorsement information from an expected location of the security co-processor;

comparing information based on the endorsement information to the representation of the device unique data comprising the cryptographic key, and

determining, by the management controller, whether to enable or prevent the boot of the computing device according to whether the information based on the endorsement information matches the representation of the device unique data comprising the cryptographic key; and

after the validation sequence, controlling, using the control signal, the multiplexor in the computing device to connect a controller hub of the computing device to the security co-processor.

17. The method of claim 16 , wherein the management controller controls the multiplexor to connect the controller hub to the security co-processor in response to the information based on the endorsement information matching the representation of the device unique data comprising the cryptographic key.

18. The method of claim 16 , further comprising:

after controlling the multiplexor to connect the management controller to the security co-processor:

sending, by the management controller, a startup command to the security co-processor, and

after the sending of the startup command, sending a request to the security co-processor for the endorsement information.

19. The method of claim 16 , wherein the representation of the device unique data is a hash of the device unique data.

20. The method of claim 16 , wherein the management controller is to prevent the boot of the computing device in response to the information based on the endorsement information not matching the representation of the device unique data comprising the cryptographic key.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2023
From: LUCIANI, LUIS E., JR.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 062298/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: LUCIANI, LUIS; HASKELL, DARRELL R.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 051659/0851 →
Continuity (1)
Related Publication 20210232688A1 · Jul 29, 2021
Cited By (1)
US 12,657,033