System and method for dynamic verification of trusted applications

US11520895B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11520895-B2
Application numberUS-202017113980-A
CountryUS
Kind codeB2
Filing dateDec 7, 2020
Priority dateDec 7, 2020
Publication dateDec 6, 2022
Grant dateDec 6, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Secure firmware programming, e.g. of basic input output system [BIOS] · CPC title

  • G06F21/575Primary

    Secure boot · CPC title

  • G06F21/57Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11520895B2 cover?
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 re…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F21/575. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 06 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).