IP Library › Granted Patent US 10,915,632
Granted Patent B2
US 10,915,632 · App. 16/200,835 · Granted Feb 9, 2021

Handling of remote attestation and sealing during concurrent update

Inventors: Kenneth Alan Goldman (Norwalk, CT); Jakob Christopher Lang (Tuebingen, DE); Benno Schuepferling (Boeblingen, DE); Dennis Zeisberg (Bielefeld, DE)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F21/572G06F8/65G06F9/44505H04L9/3236H04L2209/38
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,915,632
App. No.
16/200,835
Granted
Feb 9, 2021
Kind
B2
Abstract

According to one or more embodiments of the present invention, an example computer-implemented method for measuring concurrent updates in a security coprocessor includes using a first set of platform configuration registers of the security coprocessor to store and extend measurement of a code-load used during a boot sequence of a computing device. The method further includes using a second set of platform configuration registers of the security coprocessor to store and extend measurement of configuration parameters of the code-load used during the boot sequence. The method further includes using a third set of platform configuration registers of the security coprocessor to store and extend measurements of a concurrent update that changes the code-load that was used during the boot sequence.

Claims (76)

1. A computer-implemented method for measuring concurrent updates in a security coprocessor, the method comprising:

using a first set of platform configuration registers of the security coprocessor to store and extend measurement of a code-load used during a boot sequence of a computing device;

using a second set of platform configuration registers of the security coprocessor to store and extend measurement of configuration parameters of the code-load used during the boot sequence; and

using a third set of platform configuration registers of the security coprocessor to store and extend measurements of a concurrent update that changes the code-load that was used during the boot sequence.

2. The computer-implemented method of claim 1 , further comprising performing a local attestation using only the first set of platform configuration registers.

3. The computer-implemented method of claim 1 , further comprising performing a local attestation using only the first set of platform configuration registers and the second set of platform configuration registers.

4. The computer-implemented method of claim 1 , wherein updating the code-load used during the boot sequence using the concurrent update comprises:

loading the concurrent update into memory; and

extending and storing the measurements of the concurrent update into the second set of platform configuration registers.

5. The computer-implemented method of claim 1 , further comprising performing a remote attestation of the computing device using the first set, the second set, and the third set of platform configuration registers.

6. The computer-implemented method of claim 5 , wherein the remote attestation comprises:

receiving a request for the remote attestation from a verification system;

in response to receiving a request for the remote attestation:

requesting a quote from the security coprocessor using the first set, the second set, and the third set of platform configuration registers;

sending the quote and an event log to the verification system;

computing, by the verification system, a hash chain based on the event log; and

comparing the computed hash chain with the quote from the security coprocessor to attest authentication of the computing device.

7. The computer-implemented method of claim 6 , wherein the remote attestation is successful based on a determination that the computed hash chain matches the quote from the security coprocessor, and the remote attestation is unsuccessful otherwise.

8. A system comprising:

a security coprocessor;

a memory; and

a processor coupled with the security coprocessor and the memory, the processor configured to perform a method to measure concurrent updates of one or more code-loads of a computing device, the method comprising:

using a first set of platform configuration registers of the security coprocessor to store and extend measurement of a code-load used during a boot sequence of the computing device;

using a second set of platform configuration registers of the security coprocessor to store and extend measurement of configuration parameters of the code-load used during the boot sequence; and

using a third set of platform configuration registers of the security coprocessor to store and extend measurements of a concurrent update for the code-load that was used during the boot sequence.

9. The system of claim 8 , further comprising performing a local attestation using only the first set of platform configuration registers.

10. The system of claim 8 , further comprising performing a local attestation using only the first set of platform configuration registers and the second set of platform configuration registers.

11. The system of claim 8 , wherein updating the code-load used during the boot sequence using the concurrent update comprises:

loading the concurrent update into memory; and

extending and storing the measurements of the concurrent update into the second set of platform configuration registers.

12. The system of claim 8 , further comprising performing a remote attestation of the computing device using the first set, the second set, and the third set of platform configuration registers.

13. The system of claim 12 , wherein the remote attestation comprises:

receiving a request for the remote attestation from a verification system;

in response to receiving a request for the remote attestation:

