System and method for providing firmware data updates
AssigneeInsyde Software Corp.
InventorTimothy Andrew Lewis
Life of this patent
Estimating the term…
Abstract
A system and method for updating firmware data on a computing platform in response to a firmware update request received in the form of a signed capsule file received via a runtime service is discussed. The firmware update request may be a request to update UEFI firmware and be received using the UpdateCapsule runtime service. The firmware data may include data associated with UEFI protected variables, SMBIOS data, logo data, microcode update data and pre-operating system security policy data.
Claims17
A computing platform-implemented method for updating firmware data in a computing platform equipped with firmware and one or more processors, comprising:
- receiving a firmware update request in the form of a signed capsule file received via a runtime service on the computing platform, the firmware update request indicating a type of firmware data to be updated and a type of update to apply to the data, the signature indicating at least one of a date or time of creation or an incremented version number;
- resetting the computing platform based on the receiving of the firmware update request;
- verifying, with the firmware, an authenticity of the capsule signature;
- verifying, with the firmware following a successful verifying of the authenticity of the capsule signature, that the computing platform matches the capsule file,
- verifying, with the firmware following a successful verifying that the computing platform matches the capsule file, that the date or time of creation in the firmware update request is later than a date or time of creation of associated firmware data on the computing platform or that the version number of the update in the firmware update request is higher than an associated version number indicated on the computing platform;
- applying the firmware update request on the computing platform following a successful verification that the date or time of creation in the firmware update request is later than a date or time of creation of the associated firmware data on the computing platform or that the version number of the update in the firmware update request is higher than the associated version number indicated on the computing platform;
- and
- publishing via an Extensible Firmware Interface (EFI) System Resource Table (ESRT) on the computing platform, with the firmware, a result of applying the update.
A non-transitory medium holding computing-platform executable instructions for updating firmware data in a computing platform equipped with firmware and one or more processors, wherein the instructions when executed cause the computing platform to:
- receive a firmware update request in the form of a signed capsule file received via a runtime service on the computing platform, the firmware update request indicating a type of firmware data to be updated and a type of update to apply to the data, the signature indicating at least one of a date or time of creation or an incremented version number;
- reset the computing platform based on the receiving of the firmware update request;
- verify, with the firmware an authenticity of the capsule signature;
- verify, with the firmware following a successful verifying of the authenticity of the capsule signature, that the computing platform matches the capsule file,
- verify, with the firmware following a successful verifying that the computing platform matches the capsule file, that the date or time of creation in the firmware update request is later than a date or time of creation of associated firmware data on the computing platform or that the version number of the update in the firmware update request is higher than an associated version number indicated on the computing platform;
- apply the firmware update request on the computing platform following a successful verification that the date or time of creation in the firmware update request is later than a date or time of creation of the associated firmware data on the computing platform or that the version number of the update in the firmware update request is higher than the associated version number indicated on the computing platform;
- and
- publishing via an Extensible Firmware Interface (EFI) System Resource Table (ESRT) on the computing platform, with the firmware, a result of applying the update.
A system for updating firmware data in a computing platform, comprising:
- a firmware update request in the form of a signed capsule file having a signature, the firmware update request indicating a type of firmware data to be updated and a type of update to apply to the data, the signature indicating at least one of a date or time of creation or an incremented version number;
- an operating system (OS)-based application;
- a computing platform equipped with one or more processors, a firmware runtime services interface and firmware, wherein the firmware runtime services interface is configured to receive the signed capsule file from the OS-based application and the firmware when executed causes the computing platform to:
- reset the computing platform based on the receiving of the firmware update request;
- verify an authenticity of the capsule signature;
- verify, following a successful verifying of the authenticity of the capsule signature, that the computing platform matches the capsule file,
- verify, following a successful verifying that the computing platform matches the capsule file, that the date or time of creation in the firmware update request is later than a date or time of creation of associated firmware data on the computing platform or that the version number of the update in the firmware update request is higher than an associated version number indicated on the computing platform;
- apply the firmware update request on the computing platform following a successful verification that the date or time of creation in the firmware update request is later than a date or time of creation of the associated firmware data on the computing platform or that the version number of the update in the firmware update request is higher than the associated version number indicated on the computing platform;
- and
- publish via an Extensible Firmware Interface (EFI) System Resource Table (ESRT) on the computing platform a result of applying the update.
Dependencies are inferred from the claim text.