IP Library Granted Patent US 11,593,462
Granted Patent B2
US 11,593,462 · App. 17/167,845 · Granted Feb 28, 2023

Baseboard management controller firmware security system

Inventors: Patrick Oliver Boyd (Austin, TX); Marshal F. Savage (Austin, TX); Eugene David Cho (Austin, TX); Mukund P. Khatri (Austin, TX)
Assignee: Dell Products L.P.
G06F21/12G06F9/4401G06F21/105G06F2221/0735
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,593,462
App. No.
17/167,845
Granted
Feb 28, 2023
Kind
B2
Abstract

A BMC firmware security system includes a BMC coupled to a programmable circuit device and a first storage subsystem. In response to BMC initialization, the BMC uses a system identifier to verify that a license in the first storage subsystem authorizes the BMC to use BMC firmware in the BMC, uses branding identity information in the BMC to verify that the BMC is branded for the BMC firmware, determines that the programmable circuit device identifies the BMC firmware and, in response, the performs BMC initialization operations using the BMC firmware. A BIOS is coupled to the programmable circuit device and a second storage system. In response to BIOS initialization, the BIOS uses the branding identity information in the second storage subsystem to identify the BMC firmware, determines that the programmable circuit device identifies the BMC firmware and, in response, performs BIOS initialization operations.

Claims (70)

1. A Baseboard Management Controller (BMC) firmware security system, comprising:

a programmable circuit device;

a first storage subsystem; and

a Baseboard Management Controller (BMC) device that is coupled to the programmable circuit device and the storage system, wherein the BMC device is configured, in response to a current BMC initialization of the BMC device, to:

verify, using a system identifier, that a license stored in the first storage subsystem authorizes the BMC device to use BMC firmware stored in the BMC device;

verify, using branding identity information stored in the BMC device, that the BMC device is branded for the BMC firmware;

determine that the programmable circuit device has been programmed to identify the BMC firmware; and

perform BMC initialization operations using the BMC firmware in response to verifying that the license authorizes the BMC device to use BMC firmware, verifying that the BMC device is branded for the BMC firmware, and determining that the programmable circuit device has been programmed to identify the BMC firmware.

2. The system of claim 1 , wherein the BMC device is configured, in response to a previous BMC initialization of the BMC device that occurs prior to the current BMC initialization, to:

receive the BMC firmware, the license, and the branding identity information;

store the BMC firmware and the branding identity information in the BMC device;

store the license in the first storage subsystem; and

program the programmable circuit device to identify the BMC firmware.

3. The system of claim 2 , wherein the first storage subsystem is an off-motherboard storage subsystem.

4. The system of claim 3 , wherein the BMC device is configured, in response to the previous initialization of the BMC device, to:

store the branding identity information in the first storage subsystem.

5. The system of claim 1 , further comprising:

a second storage subsystem; and

a Basic Input Output System (BIOS) that is coupled to the second storage subsystem and the programmable circuit device, wherein the BIOS is configured, in response to a BIOS initialization, to:

identify, using the branding identity information stored in the second storage subsystem, the BMC firmware;

determine that the programmable circuit device has been programmed to identify the BMC firmware; and

perform BIOS initialization operations in response to determining that the programmable circuit device has been programmed to identify the BMC firmware.

6. The system of claim 1 , wherein the BMC device is configured, in response to the current BMC initialization of the BMC device, to:

identify, in the programmable circuit device, the system identifier.

7. An Information Handling System (IHS), comprising:

a Baseboard Management Controller (BMC) processing system; and

a BMC memory system that is coupled to the BMC processing system and that includes instructions that, when executed by the BMC processing system, cause the BMC processing system to provide a BMC engine that is configured, in response to a current BMC initialization of the BMC engine, to:

verify, using a system identifier, that a license stored in a first storage subsystem authorizes the BMC engine to use BMC firmware;

verify, using branding identity information stored in a BMC storage subsystem, that the BMC engine is branded for the BMC firmware;

determine that a programmable circuit device has been programmed to identify the BMC firmware; and

perform BMC initialization operations using the BMC firmware in response to verifying that the license authorizes the BMC engine to use the BMC firmware, verifying that the BMC engine is branded for the BMC firmware, and determining that the programmable circuit device has been programmed to identify the BMC firmware.

