Trusted startup method and system, computer equipment and storage medium
By improving the method of trustworthy measurement and startup loading unit determination when the trustworthy root is powered on the computing node, the problem that the computing node cannot achieve trustworthy startup and a complete trustworthy chain is solved, and the trustworthy measurement and secure startup of the entire link are realized.
Patent Information
- Application Number
- CN202411628593.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-14
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2044-11-14
Smart Images

Figure CN119848857A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a trusted startup method, system, computer device and storage medium. Background Art
[0002] Trusted computing starts with the boot firmware, measures layer by layer, and establishes a trusted chain. Due to the late development of trusted computing in China and its limited application, most of the existing computing nodes do not have a trusted computing security mechanism. Therefore, in order to enable the computing nodes to have a trusted computing security mechanism, the computing nodes need to be trusted. In the trusted transformation process of some computing nodes, although a trusted root is added to build a trusted mechanism, the boot sequence of the components on the motherboard cannot be changed due to the structural limitations of the original motherboard, resulting in the inability to measure the boot firmware at the initial startup, and the inability to achieve a complete trusted chain, and a truly secure and trusted computing environment. Since the boot firmware is the source of the computing node startup, once the storage unit is damaged or the internal firmware is destroyed, the computing node cannot be started, and there is a great security risk. Summary of the invention
[0003] The present application provides a trusted startup method, system, computer device and storage medium to solve the problem that existing computing nodes cannot be trusted to start and establish a complete trusted chain after adding a trusted root.
[0004] In a first aspect, the present application provides a trusted startup method, the method comprising:
[0005] When the improved trusted root on the computing node is powered on, a trusted measurement is performed on an extension unit in the improved trusted root to obtain a trusted measurement result of the extension unit, wherein the extension unit includes a logic control unit and a first storage unit;
[0006] When the trusted measurement result of the extension unit is trusted, determining a boot loading unit according to the deployment mode between the computing node and the improved trusted root, wherein the boot loading unit is the first storage unit or the second storage unit that is successfully measured, and the second storage unit is a storage unit in the computing node;
[0007] Using the logic control unit to control the central processing unit in the computing node to power on and start, and loading the target startup firmware in the startup loading unit into the central processing unit for startup operation, wherein the target startup firmware is the first startup firmware in the first storage unit or the startup firmware in the second storage unit;
[0008] When the target startup firmware is started, a trusted measurement is performed on the preset measurement object to obtain a trusted measurement result corresponding to the preset measurement object;
[0009] When the trustworthy measurement result of the preset measurement object is trustworthy, it is determined that the trustworthy startup process of the computing node has been completed.
[0010] Optionally, when the trust measurement result of the extension unit is trustworthy, determining the startup loading unit according to the deployment mode between the computing node and the improved trusted root includes:
[0011] When the trust measurement result of the extension unit is trustworthy, judging whether there is a second storage unit in the computing node according to the deployment mode between the computing node and the improved trusted root;
[0012] When the second storage unit does not exist in the computing node, the first storage unit is used as a boot loading unit.
[0013] Optionally, judging whether a second storage unit exists in the computing node according to a deployment mode between the computing node and the improved trusted root includes:
[0014] In the case where the improved trusted root is matched and connected with the motherboard interface of the second storage unit in the computing node, determining that the second storage unit does not exist in the computing node, wherein the first storage unit in the improved trusted root replaces the first storage unit through the interface connection; or,
[0015] In a case where the improved trusted root is not matched and connected with the mainboard interface of the second storage unit, it is determined that the second storage unit exists in the computing node.
[0016] Optionally, when the trust measurement result of the extension unit is trustworthy, after determining whether there is a second storage unit in the computing node according to the deployment mode between the computing node and the improved trusted root, the method further includes:
[0017] When the second storage unit exists in the computing node, the second storage unit is controlled to be powered on and started by the logic control unit, and the second startup firmware in the second storage unit is trusted by the improved root of trust to obtain a trusted measurement result of the second startup firmware;
[0018] When the trust measurement result of the second boot firmware is trustworthy, the second storage unit is used as a boot loading unit.
[0019] Optionally, after obtaining the trust measurement result of the second boot firmware, the method further includes:
[0020] When the trust measurement result of the second boot firmware is untrustworthy, accumulating and determining the number of consecutive measurements of the boot firmware in the second storage unit;
[0021] When the number of consecutive measurements of the startup firmware in the second storage unit is less than a preset number, using the first startup firmware in the first storage unit to update the second startup firmware in the second storage unit;
[0022] Determine the firmware update status of the second storage unit and accumulate the number of synchronous updates;
[0023] When the firmware update status is update success, performing a trust measurement on the updated third boot firmware in the second storage unit to obtain a trust measurement result of the third boot firmware;
[0024] When the trust measurement result of the third boot firmware is trustworthy, the second storage unit is used as the boot loading unit.
[0025] Optionally, when the trust measurement result of the second boot firmware is untrustworthy, after accumulating and determining the number of consecutive measurements of the second boot firmware, the method further includes:
[0026] When the number of consecutive measurements of booting the firmware in the second storage unit is greater than or equal to a preset number, or the firmware update status is update failure, the first storage unit is used as a boot loading unit.
[0027] Optionally, when the target startup firmware is started, performing a trust measurement on a preset measurement object to obtain a trust measurement result corresponding to the preset measurement object includes:
[0028] When the target boot firmware is started, a trust measurement is performed on the measured operating system boot program to obtain a trust measurement result of the measured operating system boot program;
[0029] When the trust measurement result of measuring the operating system boot program is trustworthy, loading the measured operating system boot program, and performing trust measurement on the measured operating system program to obtain the trust measurement result of the measured operating system program;
[0030] When the trust measurement result of measuring the operating system program is trustworthy, loading the measuring operating system program, and performing trust measurement on the preset application program to obtain the trust measurement result of the preset application program;
[0031] When the trust measurement result of the preset application is trustworthy, a trust measurement result of successful measurement of the preset measurement object is obtained, wherein the preset measurement object includes the measured operating system boot program, the measured operating system program and the preset application.
[0032] In a second aspect, the present application provides a trusted boot system, which includes a computing node and an improved trusted root, wherein the improved trusted root is deployed at different locations on the corresponding mainboard of the computing node corresponding to different deployment methods, and the computing node deployed with the trusted root is used to implement the trusted boot method as described in any one of the above items.
[0033] In a third aspect, the present application provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned trusted startup method when executing the computer program.
[0034] In a fourth aspect, the present application also provides a computer storage medium storing computer executable instructions, wherein the computer executable instructions are used to execute the above-mentioned trusted startup method.
[0035] The method provided by the embodiment of the present application is as follows: when the improved trusted root on the computing node is powered on, a trusted measurement is performed on the extension unit in the improved trusted root to obtain a trusted measurement result of the extension unit, wherein the extension unit includes a logic control unit and a first storage unit; when the trusted measurement result of the extension unit is trusted, a boot loading unit is determined according to the deployment mode between the computing node and the improved trusted root, wherein the boot loading unit is the first storage unit or the second storage unit that has been successfully measured, and the second storage unit is a storage unit in the computing node; the logic control unit is used to control the central processing unit in the computing node to power on and start, and the target boot firmware in the boot loading unit is loaded into the central processing unit for startup and operation, wherein the target boot firmware is the first boot firmware in the first storage unit or the boot firmware in the second storage unit; when the startup of the target boot firmware is completed, a trusted measurement is performed on a preset measurement object to obtain a trusted measurement result corresponding to the preset measurement object; when the trusted measurement result of the preset measurement object is trusted, it is determined that the trusted startup process of the computing node has been completed.
[0036] Based on the above method, when the improved trusted root is powered on, the extension unit in the improved trusted root is first trusted by measurement. When the trusted measurement result of the extension unit is trusted, the boot loading unit is determined according to the deployment method between the improved trusted root and the computing node. The boot loading unit can be the first storage unit in the extension unit, or the second storage unit located in the computing node but not on the improved trusted root. Since the boot loading unit is a unit that has undergone trusted measurement and the trusted measurement result is trusted, the logic control unit is used to control the startup of the central processing unit in the computing node and load the target boot firmware in the boot loading unit into the central processing unit for startup and operation, thereby completing the trusted measurement and secure startup of the boot firmware. After that, the preset measurement object in the startup phase is trusted by measurement. When the trusted measurement result of the preset measurement object is trusted, it is determined that the trusted startup process of the computing node has been completed, thereby realizing the trusted measurement of the entire link in the startup process of the computing node, and determining that the computing node can be trusted to start and establish a complete trusted chain, thereby solving the problem that the existing computing node cannot be trusted to start and establish a complete trusted chain after adding a trusted root. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0038] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0039] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.
[0040] Figure 1 A schematic diagram of the structure of a trusted startup system provided in an embodiment of the present application;
[0041] Figure 2 A schematic diagram of the structure of an improved trusted root provided in an embodiment of the present application;
[0042] Figure 3 A schematic diagram of the structure of an improved trusted root provided in an embodiment of the present application;
[0043] Figure 4 A schematic diagram of the structure of a computing node provided in an embodiment of the present application;
[0044] Figure 5 A schematic diagram of the structure of a computing node provided in an embodiment of the present application;
[0045] Figure 6 A flow chart of a trusted startup method provided in an embodiment of the present application;
[0046] Figure 7 A flow chart of a trusted startup method provided in an embodiment of the present application;
[0047] Figure 8 A flow chart of a trusted startup method provided in an embodiment of the present application;
[0048] Fig. 9 A flow chart of a trusted startup method provided in an embodiment of the present application;
[0049] Fig.10 A flow chart of a trusted startup method provided in an embodiment of the present application;
[0050] Fig.11 A schematic diagram of the internal structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0051] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0052] The disclosure below provides many different embodiments or examples to implement different structures of the present invention. In order to simplify the disclosure of the present invention, the parts and settings of specific examples are described below. Of course, they are only examples, and the purpose is not to limit the present invention. In addition, the present invention can repeat reference numbers and / or letters in different examples. This repetition is for the purpose of simplification and clarity, and does not itself indicate the relationship between the various embodiments and / or settings discussed.
[0053] Figure 1 FIG. 1 is a schematic diagram of a structure of a trusted boot system in an embodiment. Figure 1The trusted boot method is applied to a trusted boot system. The trusted boot system includes a computing node 110 and an improved trusted root 120. The improved trusted root 120 is deployed at different locations on the corresponding motherboard of the computing node 110 corresponding to different deployment modes. The computing node 110 deployed with the trusted root is used to implement the trusted boot method. The computing node 110 includes a motherboard power supply, a logic switch, a central processing unit, a second storage unit, a motherboard circuit and other devices.
[0054] like Figure 2 and Figure 3 As shown, the improved trusted root 120 (improved TPCM) is an extension unit added to the original initial trusted root (original TPCM). The initial trusted root includes a microprocessor, a volatile storage unit, a non-volatile storage unit, a timer, an input and output unit, a password module management unit, a key generator, and a random number generator. The extension unit specifically includes a first storage unit and a logic control unit. The first storage unit is a BIOS / Uboot storage unit, which is used to store the basic firmware required for CPU startup, specifically including startup firmware, basic configuration files, basic function codes, driver modules, peripheral function modules, and system startup boot measurement control. The improved TPCM is configured internally by the logic control unit to realize the protection of the startup firmware (BIOS / Uboot firmware) inside the trusted root, and ensure the security and reliability of the startup firmware in the computing node 110. The logic control unit is also used to control the power-on timing of each component in the computing node 110 and the data access logic, etc., and can manage and control the external output port of the improved trusted root 120.
[0055] There are two ways to improve the deployment between the trusted root 120 and the computing node 110, see Figure 4 The first method is to optimize the interface of the improved TPCM. Under the premise that the original motherboard remains unchanged, the interface of the original BIOS / Uboot storage unit component on the motherboard is used to directly deploy the improved TPCM, and the improved trusted root 120 replaces the original second storage unit on the computing node 110, thereby simplifying the trusted transformation of the computing node 110 and improving the adaptability of trusted applications. Figure 5 ,The second method is to retain the original BIOS / Uboot storage unit components and ,perform the trusted transformation of the computing node 110 by changing the ,mainboard circuit design or using other interfaces of the mainboard. ,This method stores two BIOS / Uboot storage units and can ,achieve a complete backup of the startup firmware, thereby ,increasing the security and credibility of the startup firmware.
[0056] In one embodiment, Figure 6 A flow chart of a trusted startup method in an embodiment is shown in FIG. Figure 6, provides a trusted startup method. This embodiment mainly applies this method to the above Figure 1 Taking the computing node 110 in FIG. 1 as an example, the trusted startup method specifically includes the following steps:
[0057] Step S210, when the improved trusted root 120 on the computing node 110 is powered on, a trusted measurement is performed on the extension unit in the improved trusted root 120 to obtain a trusted measurement result of the extension unit, wherein the extension unit includes a logic control unit and a first storage unit.
[0058] Specifically, when the improved trusted root 120 is powered on, the extension unit in the improved trusted root 120 is first trusted, thereby ensuring the trusted state of the logic control unit and the first storage unit, so as to facilitate the subsequent use of the boot firmware that comes with the improved TPCM to achieve trusted boot of the computing node 110.
[0059] Step S220, when the trust measurement result of the extension unit is trustworthy, determine the boot loading unit according to the deployment method between the computing node 110 and the improved trusted root 120, wherein the boot loading unit is the first storage unit or the second storage unit that is successfully measured, and the second storage unit is the storage unit in the computing node 110.
[0060] Specifically, when the trusted measurement result of the extension unit is trusted, it is necessary to determine the boot loading unit according to the deployment mode between the computing node 110 and the improved trusted root 120, because the existence state of the second storage unit in the computing node 110 is different under different deployment modes. The second storage unit is a storage unit that only exists in the computing node 110 but not in the improved trusted root 120. The first storage unit and the second storage unit are BIOS / Uboot storage units deployed in different locations. The boot loading unit is selected from the first storage unit and the second storage unit, so the different existence states of the second storage unit will affect the selection of the boot loading unit. The boot loading unit is a storage unit that has undergone trusted measurement, that is, a trusted first storage unit or a trusted second storage unit.
[0061] Step S230, using the logic control unit to control the central processing unit in the computing node 110 to power on and start up, and loading the target startup firmware in the startup loading unit into the central processing unit for startup operation, wherein the target startup firmware is the first startup firmware in the first storage unit or the startup firmware in the second storage unit.
[0062] Specifically, the central processing unit in the computing node 110 is recorded as CPU. When a trusted boot loading unit is determined, the central processing unit in the computing node 110 can be powered on and the target boot firmware in the boot loading unit can be loaded into the central processing unit for startup and operation to ensure the safe and trusted startup of the boot firmware.
[0063] Step S240, when the target boot firmware is started, a trust measurement is performed on the preset measurement object to obtain a trust measurement result corresponding to the preset measurement object.
[0064] Specifically, the preset measurement object refers to an object that needs to be trusted except for the boot firmware during the startup of the computing node 110. After the target boot firmware is started, the other preset measurement objects are trusted to detect the trust status of the other preset measurement objects.
[0065] Step S250 , when the trust measurement result of the preset measurement object is trustworthy, it is determined that the trustworthy startup process of the computing node 110 has been completed.
[0066] Specifically, when the trusted measurement result of the preset measurement object is trusted, it means that the entire link in the startup process of the computing node 110 is trusted, then it is determined that the trusted startup process of the computing node 110 has been completed to ensure the trusted startup of the entire link during the startup process, thereby realizing the trusted measurement of the entire link during the startup process of the computing node 110, and determining that the computing node 110 can be trusted to start and establish a complete trusted chain, thereby solving the problem that the existing computing node 110 cannot be trusted to start and establish a complete trusted chain after adding a trusted root.
[0067] In one embodiment, when the trust measurement result of the extension unit is trustworthy, determining the boot loading unit according to the deployment mode between the computing node 110 and the improved trusted root 120 includes:
[0068] When the trust measurement result of the extension unit is trustworthy, judging whether there is a second storage unit in the computing node 110 according to the deployment mode between the computing node 110 and the improved trusted root 120;
[0069] When the second storage unit does not exist in the computing node 110, the first storage unit is used as a boot loading unit.
[0070] Specifically, the trusted measurement result of the extension unit is trusted, indicating that the trusted measurement results of the first storage unit and the logic control unit are both trusted. According to the deployment method between the computing node 110 and the improved trusted root 120, it is determined whether there is a second storage unit in the computing node 110. If the deployment method between the computing node 110 and the improved trusted root 120 indicates that there is no second storage unit in the computing node 110, it means that there is only one BIOS / Uboot storage unit on the computing node 110, which is the first storage unit in the improved trusted root 120. Then, the first storage unit with a trusted measurement result of being trusted is used as the boot loading unit, so that the secure and trusted boot firmware obtained from the first storage unit is subsequently loaded into the central processing unit as the target boot firmware, thereby ensuring the secure and trusted state of the boot firmware.
[0071] In one embodiment, judging whether a second storage unit exists in the computing node 110 according to the deployment mode between the computing node 110 and the improved trusted root 120 includes:
[0072] In the case where the improved trusted root 120 is matched and connected with the motherboard interface of the second storage unit in the computing node 110, it is determined that the second storage unit does not exist in the computing node 110, wherein the first storage unit in the improved trusted root 120 replaces the first storage unit through the interface connection; or,
[0073] When the improved root of trust 120 is not matched and connected with the mainboard interface of the second storage unit, it is determined that the second storage unit exists in the computing node 110 .
[0074] Specifically, when the improved trusted root 120 is matched and connected with the motherboard interface of the second storage unit, the improved trusted root 120 is determined to be deployed at the deployment position corresponding to the second storage unit on the computing node 110, so that the interface matching with the original BIOS / Uboot storage unit component can be achieved, and the trusted transformation of the computing node 110 is achieved by replacing the BIOS / Uboot storage component on the original motherboard. That is, the second storage unit is replaced by the first storage unit in the improved trusted root 120. At this time, there is only one BIOS / Uboot storage unit on the computing node 110, that is, there is no second storage unit in the computing node 110. Based on this deployment method, the construction of a trusted node with a complete trust chain can be quickly realized without changing the motherboard circuit design, thereby improving the efficiency and applicability of the trusted computing transformation. The external interface output by the improved trusted root 120 is optimized and improved, so that the output interface is kept as matched as possible with the original boot storage component interface of the motherboard, and the transformation of the motherboard during the trusted adaptation process is reduced, thereby enhancing the applicability of the improved trusted root 120 on different motherboards and completing the establishment of the trusted chain.
[0075] However, when the improved trusted root 120 is not detected to be matched with the motherboard interface of the second storage unit, it means that the deployment method between the improved trusted root 120 and the computing node 110 is to retain the original second storage unit in the computing node 110, and through the transformation of the corresponding motherboard circuit of the computing node 110 and the design of the startup logic, use other interfaces or add the improved trusted root 120 to deploy it at the motherboard position, so that it has the ability to start from the improved trusted root 120 and establish a complete trusted chain. Under this deployment method, the second storage unit is retained in the computing node 110, so based on this deployment method, it can be determined that there is a second storage unit in the computing node 110. By modifying the startup logic and circuit design, the deployment of the trusted root is completed, and the computing node 110 is guaranteed to start from the trusted root, and the trusted transformation and upgrade of the node is realized, which is suitable for trusted root applications such as external and patch-type. Under this deployment method, there are two BIOS / Uboot storage units in the computing node 110, which can realize the complete backup of the startup firmware and increase the security and credibility of the startup firmware.
[0076] In one embodiment, referring to Figure 8 When the trust measurement result of the extension unit is trustworthy, after determining whether there is a second storage unit in the computing node 110 according to the deployment mode between the computing node 110 and the improved trusted root 120, the method further includes:
[0077] When the second storage unit exists in the computing node 110, the second storage unit is controlled to be powered on and started by the logic control unit, and the second boot firmware in the second storage unit is trusted by the improved root of trust 120 to obtain a trusted measurement result of the second boot firmware;
[0078] When the trust measurement result of the second boot firmware is trustworthy, the second storage unit is used as a boot loading unit.
[0079] Specifically, when there is a second storage unit in the computing node 110, the logic control unit is first used to control the power-on startup of the second storage unit, and then the improved trusted root 120 is used to perform trust measurement on the second boot firmware in the second storage unit to obtain a trust measurement result of the second boot firmware, which is used to indicate the trusted state of the second boot firmware. When the trust measurement result of the second boot firmware is trusted, the trusted second storage unit is used as the boot loading unit, that is, the local second storage unit of the computing node 110 is preferentially selected as the boot loading unit, and the second boot firmware in the second storage unit is used as the target boot firmware.
[0080] Reference Fig. 9The second deployment method realizes the operation of dual BIOS / Uboot storage units, in which the first storage unit (BIOS / Uboot1) of the improved TPCM (i.e., the improved trusted root 120) is the security source of the boot firmware in the local node, and the second boot firmware in the second storage unit (BIOS / Uboot2) must be consistent with the first boot firmware in the first storage unit.
[0081] The first deployment method and the second deployment method in this method can use local operation and maintenance tools and remote trusted security management center to load or update the boot firmware of the BIOS / Uboot1 storage unit inside the improved TPCM. In both methods, the boot firmware loaded or updated must be guaranteed to be safe and reliable, so as to ensure that the boot firmware loaded into the CPU memory is safe and reliable.
[0082] After the boot firmware is stored in the BIOS / Uboot1 storage unit, the improved TPCM calculates the baseline value of the boot firmware measurement and stores it in the trusted benchmark library; the improved TPCM synchronizes the boot firmware loaded or updated by the BIOS / Uboot1 storage unit to the BIOS / Uboot2 storage unit through the interface; after the BIOS / Uboot2 storage unit is powered on, the improved TPCM measures the boot firmware stored inside it and verifies it with the baseline value in the trusted benchmark library. After the verification is passed, the CPU is powered on to perform the CPU boot measurement process.
[0083] In one embodiment, after obtaining the trust measurement result of the second boot firmware, the method further includes:
[0084] When the trust measurement result of the second boot firmware is untrustworthy, accumulating and determining the number of consecutive measurements of the boot firmware in the second storage unit;
[0085] When the number of consecutive measurements of the startup firmware in the second storage unit is less than a preset number, using the first startup firmware in the first storage unit to update the second startup firmware in the second storage unit;
[0086] Determine the firmware update status of the second storage unit and accumulate the number of synchronous updates;
[0087] When the firmware update status is update success, performing a trust measurement on the updated third boot firmware in the second storage unit to obtain a trust measurement result of the third boot firmware;
[0088] When the trust measurement result of the third boot firmware is trustworthy, the second storage unit is used as the boot loading unit.
[0089] Specifically, refer to Fig.10If the trust measurement result of the second boot firmware is untrustworthy, the second boot firmware cannot be used to start the computing node 110. The continuous measurement times n of the boot firmware in the second storage unit are accumulated and determined. The continuous measurement times are the times when the trust measurement result is untrustworthy. When the continuous measurement times n is less than the preset times N, the first boot firmware in the first storage unit is used to update the second boot firmware in the second storage unit, and the firmware update status of the second storage unit is used to determine whether the boot firmware is updated successfully. The accumulated synchronization update times are used to record the firmware synchronization times of the first storage unit to the second storage unit.
[0090] When the firmware update status is successful, the updated third boot firmware in the second storage unit is re-trusted, so as to obtain the trust measurement result of the third boot firmware. If the trust measurement result of the third boot firmware is trustworthy, the second storage unit is used as the boot loading unit, and the third boot firmware in the second storage unit is used as the target boot firmware. That is, when the boot firmware in the second storage unit is untrustworthy, the boot firmware is synchronized from the first storage unit to the second storage unit to update the boot firmware in the second storage unit. At this time, the first storage unit plays the role of boot firmware backup, ensuring that the second storage unit can be provided with trustworthy boot firmware.
[0091] In one embodiment, when the trust measurement result of the second boot firmware is untrustworthy, after accumulating and determining the number of consecutive measurements of the second boot firmware, the method further includes:
[0092] When the number of consecutive measurements of booting the firmware in the second storage unit is greater than or equal to a preset number, or the firmware update status is update failure, the first storage unit is used as a boot loading unit.
[0093] Specifically, refer to Fig.10 If the number of consecutive measurements of the boot firmware in the second storage unit is greater than or equal to the preset number, it means that the multiple trust measurement results of the boot firmware in the second storage unit are untrustworthy, and the boot firmware in the second storage unit cannot be synchronized and updated. If the firmware update status of the second storage unit using the first boot firmware in the first storage unit to synchronize the boot firmware is failed, it means that the first storage unit cannot successfully synchronize the trusted boot firmware for the second storage unit. In any of the above two situations, the first storage unit is used as a boot loading unit, and the first boot firmware is loaded from the first storage unit to the central processing unit to ensure the trustworthy state of the boot firmware.
[0094] In one embodiment, when the target boot firmware is started, a trusted measurement is performed on a preset measurement object to obtain a trusted measurement result corresponding to the preset measurement object, including:
[0095] When the target boot firmware is started, a trust measurement is performed on the measured operating system boot program to obtain a trust measurement result of the measured operating system boot program;
[0096] When the trust measurement result of measuring the operating system boot program is trustworthy, loading the measured operating system boot program, and performing trust measurement on the measured operating system program to obtain the trust measurement result of the measured operating system program;
[0097] When the trust measurement result of measuring the operating system program is trustworthy, loading the measuring operating system program, and performing trust measurement on the preset application program to obtain the trust measurement result of the preset application program;
[0098] When the trust measurement result of the preset application is trustworthy, a trust measurement result of successful measurement of the preset measurement object is obtained, wherein the preset measurement object includes the measured operating system boot program, the measured operating system program and the preset application.
[0099] Specifically, after the target boot firmware is started, the operating system boot program is measured for trustworthiness, and the program is loaded if the trustworthiness measurement result of the operating system boot program is trustworthy. Then, the operating system program is measured for trustworthiness, and the program is loaded if the trustworthiness measurement result of the operating system program is trustworthy. Then, the preset application is measured for trustworthiness, and the preset application is loaded if the trustworthiness measurement result of the preset application is trustworthy, thereby completing the trustworthiness measurement of the startup process.
[0100] In a specific embodiment, referring to Figure 4 , the improved trusted root 120 replaces the original second storage unit in the computing node 110, and the startup of the computing node 110 starts from the improved trusted root 120, such as Figure 7 As shown, the specific process is as follows:
[0101] (1) The mainboard power supply powers on the improved trusted root 120, and the improved trusted root 120 starts. At this time, the CPU of the computing node 110 is not powered on;
[0102] (2) improving the internal initialization of the root of trust 120, and firstly performing a trust measurement on the firmware in the logic control unit;
[0103] (3) After the logic control unit firmware is measured, the BIOS / Uboot startup firmware in the first storage unit is measured for trustworthiness;
[0104] (4) After the BIOS / Uboot firmware in the first storage unit passes the measurement, the control logic switch is turned on, the CPU is powered on, and the CPU starts;
[0105] (5) Loading the BIOS / Uboot startup firmware in the first storage unit into the CPU memory and running the BIOS / Uboot startup firmware;
[0106] (6) After the BIOS / Uboot boot firmware is started, measure the operating system boot program and load the program after the measurement passes;
[0107] (7) After the operating system boot program is started, the operating system program is measured, and after the measurement is completed, the program is loaded;
[0108] (8) After the operating system program is started, the preset application is measured. After the measurement passes, the preset application is loaded to complete the trusted measurement of the startup process.
[0109] In a specific embodiment, referring to Figure 5 On the basis of retaining the original second storage unit, by modifying the mainboard circuit and designing the startup logic, using other interfaces or adding an improved trusted root 120 to be deployed at the mainboard position, it is capable of starting from the improved trusted root 120 and establishing a complete trusted chain. The startup of the computing node 110 starts from the improved trusted root 120, such as Fig.10 As shown, the specific process is as follows:
[0110] (1) The system is powered on, the improved root of trust 120 is started, and initialized;
[0111] (2) measuring the first boot firmware and the firmware in the logic control unit in the improved trusted root 120;
[0112] (3) If the measurement fails, restart to improve the root of trust 120;
[0113] (4) After the measurement is passed, the preset number of times (BIOS / Uboot2 firmware measurement times) corresponding to the second storage unit on the mainboard corresponding to the computing node 110 is set;
[0114] (5) Control the logic switch to power on the second storage unit (BIOS / Uboot2) and measure the second boot firmware in the second storage unit;
[0115] (6) After the measurement is passed, the second storage unit is used as the boot loading unit;
[0116] (7) if the measurement fails, determining the number of consecutive measurements of the boot firmware in the second storage unit;
[0117] (8) If the number of consecutive measurements does not exceed the preset number, the firmware in the second storage unit is synchronously updated from the improved trusted root 120, and the number of synchronous updates is accumulated; after the synchronization is successful, the process returns to step (5) to measure the startup firmware;
[0118] (9) If the number of consecutive measurements exceeds a preset number or the BIOS / Uboot firmware fails to be synchronized successfully, the first storage unit (BIOS / Uboot1) in the improved trusted root 120 is used as the boot loading unit;
[0119] (10) After the boot loading unit is selected, the control logic switch powers on the CPU to start the CPU;
[0120] (11) The subsequent startup process is the same as steps ⑤, ⑥, ⑦, and ⑧ in the previous specific embodiment.
[0121] Figures 6 to 10 FIG. 1 is a flow chart of a trusted boot method in one embodiment. It should be understood that although Figures 6 to 10 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figures 6 to 10 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.
[0122] like Fig.11 As shown, an embodiment of the present application provides a computer device, including a processor 711, a communication interface 712, a memory 713 and a communication bus 714, wherein the processor 711, the communication interface 712, and the memory 713 communicate with each other through the communication bus 714;
[0123] Memory 713, used for storing computer programs;
[0124] The processor 711 is used to implement the trusted startup method provided by any one of the aforementioned method embodiments when executing the program stored in the memory 713.
[0125] Those skilled in the art will understand that Fig.11The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0126] In one embodiment, the trusted boot system provided by the present application can be implemented in the form of a computer program. The computer program can be Fig.11 The computer device shown in the figure is run. The memory of the computer device can store various program modules constituting the trusted boot system. The computer program composed of various program modules enables the processor to execute the trusted boot method of each embodiment of the present application described in this specification.
[0127] An embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the trusted startup method provided by any of the aforementioned method embodiments is implemented.
[0128] The system embodiment described above is merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0129] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0130] It should be understood that the terms used herein are only for the purpose of describing specific example embodiments and are not intended to be limiting. Unless the context clearly indicates otherwise, the singular forms "one", "an" and "said" as used herein may also be meant to include plural forms. The terms "include", "comprise", "contain", and "have" are inclusive and therefore specify the existence of stated features, steps, operations, elements and / or parts, but do not exclude the existence or addition of one or more other features, steps, operations, elements, parts, and / or combinations thereof. The method steps, processes, and operations described herein are not interpreted as necessarily requiring them to be performed in the specific order described or illustrated, unless the execution order is clearly indicated. It should also be understood that additional or alternative may be used.
[0131] The foregoing is merely a specific embodiment of the present invention, which enables those skilled in the art to understand or implement the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A trusted startup method, characterized in that: The method comprises: When the improved trusted root on the computing node is powered on, a trusted measurement is performed on an extension unit in the improved trusted root to obtain a trusted measurement result of the extension unit, wherein the extension unit includes a logic control unit and a first storage unit; When the trusted measurement result of the extension unit is trusted, determining a boot loading unit according to the deployment mode between the computing node and the improved trusted root, wherein the boot loading unit is the first storage unit or the second storage unit that is successfully measured, and the second storage unit is a storage unit in the computing node; Using the logic control unit to control the central processing unit in the computing node to power on and start, and loading the target startup firmware in the startup loading unit into the central processing unit for startup operation, wherein the target startup firmware is the first startup firmware in the first storage unit or the startup firmware in the second storage unit; When the target startup firmware is started, a trusted measurement is performed on the preset measurement object to obtain a trusted measurement result corresponding to the preset measurement object; When the trustworthy measurement result of the preset measurement object is trustworthy, it is determined that the trustworthy startup process of the computing node has been completed.
2. The method according to claim 1, characterized in that When the trust measurement result of the extension unit is trustworthy, determining the startup loading unit according to the deployment mode between the computing node and the improved trusted root includes: When the trust measurement result of the extension unit is trustworthy, judging whether there is a second storage unit in the computing node according to the deployment mode between the computing node and the improved trusted root; When the second storage unit does not exist in the computing node, the first storage unit is used as a boot loading unit.
3. The method according to claim 2, characterized in that Determining whether there is a second storage unit in the computing node according to the deployment mode between the computing node and the improved trusted root includes: In the case where the improved trusted root is matched and connected with the motherboard interface of the second storage unit in the computing node, determining that the second storage unit does not exist in the computing node, wherein the first storage unit in the improved trusted root replaces the first storage unit through the interface connection; or, In a case where the improved trusted root is not matched and connected with the mainboard interface of the second storage unit, it is determined that the second storage unit exists in the computing node.
4. The method according to claim 2, characterized in that: When the trust measurement result of the extension unit is trustworthy, after determining whether there is a second storage unit in the computing node according to the deployment mode between the computing node and the improved trusted root, the method further includes: When the second storage unit exists in the computing node, the second storage unit is controlled to be powered on and started by the logic control unit, and the second startup firmware in the second storage unit is trusted by the improved root of trust to obtain a trusted measurement result of the second startup firmware; When the trust measurement result of the second boot firmware is trustworthy, the second storage unit is used as a boot loading unit.
5. The method according to claim 4, characterized in that After obtaining the trust measurement result of the second boot firmware, the method further includes: When the trust measurement result of the second boot firmware is untrustworthy, accumulating and determining the number of consecutive measurements of the boot firmware in the second storage unit; When the number of consecutive measurements of the startup firmware in the second storage unit is less than a preset number, using the first startup firmware in the first storage unit to update the second startup firmware in the second storage unit; Determine the firmware update status of the second storage unit and accumulate the number of synchronous updates; When the firmware update status is update success, performing a trust measurement on the updated third boot firmware in the second storage unit to obtain a trust measurement result of the third boot firmware; When the trust measurement result of the third boot firmware is trustworthy, the second storage unit is used as the boot loading unit.
6. The method according to claim 5, characterized in that When the trust measurement result of the second boot firmware is untrustworthy, after accumulating and determining the number of consecutive measurements of the second boot firmware, the method further includes: When the number of consecutive measurements of booting the firmware in the second storage unit is greater than or equal to a preset number, or the firmware update status is update failure, the first storage unit is used as a boot loading unit.
7. The method according to claim 1, characterized in that When the target boot firmware is started, a trusted measurement is performed on the preset measurement object to obtain a trusted measurement result corresponding to the preset measurement object, including: When the target boot firmware is started, a trust measurement is performed on the measured operating system boot program to obtain a trust measurement result of the measured operating system boot program; When the trust measurement result of measuring the operating system boot program is trustworthy, loading the measured operating system boot program, and performing trust measurement on the measured operating system program to obtain the trust measurement result of the measured operating system program; When the trust measurement result of measuring the operating system program is trustworthy, loading the measuring operating system program, and performing trust measurement on the preset application program to obtain the trust measurement result of the preset application program; When the trust measurement result of the preset application is trustworthy, a trust measurement result of successful measurement of the preset measurement object is obtained, wherein the preset measurement object includes the measured operating system boot program, the measured operating system program and the preset application.
8. A trusted boot system, characterized in that: The trusted boot system includes a computing node and an improved trusted root. The improved trusted root is deployed at different locations on the corresponding mainboard of the computing node corresponding to different deployment methods. The computing node deployed with the trusted root is used to implement the trusted boot method as described in any one of claims 1-7.
9. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Trusted measurement system, method and device based on BMC platform
CN106407816A
Trusted computing platform of a computing and protection parallel double-system structure
CN109871695A
Trusted measurement method and device and processor
CN110321715A
Trusted root metric-based dual-core secure startup method and device and related product
CN112162781A
Method for controlling trusted startup and trusted platform control module
CN112231714A