IP Library Granted Patent US 12,271,510
Granted Patent B2
US 12,271,510 · App. 18/570,631 · Granted Apr 8, 2025

Method for implementing firmware root-of-trust, and apparatus, device and readable storage-medium thereof

Inventors: Xin Xu (Jiangsu, CN); Baoxi Wu (Jiangsu, CN); Chunchao Han (Jiangsu, CN)
Assignee: SUZHOU METABRAIN INTELLIGENT TECHNOLOGY CO., LTD.
G06F21/64G06F21/572G06F21/71
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,271,510
App. No.
18/570,631
Granted
Apr 8, 2025
Kind
B2
Abstract

The disclosure relates to the field of computer security. Provided are a method for implementing a firmware root-of-trust, and an apparatus, a device, and a readable storage-medium thereof. The method includes: setting a storage-medium for storing state-data of the firmware root-of-trust; integrating a processing-logic of an instruction of the firmware root-of-trust into a system-firmware; initializing the firmware root-of-trust, according to the state-data of the firmware root-of-trust and a startup-command of the firmware root-of-trust; creating a node of a device-tree for the firmware root-of-trust, for an operating-system to load a driver-program corresponding to the firmware root-of-trust; and registering an instruction-interface of the firmware root-of-trust into an interface-list.

Claims (18)

1. A method for implementing a firmware root-of-trust, wherein the method comprises: setting a storage-medium for storing state-data of the firmware root-of-trust; integrating a processing-logic of an instruction of the firmware root-of-trust into a system-firmware; initializing the firmware root-of-trust, according to the state-data of the firmware root-of-trust and a startup-command of the firmware root-of-trust; creating a node of a device-tree for the firmware root-of-trust, for an operating-system to load a driver-program corresponding to the firmware root-of-trust; and registering an instruction-interface of the firmware root-of-trust into an interface-list; and wherein the initializing the firmware root-of-trust according to the state-data of the firmware root-of-trust and the startup-command of the firmware root-of-trust, comprises: obtaining the state-data of the firmware root-of-trust from the storage-medium; configuring an operating-state of the firmware root-of-trust according to the state-data of the firmware root-of-trust; loading persistent-data stored in the firmware root-of-trust from a user; and executing the startup-command of the firmware root-of-trust, to initialize internal data of the firmware root-of-trust;

wherein the method further comprises: executing the instruction of the firmware root-of-trust through the driver-program, and obtaining a processing-result of the instruction of the firmware root-of-trust; and wherein the executing the instruction of the firmware root-of-trust through the driver-program and obtaining the processing-result of the instruction of the firmware root-of-trust, comprises: receiving an access-request for the firmware root-of-trust indicating that the instruction of the firmware root-of-trust input from the user is received, through an operating-interface of the firmware root-of-trust provided by the operating-system; storing current states of a stack and a register; calling the instruction-interface to process the instruction of the firmware root-of-trust; obtaining a processing-result of the instruction-interface; restoring states of the stack and the register; and returning the processing-result of the instruction of the firmware root-of-trust.

2. The method for implementing the firmware root-of-trust according to claim 1 , wherein the calling the instruction-interface to process the instruction of the firmware root-of-trust, comprises: obtaining the instruction of the firmware root-of-trust; executing the instruction of the firmware root-of-trust; in response to the instruction of the firmware root-of-trust changing the state-data of the firmware root-of-trust, storing the state-data of the firmware root-of-trust; and returning an execution-result of the instruction of the firmware root-of-trust.

3. The method for implementing the firmware root-of-trust according to claim 2 , wherein, before the executing the instruction of the firmware root-of-trust, the method further comprises: in response to the instruction of the firmware root-of-trust containing time-information, calculating the time-information.

4. The method for implementing the firmware root-of-trust according to claim 3 , wherein the calculating the time-information, comprises: obtaining a timer-base when counting starts; and obtaining a counting-result by calculating a difference-value of the counting.

5. The method for implementing the firmware root-of-trust according to claim 1 , wherein the creating the node of the device-tree for the firmware root-of-trust, comprises: writing device-information into a node of a device-tree of the computer.

6. The method for implementing the firmware root-of-trust according to claim 1 , wherein a Flash-chip is used as the storage-medium for the state-data of the root-of-trust.

7. The method for implementing the firmware root-of-trust according to claim 1 , wherein a cryptographic mechanism is adopted to ensure security of the state-data of the firmware root-of-trust.

8. The method for implementing the firmware root-of-trust according to claim 1 , wherein the operating-system and application-programs change the state-data of the firmware root-of-trust through the instruction-interface of the firmware root-of-trust.

9. The method for implementing the firmware root-of-trust according to claim 6 , wherein the state-data of the firmware root-of-trust is stored into the Flash-chip in real time.

