System validation by hardware root of trust (hrot) device and system management mode (smm)
US-2021192050-A1 · Jun 24, 2021 · US
US11520895B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11520895-B2 |
| Application number | US-202017113980-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 7, 2020 |
| Priority date | Dec 7, 2020 |
| Publication date | Dec 6, 2022 |
| Grant date | Dec 6, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An electronic device, a method, and a non-transitory, computer-readable medium storing instructions for dynamically verifying trusted applications (TAs) during a boot sequence. The electronic device includes a memory and a processor operably connected to the memory. The processor executes instructions stored in the memory to cause the electronic device to initialize a kernel boot sequence in response to confirming that executable codes for booting the electronic device are from a trusted binary and then verify one or more registered TAs during the kernel boot sequence. Completion of the kernel boot sequence is based on verification results of the set of registered TAs.
Opening claim text (preview).
What is claimed is: 1. An electronic device comprising: a memory storing instructions and one or more registered trusted applications (TAs); and a processor operably connected to the memory, the processor configured to execute the instructions to cause the electronic device to: initialize a kernel boot sequence of the electronic device in response to confirming that executable codes for booting the electronic device are from a trusted binary; and during the kernel boot sequence, verify the one or more registered TAs can be loaded by a secure operating system (OS) of the electronic device and unloaded, wherein, to verify the one or more registered TAs, the processor is configured to execute the instructions to cause the electronic device to confirm, by the secure OS, a signature of a specified registered TA of the one or more registered TAs and a rollback prevention (RP) version of the specified registered TA, and wherein completion of the kernel boot sequence is based on verification results of the one or more registered TAs. 2. The electronic device of claim 1 , wherein the processor is configured to execute the instructions to cause the electronic device to: complete the kernel boot sequence based on the verification results indicating that a subset of the one or more registered TAs is verified; and load an unsecured OS based on the kernel boot sequence being completed. 3. The electronic device of claim 1 , wherein the processor is configured to execute the instructions to cause the electronic device to: complete the kernel boot sequence based on the verification results indicating that each of the one or more registered TAs is verified, or terminate the kernel boot sequence without loading an unsecured OS based on the verification results indicating that any of the one or more registered TAs is not verified. 4. The electronic device of claim 1 , wherein the verification results include at least one of a status code or diagnostic information. 5. The electronic device of claim 1 , wherein . , to verify the one or more registered TAs, the processor is configured to execute the instructions to cause the electronic device to: generate, by a TA dynamic verification module (TDVM), a load request for the specified registered TA; route, by a trusted execution environment (TEE) application programming interface (API), the load request to the secure OS; and load, by the secure OS, the specified registered TA into a secure memory in response to the confirmation of the signature and the RP version by the secure OS. 6. The electronic device of claim 5 , wherein the processor is configured to execute the instructions to cause the electronic device to: call, by the TDVM, one or more self-diagnostic functions for the specified registered TA loaded into the secure memory, each of the one or more self-diagnostic functions pre-defined by an owner of the specified registered TA and corresponding to the specified registered TA, and wherein the verification results comprise results of the one or more self-diagnostic functions. 7. The electronic device of claim 6 , wherein the one or more self-diagnostic functions comprise at least one of: performing a cryptographic function test; performing a test on a secure random API; verifying whether a replay protected memory block (RPMB) is accessible with valid data; wrapping or unwrapping associated secured objects; or verifying that a secure file system (SFS) is available. 8. A method for booting an electronic device, the method comprising: initializing, by a bootloader of the electronic device, a kernel boot sequence in response to confirming that executable codes for booting the electronic device are from a trusted binary; and during the kernel boot sequence, verifying, by a trusted application dynamic verification module (TDVM) of the electronic device, one or more registered trusted applications (TAs) can be loaded by a secure operating system (OS) of the electronic device and unloaded, wherein verifying the one or more registered TAs comprises confirming, by the secure OS, a signature of a specified registered TA of the one or more registered TAs and a rollback prevention (RP) version of the specified registered TA, and wherein completion of the kernel boot sequence is based on verification results of the one or more registered TAs, wherein a memory of the electronic device stores the one or more TAs. 9. The method of claim 8 , further comprising: completing, by the bootloader, the kernel boot sequence based on the verification results indicating that a subset of the one or more registered TAs is verified; and loading, by the bootloader, an unsecured OS based on the kernel boot sequence being completed. 10. The method of claim 9 , wherein: the kernel boot sequence is completed, by the bootloader, based on the verification results indicating that each of the one or more registered TAs is verified, or the kernel boot sequence is terminated without loading an unsecured OS, by the bootloader, based on the verification results indicating that any of the one or more registered TAs is not verified. 11. The method of claim 9 , wherein the verification results include at least one of a status code or diagnostic information. 12. The method of claim 8 , wherein verifying the one or more registered TAs further comprises: generating, by the TDVM, a load request for the specified registered TA; routing, by a trusted execution environment (TEE) application programming interface (API), the load request to the secure OS; and loading, by the secure OS, the specified registered TA into a secure memory in response to the confirmation of the signature and the RP version by the secure OS. 13. The method of claim 12 , further comprising: calling, by the TDVM, one or more self-diagnostic functions for the specified registered TA loaded into the secure memory, each of the one or more self-diagnostic functions pre-defined by an owner of the specified registered TA and corresponding to the specified registered TA, and wherein the verification results comprise results of the one or more self-diagnostic functions. 14. The method of claim 13 , wherein the one or more self-diagnostic functions comprise at least one of: performing a cryptographic function test; performing a test on a secure random API; verifying whether a replay protected memory block (RPMB) is accessible with valid data; wrapping or unwrapping associated secured objects; or verifying that a secure file system (SFS) is available. 15. A non-transitory computer-readable medium comprising instructions that, when executed by a processor of an electronic device having a memory that stores one or more registered trusted applications (TAs), are configured to cause the processor to: initialize, by a bootloader of the electronic device, a kernel boot sequence in response to confirming that executable codes for booting the electronic device are from a trusted binary; and during the kernel boot sequence, verify, by a trusted application dynamic verification module (TDVM) of the electronic device, the one or more registered TAs can be loaded by a secure operating system (OS) of the electronic device and unloaded, wherein the instructions that when executed are configured to cause the processor to verify the one or more registered TAs comprise instructions that when executed are configured to cause the processor to confirm, by the secure OS, a signature of a specified registered TA of the one or more registered TAs and a rollback prevention (RP) version of the specified registered TA, and wherein completion
Secure firmware programming, e.g. of basic input output system [BIOS] · CPC title
Secure boot · CPC title
Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities · CPC title
Loading of operating system · CPC title
Test or assess software · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.