8. The IHS of claim 7 , wherein the BMC engine is configured, in response to a previous BMC initialization of the BMC engine that occurs prior to the current BMC initialization, to:

receive the BMC firmware, the license, and the branding identity information;

store the BMC firmware and the branding identity information in the BMC storage subsystem;

store the license in the first storage subsystem; and

program the programmable circuit device to identify the BMC firmware.

9. The IHS of claim 8 , wherein the first storage subsystem is an off-motherboard storage subsystem.

10. The IHS of claim 9 , wherein the BMC engine is configured, in response to the previous BMC initialization of the BMC engine, to:

store the branding identity information in the first storage subsystem.

11. The IHS of claim 7 , further comprising:

a Basic Input Output System (BIOS) processing system; and

a BIOS memory system that is coupled to the BIOS processing system and that includes instructions that, when executed by the BIOS processing system, cause the BIOS processing system to provide a BIOS that is configured, in response to a BIOS initialization, to:

verify, using the branding identity information stored in a second storage subsystem, that the BMC engine is branded for the BMC firmware;

determine that the programmable circuit device has been programmed to identify the BMC firmware; and

perform BIOS initialization operations in response to verifying that the BMC engine is branded for the BMC firmware and determining that the programmable circuit device has been programmed to identify the BMC firmware.

12. The IHS of claim 11 , wherein the BIOS is configured, as part of the BIOS initialization operations, to

provide the branding identity information associated with the BMC firmware for use by an operating system in branding the BMC engine.

13. The IHS of claim 7 , wherein the BMC engine is configured, in response to the current BMC initialization of the BMC engine, to:

identify, in the programmable circuit device, the system identifier.

14. A method for securing Baseboard Management Controller (BMC) firmware, comprising: detecting, by a BMC device, a current BMC initialization of the BMC device;

verifying, by the BMC device in response to the current BMC initialization and using a system identifier, that a license stored in a first storage subsystem authorizes the BMC device to use BMC firmware;

verifying, by the BMC device in response to the current BMC initialization and using branding identity information stored in the BMC device, that the BMC device is branded for the BMC firmware;

determining, by the BMC device in response to the current BMC initialization, that a programmable circuit device has been programmed to identify the BMC firmware; and

performing, by the BMC device in response to the current BMC initialization, BMC initialization operations using the BMC firmware in response to verifying that the license authorizes the BMC device to use BMC firmware, verifying that the BMC device is branded for the BMC firmware, and determining that the programmable circuit device has been programmed to identify the BMC firmware.

15. The method of claim 14 , further comprising:

receiving, by the BMC device in response to a previous BMC initialization that occurs prior to the current BMC initialization, the BMC firmware, the license, and the branding identity information;

storing, by the BMC device in response to the previous BMC initialization, the BMC firmware and the branding identity information in the BMC device;

storing, by the BMC device in response to the previous BMC initialization, the license in the first storage subsystem; and

programming, by the BMC device in response to the previous BMC initialization, the programmable circuit device to identify the BMC firmware.

16. The method of claim 15 , wherein the first storage subsystem is an off-motherboard storage subsystem.

17. The method of claim 16 , further comprising:

storing, by the BMC device in response to the previous BMC initialization, the branding identity information in the first storage subsystem.

18. The method of claim 14 , further comprising:

identifying, by a BIOS in response to a BIOS initialization and using the branding identity information stored in a second storage subsystem, the BMC firmware;

determining, by the BIOS in response to the BIOS initialization, that the programmable circuit device has been programmed to identify the BMC firmware; and

performing, by the BIOS in response to the BIOS initialization, BIOS initialization operations in response to determining that the programmable circuit device has been programmed to identify the BMC firmware.

19. The method of claim 18 , further comprising:

providing, by the BIOS as part of the BIOS initialization operations, branding information associated with the BMC firmware for use by an operating system in branding the BMC device.

20. The method of claim 14 , further comprising:

identifying, by the BMC device in response to the current BMC initialization and in the programmable circuit device, the system identifier.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2021
From: BOYD, PATRICK OLIVER; SAVAGE, MARSHAL F; CHO, EUGENE DAVID; KHATRI, MUKUND P.
To: DELL PRODUCTS L.P.
Reel/Frame 055195/0736 →