IP Library Granted Patent US 11,068,598
Granted Patent B2
US 11,068,598 · App. 16/177,620 · Granted Jul 20, 2021

Chassis internal device security

Inventors: Michael Emery Brown (Austin, TX); Josh M. Pennell (Pflugerville, TX); Jacob R. Hutcheson (Round Rock, TX); Marshal F. Savage (Austin, TX); Nikhil Swarnakumar (Round Rock, TX); Rhushabh Bhandari (Cedar Park, TX)
Assignee: Dell Products L.P.
G06F21/575G06F12/1408G06F21/33G06F21/445G06F21/602G06F21/6209G06F2211/1097G06F2221/0748G06F2221/0753G06F2221/2129
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,068,598
App. No.
16/177,620
Granted
Jul 20, 2021
Kind
B2
Abstract

Methods, systems, and computer programs encoded on computer storage medium, for verifying, by a mask ROM of a CPU of a first computing device and with fused keys included by the CPU, a boot loader that is included by a flash memory of the first computing device, in response to verifying the boot loader, verifying, by the boot loader and with boot loader keys included by the flash memory, a kernel included by the a memory device of the first computing device, in response to verifying the kernel, decrypting, by the kernel using a hidden root key (HRK) included by the CPU of the first computing device, a device unique certification (DUC) included by the flash memory, in response to decrypting the DUC, generating, by the first computing device, a proof-of-possession of the DUC.

Claims (71)

1. A computer-implemented method, comprising:

identifying a plurality of computing devices, each of the computing devices including at least a central processing unit (CPU), a flash memory, and a memory device;

registering, by a first computing device of the plurality of computing devices, as a client of a second, differing computing device of the plurality of computing devices;

in response to registering the first computing device as a client of the second computing device, authorizing the first computing device with the second computing device, the authorizing including:

verifying, by a mask ROM of the CPU of the first computing device and with fused keys included by the CPU, a boot loader that is included by the flash memory of the first computing device;

in response to verifying the boot loader, verifying, by the boot loader and with boot loader keys included by the flash memory, a kernel included by the memory device of the first computing device;

in response to verifying the kernel, decrypting, by the kernel using a hidden root key (HRK) included by the CPU of the first computing device, a device unique certification (DUC) included by the flash memory;

in response to decrypting the DUC, generating, by the first computing device, the proof-of-possession of the DUC;

providing, by the first computing device, the proof-of-possession to the second computing device to authorize the first computing device as a client of the second computing device; and

in response to authorizing the first computing device as a client of the second computing device, establishing, by the first computing device, a secure communication channel with the second computing device.

2. The computer-implemented method of claim 1 , wherein the DUC is unique to the first computing device.

3. The computer-implemented method of claim 1 , further comprising:

registering, by the second computing device, as a client of the first computing device;

in response to registering the second computing device as a client of the first computing device, authorizing the second computing device with the first computing device, the authorizing including a chain of verification steps that verifies in sequence each step of a boot process by the previous step to generate a proof-of-possession of an additional device unique certification (DUC);

providing, by the second computing device, the proof-of-possession to the first computing device to authorize the second computing device as a client of the first computing device; and

in response to authorizing the second computing device as a client of the first computing device, establishing, by the second computing device, an additional secure communication channel with the first computing device.

4. The computer-implemented method of claim 3 , wherein authorizing the second computing device with the first computing device further comprises:

verifying, by a mask ROM of the CPU of the second computing device and with fused keys included by the CPU, a boot loader that is included by the flash memory of the second computing device;

in response to verifying the boot loader, verifying, by the boot loader and with boot loader keys included by the flash memory, a kernel included by the memory device of the second computing device;

in response to verifying the kernel, decrypting, by the kernel using a hidden root key (HRK) included by the CPU of the second computing device, an additional device unique certification (DUC) included by the flash memory; and

in response to decrypting the additional DUC, generating, by the second computing device, the proof-of-possession of the additional DUC.

5. The computer-implemented method of claim 4 , further comprising:

providing, to the second computing device and from the first computing device, a public portion of the DUC;

verifying, by the second computing device, a root of trust signature on the DUC;

in response to verifying the root of trust signature on the DUC, creating a key based on the public portion of the DUC and a private portion of the additional DUC to encrypt a SSL certificate of the second computing device;

providing, to the first computing device and from the second computing device, the encrypted SSL certificate and a public portion of the additional DUC;

combining, by the first computing device, the public portion of the additional DUC with a private portion of the DUC to decrypt the SSL certificate; and

verifying, by the first computing device, the SSL certification.

6. The computer-implemented method of claim 3 , wherein the DUC of the first computing device is unique to the first computing device, and the additional DUC of the second computing device is unique to the second computing device.

7. The computer-implemented method of claim 1 , further comprising:

denying a verification, by the mask ROM of the CPU of the first computing device and with the fused keys included by the CPU, the boot loader that is included by the flash memory of the first computing device, and

