Method and equipment for configuring firmware measurement information
By monitoring the security check and legality of the BIOS chip firmware, firmware measurement information is generated, and the problem of security risks during the operation of the firmware in the computing device is solved, the integrity and credibility of the firmware are achieved, and the equipment is guaranteed. Safe and stable operation.
Patent Information
- Application Number
- CN202411158001.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2024-12-27
AI Technical Summary
The BIOS chip firmware in computing devices faces security risks during operation, such as tampering and damage, which leads to normal operation and data security threats, and it is difficult for the existing technology to effectively ensure its security.
By performing security verification of firmware in BIOS chips, firmware metrics, such as hash values, ensure that the firmware is trustworthy before the computing device is started, and its legality is monitored in real time in operation to prevent tampering and damage .
Effectively prevent tampering and damage, ensure the integrity and credibility of firmware, improve the safe and stable operation of computing equipment, ensure that the firmware that has not been tampered with, and timely identify and prevent potential hazards.
Smart Images

Figure CN119203144A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of server technology, and in particular to a method and device for configuring firmware metric information. Background Art
[0002] The basic input output system (BIOS) chip in a computing device stores firmware (such as processor firmware). The firmware is responsible for performing a series of initialization and self-test tasks when the computing device is started to ensure that the computer hardware can work properly.
[0003] However, during the operation of computing devices, firmware may face various security risks, such as being tampered with, damaged, or implanted with malicious code. Once these risks become a reality, they will have a serious impact on the normal operation and data security of computing devices. Therefore, how to ensure the security of firmware in BIOS chips is an urgent problem to be solved. Summary of the invention
[0004] The embodiments of the present application provide a method and device for configuring firmware measurement information, which can generate firmware measurement information for verifying the legitimacy of the firmware in the running state of the computing device after the firmware in the BIOS chip has been verified, thereby providing a basis for ensuring the security of the firmware.
[0005] To achieve the above objectives, the embodiments of the present application adopt the following technical solutions:
[0006] In a first aspect, a method for configuring firmware measurement information is provided, which is applied to a computing device, such as a baseboard management controller BMC in a computing device. The computing device includes a basic input and output system BIOS chip. The method includes: performing a security check on the firmware in the BIOS chip, such as performing a security check using the signature of the firmware to detect whether the firmware is credible. If the firmware is verified, firmware measurement information corresponding to the firmware is generated. For example, a hash value of the firmware can be used as firmware measurement information. The firmware measurement information is used as a benchmark measurement information to verify whether the firmware is legal during the operation of the computing device, that is, whether the firmware is damaged or tampered with.
[0007] In the present application, a security check is performed on the firmware in the BIOS chip. The security check can ensure that the firmware loaded by the computing device is credible, and prevent the tampered firmware from interfering with the computing device. The firmware measurement information of the firmware that has passed the security check is determined to ensure that the firmware measurement information is accurate, which provides a reliable basis for the subsequent verification of the legitimacy of the firmware when the computing device is running. Furthermore, the firmware measurement information is used to perform a legitimacy check on the firmware during the operation of the computing device, which can ensure that the result of the legitimacy check is also accurate. The firmware measurement information can be used to promptly detect tampering with the firmware during the operation of the computing device, ensuring the integrity and credibility of the firmware, and providing a basis for the safe and stable operation of the computing device.
[0008] In a possible implementation, performing security verification on the firmware in the BIOS chip includes: performing security verification on the firmware in the BIOS chip during a secure boot process of the computing device.
[0009] In this implementation, during the startup process of the computing device, before executing the firmware in the BIOS chip, a security check is performed on the firmware in the BIOS chip to ensure that the computing device loads a trusted firmware when it starts, thereby preventing tampered firmware from interfering with the startup process of the computing device.
[0010] In one possible implementation, the method also includes: obtaining a new version of firmware; using the new version of firmware to upgrade the corresponding firmware in the BIOS chip; performing a security check on the new version of firmware; if the new version of firmware passes the check, generating firmware measurement information corresponding to the new version of firmware; the firmware measurement information corresponding to the new version of firmware is used to verify the legitimacy of the new version of firmware when the computing device is running.
[0011] In this implementation, while the firmware in the BIOS chip is upgraded, the firmware measurement information of the firmware is also synchronously updated to ensure that the firmware measurement information matches the firmware in the BIOS chip. The firmware measurement information corresponding to the old version is deleted and replaced with the firmware measurement information corresponding to the new version to ensure the accuracy of the firmware measurement information.
[0012] In one possible implementation, the method is executed by a baseboard management controller BMC in a computing device; the BMC includes a security core; the security core is used to perform security verification on the firmware in the BIOS chip during the secure startup process of the computing device; and / or the security core is used to generate firmware measurement information corresponding to the firmware when the firmware verification passes.
[0013] In this implementation, BMC, as an out-of-band management module in an out-of-band controller in a computing device, is started first before the computing device executes the firmware in the BIOS chip, that is, it starts working immediately after the computing device is powered on. Therefore, BMC can be used as a trusted root platform in the computing device to implement security verification of the firmware in the BIOS chip, ensuring that the firmware in the BIOS chip is secure and has not been tampered with before the computing device is started, thereby improving the security and reliability of the computing device.
[0014] In one possible implementation, the BMC includes a security core and a business core; the processing capability of the business core is greater than that of the security core; the security core is used to perform security verification on the firmware in the BIOS chip during the secure startup of the computing device; the business core is used to generate firmware measurement information corresponding to the firmware when the firmware verification passes; and / or, the business core is used to perform security verification on the new version of firmware; when the new version of firmware verification passes, firmware measurement information corresponding to the new version of firmware is generated; the new version of firmware is used to upgrade the corresponding firmware in the BIOS chip.
[0015] In this implementation, during the secure boot process of the computing device, the security core is used to perform security verification on the firmware in the BIOS chip, and the business core is used to generate firmware measurement information corresponding to the BIOS chip. When upgrading the firmware in the BIOS chip, the business core simultaneously undertakes the tasks of firmware security verification and generating firmware measurement information. In other words, during the secure boot process of the computing device, the security core is specifically responsible for performing security verification on the firmware in the BIOS chip. This focus enables the security core to focus on the security verification task without being disturbed by other non-security related tasks. In addition, the processing power of the business core is greater than that of the security core. When the business core processes the security verification and firmware measurement information of complex firmware, it can complete the task more efficiently. When the computing device has high requirements for the duration of secure boot, the business core can be used to quickly generate firmware measurement information.
[0016] In a possible implementation, the method further includes: obtaining actual measurement information of the firmware when the computing device is in operation; and performing a validity check on the firmware based on the firmware measurement information and the actual measurement information to obtain a validity check result.
[0017] In this implementation, the computing device is based on firmware. If the firmware is maliciously tampered with or damaged, it will seriously threaten the safe operation of the computing device. By obtaining the actual measurement information of the firmware when the computing device is running, the actual operation of the computing device can be detected. Once it is found that the actual measurement information is inconsistent with the firmware measurement information, it can quickly identify that the firmware has been tampered with or damaged, and promptly prevent the firmware from causing harm to the computing device, thereby improving the security of the computing device.
[0018] In a possible implementation, the firmware in the BIOS chip includes at least one of processor firmware, memory firmware, and input / output device firmware.
[0019] In a possible implementation, the firmware metric information is stored in a storage area where a baseboard management controller BMC of the computing device is located.
[0020] In a possible implementation, performing security verification on the firmware in the BIOS chip includes: performing security verification on the firmware in the BIOS chip based on a digital signature of the firmware in the BIOS chip.
[0021] In a possible implementation, when the firmware passes the verification, firmware measurement information corresponding to the firmware is generated, including: when the firmware passes the verification, determining a hash value of the firmware, and using the hash value of the firmware as the firmware measurement information corresponding to the firmware.
[0022] In a second aspect, a method for configuring firmware measurement information is provided, which is applied to a computing device, wherein the computing device includes a basic input and output system BIOS chip, and the method includes: obtaining a new version of firmware; the new version of firmware is used to upgrade the corresponding firmware in the BIOS chip; performing a security check on the new version of firmware; if the new version of firmware passes the check, generating firmware measurement information corresponding to the new version of firmware; the firmware measurement information corresponding to the new version of firmware is used to verify the legitimacy of the new version of firmware when the computing device is running.
[0023] In this solution, while configuring in the BIOS chip, the firmware measurement information should also be updated synchronously to ensure that the firmware measurement information matches the firmware in the BIOS chip. The firmware measurement information corresponding to the old version is deleted and replaced with the firmware measurement information corresponding to the new version to ensure the accuracy of the firmware measurement information.
[0024] In a third aspect, a firmware legitimacy verification method is provided, which is applied to a computing device, wherein the computing device includes a basic input and output system BIOS chip, and the method includes: obtaining actual measurement information of the firmware in the BIOS chip when the computing device is in operation; based on the firmware measurement information and the actual measurement information, performing a legitimacy verification on the firmware to obtain a legitimacy verification result; the firmware measurement information is the firmware measurement information of any one of the first aspect or the second aspect.
[0025] In this solution, the computing device is based on firmware. If the firmware is maliciously tampered or damaged, it will seriously threaten the safe operation of the computing device. By obtaining the actual measurement information of the firmware when the computing device is running, the actual operation of the computing device can be detected. Once it is found that the actual measurement information is inconsistent with the firmware measurement information, it can quickly identify that the firmware has been tampered or damaged, and promptly prevent the firmware from causing harm to the computing device, thereby improving the security of the computing device.
[0026] In a fourth aspect, a configuration device for firmware measurement information is provided, which is applied to a computing device, wherein the computing device includes a basic input and output system BIOS chip, and the device includes: a functional unit for executing any one of the methods provided in the first aspect, and the actions performed by each functional unit are implemented by hardware or by hardware executing corresponding software. For example, the configuration device for firmware measurement information may include: a first security verification unit and a first determination unit; the first security verification unit is used to perform a security verification on the firmware in the BIOS chip; the security verification is used to detect whether the firmware in the BIOS chip is credible; the first determination unit is used to generate firmware measurement information corresponding to the firmware when the firmware verification passes; the firmware measurement information is used to verify the legitimacy of the firmware in the running state of the computing device.
[0027] In a fifth aspect, a configuration device for firmware measurement information is provided, which is applied to a computing device, and the computing device includes a basic input and output system BIOS chip, and the device includes: a functional unit for executing any one of the methods provided in the second aspect, and the actions performed by each functional unit are implemented by hardware or by hardware executing corresponding software. For example, the configuration device for firmware measurement information may include: a first acquisition unit, a second security verification unit, and a second determination unit; the first acquisition unit is used to obtain a new version of firmware; the new version of firmware is used to upgrade the corresponding firmware in the BIOS chip; the second security verification unit is used to perform a security verification on the new version of firmware; the second determination unit is used to generate firmware measurement information corresponding to the new version of firmware when the new version of firmware is verified; the firmware measurement information corresponding to the new version of firmware is used to verify the legitimacy of the new version of firmware when the computing device is running.
[0028] In a sixth aspect, a firmware legitimacy verification device is provided, the device comprising: a functional unit for executing any one of the methods provided in the third aspect, the actions performed by each functional unit are implemented by hardware or by hardware executing corresponding software. For example, the firmware legitimacy verification device may include: a second acquisition unit and a legitimacy verification unit; the second acquisition unit is used to obtain actual measurement information of the firmware in the running state of the computing device; the legitimacy verification unit is used to perform legitimacy verification on the firmware based on the firmware measurement information and the actual measurement information to obtain a legitimacy verification result.
[0029] In a seventh aspect, a computer device is provided, comprising: a processor and a memory, wherein the processor is connected to the memory. The memory is used to store computer-executable instructions, and the processor executes the computer-executable instructions stored in the memory, thereby implementing any one of the methods provided in the first aspect, the second aspect, or the third aspect.
[0030] In an eighth aspect, a chip is provided, the chip comprising: a processor and an interface circuit; the interface circuit is used to receive code instructions and transmit them to the processor; the processor is used to run the code instructions to execute any one of the methods provided in the first aspect, the second aspect or the third aspect above.
[0031] In the ninth aspect, a computer-readable storage medium is provided, which stores computer execution instructions. When the computer execution instructions are executed on a computer, the computer executes any one of the methods provided in the first, second or third aspects above.
[0032] In the tenth aspect, a computer program product is provided, comprising computer execution instructions, which, when executed on a computer, enable the computer to execute any one of the methods provided in the first, second or third aspects above.
[0033] Among them, the technical effects brought about by any implementation method in the fourth to tenth aspects can refer to the technical effects brought about by different implementation methods in the first aspect, the second aspect or the third aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 A system architecture diagram of a computing device provided in an embodiment of the present application;
[0035] Figure 2 A flowchart of a method for configuring firmware metric information provided by an embodiment of the present application;
[0036] Figure 3 A flowchart of another method for configuring firmware metric information provided in an embodiment of the present application;
[0037] Figure 4 A schematic diagram of a corresponding firmware in an upgraded BIOS chip provided in an embodiment of the present application;
[0038] Figure 5 A schematic diagram of another firmware upgrade corresponding to a BIOS chip provided in an embodiment of the present application;
[0039] Figure 6 A flowchart of a firmware legitimacy verification method provided in an embodiment of the present application;
[0040] Figure 7A schematic diagram of the BMC provided in the embodiment of the present application performing a validity check on the firmware during the operation of the computing device;
[0041] Figure 8 A schematic diagram of a device for configuring firmware metric information provided by an embodiment of the present application;
[0042] Fig. 9 A schematic diagram of another device for configuring firmware metric information provided by an embodiment of the present application;
[0043] Fig.10 A schematic diagram of a firmware legitimacy verification device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0044] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0045] In the description of this application, unless otherwise specified, " / " indicates that the objects associated with each other are in an "or" relationship, for example, A / B can represent A or B; "and / or" in this application is merely a description of the association relationship between associated objects, indicating that three relationships may exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural.
[0046] Furthermore, in the description of this application, unless otherwise specified, "plurality" means two or more than two. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0047] In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second" and the like are used to distinguish the same items or similar items with substantially the same functions and effects. Those skilled in the art will understand that the words "first", "second" and the like do not limit the quantity and execution order, and the words "first", "second" and the like do not necessarily limit the differences. At the same time, in the embodiments of the present application, the words "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design solutions. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete manner for ease of understanding.
[0048] The following is an introduction to the terms involved in the embodiments of the present application.
[0049] Firmware: It is software embedded in a hardware device, which provides the basic functions and control logic of the device and is an essential component for the normal operation of the hardware device. In the embodiment of the present application, the firmware in the basic input and output system (BIOS) chip is used to initialize the processor, memory, input and output devices, bus resources, etc., to ensure the normal operation of the computing device. Taking the processor as an example, the processor firmware in the BIOS chip is used to initialize the processor to ensure that the processor can be correctly configured and run stably during the startup process, such as setting the key parameters such as the operating frequency and voltage of the processor. Taking the memory as an example, the memory firmware is used to initialize the memory in the computing device to ensure that the memory can be correctly identified, configured and used, for example, to detect the size, speed, type and other parameters of the memory, and to set the access timing of the memory. Taking the input and output device as an example, the input and output device firmware is used to configure and manage various input and output devices (such as hard disk, graphics card, keyboard, mouse, etc.) in the computing device, including setting the interface type, working mode, etc. of the input and output device. Taking the bus resource as an example, the bus resource firmware is used to manage and allocate the bus resources in the computing device, specifically including setting the bus bandwidth, speed, priority and other parameters.
[0050] Secure boot of computing devices: refers to a security standard for computing devices, which is to ensure that computing devices only load trusted hardware firmware and operating systems during the boot process, thereby enhancing the security of the computing device boot process. Specifically, secure boot refers to performing a security check on the firmware that needs to be loaded when the computing device is booted, based on the signature of the firmware, to determine whether the firmware is trustworthy. In an embodiment of the present application, during the boot process of the computing device, before loading the firmware in the BIOS chip, a security check is performed on the firmware in the BIOS chip, and the firmware is loaded only after it passes the security check, thereby preventing the computing device from loading tampered or damaged firmware, and avoiding serious consequences such as computing device boot failure, performance degradation, and data leakage.
[0051] Firmware legitimacy check: used to check whether the actual firmware in the computing device is consistent with the preset firmware (such as official firmware, standard firmware, etc.). When the actual firmware is consistent with the preset firmware, it is determined that the actual firmware has passed the legitimacy check and the actual firmware is legal, that is, the actual firmware is complete and reliable relative to the preset firmware; when the actual firmware is inconsistent with the preset firmware, it is determined that the firmware has not passed the legitimacy check. In the embodiment of the present application, the actual firmware refers to the firmware in the running state of the computing device, and the preset firmware refers to the firmware that has passed the security check (also called trusted firmware).
[0052] First, the application scenarios of the embodiments of the present application are exemplarily introduced.
[0053] The embodiment of the present application provides a method for configuring firmware measurement information, which is applied to a computing device including a basic input and output system BIOS chip and a baseboard management controller BMC. The BIOS chip is connected to the BMC. In this embodiment, the configuration method of the firmware measurement information executed by the BMC is used as an example for explanation. In other optional examples, the configuration method of the firmware measurement information can also be executed by a processor such as a CPU, GPU, DPU or CPLD. Specifically, first, the firmware in the BIOS chip is obtained; then, the firmware measurement information of the firmware is determined, and stored for verification of the firmware of the computing device during operation. Once the firmware fails the verification, it is considered that the firmware has been tampered with so that remedial measures can be taken in time, such as restoring the firmware, to ensure the normal operation of the computing device.
[0054] In some embodiments, the configuration method provided in the embodiments of the present application is applied to a computing device, such as a baseboard management controller (BMC) in a computing device. The computing device includes a basic input and output system BIOS chip. Specifically, the firmware in the BIOS chip is security-checked, such as using the signature of the firmware to perform security check to detect whether the firmware in the BIOS chip is credible. In the case where the firmware is verified, firmware measurement information corresponding to the firmware is generated. For example, the hash value of the firmware can be used as firmware measurement information. By comparing the actual measurement information of the firmware during the operation of the computing device and the firmware measurement information, it is checked whether the firmware during the operation of the computing device is legal (that is, whether the firmware during the operation of the computing device is consistent with the firmware that has passed the security check), and whether the firmware is damaged or tampered with. Specifically, when the actual measurement information is different from the firmware measurement information (that is, the firmware during the operation of the computing device is inconsistent with the firmware that has passed the security check), the firmware during the operation of the computing device is determined to be damaged or tampered with.
[0055] Perform security checks on the firmware in the BIOS chip. Through security checks, it can be ensured that the computing device is loaded with credible firmware, preventing the tampered firmware from interfering with the computing device. Using the firmware that has passed the security check to determine the firmware measurement information of the firmware, it can be ensured that the firmware measurement information is accurate, providing a reliable basis for the subsequent verification of the legitimacy of the firmware when the computing device is running. Furthermore, using the firmware measurement information to perform a legitimacy check on the firmware during the operation of the computing device can ensure that the result of the legitimacy check is also accurate. The firmware measurement information can be used to promptly detect tampering with the firmware during the operation of the computing device, ensuring the integrity and reliability of the firmware, and providing a basis for the safe and stable operation of the computing device.
[0056] The following is an exemplary introduction to the system architecture of the embodiments of the present application.
[0057] The embodiment of the present application provides a computing device, which may be a network device or a terminal device. The network device may include a server, etc. The server may be a physical server, or may be two or more physical servers with different responsibilities, and the multiple physical servers may realize various functions of the server by cooperating with each other.
[0058] Exemplarily, the server may be a blade server, a high-density server, a rack server or a tower server, etc. The terminal device may include a personal digital assistant (PDA), an ultra-mobile personal computer (UMPC), a notebook computer, a netbook, a desktop computer, an all-in-one computer, etc.
[0059] It should be noted that the embodiments of the present application do not limit the device form of the computing device. The system architecture of the computing device provided in the embodiments of the present application is described below using a server as an example.
[0060] like Figure 1 As shown, it is a system architecture diagram of a computing device provided in an embodiment of the present application. The computing device may specifically be a blade server, a high-density server, a rack server or a high-performance server. The hardware part of the computing device includes a processor 11, a BIOS chip 12, an out-of-band controller 13, a complex programmable logic device (CPLD) 14 and a memory 15, and the software part mainly includes the firmware in the BIOS chip 12, the out-of-band management module, the CPLD firmware, and the operating system (OS).
[0061] The processor 11 may include a central processing unit (CPU), which includes one or more CPU cores, and the CPU data processing operations are all performed by the CPU cores. The more CPU cores included in the CPU, the faster the data processing speed.
[0062] The BIOS chip 12 is a chip set on the motherboard for initializing and detecting various hardware devices during the startup process of the computing device. The BIOS chip 12 includes a flash memory area, which can be used to store the firmware in the embodiment of the present application. The BIOS chip 12 can specifically be a serial peripheral interface (Serial Peripheral Interface, SPI) flash memory chip, a parallel flash memory (Parallel NorFlash) chip, etc.
[0063] CPLD14 is a digital circuit hardware device used to implement various logic circuits, such as counters, adders, latches, etc. CPLD14 includes programmable logic macro units, programmable input / output (I / O) units and programmable internal connections, and has the characteristics of large logic unit array, powerful logic macro unit functions, fast speed, rich pin resources, strong I / O port driving ability, and easy to implement large-scale circuit design. CPLD14 stores CPLD firmware, which is a software program used to implement CPLD functions.
[0064] The memory 15, also called internal memory or main memory, is installed in a memory slot on the motherboard of a computing device and is a temporary storage device for temporarily storing running programs and data. The memory 15 can be a memory bar, which is composed of memory chips, circuit boards, and other parts.
[0065] The firmware in the BIOS chip 12 is a set of programs fixed to the BIOS chip 12 on the motherboard of the computing device. The BIOS chip 12 stores the most important basic input and output programs of the computing device, the self-test program after power-on, and the system self-starting program. Its main function is to provide the most basic and direct hardware settings and controls for the computing device. In the embodiment of the present application, the firmware in the BIOS chip 12 includes processor firmware, memory firmware, input and output device firmware, bus resource firmware, etc.
[0066] In a possible implementation, the processor firmware in the BIOS chip 12 is used to initialize the processor 11 to ensure that the processor 11 can be correctly configured and stably run during the startup process, such as setting key parameters such as the operating frequency and voltage of the processor 11.
[0067] In one possible implementation, the memory firmware in the BIOS chip 12 plays a vital role in the computing device and is used to initialize the memory 15 in the computing device to ensure that the memory 15 can be correctly identified, configured and used, for example, to detect the size, speed, type and other parameters of the memory 15, to set the access timing of the memory 15, etc.
[0068] In one possible implementation, the input / output device firmware in the BIOS chip 12 is used to configure and manage various input / output devices (such as hard disk, graphics card, keyboard, mouse, etc.) in the computing device, including setting the interface type, working mode, etc. of the input / output devices.
[0069] In one possible implementation, the bus resource firmware in the BIOS chip 12 is used to manage and allocate bus resources in the computing device, including setting bus bandwidth, speed, priority and other parameters.
[0070] Optionally, when the computing device is a terminal device, it may further include a display terminal 16, also called a display; the display terminal 16 is used to display interface content output by the BMC 131, the CPU, and the like.
[0071] Optionally, when the computing device is a server, the function of the display terminal 16 in the above-mentioned terminal device can be implemented through an external display device, which is not elaborated here.
[0072] The out-of-band management module is located in the out-of-band controller 13 , and the OS is located in the processor 11 .
[0073] The out-of-band management module may be a management unit of a non-business module. For example, the out-of-band management module may remotely maintain and manage a computing device through a dedicated data channel. The out-of-band management module is completely independent of the operating system of the computing device and may communicate with the BIOS and OS (or OS management unit) through the out-of-band management interface of the computing device.
[0074] The out-of-band management module may include a management unit for computing the running status of the device, a management system in a management chip, BMC131, a system management module (system management mode, SMM), etc. It should be noted that the embodiments of the present application do not limit the specific form of the out-of-band management module, and the above is only an exemplary description. In the following embodiments, only the out-of-band management module is BMC131 as an example for description.
[0075] In some embodiments, BMC 131 is used to determine firmware metric information of firmware in BIOS chip 12 .
[0076] In some examples, during the secure boot process of the computing device, BMC 131 reads the firmware in the BIOS chip 12 and performs a security check on the firmware. If the firmware passes the security check, BMC 131 determines the firmware metric information corresponding to the firmware and saves it in the computing device.
[0077] BMC131, as an out-of-band management module in the out-of-band controller 13 in the computing device, is started first before the computing device loads the firmware in the BIOS chip 12, that is, it starts working immediately after the computing device is powered on. Therefore, BMC131 can be used as a trusted root platform in the computing device (that is, a base point of trust in the computing device) to implement security verification of the firmware in the BIOS chip 12 and generate firmware measurement information, ensuring that the firmware in the BIOS chip 12 is secure and not tampered with before the computing device is started, and ensuring that the firmware measurement information is accurate, thereby improving the security and reliability of the computing device.
[0078] In a possible implementation, the BMC 131 includes a security core that is responsible for the security functions of the BMC 131 and the computing devices managed by the BMC 131 (such as access control, secure boot, hardware encryption engine, etc. of the computing devices).
[0079] Optionally, the security core is used to perform security verification on the firmware in the BIOS chip 12 during the secure boot process of the computing device.
[0080] In one possible case, when the security check firmware passes the verification, the security core is also used to generate firmware measurement information corresponding to the firmware. The firmware measurement information corresponding to the firmware is used as the benchmark measurement information to verify the legitimacy of the firmware in the running state of the computing device.
[0081] In some examples, when the firmware in the BIOS chip 12 needs to be upgraded, the BMC 131 performs a security check on the new version of the firmware after obtaining the new version of the firmware (used to upgrade the corresponding firmware in the BIOS chip 12). When the new version of the firmware passes the check, the BMC 131 generates firmware measurement information corresponding to the new version of the firmware and deletes the firmware measurement information corresponding to the original firmware.
[0082] In a possible implementation, BMC 131 includes both a security core and a service core, and the processing capability of the service core is greater than that of the security core. The service core is responsible for service-related management tasks in BMC 131 (such as hardware status detection and performance detection of computing devices).
[0083] Optionally, the security core is used to perform security verification on the firmware in the BIOS chip 12 during the secure boot process of the computing device. The service core is used to generate firmware measurement information corresponding to the firmware when the firmware verification passes.
[0084] Optionally, when the firmware in the BIOS chip 12 needs to be upgraded, the firmware measurement information corresponding to the firmware in the BIOS chip 12 should also be updated synchronously to ensure the accuracy of the firmware measurement information. In this scenario, the business core is used to perform a security check on the new version of the firmware (used to upgrade the corresponding firmware in the BIOS chip 12). The business core is used to generate the firmware measurement information corresponding to the new version of the firmware when the new version of the firmware is verified to pass, and replace the firmware measurement information of the old version of the firmware with the firmware measurement information corresponding to the new version of the firmware.
[0085] In this way, during the secure boot process of the computing device, the security core is used to perform security verification on the firmware in the BIOS chip 12, and the business core is used to generate firmware measurement information corresponding to the BIOS chip 12. When upgrading the firmware in the BIOS chip 12, the business core simultaneously undertakes the tasks of firmware security verification and generating firmware measurement information. In other words, during the secure boot process of the computing device, the security core is specifically responsible for performing security verification on the firmware in the BIOS chip 12. This focus enables the security core to focus on security verification tasks without being disturbed by other non-security related tasks. In addition, the processing power of the business core is greater than that of the security core. When processing the security verification and firmware measurement information of complex firmware, the business core can complete the task more efficiently. When the computing device has high requirements for the duration of secure boot, BMC131 can use the business core to quickly generate firmware measurement information.
[0086] In some embodiments, BMC 131 is used to perform a validity check on the firmware in the running state of the computing device according to the firmware measurement information.
[0087] In some examples, BMC 131 performs a validity check on the firmware in the running state of the computing device by comparing the firmware measurement information with the actual measurement information of the firmware in the BIOS chip 12 in the running state of the computing device.
[0088] Among them, BMC131 can obtain actual measurement information of the firmware through data interaction with the processor 11.
[0089] In one possible implementation, first, BMC 131 may send a request for the firmware of the computing device's running state to the processor 11 in the computing device; then, the processor 11 sends the firmware of the computing device's running state to BMC 131 in response to the request; finally, BMC 131 determines actual measurement information based on the acquired firmware of the computing device's running state.
[0090] In a possible implementation, first, BMC 131 may send a request to the processor 11 in the computing device to obtain actual measurement information; then, in response to the request, the processor 11 determines the actual measurement information based on the firmware in the running state of the computing device, and sends the actual measurement information to BMC 131. Since the data volume of the actual measurement information is much smaller than the data volume of the firmware, compared with sending the firmware to BMC 131, calculating the actual measurement information by the processor 11 and sending the actual measurement information to BMC 131 can reduce the amount of transmitted data and improve transmission efficiency.
[0091] OS is a computer program that manages and controls the hardware and software resources of a computing device. Any other software must be supported by the operating system to run. After the computing device is powered on, the firmware in the BIOS chip 12 is loaded to perform a series of operations such as self-test and initialization, and then the OS is booted to start, so that the user can use the computing device normally.
[0092] In the following embodiments, the execution subject of the configuration method and the firmware legitimacy verification method is performed by taking BMC131 as an example. Of course, the execution subject of the configuration method and the firmware legitimacy verification method may also be CPLD14, CPU, graphics processing unit (GPU), data processing unit (DPU), etc. It should be noted that when the execution subject is CPLD14, CPU, GPU, DPU, etc., during the secure boot process of the computing device, CPLD14, CPU, GPU, DPU, etc. need to be powered on first to implement the security verification of the firmware in the BIOS chip 12.
[0093] It should be noted that the system architecture and application scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of the system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0094] For ease of understanding, the following is an exemplary introduction to the configuration method of firmware measurement information and the firmware legitimacy verification method provided by the present application in conjunction with the accompanying drawings. The method is applicable to Figure 1 The computing device shown.
[0095] The following embodiments of the present application will be divided into two parts to respectively provide an illustrative introduction to the scheme for configuring firmware metric information and the scheme for verifying firmware legitimacy.
[0096] Part I: Combination Figures 2 to 5, introduces the configuration method provided in an embodiment of the present application, aiming to introduce the overall process of configuring firmware metric information of the firmware.
[0097] Part II: Combination Figure 6 , Figure 7 , introduces the firmware legitimacy verification method provided in an embodiment of the present application, aiming to introduce an implementation method for verifying the legitimacy of the firmware based on the firmware measurement information.
[0098] In the implementation of the present application, the firmware measurement information of the configuration firmware is determined, including multiple implementation methods, which are exemplified below through scenarios 1 and 2.
[0099] Scenario 1: In a scenario of secure booting of a computing device, firmware metric information of the firmware is configured.
[0100] Figure 2 1 is a flow chart of a method for configuring firmware metric information according to an exemplary embodiment. Exemplarily, the method includes the following S201-S203.
[0101] S201: During the secure boot process of the computing device, the BMC performs a security check on the firmware in the BIOS chip.
[0102] In one possible implementation, if the firmware in the BIOS chip is tampered with or damaged, it may lead to serious consequences such as failure to start the computing device, performance degradation, data leakage, or even control by malware. Therefore, during the startup of the computing device, performing a security check before loading the firmware is an important step in ensuring the security of the computing device. In an embodiment of the present application, during the secure startup of the computing device, before loading the firmware in the BIOS chip, the BMC verifies the firmware in the BIOS chip, and only loads the firmware after it passes the security check to ensure that the firmware is credible.
[0103] In a possible implementation, the BMC verifies whether the firmware in the BIOS chip that needs to be loaded when the computing device is started is credible by verifying the digital signature of the firmware. The firmware will only be loaded if the digital signature of the firmware is credible.
[0104] Before the firmware in the BIOS chip is first released, the manufacturer will sign it with a private key and then release the digital signature together with the firmware. For example, the firmware is hashed, the hash value is encrypted with a private key, and the encrypted hash value is used as a digital signature.
[0105] Optionally, the specific process of BMC verifying whether the firmware is credible based on the digital signature includes: first, BMC extracts the digital signature from the firmware, and uses the public key paired with the private key to decrypt the digital signature to obtain the original hash value; then, BMC performs hash calculation on the firmware in the current BIOS chip to obtain the current hash value; finally, BMC compares the current hash value with the original hash value to obtain the security verification result. When the current hash value is consistent with the original hash value, it means that the firmware in the BIOS chip has not been tampered with after the manufacturer releases it, and the firmware in the BIOS chip is deemed to be credible and the firmware passes the security verification. When the current hash value is inconsistent with the original hash value, it means that the firmware in the BIOS chip may have been tampered with, and the firmware in the BIOS chip is deemed to have failed the security verification. At this time, the computing device will not load the firmware in the BIOS chip, and issue a warning to indicate that there is a security risk in the firmware.
[0106] In a possible implementation, the firmware in the BIOS chip includes processor firmware. The processor firmware in the BIOS chip is used to initialize the processor to ensure that the processor can be correctly configured and run stably during the startup process. For example, the processor firmware is used to set key parameters such as the operating frequency and voltage of the processor.
[0107] Optionally, the processor firmware is used to initialize the processor. Specifically, the processor firmware performs a series of initialization operations on the processor, including setting the operating mode of the processor, configuring internal registers, etc.
[0108] Optionally, the processor firmware is used to set the operating frequency of the processor. The operating frequency of the processor (also called clock frequency or main frequency) is one of the important indicators of its performance. The processor firmware will set the appropriate operating frequency according to the configuration of the computer and the needs of the user. For example, in some high-performance computers, a higher operating frequency may be set to provide faster processing speed; while in some low-power devices, a lower operating frequency may be set to save energy.
[0109] Optionally, the processor firmware is used to adjust the voltage of the processor. Voltage is one of the key factors affecting processor stability and performance. The processor firmware will adjust the processor voltage settings based on the model and specifications of the processor, as well as the user's needs and the computer's power supply capabilities. The appropriate voltage setting can ensure that the processor runs stably and performs at its best performance.
[0110] In one possible implementation, the firmware in the BIOS chip includes memory firmware. Memory firmware plays a vital role in computing devices and is used to initialize the memory in the computing device to ensure that the memory can be correctly identified, configured, and used, for example, to detect parameters such as the size, speed, and type of the memory, and to set the access timing of the memory.
[0111] Optionally, the memory firmware is used to obtain memory related information such as memory capacity, operating frequency, and operating voltage.
[0112] Optionally, the memory firmware is used to configure the registers of the memory controller, set the timing parameters of memory access, etc. Among them, the memory access timing refers to the time sequence and waiting time of memory read and write operations. Reasonable timing settings can improve the efficiency of memory access and reduce latency.
[0113] In one possible implementation, the input / output device firmware is used to configure and manage various input / output devices in a computing device, such as a hard disk, a graphics card, a keyboard, a mouse, etc., including setting the interface type, working mode, etc. of the input / output device.
[0114] Optionally, the input / output firmware is used to configure the interface type of the input / output device, such as a peripheral component interconnect express (PCIe) interface, a universal serial bus (USB), etc., to ensure that the device can communicate correctly with other hardware of the computing device.
[0115] Optionally, the input and output firmware is used to set the working mode of the input and output devices, such as the redundant array of independent disks (RAID) mode of the hard disk and the rendering mode of the graphics card, so as to optimize the performance and compatibility of the device. Taking the graphics card as an example, the firmware corresponding to the graphics card can configure the graphics card's video memory size, video memory frequency, rendering mode, etc.
[0116] Optionally, the input and output firmware is used to adjust the parameters of the input and output devices, such as the rotation speed of the hard disk, the memory frequency of the graphics card, etc., so as to meet the different usage requirements of users.
[0117] Of course, the firmware in the BIOS chip may also include bus resource firmware, which is used to manage and allocate bus resources in the computing device, including setting bus bandwidth, speed, priority and other parameters.
[0118] In a possible implementation, the BMC includes a security core. During the secure boot process of the computing device, the security core is used to perform security verification on the firmware in the BIOS chip.
[0119] S202: When the firmware passes the verification, the BMC generates firmware measurement information corresponding to the firmware.
[0120] Among them, the firmware measurement information is used to verify the legitimacy of the firmware when the computing device is running.
[0121] In a possible implementation manner, the BMC determines a hash value of the firmware and uses the hash value of the firmware as firmware measurement information corresponding to the firmware.
[0122] Optionally, the algorithm for calculating the hash value of the firmware may be SHA-256, MD5, SHA-1, etc., which is not specifically limited in this application.
[0123] In one possible implementation, the BMC includes a security core and a business core. The processing capability of the business core is greater than that of the security core. During the secure boot process of the computing device, both the security core and the business core can be used to generate firmware measurement information corresponding to the firmware. Since the processing capability of the business core is greater than that of the security core, when determining the firmware measurement information corresponding to the same firmware, the processing time of the business core is less than that of the security core, and the business core can handle the calculation of more complex firmware measurement information. In the case where the duration of the secure boot process of the computing device is high, or when the calculation of the firmware measurement information is more complex, the business core can be selected to generate the firmware measurement information, so as to shorten the duration of the secure boot of the computing device and improve the verification efficiency.
[0124] In a possible implementation, the legality of the firmware refers to whether the actual firmware is consistent with the preset firmware. If the actual firmware is consistent with the preset firmware, the actual firmware is determined to be legal; if the actual firmware is inconsistent with the preset firmware, the actual firmware is determined to be illegal.
[0125] In the embodiment of the present application, the actual firmware refers to the firmware in the running state of the computing device, and the preset firmware refers to the firmware that has passed the security check during the computing security startup process. If the firmware in the running state of the computing device is consistent with the firmware that has passed the security check, it indicates that the firmware in the running state of the computing device is legal; if the firmware in the running state of the computing device is inconsistent with the firmware that has passed the security check, it indicates that the firmware in the running state of the computing device is illegal.
[0126] In one possible implementation, after the computing device is started, it runs based on the firmware in the BIOS chip. When the computing device is in operation, the actual measurement information of the actual firmware of the computing device can be obtained and compared with the firmware measurement information to determine whether the firmware is legal during the operation of the computing device. The measurement information is determined based on the firmware, and the measurement information has a smaller data volume than the firmware. In this way, compared with comparing the firmware in the running state of the computing device with the firmware after the security check, comparing the actual measurement information with the firmware measurement information can significantly reduce the complexity of the check, shorten the time of the legality check, and improve the efficiency of the legality check.
[0127] Optionally, when the actual measurement information is consistent with the firmware measurement information, it is determined that the firmware is legal in the running state of the computing device. In other words, the computing device actually runs based on the firmware in the BIOS chip.
[0128] Optionally, when the actual measurement information is inconsistent with the firmware measurement information, it is determined that the firmware is illegal in the running state of the computing device. In other words, although the firmware in the BIOS chip has passed the security check and is not tampered with, the running state of the computing device in the actual running process after the computing device is started is inconsistent with the expected running state of the firmware, that is, the computing device is not configured according to the configuration information of the firmware in the BIOS chip.
[0129] For example, taking processor firmware as an example, when the processor firmware is used to initialize the processor, such as the processor firmware is used to configure internal registers, the internal registers control various performance parameters of the processor such as clock frequency, cache settings, etc. At this time, the value of the internal register in the running state of the computing device can be obtained, and the current value of the internal register can be used to determine whether the processor firmware has correctly configured the internal register.
[0130] S203 (optional): The BMC stores the firmware metric information in the computing device.
[0131] In a possible implementation, the BMC stores the firmware metric information in a preset storage area in the computing device.
[0132] Exemplarily, the firmware measurement information is stored in a storage area where a baseboard management controller BMC of the computing device is located. For example, the firmware measurement information can be stored in a non-volatile memory where the BMC is located, which can save space in the BIOS chip. Of course, the firmware measurement information can also be stored in other non-volatile memories in the computing device.
[0133] In addition, the BMC may also store the firmware metric information in a non-volatile memory outside the computing device, thereby saving storage space in the computing device.
[0134] In the above scenario 1, before the computing device loads the firmware in the BIOS chip, it performs a security check on the firmware in the BIOS chip. On the one hand, the security boot process check can ensure that the computing device loads a trusted firmware when it boots up. While preventing the tampered firmware from interfering with the startup process of the computing device, the firmware measurement information of the firmware that has passed the security check is determined to ensure that the firmware measurement information is accurate, which provides a reliable basis for the subsequent verification of the legitimacy of the firmware when the computing device is running. Furthermore, the firmware measurement information is used to perform a legitimacy check on the firmware during the operation of the computing device, which can ensure that the result of the legitimacy check is also accurate. The firmware measurement information can be used to promptly detect the tampering behavior of the firmware during the operation of the computing device, ensuring the integrity and credibility of the firmware, and providing a basis for the safe and stable operation of the computing device.
[0135] Scenario 2: In a scenario where the firmware in the BIOS chip is upgraded, firmware metric information of the firmware is configured.
[0136] Figure 3 1 is a flow chart of another method for configuring firmware metric information according to an exemplary embodiment. Exemplarily, the method includes the following S301-S304.
[0137] S301: BMC obtains the new version of firmware.
[0138] Among them, the new version of firmware is used to upgrade the corresponding firmware in the BIOS chip.
[0139] In a possible implementation, the new version of firmware is a functional enhancement or optimization of the old version of firmware in the BIOS chip. Compared with the old version of firmware, the new version of firmware can be used to add new functions, improve the performance of existing functions, fix vulnerabilities, etc., so that the computing device can better meet the actual needs of users.
[0140] In one possible implementation, the new version of the firmware can be directly flashed into the BIOS chip by physical means. In this case, after the new version of the firmware is written into the BIOS chip (also called the new version of the firmware upgrade is completed), the BMC obtains the new version of the firmware by reading the BIOS chip. Figure 4 As shown, the BIOS image file includes a new version of firmware. After the new version of firmware is flashed to the BIOS chip 12, the BMC 131 reads the BIOS chip 12 to obtain the new version of firmware.
[0141] In a possible implementation, the new version of the firmware can be upgraded to the BIOS chip through the BMC 131. In this case, the BMC 131 directly obtains the new version of the firmware from outside the computing device. Figure 5 In the embodiment, the BIOS image file obtained from the outside contains the new version of firmware, and BMC131 obtains the new version of firmware by reading the BIOS image file, and then BMC131 writes the new version of firmware into the BIOS chip 12, thereby completing the upgrade of the new version of firmware in the BIOS chip 12.
[0142] S302: The BMC performs a security check on the new version of the firmware.
[0143] In a possible implementation, in a scenario where a new version of firmware is upgraded, the implementation method of the BMC performing security verification on the new version of firmware is the same as the above S201, which is not described in detail here.
[0144] S303: When the new version of the firmware passes verification, the BMC generates firmware measurement information corresponding to the new version of the firmware.
[0145] Among them, the firmware measurement information corresponding to the new version of the firmware is used to verify the legitimacy of the new version of the firmware when the computing device is running.
[0146] In the embodiment of the present application, the actual firmware refers to the firmware in the running state of the computing device, and the preset firmware does not refer to the old version of firmware that has passed the security check during the computing security startup process, but the new version of firmware that has passed the security check. If the firmware in the running state of the computing device is consistent with the new version of firmware that has passed the security check, it indicates that the firmware in the running state of the computing device is legal; if the firmware in the running state of the computing device is inconsistent with the new version of firmware that has passed the security check, it indicates that the firmware in the running state of the computing device is illegal.
[0147] In this way, when the firmware in the BIOS chip is upgraded, the firmware measurement information of the firmware is also updated synchronously, ensuring that the firmware measurement information matches the firmware in the BIOS chip, thereby guaranteeing the accuracy of the firmware measurement information.
[0148] In a possible implementation, when a computing device is upgraded to a new version of firmware, a service core in the BMC may be used to perform a security check on the new version of firmware; if the new version of firmware passes the check, firmware measurement information corresponding to the new version of firmware is generated.
[0149] The implementation method of generating firmware measurement information by the service core in the BMC is the same as the implementation method of the above S202, which will not be described in detail here.
[0150] S304 (optional): The BMC stores the firmware metric information in the computing device.
[0151] In one possible implementation, when the new version of firmware is written into the BIOS chip through the BMC, the BMC can perform a security check on the new version of firmware after the new version of firmware is upgraded, or before the new version of firmware is upgraded, or of course, at the same time, which is not specifically limited in this application.
[0152] In a possible implementation, in the scenario of upgrading a new version of firmware, if the firmware measurement information corresponding to the old version of firmware is stored in the computing device, the firmware measurement information corresponding to the old version of firmware is no longer applicable to the new version of firmware and needs to be deleted and replaced with the firmware measurement information corresponding to the new version of firmware in a timely manner. Therefore, the BMC deletes the firmware measurement information corresponding to the old version and replaces it with the firmware measurement information corresponding to the new version.
[0153] In the above scenario 2, while the firmware in the BIOS chip is upgraded, the firmware measurement information of the firmware is also updated synchronously to ensure a high degree of consistency between the firmware measurement information and the firmware in the BIOS chip. If the firmware measurement information corresponding to the old version is stored in the computing device, the firmware measurement information corresponding to the old version of the firmware is deleted and replaced with the firmware measurement information corresponding to the new version to ensure the timeliness and accuracy of the firmware measurement information.
[0154] In the first part of the embodiments of the present application, the implementation methods of configuring the firmware measurement information of the firmware are respectively introduced through Scenario 1 and Scenario 2. Whether in the process of starting the computing device or in the process of upgrading the firmware in the BIOS chip, the firmware in the BIOS chip is security checked to ensure that the firmware in the BIOS chip is reliable and has not been maliciously tampered with. When the firmware security check passes, the firmware measurement information of the firmware is accurately generated through the BMC, which provides a basis for verifying the legitimacy of the new version of the firmware in the running state of the computing device, thereby ensuring the safe operation of the computing device.
[0155] The above is the first part of the embodiment of this application. Figure 6 , Figure 7 , introduces the implementation method of verifying the legitimacy of firmware based on firmware measurement information.
[0156] Figure 6 The flowchart of a firmware validity verification method according to an exemplary embodiment is shown. Exemplarily, the method is applied to a computing device, the computing device includes a basic input and output system BIOS chip, and specifically includes the following S601-S602.
[0157] S601: The BMC obtains actual measurement information of the firmware in the BIOS chip when the computing device is running.
[0158] In a possible implementation, first, the BMC may send a request for the firmware of the computing device running state to the CPU in the computing device; then, in response to the request, the CPU sends the firmware of the computing device running state to the BMC; finally, the BMC determines the actual measurement information based on the firmware of the computing device running state obtained. Exemplarily, the implementation method of the BMC determining the actual measurement information is the same as the implementation method of generating the firmware measurement information in S202 above, which is not repeated here.
[0159] In a possible implementation, first, the BMC may send a request to the CPU in the computing device to obtain the actual measurement information; then, in response to the request, the CPU determines the actual measurement information based on the firmware in the running state of the computing device, and sends the actual measurement information to the BMC. Since the data volume of the actual measurement information is much smaller than the data volume of the firmware, compared with sending the firmware to the BMC, calculating the actual measurement information by the CPU and sending the actual measurement information to the BMC can reduce the amount of data transmitted and improve the transmission efficiency.
[0160] S602: The BMC performs a validity check on the firmware based on the firmware measurement information and the actual measurement information to obtain a validity check result.
[0161] The firmware measurement information is the firmware measurement information in the above scenario 1 or scenario 2.
[0162] In one possible implementation, when the firmware measurement information is consistent with the actual measurement information, it indicates that the firmware or new version of the firmware when the computing device is securely started is consistent with the firmware in the running state of the computing device, and the computing device actually runs based on the firmware in the BIOS chip. At this time, it is determined that the firmware running in the computing device has passed the legitimacy check, and the firmware running in the computing device is complete and reliable relative to the firmware or new version of the firmware when the computing device is securely started.
[0163] In one possible implementation, when the firmware measurement information is inconsistent with the actual measurement information, it indicates that the firmware or new version firmware used when the computing device is securely started is different from the firmware when the computing device is in operation, and the computing device is not running based on the firmware (or new version firmware) used when the computing device is securely started. At this time, it is determined that the firmware running in the computing device has not passed the legitimacy check.
[0164] Figure 7 This is a schematic diagram of the BMC checking the legitimacy of the firmware during the operation of the computing device. Figure 7In the present invention, BMC131 implements the legitimacy check of the computing device through the platform firmware recovery (PFR) channel. The actual measurement information or the firmware in the running state of the computing device is transmitted between BMC131 and other hardware and software devices in the computing device, such as the CPU, through the PFR channel. After obtaining the actual measurement information of the firmware in the running state of the computing device, BMC131 performs a legitimacy check on the firmware in the running state of the computing device by comparing the firmware measurement information with the actual measurement information. When the firmware measurement information is consistent with the actual measurement information, it is determined that the firmware in the running of the computing device has passed the legitimacy check. When the firmware measurement information is inconsistent with the actual measurement information, it is determined that the firmware in the running of the computing device has not passed the legitimacy check.
[0165] In the second part of the embodiment of the present application, by obtaining the actual measurement information of the firmware when the computing device is running and comparing the actual measurement information with the firmware measurement information, the actual operation status of the computing device can be detected. Once it is found that the actual measurement information is inconsistent with the firmware measurement information, it can quickly identify that the firmware has been tampered with or damaged, and promptly prevent the harm to the computing device caused by the tampered or damaged firmware, thereby improving the security of the computing device.
[0166] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to achieve the above functions, the configuration device of the firmware measurement information and the firmware legitimacy verification device include hardware structures and / or software modules corresponding to the execution of each function. It should be easy for those skilled in the art to realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.
[0167] The embodiments of the present application can exemplarily divide the configuration device of the firmware measurement information into functional modules according to the configuration method of the above-mentioned firmware measurement information. For example, the configuration device of the firmware measurement information can include various functional modules corresponding to the various functional divisions, or two or more functions can be integrated into one processing module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiments of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation.
[0168] For example, Figure 8A possible structural diagram of a configuration device for firmware measurement information involved in the above embodiment is shown, which is applied to a computing device, and the computing device includes a basic input and output system BIOS chip. The device includes: a first security verification unit 801 and a first determination unit 802; the first security verification unit 801 is used to perform security verification on the firmware in the BIOS chip; the security verification is used to detect whether the firmware in the BIOS chip is credible; the first determination unit 802 is used to generate firmware measurement information corresponding to the firmware when the firmware verification passes; the firmware measurement information is used to verify the legitimacy of the firmware in the running state of the computing device.
[0169] Optionally, in the apparatus, the first security verification unit 801 is specifically used to perform security verification on the firmware in the BIOS chip during the secure boot process of the computing device.
[0170] Optionally, the device also includes: a third acquisition unit, a third security verification unit, and a third determination unit; the third acquisition unit is used to acquire the new version of firmware; the new version of firmware is used to upgrade the corresponding firmware in the BIOS chip; the third security verification unit is used to perform security verification on the new version of firmware; the third determination unit is used to generate firmware measurement information corresponding to the new version of firmware if the new version of firmware passes the verification; the firmware measurement information corresponding to the new version of firmware is used to verify the legitimacy of the new version of firmware when the computing device is running.
[0171] Optionally, the device is executed by a baseboard management controller BMC in a computing device. In the device, the BMC includes a security core; the security core is used to perform security verification on the firmware in the BIOS chip during the secure boot process of the computing device; and / or the security core is used to generate firmware measurement information corresponding to the firmware when the firmware verification passes.
[0172] Optionally, the BMC includes a security core and a business core; the processing capability of the business core is greater than that of the security core; the security core is used to perform security verification on the firmware in the BIOS chip during the secure startup of the computing device; the business core is used to generate firmware measurement information corresponding to the firmware when the firmware verification passes; and / or, the business core is used to perform security verification on the new version of firmware; when the new version of firmware verification passes, firmware measurement information corresponding to the new version of firmware is generated; the new version of firmware is used to upgrade the corresponding firmware in the BIOS chip.
[0173] Optionally, the device further includes: a fourth acquisition unit and a fifth acquisition unit. The fourth acquisition unit is used to acquire actual measurement information of the firmware in the running state of the computing device; the fifth acquisition unit is used to perform a legality check on the firmware based on the firmware measurement information and the actual measurement information to obtain a legality check result.
[0174] Optionally, in the device, the firmware in the BIOS chip includes at least one of processor firmware, memory firmware, and input / output device firmware.
[0175] Optionally, the apparatus further includes a first storage unit, and the first storage unit is used to store the firmware measurement information in a storage area where a BMC of the computing device is located.
[0176] Optionally, in the device, the first security verification unit 801 is specifically used to perform a security verification on the firmware in the BIOS chip based on the digital signature of the firmware in the BIOS chip.
[0177] Optionally, in the device, the first determination unit 802 is specifically configured to determine a hash value of the firmware when the firmware verification passes, and use the hash value of the firmware as firmware measurement information corresponding to the firmware.
[0178] For example, Fig. 9 A possible structural schematic diagram of a configuration device for firmware measurement information involved in the above-mentioned embodiment is shown, which is applied to a computing device, and the computing device includes a basic input and output system BIOS chip. The device includes: a first acquisition unit 901, a second security verification unit 902, and a second determination unit 903; the first acquisition unit 901 is used to obtain a new version of firmware; the new version of firmware is used to upgrade the corresponding firmware in the BIOS chip; the second security verification unit 902 is used to perform a security verification on the new version of firmware; the second determination unit 903 is used to generate firmware measurement information corresponding to the new version of firmware when the new version of firmware passes the verification; the firmware measurement information corresponding to the new version of firmware is used to verify the legitimacy of the new version of firmware in the running state of the computing device.
[0179] The embodiments of the present application can divide the firmware legitimacy verification device into functional modules according to the above-mentioned firmware legitimacy verification method. For example, the firmware legitimacy verification device can include various functional modules corresponding to the various functional divisions, or two or more functions can be integrated into one processing module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiments of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation.
[0180] For example, Fig.10A possible structural diagram of the firmware legitimacy verification device involved in the above embodiment is shown, which is applied to a computing device, and the computing device includes a basic input and output system BIOS chip. The device includes: a second acquisition unit 1001 and a legitimacy verification unit 1002; the second acquisition unit 1001 is used to obtain the actual measurement information of the firmware in the running state of the computing device; the legitimacy verification unit 1002 is used to perform a legitimacy verification on the firmware based on the firmware measurement information and the actual measurement information to obtain a legitimacy verification result.
[0181] For the specific description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation of any firmware metric information configuration device and firmware legitimacy verification device provided above and the description of the beneficial effects can refer to the above corresponding method embodiments, which will not be repeated here.
[0182] The embodiment of the present application also provides a computer device, which includes a processor and a memory, the processor is connected to the memory, the memory stores a computer-executable instruction, and the processor implements the method in the above embodiment when executing the computer-executable instruction. The embodiment of the present application does not impose any restrictions on the specific form of the computer device. For example, the computer device can be a terminal device or a network device. Among them, the terminal device can be called: terminal, user equipment (UE), terminal equipment, access terminal, user unit, user station, mobile station, remote station, remote terminal, mobile device, user terminal, wireless communication device, user agent or user device, etc. The terminal device can be a mobile phone, augmented reality (AR) device, virtual reality (VR) device, tablet computer, laptop computer, ultra-mobile personal computer (UMPC), netbook, personal digital assistant (PDA), etc. The network device can be a server, etc. Among them, the server can be a physical or logical server, or it can be two or more physical or logical servers that share different responsibilities and cooperate with each other to realize the functions of the server.
[0183] An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed on a computer, the computer is enabled to execute any of the methods executed by the computer devices provided above.
[0184] For the explanation of the relevant contents and description of the beneficial effects of any of the above-mentioned computer-readable storage media, reference may be made to the above-mentioned corresponding embodiments, which will not be repeated here.
[0185] The embodiment of the present application also provides a chip. The chip integrates a control circuit and one or more ports for implementing the functions of the above-mentioned computer device. Optionally, the functions supported by the chip can be referred to above and will not be repeated here. A person of ordinary skill in the art can understand that all or part of the steps of implementing the above-mentioned embodiment can be completed by instructing the relevant hardware through a program. The program can be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a random access memory, etc. The above-mentioned processing unit or processor can be a central processing unit, a general-purpose processor, an application specific integrated circuit (ASIC), a microprocessor (digital signal processor, DSP), a field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
[0186] The embodiment of the present application also provides a computer program product including instructions, when the instructions are run on a computer, the computer executes any one of the methods in the above embodiments. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a server, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means to another website site, computer, server, or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more servers that can be integrated with the medium. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., an SSD), etc.
[0187] It should be noted that the above-mentioned devices for storing computer instructions or computer programs provided in the embodiments of the present application, such as but not limited to the above-mentioned memories, computer-readable storage media and communication chips, etc., are all non-transitory.
[0188] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using a software program, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loading and executing computer program instructions on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. Computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, data center, etc. that contains one or more servers that can be integrated with a medium. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)).
[0189] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art may understand and implement other changes to the disclosed embodiments by viewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "one" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
[0190] Although the present application has been described in conjunction with specific features and embodiments thereof, it is obvious that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely exemplary illustrations of the present application as defined by the appended claims, and are deemed to have covered any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A method for configuring firmware metric information, characterized in that: Applied to a computing device, the computing device includes a basic input and output system BIOS chip, the method includes: Performing a security check on the firmware in the BIOS chip; the security check is used to detect whether the firmware in the BIOS chip is credible; In the case where the firmware passes the verification, firmware measurement information corresponding to the firmware is generated; the firmware measurement information is used to verify the legitimacy of the firmware in the running state of the computing device.
2. The configuration method according to claim 1, characterized in that: The performing security verification on the firmware in the BIOS chip includes: During the secure boot process of the computing device, a security check is performed on the firmware in the BIOS chip.
3. The configuration method according to claim 1 or 2, characterized in that: The method further comprises: Obtain a new version of firmware; the new version of firmware is used to upgrade the corresponding firmware in the BIOS chip; Performing a security check on the new version of the firmware; When the new version of the firmware passes the verification, firmware measurement information corresponding to the new version of the firmware is generated; the firmware measurement information corresponding to the new version of the firmware is used to verify the legitimacy of the new version of the firmware when the computing device is running.
4. The configuration method according to claim 2, characterized in that: The method is performed by a baseboard management controller BMC in the computing device, the BMC comprising a security core; The security core is used to perform security verification on the firmware in the BIOS chip during the secure boot process of the computing device; and / or, The security core is used to generate firmware measurement information corresponding to the firmware when the firmware passes the verification.
5. The configuration method according to claim 3, characterized in that: The BMC includes a security core and a business core; the processing capability of the business core is greater than the processing capability of the security core; The security core is used to perform security verification on the firmware in the BIOS chip during the secure boot process of the computing device; The service core is used to generate firmware measurement information corresponding to the firmware when the firmware passes the verification; and / or, The service core is used to perform security verification on the new version of firmware; When the new version of the firmware passes the verification, firmware measurement information corresponding to the new version of the firmware is generated; the new version of the firmware is used to upgrade the corresponding firmware in the BIOS chip.
6. The configuration method according to any one of claims 1 to 5, characterized in that: The method further comprises: Obtaining actual measurement information of the firmware in the running state of the computing device; Based on the firmware measurement information and the actual measurement information, the firmware is verified for legitimacy to obtain a legitimacy verification result.
7. The configuration method according to any one of claims 1 to 6, characterized in that: The firmware metric information is stored in a storage area where a BMC of the computing device is located.
8. The configuration method according to claim 1, characterized in that: The performing security verification on the firmware in the BIOS chip includes: Based on the digital signature of the firmware in the BIOS chip, a security check is performed on the firmware in the BIOS chip.
9. The configuration method according to claim 1 or 8, characterized in that: The step of generating firmware measurement information corresponding to the firmware when the firmware passes the verification includes: In a case where the firmware passes the verification, a hash value of the firmware is determined, and the hash value of the firmware is used as firmware metric information corresponding to the firmware.
10. A computing device, characterized in that: include: Basic input and output system BIOS chip and baseboard management controller BMC; The BIOS chip is connected to the BMC, and the BMC is used to execute the configuration method of firmware measurement information according to any one of claims 1 to 9.
