IP Library Granted Patent US 10,482,257
Granted Patent B2
US 10,482,257 · App. 15/460,501 · Granted Nov 19, 2019

System and method to enforce the secure boot policy of a platform on a virtual machine

Inventors: Shekar Babu Suryanarayana (Bangalore, IN); Sumanth Vidyadhara (Bangalore, IN); Chandrasekhar Puthillathe (Bangalore, IN)
Assignee: Dell Products, L.P.
G06F21/575G06F9/45558G06F21/33G06F21/445G06F2009/45583G06F2009/45587
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 10,482,257
App. No.
15/460,501
Granted
Nov 19, 2019
Kind
B2
Abstract

A method to enforce secure boot policy in an IHS configured with a plurality of virtual machines. The method includes detecting a request for a virtual machine to access a service processor. In response to detecting the request, the method includes triggering a handshake request between a hypervisor boot emulator and the service processor to initiate a sequence of authentication steps to access a corresponding secure partition of memory from among a plurality of secure partitions of memory associated with the service processor. Each secure partition of memory has a corresponding virtual platform key for preserving secure access to the corresponding secure partition of memory stored in a secure platform. The method further includes dynamically generating unlock keys, derived in part by the corresponding virtual platform key, to authenticate a requesting virtual machine as a valid virtual machine to obtain access to a corresponding secure partition of memory.

Claims (77)

1. A method to enforce a secure boot policy in an information handling system (IHS) configured with a plurality of virtual machines, the method comprising:

detecting, at a hypervisor boot emulator, a request for a virtual machine of the plurality of virtual machines to access a service processor;

in response to detecting the request, triggering a handshake request between the hypervisor boot emulator and the service processor to initiate a sequence of authentication steps to access a corresponding secure partition of memory from among a plurality of secure partitions of memory associated with the service processor, each secure partition of memory having a corresponding virtual platform key for preserving secure access to the corresponding secure partition of memory stored in a secure platform associated with the service processor; and

dynamically generating unlock keys, following authentication of a boot signature of the virtual machine, the unlock keys generated to authenticate a requesting virtual machine as a valid virtual machine to obtain access to a corresponding secure partition of memory.

2. The method of claim 1 , further comprising:

in response to the requesting virtual machine successfully providing a corresponding unlock key to the hypervisor boot emulator and obtaining validation at each of the sequence of authentication steps, providing access to the corresponding secure partition of memory subsequent to a valid virtual machine successfully obtaining validation at each step of the sequence of authentication steps; and

denying access by the requesting virtual machine to the plurality of secure partitions of memory in response to invalidation of the unlock key at any one of the sequence of authentication steps.

3. The method of claim 1 , wherein the sequence of authentication steps further comprises:

in response to detecting the handshake request, receiving the boot signature from the virtual machine;

comparing the boot signature to at least one secure signature of a plurality of secure signatures stored in a valid signature database;

in response to the boot signature matching a secure signature, dynamically generating a valid unlock key; and

assigning the valid unlock key to the valid virtual machine.

4. The method of claim 3 , further comprising:

storing the valid unlock key in the valid signature database, the valid unlock key being one of a mixed set of keys, a unique signature, and a hash of a virtual machine boot signature.

5. The method of claim 1 , wherein the sequence of authentication steps further comprises:

assigning a corresponding runtime service client interface to the hypervisor boot emulator in communication with the requesting virtual machine;

receiving, at the corresponding runtime service client interface, an unlock key;

comparing at least a portion of the unlock key to the corresponding virtual platform key;

in response to determining that at least the portion of the unlock key corresponds to the corresponding virtual platform key, dynamically generating a valid session identification that assigns the requesting virtual machine to the corresponding runtime service client interface; and

storing the valid session identification on a valid signature database.

6. The method of claim 5 , further comprises:

detecting the valid session identification of the requesting virtual machine, at the hypervisor boot emulator, during a subsequent virtual machine operating system boot request; and

dynamically authenticating an assignment of the requesting virtual machine to the corresponding runtime service client interface.

7. The method of claim 1 , wherein the sequence of authentication steps further comprises:

receiving a session identification at the hypervisor boot emulator in response to a virtual machine operating system boot request;

comparing at least a select portion of the session identification to a valid session identification stored in the valid signature database;

in response to at least the select portion of the session identification being associated with the valid session identification, receiving a signed certificate from the hypervisor boot emulator;

comparing the received signed certificate to at least one valid signed certificate stored in a valid signed certificate database associated with the corresponding secure partition of memory; and

enabling secure boot with access to the corresponding secure partition of memory in response to the signed certificate matching the at least one valid signed certificate.

8. The method of claim 1 , further comprising:

implementing one of a runtime service and a hypercall to initiate the sequence of authentication steps to access the corresponding secure partition of memory, wherein the runtime service and the hypercall are each a Unified Extensible Firmware Interface (UEFI) runtime service established in a hypervisor that forms an association between a platform key and each of the corresponding virtual platform keys.

9. The method of claim 8 , wherein each of the corresponding virtual platform keys is signed by the platform key, wherein the platform key secures the platform storing the secure partitions of memory.

