Staging memory for accessory firmware update
AssigneeDell Products L.P.
InventorsMario Anthony Limonciello, Nicholas Diciurcio Grobelny, Marcin Mariusz Nowak
Life of this patent
Estimating the term…
Abstract
A firmware update procedure for an accessory component may use a process that stages the firmware update in a separate component from the target accessory component being updated to reduce the memory requirements in the accessory component. Security measures can be used to prevent malicious users from accessing the firmware update while stored in the staging device prior to overwrite of firmware memory in the accessory component. These security measures can include public-private key signing and cryptographic hash calculations.
Claims18
A method, comprising:
- receiving, by a first component having a first memory storing an original firmware, an instruction from an information handling system coupled to the first component and a second component, wherein the instruction is to verify a firmware payload for the first component stored in a second memory of the second component;
- locking, by the first component, the second memory of the second component from modification;
- determining, by the first component, whether the firmware payload is verified, wherein the step of determining whether the firmware payload is verified comprises:
- instructing, by the first component, the second component to compute a cryptographic hash value for the firmware payload stored in the second memory;
- and
- comparing, by the first component, the cryptographic hash value computed by the second component with an expected hash value for the firmware payload;
- and
- when the firmware payload is verified, updating the first memory with the firmware payload stored in the second memory by overwriting the original firmware.
An apparatus, comprising:
- an information handling system;
- a first component, the first component having a first memory;
- and
- a second component coupled to the first component through the information handling system, the second component having a second memory,
- wherein the second component is configured to perform steps comprising:
- receiving, from the information handling system, an instruction to verify a firmware payload for the second component, the firmware payload stored in the first memory of the first component;
- locking the first memory of the first component from modification;
- determining whether the firmware payload is verified;
- and
- when the firmware payload is verified, updating the second memory with the firmware payload stored in the first memory by overwriting an original firmware stored in the second memory,
- wherein the first component is configured to calculate a cryptographic hash value for the firmware payload after the second component locks the first memory of the first component, and
- wherein the second component is configured to determine whether the firmware payload is verified by comparing the cryptographic hash value with an expected hash value.
An information handling system, comprising:
- a first bus coupled to a first component, wherein the information handling system is coupled to a second component through a second bus between the first component and the second component,
- wherein the information handling system is configured to perform steps comprising:
- storing a firmware payload in a first memory attached to the first component, wherein the firmware payload is intended for the second component;
- and
- transmitting an authenticate command to the second component,
- wherein the step of transmitting the authenticate command causes installation of the firmware payload in the second component by causing the second component to:
- retrieve the firmware payload from the first component;
- and
- determine whether the firmware payload is verified, wherein the step of determining whether the firmware payload is verified comprises:
- instructing the first component to compute a cryptographic hash value for the firmware payload stored in the first memory;
- and
- comparing the cryptographic hash value computed by the first component with an expected hash value for the firmware payload.
Dependencies are inferred from the claim text.