in response to denying the verification of the boot loader, preventing further booting of the first computing device.

8. The computer-implemented method of claim 1 , further comprising:

in response to verifying the boot loader, denying a verification, by the boot loader and with the boot loader keys included by the flash memory, the kernel included by the memory device of the first computing device, and

in response to denying the verification of the kernel, disabling the HRK included by the CPU of the first computing device.

9. The computer-implemented method of claim 8 , further comprising:

in response to denying the verification of the kernel, forgoing decryption of the DUC included by the flash memory of the first computing device.

10. The computer-implemented method of claim 1 , wherein each of the computing devices are physically included by a common chassis system.

11. The computer-implemented method of claim 1 , wherein registration, by the first computing device, as a client of the second computing device is initiated upon booting of the first computing device.

12. The computer-implemented method of claim 1 , wherein the DUC is preloaded onto the first computing device and is signed by a private key of a root of trust.

13. A system comprising a processor having access to memory media storing instructions executable by the processor to perform operations comprising:

identifying a plurality of computing devices, each of the computing devices including at least a central processing unit (CPU), a flash memory, and a memory device;

registering, by a first computing device of the plurality of computing devices, as a client of a second, differing computing device of the plurality of computing devices;

in response to registering the first computing device as a client of the second computing device, authorizing the first computing device with the second computing device, the authorizing including:

verifying, by a mask ROM of the CPU of the first computing device and with fused keys included by the CPU, a boot loader that is included by the flash memory of the first computing device;

in response to verifying the boot loader, verifying, by the boot loader and with boot loader keys included by the flash memory, a kernel included by the memory device of the first computing device;

in response to verifying the kernel, decrypting, by the kernel using a hidden root key (HRK) included by the CPU of the first computing device, a device unique certification (DUC) included by the flash memory; and

in response to decrypting the DUC, generating, by the first computing device, the proof-of-possession of the DUC;

providing, by the first computing device, the proof-of-possession to the second computing device to authorize the first computing device as a client of the second computing device; and

in response to authorizing the first computing device as a client of the second computing device, establishing, by the first computing device, a secure communication channel with the second computing device.

14. The system of claim 13 , wherein the DUC is unique to the first computing device.

15. The system of claim 13 , the operations further comprising:

registering, by the second computing device, as a client of the first computing device;

in response to registering the second computing device as a client of the first computing device, authorizing the second computing device with the first computing device, the authorizing including a chain of verification steps that verifies in sequence each step of a boot process by the previous step to generate a proof-of-possession of an additional device unique certification (DUC);

providing, by the second computing device, the proof-of-possession to the first computing device to authorize the second computing device as a client of the first computing device; and

in response to authorizing the second computing device as a client of the first computing device, establishing, by the second computing device, an additional secure communication channel with the first computing device.

16. The system of claim 15 , wherein authorizing the second computing device with the first computing device further comprises:

verifying, by a mask ROM of the CPU of the second computing device and with fused keys included by the CPU, a boot loader that is included by the flash memory of the second computing device;

in response to verifying the boot loader, verifying, by the boot loader and with boot loader keys included by the flash memory, a kernel included by the memory device of the second computing device;

in response to verifying the kernel, decrypting, by the kernel using a hidden root key (HRK) included by the CPU of the second computing device, an additional device unique certification (DUC) included by the flash memory; and

in response to decrypting the additional DUC, generating, by the second computing device, the proof-of-possession of the additional DUC.

17. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

identifying a plurality of computing devices, each of the computing devices including at least a central processing unit (CPU), a flash memory, and a memory device;

registering, by a first computing device of the plurality of computing devices, as a client of a second, differing computing device of the plurality of computing devices;

in response to registering the first computing device as a client of the second computing device, authorizing the first computing device with the second computing device, the authorizing including:

verifying, by a mask ROM of the CPU of the first computing device and with fused keys included by the CPU, a boot loader that is included by the flash memory of the first computing device;

in response to verifying the boot loader, verifying, by the boot loader and with boot loader keys included by the flash memory, a kernel included by the memory device of the first computing device;

in response to verifying the kernel, decrypting, by the kernel using a hidden root key (HRK) included by the CPU of the first computing device, a device unique certification (DUC) included by the flash memory; and

in response to decrypting the DUC, generating, by the first computing device, the proof-of-possession of the DUC;

providing, by the first computing device, the proof-of-possession to the second computing device to authorize the first computing device as a client of the second computing device; and

in response to authorizing the first computing device as a client of the second computing device, establishing, by the first computing device, a secure communication channel with the second computing device.

Assignments (5)
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 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2018
From: BROWN, MICHAEL EMERY; PENNELL, JOSH M.; HUTCHESON, JACOB R.; SAVAGE, MARSHAL F.; SWARNAKUMAR, NIKHIL; BHANDARI, RHUSHABH
To: DELL PRODUCTS L.P.
Reel/Frame 047381/0928 →