IP Library Granted Patent US 12683770
Granted Patent B2
US 12683770 · App. 18/450,145 · Granted Jul 14, 2026

Systems and methods for secure modular hardware binding

Inventors: Eugene David Cho (Austin, TX); Travis Gilbert (Round Rock, TX); Milton Olavo Decarvalho Taveira (Round Rock, TX)
Assignee: Dell Products L.P.
H04L9/0825H04L9/0894
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 12683770
App. No.
18/450,145
Granted
Jul 14, 2026
Kind
B2
Abstract

Systems and methods for secure modular hardware binding in a Data Center Modular Hardware System (DC-SCM) environment are described herein. According to one embodiment, an Information Handling System (IHS) includes multiple Complex Programmable Logic Devices (CPLDs), and computer-executable logic to, for each of the CPLDs: store an encrypted secret key in a platform Root-of-Trust (RoT) and the CPLD, and receive, by the platform RoT, a request to authenticate a firmware stack installed on the CPLD. The logic may then present, by the CPLD, an encrypted secret key to the platform RoT, authenticate, by the platform RoT, the firmware stack by comparing the encrypted secret key received from the CPLD with its stored version of the encrypted secret key, and allow operation of the CPLD based on the authentication.

Claims (18)

1 . An Information Handling System (IHS) comprising: a plurality of Complex Programmable Logic Devices (CPLDs); at least one memory coupled to at least one processor, the at least one memory having program instructions stored thereon that, upon execution by the at least one processor, cause the instructions to, for each of the CPLDs: store an encrypted secret key of a previous firmware version of the first CPLD in a platform Root-of-Trust (RoT) and a first of the CPLDs; receive, by the platform RoT, a request to authenticate a new firmware stack installed on the first CPLD, wherein the new firmware stack has been encrypted with the encrypted secret key of the previous firmware version of the first CPLD; present, by the first CPLD, an encrypted secret key to the platform RoT; decrypt, by the platform RoT, the encrypted secret key using the stored version of the encrypted secret key of the previous firmware version of the first CPLD; authenticate, by the platform RoT, the new firmware stack by comparing the encrypted secret key received from the first CPLD with the stored version of the encrypted secret key; and allow operation of the first CPLD based on the authentication.

2 . The IHS of claim 1 , wherein the program instructions, upon execution, further cause IHS to: receive, by the platform RoT and the first CPLD, the encrypted secret key from a CPLD signer that stores the encrypted secret key.

3 . The IHS of claim 2 , wherein the first CPLD signer comprises a vendor of the CPLD.

4 . The IHS of claim 1 , wherein the platform RoT comprises a second one of the CPLDs.

5 . The IHS of claim 4 , wherein the first CPLD comprises a Host Processor Module-Complex Programmable Logic Device (HPM-CPLD) and the second CPLD comprises a Secure Control Module-Complex Programmable Logic Device (SCM-CPLD), wherein the IHS comprises a Data Center-Secure Control Module (DC-SCM).

6 . The IHS of claim 1 , wherein the program instructions, upon execution, further cause the IHS to:

obtain the encrypted secret key from the new firmware stack, wherein the encrypted secret key was installed in the new firmware stack by a first CPLD signer.

7 . The IHS of claim 1 , wherein the program instructions, upon execution, further cause IHS to: decrypt, by the platform RoT, the encrypted secret key to derive an unencrypted secret key; present, by the platform RoT, the unencrypted secret key to the first CPLD; authenticate, by the CPLD, the new firmware stack by comparing the unencrypted secret key received from the platform RoT with the stored version of the unencrypted secret key; and allow operation of the first CPLD based on the authentication.

8 . A secure modular hardware binding method comprising, for each of a plurality of Complex Programmable Logic Devices (CPLDs): storing an encrypted secret key of a previous firmware version of the first CPLD in a platform Root-of-Trust (RoT) and a first of the CPLDs; receiving, by the platform RoT, a request to authenticate a new firmware stack installed on the first CPLD, wherein the new firmware stack has been encrypted with the encrypted secret key of the previous firmware version of the first CPLD; presenting, by the first CPLD, an encrypted secret key to the platform RoT; decrypting, by the platform RoT, the encrypted secret key using the stored version of the encrypted secret key of the previous firmware version of the first CPLD; authenticating, by the platform RoT, the new firmware stack by comparing the encrypted secret key received from the first CPLD with the stored version of the encrypted secret key; and allowing operation of the first CPLD based on the authentication.

9 . The secure modular hardware binding method of claim 8 , further comprising: receiving, by the platform RoT and the first CPLD, the encrypted secret key from a first CPLD signer that stores the encrypted secret key, wherein the first CPLD signer comprises a vendor of the first CPLD.

10 . The secure modular hardware binding method of claim 8 , further comprising:

obtaining the encrypted secret key from the new firmware stack, wherein the encrypted secret key was installed in the new firmware stack by a first CPLD signer.

11 . The secure modular hardware binding method of claim 8 , further comprising: decrypting, by the platform RoT, the encrypted secret key to derive an unencrypted secret key; presenting, by the platform RoT, the unencrypted secret key to the first CPLD; authenticating, by the first CPLD, the new firmware stack by comparing the unencrypted secret key received from the platform RoT with the stored version of the unencrypted secret key; and allowing operation of the first CPLD based on the authentication.

12 . A computer program product comprising a non-transitory computer readable storage medium having program instructions stored thereon that, upon execution by a Datacenter-Modular Hardware System (DC-MHS), cause the DC-MHS to, for each of a plurality of Complex Programmable Logic Devices (CPLDs): store an encrypted secret key of a previous firmware version of the first CPLD in a platform Root-of-Trust (RoT) and a first of the CPLDs; receive, by the platform RoT, a request to authenticate a new firmware stack installed on the first CPLD, wherein the new firmware stack has been encrypted with the encrypted secret key of the previous firmware version of the first CPLD; present, by the first CPLD, an encrypted secret key to the platform RoT; decrypt, by the platform RoT, the encrypted secret key using the stored version of the encrypted secret key of the previous firmware version of the first CPLD; authenticate, by the platform RoT, the new firmware stack by comparing the encrypted secret key received from the first CPLD with the stored version of the encrypted secret key; and allow operation of the first CPLD based on the authentication.

13 . The computer program product of claim 12 , wherein the program instructions, upon execution, further cause DC-MHS to: receive, by the platform RoT and the first CPLD, the encrypted secret key from a CPLD signer that stores the encrypted secret key, wherein the first CPLD signer comprises a vendor of the first CPLD.

14 . The computer program product of claim 12 , wherein the program instructions, upon execution, further cause DC-MHS to:

obtain the encrypted secret key from the new firmware stack, wherein the encrypted secret key was installed in the new firmware stack by a first CPLD signer.

15 . The computer program product of claim 12 , wherein the program instructions, upon execution, further cause DC-MHS to: decrypt, by the platform RoT, the encrypted secret key to derive an unencrypted secret key; present, by the platform RoT, the unencrypted secret key to the first CPLD; authenticate, by the first CPLD, the new firmware stack by comparing the unencrypted secret key received from the platform RoT with the stored version of the unencrypted secret key; and allow operation of the first CPLD based on the authentication.