IP Library Granted Patent US 11,657,158
Granted Patent B2
US 11,657,158 · App. 17/328,466 · Granted May 23, 2023

Systems and methods for extending boot security trust chaining to state changes between boot sessions

Inventors: Balasingh P. Samuel (Round Rock, TX); Richard M. Tonry (Austin, TX)
Assignee: Dell Products L.P.
G06F21/575G06F21/54G06F21/554G06F21/64G06F21/72
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,657,158
App. No.
17/328,466
Granted
May 23, 2023
Kind
B2
Abstract

A method may comprise, on a basic input/output system (BIOS), executing a hardware attestation verification application configured to: (a) during a first boot session of the information handling system comprising the BIOS, execute a first stage of an update to the information handling system and securely record a platform state record associated with beginning of execution of a second stage of the update; and (b) during a second boot session of the information handling system: (i) obtain the platform state record; (ii) compare the platform state record to an actual platform state during boot process of the second boot session; and (iii) if the platform state record matches the actual platform state during boot process of the second boot session, permit execution of the second state of the update.

Claims (70)

1. A method comprising, on a basic input/output system (BIOS) comprising boot firmware configured to be the first code executed by a processor when an information handling system is booted and/or powered on and the boot firmware is configured to be executed prior to execution of an operating system of the information handling system, executing a hardware attestation verification application configured to:

during a first boot session of the information handling system comprising the BIOS, execute a first stage of an update to the information handling system and securely record a platform state record associated with beginning of execution of a second stage of the update; and

during a second boot session of the information handling system:

obtain the platform state record;

compare the platform state record to an actual platform state during boot process of the second boot session; and

determine that the platform state record fails to match the actual platform state during boot process of the second boot session and prevent execution of the second stage of the update and complete the boot process of the second boot session.

2. The method of claim 1 , wherein:

the platform state record identifies a point of execution during a boot process of the first boot session defining the point as where, during the boot process of the second boot session, the second stage of the update should begin; and

the actual platform state identifies a point of attempted execution of the second stage of the update during the boot process of the second boot session at which an attempt to begin the second stage of the update occurs.

3. The method of claim 1 , wherein:

the platform state record is based on contents of a configuration register of a cryptoprocessor of the information handling system at a point of execution during a boot process of the first boot session defining the point as where, during the boot process of the second boot session, the second stage of the update should begin; and

the actual platform state is based on contents of the configuration register of the cryptoprocessor at a point of attempted execution of the second stage of the update during the boot process of the second boot session at which an attempt to begin the second stage of the update occurs.

4. The method of claim 3 , wherein:

the cryptoprocessor comprises a Trusted Platform Module; and

the configuration register comprises a platform configuration register of the Trusted Platform Module.

5. The method of claim 1 , wherein recording a platform state record comprises:

cryptographically signing a script for executing the second stage of the update, a supplemental measurement data value associated with a configuration register of the cryptoprocessor, and a value associated with a point of execution during a boot process of the first boot session defining the point as where, during the boot process of the second boot session, the second stage of the update should begin to generate a signed collection of data; and

storing the signed collection of data to a data store.

6. The method of claim 5 , wherein comparing the platform state record to an actual platform state during boot process of the second boot session comprises:

retrieving the signed collection of data from the data store; and

extracting the script, the supplemental measurement data value, and the value associated with the point of execution during the boot process of the first boot session from the signed collection of data.

7. An article of manufacture comprising:

a non-transitory computer readable medium; and

computer-executable instructions carried on the computer readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to, during execution of a basic input/output system comprising boot firmware configured to be the first code executed by the processor when an information handling system is booted and/or powered on and the boot firmware configured to be executed prior to execution of an operating system of the information handling system:

during a first boot session of the information handling system comprising the BIOS, execute a first stage of an update to the information handling system and securely record a platform state record associated with beginning of execution of a second stage of the update; and

during a second boot session of the information handling system:

obtain the platform state record;

compare the platform state record to an actual platform state during boot process of the second boot session;

if the platform state record matches the actual platform state during boot process of the second boot session, permit execution of the second stage of the update; and

if the platform state record fails to match the actual platform state during the boot process of the second boot session, prevent execution of the second stage of the update.

8. The article of claim 7 , wherein:

the platform state record identifies a point of execution during a boot process of the first boot session defining the point as where, during the boot process of the second boot session, the second stage of the update should begin; and