10. A computer device, comprising: a memory and a processor, wherein computer-readable instructions are stored in the memory and operable in the processor, and when the processor executes the computer-readable instructions, the processor performs operations comprising: setting a storage-medium for storing state-data of the firmware root-of-trust; integrating a processing-logic of an instruction of the firmware root-of-trust into a system-firmware; initializing the firmware root-of-trust, according to the state-data of the firmware root-of-trust and a startup-command of the firmware root-of-trust; creating a node of a device-tree for the firmware root-of-trust, for an operating-system to load a driver-program corresponding to the firmware root-of-trust; and registering an instruction-interface of the firmware root-of-trust into an interface-list; and wherein the initializing the firmware root-of-trust according to the state-data of the firmware root-of-trust and the startup-command of the firmware root-of-trust, comprises: obtaining the state-data of the firmware root-of-trust from the storage-medium; configuring an operating-state of the firmware root-of-trust according to the state-data of the firmware root-of-trust; loading persistent-data stored in the firmware root-of-trust from a user; and executing the startup-command of the firmware root-of-trust, to initialize internal data of the firmware root-of-trust; executing the instruction of the firmware root-of-trust through the driver-program, and obtaining a processing-result of the instruction of the firmware root-of-trust; and wherein the executing the instruction of the firmware root-of-trust through the driver-program and obtaining the processing-result of the instruction of the firmware root-of-trust, comprises: receiving an access-request for the firmware root-of-trust indicating that the instruction of the firmware root-of-trust input from the user is received, through an operating-interface of the firmware root-of-trust provided by the operating-system; storing current states of a stack and a register; calling the instruction-interface to process the instruction of the firmware root-of-trust; obtaining a processing-result of the instruction-interface; restoring states of the stack and the register; and returning the processing-result of the instruction of the firmware root-of-trust.

11. A non-transitory computer-readable storage-medium, storing computer-readable instructions, wherein, when the computer-readable instructions are executed by a processor, the computer-readable instructions cause the processor to perform operations comprising: setting a storage-medium for storing state-data of the firmware root-of-trust; integrating a processing-logic of an instruction of the firmware root-of-trust into a system-firmware; initializing the firmware root-of-trust, according to the state-data of the firmware root-of-trust and a startup-command of the firmware root-of-trust; creating a node of a device-tree for the firmware root-of-trust, for an operating-system to load a driver-program corresponding to the firmware root-of-trust; and

registering an instruction-interface of the firmware root-of-trust into an interface-list; and

wherein the initializing the firmware root-of-trust according to the state-data of the firmware root-of-trust and the startup-command of the firmware root-of-trust, comprises:

obtaining the state-data of the firmware root-of-trust from the storage-medium;

configuring an operating-state of the firmware root-of-trust according to the state-data of the firmware root-of-trust; loading persistent-data stored in the firmware root-of-trust from a user; and executing the startup-command of the firmware root-of-trust, to initialize internal data of the firmware root-of-trust; executing the instruction of the firmware root-of-trust through the driver-program, and obtaining a processing-result of the instruction of the firmware root-of-trust; and wherein the executing the instruction of the firmware root-of-trust through the driver-program and obtaining the processing-result of the instruction of the firmware root-of-trust, comprises: receiving an access-request for the firmware root-of-trust indicating that the instruction of the firmware root-of-trust input from the user is received, through an operating-interface of the firmware root-of-trust provided by the operating-system; storing current states of a stack and a register;

calling the instruction-interface to process the instruction of the firmware root-of-trust;

obtaining a processing-result of the instruction-interface; restoring states of the stack and the register; and returning the processing-result of the instruction of the firmware root-of-trust.

Assignments (2)
LICENSE Recorded Jun 30, 2026
From: IEIT SYSTEMS CO., LTD
To: AIVRES SYSTEMS INC.
Reel/Frame 075857/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2023
From: XU, XIN; WU, BAOXI; HAN, CHUNCHAO
To: SUZHOU METABRAIN INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 065878/0262 →
Priority Claims (1)
CN 202111616444.4 · Dec 28, 2021 · national
Continuity (1)
Related Publication 20240289494A1 · Aug 29, 2024
References Cited (27)
US 8028155B1 · Righi et al. · 2011 [cited by applicant]
US 20150082399A1 · Wu · 2015 [cited by examiner]
US 20180285127A1 · Shang et al. · 2018 [cited by applicant]
US 20180349610A1 · Gupta · 2018 [cited by examiner]
US 20190042229A1 · Kotary · 2019 [cited by examiner]
US 20190095357A1 · Ozsoy · 2019 [cited by examiner]
US 20190163497A1 · Samuel et al. · 2019 [cited by applicant]
US 20200012803A1 · Mannan · 2020 [cited by examiner]
US 20200097661A1 · Block · 2020 [cited by examiner]
US 20200119929A1 · Edwards · 2020 [cited by examiner]
US 20200202004A1 · Montero · 2020 [cited by examiner]
US 20200218811A1 · Rangel-Martinez · 2020 [cited by examiner]
US 20220006637A1 · Nevis · 2022 [cited by examiner]
US 20220012088A1 · Guim Bernat · 2022 [cited by examiner]
CN 106775716A · 2017 [cited by applicant]
CN 107861795A · 2018 [cited by applicant]
CN 108170516A · 2018 [cited by applicant]
CN 108572861A · 2018 [cited by applicant]
CN 109101284A · 2018 [cited by applicant]
CN 109190401A · 2019 [cited by applicant]
CN 109947682A · 2019 [cited by applicant]
CN 110109710A · 2019 [cited by applicant]
CN 112306754A · 2021 [cited by applicant]
CN 113987599A · 2022 [cited by applicant]
Guixiong Liu. “Embedded system firmware security verification method based on Hash algorithm.” China Test, vol. 40, No. 5, May 31, 2014. [cited by applicant]
Xin Chen. “Research and implementation of trusted startup technology for embedded instrumentation based on JTAG and SM3.” Network Security Technology and Application, No. 10, Oct. 31, 2021. [cited by applicant]
Peng, Shuanghe, and Zhen Han. “Design and Implementation of Portable TPM Device Driver Based on Extensible Firmware Interface.” 2009 International Conference on Multimedia Information Networking and Security. vol. 2. IE… [cited by applicant]