requesting a quote from the security coprocessor using the first set, the second set, and the third set of platform configuration registers;

sending the quote and an event log to the verification system;

computing, by the verification system, a hash chain based on the event log; and

comparing the hash chain with the quote from the security coprocessor to attest authentication of the computing device.

14. The system of claim 13 , wherein the remote attestation is successful based on determination that the hash chain matches the quote from the security coprocessor, and the remote attestation is unsuccessful otherwise.

15. A computer program product comprising a computer readable storage medium having stored thereon program instructions executable by one or more processing devices to perform a method of comprising:

using a first set of platform configuration registers of a security coprocessor to store and extend measurement of a code-load used during a boot sequence of a computing device;

using a second set of platform configuration registers of the security coprocessor to store and extend measurement of configuration parameters of the code-load that is used during the boot sequence; and

using a third set of platform configuration registers of the security coprocessor to store and extend measurements of a concurrent update for the code-load that is used during the boot sequence.

16. The computer program product of claim 15 , further comprising performing a local attestation using only the first set of platform configuration registers.

17. The computer program product of claim 15 , further comprising performing a local attestation using only the first set of platform configuration registers and the second set of platform configuration registers.

18. The computer program product of claim 15 , wherein updating the code-load used during the boot sequence using the concurrent update comprises:

loading the concurrent update into memory; and

extending and storing the measurements of the concurrent update into the second set of platform configuration registers.

19. The computer program product of claim 15 , further comprising performing a remote attestation of the computing device using the first set, the second set, and the third set of platform configuration registers.

20. The computer program product of claim 19 , wherein the remote attestation comprises:

receiving a request for the remote attestation from a verification system;

in response:

requesting a quote from the security coprocessor using the first set, the second set, and the third set of platform configuration registers;

sending the quote and an event log to the verification system;

computing, by the verification system, a hash chain based on the event log; and

comparing the hash chain with the quote from the security coprocessor to attest authentication of the computing device.

21. The computer program product of claim 20 , wherein the remote attestation is successful based on determination that the hash chain matches the quote from the security coprocessor, and the remote attestation is unsuccessful otherwise.

22. A computer-implemented method for measuring concurrent updates into a security coprocessor, the method comprising:

extending, by a processor, measurement of a code-load used during a boot sequence of a computing device into a first set of platform configuration registers of the security coprocessor;

extending, by the processor, measurement of an update for the code-load into a second set of platform configuration registers of the security coprocessor;

in response to a request for remote attestation, instructing, by the processor, generation of a quote using the first set of platform configuration registers and the second set of platform configuration registers; and

in response to a request for local attestation to unseal a sealed data, instructing, by the processor, generation of decryption key(s) using the first set of platform configuration registers.

23. The computer-implemented method of claim 22 , further comprising:

extending, by the processor, measurement of a configuration of one or more parameters of the code-load into a third set of platform configuration registers of the security coprocessor; and

generating the quote for the remote attestation further using the third set of platform configuration registers.

24. A system comprising:

security coprocessor;

a memory; and

a processor coupled with the security coprocessor and the memory, the processor configured to perform a method to measure concurrent updates of one or more code-loads, the method comprising:

extending, by the processor, measurement of a code-load used during a boot sequence of a computing device into a first set of platform configuration registers of the security coprocessor;

extending, by the processor, measurement of an update for the code-load into a second set of platform configuration registers of the security coprocessor;

in response to a request for remote attestation, instructing, by the processor, generation of a quote using the first set of platform configuration registers and the second set of platform configuration registers; and

in response to a request for local attestation to unseal a sealed data, instructing, by the processor, generation of decryption key(s) using the first set of platform configuration registers.

25. The system of claim 24 , wherein the method further comprises:

extending, by the processor, measurement of a configuration of one or more parameters of the code-load into a third set of platform configuration registers of the security coprocessor; and

generating the quote for the remote attestation further using the third set of platform configuration registers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2018
From: GOLDMAN, KENNETH ALAN; LANG, JAKOB CHRISTOPHER; SCHUEPFERLING, BENNO; ZEISBERG, DENNIS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047590/0517 →
Continuity (1)
Related Publication 20200167474A1 · May 28, 2020