Embedded controller for updating firmware of another device component
AssigneeLenovo (Singapore) Pte. Ltd.
InventorsThorsten P. Stremlau, Kevin Wayne Beck, Russell Speight VanBlon, Joseph M. Pennisi
Life of this patent
Estimating the term…
Abstract
In one aspect, an embedded controller (EC) in a device may receive a firmware update for another component in the device and determine whether the firmware update has been previously applied at the component. If the firmware update has not been previously applied, the EC may assign an identifier to the firmware update and digitally sign the identifier. The EC may then provide the firmware update and the digitally-signed identifier to the component so that the component may apply the firmware update.
Claims20
A device, comprising:
- at least one processor;
- and
- storage accessible to the at least one processor and comprising instructions executable by the at least one processor to:
- receive, at an embedded controller (EC), firmware update data, a first digital signature associated with a component at which the firmware update data is to be applied, and a first identifier that identifies the EC;
- determine, at the EC and using the first digital signature, that the firmware update data has been received from the component;
- determine, using the first identifier, that the EC is to act upon the firmware update data;
- based on the determination that the firmware update data has been received from the component and based on the determination that the EC is to act upon the firmware update data, hash the firmware update data to render a first hash;
- determine that the firmware update data has not been previously applied at the device based on the first hash not matching one or more other hashes already stored at the device;
- based on the determination that the firmware update data has not been previously applied at the device, generate, using the EC, a first digital certificate comprising a second identifier and a second digital signature, wherein the second digital signature signs the firmware update data, and wherein the second identifier identifies the firmware update data;
- based on the determination that the firmware update data has not been previously applied at the device, generate, using the EC, a second digital certificate comprising an indication identifying the component at which the firmware update data is to be applied and comprising a third digital signature signing the second identifier as coming from the EC;
- and
- send the firmware update data, the first digital certificate, and the second digital certificate to the component to apply the firmware update data.
A method, comprising:
- receiving, at an embedded controller (EC) of a device, firmware update data for a component of the device and also receiving, at the EC, a first identifier that identifies the EC;
- determining, at the EC and using the first identifier, that the EC is to act upon the firmware update data;
- based on determining that the EC is to act upon the firmware update data, hashing the firmware update data at the EC to render a first hash;
- determining, at the EC, that the firmware update data has not been previously applied at the device based on the first hash not matching one or more other hashes already stored at the device;
- based on determining that the firmware update data has not been previously applied at the device, generating, using the EC, a first digital certificate comprising a second identifier and a first digital signature, wherein the first digital signature signs the firmware update data, and wherein the second identifier is associated with the firmware update data;
- based on determining that the firmware update data has not been previously applied at the device, generating, using the EC, a second digital certificate comprising an indication identifying the component at which the firmware update data is to be applied and comprising a second digital signature signing the second identifier as coming from the EC;
- and
- transmitting the firmware update data, the first digital certificate, and the second digital certificate from the EC to the component for the component to apply the firmware update data.
At least one computer readable storage medium (CRSM) that is not a transitory signal, the computer readable storage medium comprising instructions executable by at least one processor to:
- receive, at an embedded controller (EC) of a device, firmware update data for a component of the device and also receive, at the EC, a first identifier that identifies the EC;
- determine, at the EC and using the first identifier, that the EC is to act upon the firmware update data;
- based on determining that the EC is to act upon the firmware update data, hash the firmware update data at the EC to render a first hash;
- determine, at the EC, that the firmware update data has not been previously applied at the device based on the first hash not matching one or more other hashes already stored at the device;
- based on determining that the firmware update data has not been previously applied at the device, generate, using the EC, a first digital certificate comprising a second identifier and a first digital signature, wherein the first digital signature signs the firmware update data, and wherein the second identifier is associated with the firmware update data;
- based on determining that the firmware update data has not been previously applied at the device, generate, using the EC, a second digital certificate comprising an indication identifying the component at which the firmware update data is to be applied and comprising a second digital signature signing the second identifier as coming from the EC;
- and
- transmit the firmware update data, the first digital certificate, and the second digital certificate from the EC to the component for the component to apply the firmware update data.
Dependencies are inferred from the claim text.