the actual platform state identifies a point of attempted execution of the second stage of the update during the boot process of the second boot session at which an attempt to begin the second stage of the update occurs.

9. The article of claim 7 , wherein:

the platform state record is based on contents of a configuration register of a cryptoprocessor of the information handling system at a point of execution during a boot process of the first boot session defining the point as where, during the boot process of the second boot session, the second stage of the update should begin; and

the actual platform state is based on contents of the configuration register of the cryptoprocessor at a point of attempted execution of the second stage of the update during the boot process of the second boot session at which an attempt to begin the second stage of the update occurs.

10. The article of claim 9 , wherein:

the cryptoprocessor comprises a Trusted Platform Module; and

the configuration register comprises a platform configuration register of the Trusted Platform Module.

11. The article of claim 7 , wherein recording a platform state record comprises:

cryptographically signing a script for executing the second stage of the update, a supplemental measurement data value associated with a configuration register of the cryptoprocessor, and a value associated with a point of execution during a boot process of the first boot session defining the point as where, during the boot process of the second boot session, the second stage of the update should begin to generate a signed collection of data; and

storing the signed collection of data to a data store.

12. The article of claim 11 , wherein comparing the platform state record to an actual platform state during boot process of the second boot session comprises:

retrieving the signed collection of data from the data store; and

extracting the script, the supplemental measurement data value, and the value associated with the point of execution during the boot process of the first boot session from the signed collection of data.

13. An information handling system comprising:

a processor;

a cryptoprocessor communicatively coupled to the processor; and

a basic input/output system (BIOS) comprising boot firmware configured to be the first code executed by the processor when the information handling system is booted and/or powered on and the boot firmware is configured to be executed prior to execution of an operating system of the information handling system, the BIOS embodied in non-transitory computer-readable media communicatively coupled to the processor and configured to, when loaded and executed by the processor:

during a first boot session of the information handling system, execute a first stage of an update to the information handling system and securely record a platform state record associated with beginning of execution of a second stage of the update; and

during a second boot session of the information handling system:

obtain the platform state record;

compare the platform state record to an actual platform state during boot process of the second boot session;

if the platform state record matches the actual platform state during boot process of the second boot session, permit execution of the second stage of the update; and

if the platform state record fails to match the actual platform state during the boot process of the second boot session, prevent execution of the second stage of the update and complete the boot process of the second boot session.

14. The information handling system of claim 13 , wherein:

the platform state record identifies a point of execution during a boot process of the first boot session defining the point as where, during the boot process of the second boot session, the second stage of the update should begin; and

the actual platform state identifies a point of attempted execution of the second stage of the update during the boot process of the second boot session at which an attempt to begin the second stage of the update occurs.

15. The information handling system of claim 13 , wherein:

the platform state record is based on contents of a configuration register of the cryptoprocessor at a point of execution during a boot process of the first boot session defining the point as where, during the boot process of the second boot session, the second stage of the update should begin; and

the actual platform state is based on contents of the configuration register of the cryptoprocessor at a point of attempted execution of the second stage of the update during the boot process of the second boot session at which an attempt to begin the second stage of the update occurs.

16. The information handling system of claim 15 , wherein:

the cryptoprocessor comprises a Trusted Platform Module; and

the configuration register comprises a platform configuration register of the Trusted Platform Module.

17. The information handling system of claim 13 , wherein recording a platform state record comprises:

cryptographically signing a script for executing the second stage of the update, a supplemental measurement data value associated with a configuration register of the cryptoprocessor, and a value associated with a point of execution during a boot process of the first boot session defining the point as where, during the boot process of the second boot session, the second stage of the update should begin to generate a signed collection of data; and

storing the signed collection of data to a data store.

18. The information handling system of claim 17 , wherein comparing the platform state record to an actual platform state during boot process of the second boot session comprises:

retrieving the signed collection of data from the data store; and

extracting the script, the supplemental measurement data value, and the value associated with the point of execution during the boot process of the first boot session from the signed collection of data.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) 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/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) 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/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 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 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 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 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 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 057931/0392 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2021
From: SAMUEL, BALASINGH P.; TONRY, RICHARD M.
To: DELL PRODUCTS L.P.
Reel/Frame 056331/0544 →
Continuity (1)
Related Publication 20220374522A1 · Nov 24, 2022