10. The method of claim 8 , further comprises storing at least a portion of the corresponding virtual platform keys in the valid signature database.

11. A method in an information handling system (IHS) for:

storing at least one partition of memory in a secure platform having accessibility via a platform key; and

at least in part, dynamically generating a unique virtual platform key for each corresponding partition of memory;

selectively assigning the unique virtual platform key to individually secure each corresponding partition of memory; and

signing each unique virtual platform key with the platform key.

12. The method of claim 11 , further comprising:

generating subsequent unlock keys to secure at least one database stored in the at least one partition of memory, wherein at least a portion of the unlock keys is formed using a derivative of the virtual platform key.

13. An information handling system (IHS) comprising:

a processor;

a hypervisor;

a service processor having at least one partition of memory;

a memory system communicatively coupled to the hypervisor and having stored thereon a secure boot utility that executes on the processor to enable the hypervisor to:

detect, at a hypervisor boot emulator, a request for a virtual machine of a plurality of virtual machines to access the service processor;

in response to detection of the request, triggering a handshake request between the hypervisor boot emulator and the service processor to initiate a sequence of authentication steps to access a corresponding secure partition of memory from among a plurality of secure partitions of memory associated with the service processor, each secure partition of memory having a corresponding virtual platform key for preserving secure access to the corresponding secure partition of memory stored in a secure platform associated with the service processor; and

dynamically generate unlock keys, following authentication of a boot signature of the virtual machine, the unlock keys generated to authenticate a requesting virtual machine as a valid virtual machine to obtain access to a corresponding secure partition of memory.

14. The IHS of claim 13 , wherein the secure boot utility further executes on the processor to enable the hypervisor to:

in response to the requesting virtual machine successfully providing a corresponding unlock key to the hypervisor boot emulator and obtaining validation at each of the sequence of authentication steps, provide access to the corresponding secure partition of memory; and

deny access by the requesting virtual machine to the plurality of secure partitions of memory in response to invalidation of the unlock key at any one of the sequence of authentication steps.

15. The IHS of claim 13 , wherein the secure boot utility further executes on the processor to enable the hypervisor to:

in response to detection of the handshake request, receiving the boot signature from the virtual machine;

compare the boot signature to at least one secure signature of a plurality of secure signatures stored in a valid signature database;

in response to the boot signature matching a secure signature, dynamically generate a valid unlock key; and

assign the valid unlock key to the valid virtual machine.

16. The IHS of claim 15 , wherein the secure boot utility further executes on the processor to enable the hypervisor to:

store the valid unlock key in the valid signature database, the valid unlock key being one of a mixed set of keys, a unique signature, and a hash of a virtual machine boot signature.

17. The IHS of claim 13 , wherein the secure boot utility further executes on the processor to enable the hypervisor to:

assign a corresponding runtime service client interface to the hypervisor boot emulator in communication with the requesting virtual machine;

receive, at the corresponding runtime service client interface, an unlock key;

compare at least a portion of the unlock key to the corresponding virtual platform key;

in response to determining that at least the portion of the unlock key corresponds to the corresponding virtual platform key, dynamically generate a valid session identification that assigns the requesting virtual machine to the corresponding runtime service client interface; and

store the valid session identification on a valid signature database.

18. The IHS of claim 17 , wherein the secure boot utility further executes on the processor to enable the hypervisor to:

detect the valid session identification, at the requesting virtual machine, during a subsequent request to access the service processor; and

dynamically authenticate an assignment of the requesting virtual machine to the corresponding runtime service client interface.

19. The IHS of claim 13 , wherein the secure boot utility further executes on the processor to enable the hypervisor to:

receive a session identification at the hypervisor boot emulator in response to a virtual machine operating system boot request;

compare at least a select portion of the session identification to a valid session identification stored in the valid signature database;

in response to at least the select portion of the session identification being associated with the valid session identification, receive a signed certificate from the hypervisor boot emulator;

compare the received signed certificate to at least one valid signed certificate stored in a valid signed certificate database associated with the corresponding secure partition of memory; and

enable secure boot with access to the corresponding secure partition of memory in response to the signed certificate matching the at least one valid signed certificate.

20. The IHS of claim 13 , wherein the secure boot utility further executes on the processor to enable the hypervisor to:

implement one of a runtime service and a hypercall to initiate the sequence of authentication steps to access the corresponding secure partition of memory, wherein the runtime service and the hypercall are each a Unified Extensible Firmware Interface (UEFI) runtime service established in a hypervisor that forms an association between a platform key and each of the corresponding virtual platform keys;

sign each of the corresponding virtual platform keys with the platform key, wherein the platform key secures the platform storing the secure partitions of memory; and

store at least a portion of the virtual platform key in the valid signature database.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2017
From: SURYANARAYANA, SHEKAR BABU; VIDYADHARA, SUMANTH; PUTHILLATHE, CHANDRASEKHAR
To: DELL PRODUCTS, L.P.
Reel/Frame 041689/0222 →
Cited By (1)
US 12,499,236