IP Library Granted Patent US 10,181,036
Granted Patent B2
US 10,181,036 · App. 14/749,042 · Granted Jan 15, 2019

Automatic discovery and installation of secure boot certificates

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,181,036
App. No.
14/749,042
Granted
Jan 15, 2019
Kind
B2
Abstract

A method includes a unified extensible firmware interface of a compute node identifying an option ROM or an OS boot loader within the compute node, wherein the option ROM or OS boot loader stores a signed image that can be verified using a required digital certificate. The method further includes determining that the unified extensible firmware interface does not store the required digital certificate in a revocation database or in an authorization database. Still further, the method includes automatically identifying the required digital certificate in a database of digital certificates other than the revocation database or the authorization database, and providing the required digital certificate to the authorization database.

Claims (35)

1. A method, comprising:

a unified extensible firmware interface of a compute node identifying an option ROM or an OS boot loader within the compute node, wherein the option ROM or OS boot loader stores a signed image that can be verified using a required digital certificate;

determining that the unified extensible firmware interface does not store the required digital certificate in a revocation database or in an authorization database;

automatically identifying the required digital certificate in a database of digital certificates other than the revocation database or the authorization database; and

providing the required digital certificate to the authorization database.

2. The method of claim 1 , wherein determining that the unified extensible firmware interface does not store the required digital certificate in a revocation database or in an authorization database, includes sequentially testing each digital certificate in the revocation database and the authorization database until all of the digital certificates in the revocation database and the authorization database have been tested without identifying the required digital certificate, wherein testing each digital certificate includes decoding a digital signature in the signed image with a public key included in the digital certificate, preparing a hash of the image, and comparing the decoded digital signature to the hash of the image, wherein a digital certificate is identified as the required digital certificate in response to determining that the decoded digital signature matches the hash of the image.

3. The method of claim 1 , wherein automatically identifying the required digital certificate in a database of digital certificates other than the revocation database or the authorization database, includes sequentially testing each digital certificate in the database of digital certificates until identifying the required digital certificate, wherein testing each digital certificate includes decoding a digital signature in the signed image with a public key included in the digital certificate, preparing a hash of the image, and comparing the decoded digital signature to the hash of the image, wherein a digital certificate is identified as the required digital certificate in response to determining that the decoded digital signature matches the hash of the image.

4. The method of claim 1 , wherein automatically identifying the required digital certificate in a database of digital certificates other than the revocation database or the authorization database, includes reading header information in the signed image to obtain an identifier for the required digital certificate and then searching the database of digital certificates for a digital certificate having the identifier.

5. The method of claim 1 , further comprising:

verifying the signed image stored on the option ROM or OS boot loader using the required digital certificate; and

loading the signed image only if the signed image has been verified.

6. The method of claim 5 , wherein verifying the signed image stored on the option ROM or OS boot loader using the digital certificate, includes decoding a digital signature of the signed image using a public key included in the required digital certificate and determining that the decoded digital signature matches a hash of the signed image.

7. The method of claim 1 , wherein the database of digital certificates is stored in the unified extensible firmware interface of the compute node.

8. The method of claim 1 , wherein the database of digital certificates is stored in an integrated management module.

9. The method of claim 1 , wherein the database of digital certificates is stored in a chassis management module.

10. The method of claim 1 , wherein the database of digital certificates is stored in a server other than the compute node.

11. The method of claim 1 , further comprising:

automatically removing a selected digital certificate from the authorization database of the compute node in response to determining that the selected digital certificate is not used to verify an option ROM or OS boot loader in the computer node.

12. The method of claim 1 , further comprising:

identifying a plurality of selected digital certificates in the authorization database of the compute node that are not being used to verify an option ROM or OS boot loader in the computer node; and

automatically removing at least one of the identified plurality of selected digital certificates from the authorization database on a first-in-first-out basis to provide enough data storage space in the authorization database for the required digital certificate.

13. A computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:

a unified extensible firmware interface of a compute node identifying an option ROM or an OS boot loader within the compute node, wherein the option ROM or OS boot loader stores a signed image that can be verified using a required digital certificate;

determining that the unified extensible firmware interface does not store the required digital certificate in a revocation database or in an authorization database;

automatically identifying the required digital certificate in a database of digital certificates other than the revocation database or the authorization database; and

providing the required digital certificate to the authorization database.

14. The computer program product of claim 13 , wherein determining that the unified extensible firmware interface does not store the required digital certificate in a revocation database or in an authorization database, includes sequentially testing each digital certificate in the revocation database and the authorization database until all of the digital certificates in the revocation database and the authorization database have been tested without identifying the required digital certificate, wherein testing each digital certificate includes decoding a digital signature in the signed image with a public key included in the digital certificate, preparing a hash of the image, and comparing the decoded digital signature to the hash of the image, wherein a digital certificate is identified as the required digital certificate in response to determining that the decoded digital signature matches the hash of the image.

15. The computer program product of claim 13 , wherein automatically identifying the required digital certificate in a database of digital certificates other than the revocation database or the authorization database, includes sequentially testing each digital certificate in the database of digital certificates until identifying the required digital certificate, wherein testing each digital certificate includes decoding a digital signature in the signed image with a public key included in the digital certificate, preparing a hash of the image, and comparing the decoded digital signature to the hash of the image, wherein a digital certificate is identified as the required digital certificate in response to determining that the decoded digital signature matches the hash of the image.

16. The computer program product of claim 13 , wherein automatically identifying the required digital certificate in a database of digital certificates other than the revocation database or the authorization database, includes reading header information in the signed image to obtain an identifier for the required digital certificate and then searching the database of digital certificates for a digital certificate having the identifier.

17. The computer program product of claim 13 , the method further comprising:

verifying the signed image stored on the option ROM or OS boot loader using the required digital certificate; and

loading the signed image only if the signed image has been verified.

18. The computer program product of claim 17 , wherein verifying the signed image stored on the option ROM or OS boot loader using the digital certificate, includes decoding a digital signature of the signed image using a public key included in the required digital certificate and determining that the decoded digital signature matches a hash of the signed image.

19. The computer program product of claim 13 , wherein the database of digital certificates is stored in the unified extensible firmware interface or an integrated management module of the compute node.

20. The computer program product of claim 13 , wherein the database of digital certificates is stored in a chassis management module or a server other than the compute node.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 049855/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2015
From: JI, SHENGRUI
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 036265/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2015
From: CAMPBELL, NATHAN K.; OLIVER, DOUGLAS W.; JI, SHENG RUI; SHEN, SONGWU; TANG, WENWEI
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE.LTD.
Reel/Frame 035963/0970 →