Method for patching secure boot in IoT
AssigneeBeken Corporation
InventorsZhifu Liu, Zhilei Wang, Pujie Yang
Life of this patent
Estimating the term…
Abstract
A method of patching a secure boot of an internet of things (IoT) device is provided. The method may include: loading a patch on a flash memory of a system-on-chip (SoC); generating a patch key corresponding to the loaded patch using a cryptographic algorithm; reading a pre-determined authentication key from a one-time programmable (OTP) memory of the SoC; comparing the patch key with the authentication key. In response to a comparison result that the patch key is the same as the authentication key, the method may include authenticating the patch; executing the authenticated patch on the SoC; and booting the SoC with the authenticated patch executed on the SoC.
Claims15
A method for authenticating and executing a patch before booting a system-on-chip (SoC) the method comprising:
- loading a patch on a flash memory of the SoC, wherein the patch is executable to change at least one of a hardware configuration or a software configuration related to booting of the SoC;
- generating a patch key corresponding to the loaded patch using a cryptographic algorithm;
- reading a pre-determined authentication key from a one-time programmable (OTP) memory of the SoC;
- comparing the patch key with the authentication key;
- and
- in response to a comparison result that the patch key is the same as the authentication key,
- authenticating the patch;
- executing the authenticated patch on the SoC to change the at least one of the hardware configuration or the software configuration related to the booting-of the SoC, wherein the changing of the hardware configuration of the SoC based on the authenticated patch comprises changing a clock frequency of the flash memory based on the authenticated patch;
- and
- booting the SoC using the changed at least one of the hardware configuration or the software configuration related to the booting of the SoC.
A system-on-chip (SoC) comprising:
- a flash memory configured to store a patch;
- a processor configured to:
- load the patch on the flash memory, wherein the patch is executable to change at least one of a hardware configuration or a software configuration related to booting of the SoC;
- generate a patch key corresponding to the loaded patch using a cryptographic algorithm;
- read a pre-determined authentication key from a one-time programmable (OTP) memory of the SoC;
- compare the patch key with the authentication key;
- and
- in response to a comparison result that the patch key is the same as the authentication key,
- authenticate the patch;
- execute the authenticated patch on the SoC to change the at least one of the hardware configuration or the software configuration related to the booting of the SoC, wherein the changing of the hardware configuration of the SoC based on the authenticated patch comprises changing a clock frequency of the flash memory based on the authenticated patch;
- and
- boot the SoC using the changed at least one of the hardware configuration or the software configuration related to the booting of the SoC.
A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions for authenticating and executing a patch before booting a system-on-chip (SoC) that when executed by a computer, cause the computer to:
- load a patch on a flash memory of the SoC, wherein the patch is executable to change at least one of a hardware configuration or a software configuration related to booting of the SoC;
- generate a patch key corresponding to the loaded patch using a cryptographic algorithm;
- read a pre-determined authentication key from a one-time programmable (OTP) memory of the SoC;
- compare the patch key with the authentication key;
- and
- in response to a comparison result that the patch key is the same as the authentication key,
- authenticate the patch;
- execute the authenticated patch on the SoC to change the at least one of the hardware configuration or the software configuration related to the booting of the SoC, wherein the changing of the hardware configuration of the SoC based on the authenticated patch comprises changing a clock frequency of the flash memory based on the authenticated patch;
- and
- boot the SoC using the changed at least one of the hardware configuration or the software configuration related to the booting of the SoC.
Dependencies are inferred from the claim text.