Trusted measurement method of baseboard management controller and terminal equipment

By checking and measuring the digital certificate of the substrate management controller (BMC), its credibility is determined, and the problems of unstable and insecure BMC operation are solved, and the credibility measurement and operation stability of BMC are achieved.

CN119848877APending Publication Date: 2025-04-18LENOVO (BEIJING) LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510111997.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-23
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The baseboard management controller (BMC) is prone to abnormalities during operation, resulting in unstable and unsafe operation, which may cause irreparable losses to the motherboard and server CPU.

Method used

By obtaining the BMC's digital certificate, using the pre-stored root certificate for verification, and after the verification is passed, the BMC is called to measure the specified metric term, obtaining the first metric value, and comparing it with the pre-stored reference value to determine the credibility of the BMC.

Benefits of technology

A reliable measurement of BMC is achieved, ensuring the stability and security of BMC during operation, avoiding losses caused by BMC exceptions, and reducing operation and maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119848877A_ABST
    Figure CN119848877A_ABST
Patent Text Reader

Abstract

The invention provides a trusted measurement method of a baseboard management controller and terminal equipment, and relates to the technical field of information security. The method comprises the following steps: acquiring a digital certificate of a substrate management controller, and verifying the digital certificate by using a pre-stored root certificate; when the verification is passed, the baseboard management controller is called to measure a specified measurement item to obtain a first measurement value, and the specified measurement item comprises at least one code segment of a starting program, a kernel program and an application program of a server where the baseboard management controller is located; and obtaining a first metric value, and determining whether the substrate management controller is credible according to a comparison result of the first metric value and a pre-stored reference value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of information security technology, and in particular to a trust measurement method for a baseboard management controller and a terminal device. Background Art

[0002] The Baseboard Management Controller (BMC) is a dedicated microcontroller that is independent of the server operating system and main processor. It is usually integrated on the server motherboard and is responsible for monitoring, managing and controlling the server's hardware and operating status. However, during the operation of the BMC, both software and hardware will inevitably have abnormalities. Under abnormal circumstances, the BMC will run unstably and unsafely, which may cause irreparable losses such as burning the motherboard and the server host CPU.

[0003] Therefore, in the server field, it is crucial to build a trusted BMC. Summary of the invention

[0004] In view of this, the present disclosure provides a trust measurement method for a baseboard management controller, a server, an electronic device, a storage medium, and a program product.

[0005] According to a first aspect of the present disclosure, a trust measurement method for a baseboard management controller is provided, comprising: obtaining a digital certificate of the baseboard management controller, and verifying the digital certificate using a pre-stored root certificate; when the verification passes, calling the baseboard management controller to measure a specified measurement item to obtain a first measurement value, wherein the specified measurement item includes at least one code segment of a boot program, a kernel program, and an application program of a server where the baseboard management controller is located; obtaining the first measurement value, and determining whether the baseboard management controller is trustworthy based on a comparison result of the first measurement value with a pre-stored reference value.

[0006] According to an embodiment of the present disclosure, the method also includes: obtaining a root certificate sent by a certificate authority; the root certificate includes a public key; obtaining relevant information of a baseboard management controller, generating a certificate request file based on the relevant information and the public key, and sending the certificate request file to a certificate authority; receiving a digital certificate and a private key of a root certificate sent by a certificate authority, and storing the digital certificate and the private key of the root certificate in a mirror file of the baseboard management controller, wherein the digital certificate is generated by the certificate authority using the private key of the root certificate to sign the certificate request file; calling the baseboard management controller to measure a specified measurement item to obtain a benchmark value; and storing the root certificate, the benchmark value, and the mirror file in a terminal device.

[0007] According to an embodiment of the present disclosure, the method further includes: verifying the digital certificate using the public key of the root certificate.

[0008] According to an embodiment of the present disclosure, the method further includes: the baseboard management controller signs the first measurement value using the private key of the root certificate to obtain signature information.

[0009] According to an embodiment of the present disclosure, the method further includes: obtaining a first measurement value and signature information; verifying the signature information using a public key of a digital certificate, and comparing the first measurement value with a reference value when the verification passes.

[0010] According to an embodiment of the present disclosure, the method further includes: determining that the baseboard management controller is credible when it is determined that the first measurement value is the same as the reference value; wherein the reference value is obtained by the baseboard management controller measuring the specified measurement item in advance.

[0011] According to an embodiment of the present disclosure, the method also includes: when determining that the baseboard management controller is trustworthy, in response to receiving a self-measurement instruction for the baseboard management controller, calling the baseboard management controller to measure a specified measurement item to obtain a second measurement value; and updating the reference value to the second measurement value.

[0012] According to an embodiment of the present disclosure, the method further includes: calling a baseboard management controller to measure a specified measurement item at predetermined time intervals to obtain a third measurement value; and when it is determined that the third measurement value is different from a reference value, pushing an alarm message to indicate that an abnormality has occurred in the image file of the baseboard management controller.

[0013] According to an embodiment of the present disclosure, the method further includes: in response to obtaining the third measurement value, detecting whether a self-measurement instruction for the baseboard management controller is received; if the self-measurement instruction is received, comparing the third measurement value with a reference value.

[0014] A second aspect of the present disclosure provides a terminal device, including: a certificate verification module, used to obtain a digital certificate of a baseboard management controller, and use a pre-stored root certificate to verify the digital certificate; a measurement module, used to call the baseboard management controller to measure a specified measurement item when the verification passes, and obtain a first measurement value, wherein the specified measurement item includes at least one code segment of a server's boot program, kernel program, and application program; a trusted verification module, used to obtain the first measurement value, and determine whether the baseboard management controller is trustworthy based on a comparison result of the first measurement value with a pre-stored reference value.

[0015] A third aspect of an embodiment of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors execute the above-mentioned trust measurement method of the baseboard management controller.

[0016] A fourth aspect of the embodiments of the present disclosure further provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to execute the above-mentioned trust measurement method of the baseboard management controller.

[0017] A fifth aspect of the embodiments of the present disclosure further provides a computer program product, including a computer program, which implements the above-mentioned trust measurement method of the baseboard management controller when executed by a processor.

[0018] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0020] Figure 1 A system architecture diagram of a trust measurement method for a baseboard management controller according to an embodiment of the present disclosure is schematically shown;

[0021] Figure 2 A flowchart of a trust measurement method of a baseboard management controller according to an embodiment of the present disclosure is schematically shown;

[0022] Figure 3 Schematically shows a flow chart before obtaining a digital certificate according to an embodiment of the present disclosure;

[0023] Figure 4A and Figure 4B A schematic diagram showing the interaction between a server and a certificate authority according to an embodiment of the present disclosure is shown;

[0024] Figure 5 One of the principle diagrams of the interaction between the baseboard management controller and the terminal device according to an embodiment of the present disclosure is schematically shown;

[0025] Figure 6 The second schematic diagram schematically shows the interaction between the baseboard management controller and the terminal device according to the embodiment of the present disclosure;

[0026] Figure 7 The third schematic diagram schematically shows the interaction between the baseboard management controller and the terminal device according to the embodiment of the present disclosure;

[0027] Figure 8 The structure block diagram of the terminal device according to the embodiment of the present disclosure is schematically shown;

[0028] Fig. 9A block diagram of an electronic device suitable for implementing a trust measurement method for a baseboard management controller according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0029] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0030] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0031] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0032] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0033] In the related technologies, the authentication and measurement of the server's BMC are mainly based on TPM (Trusted Platform Module) or TCM (Trusted Cryptography Module) chips. However, TPM or TCM chips are expensive and require additional software and hardware expenses, which is not conducive to cost control and rapid implementation of functions.

[0034] Therefore, currently hardware is required to perform security authentication on the baseboard management controller, which is costly.

[0035] In view of this, the embodiments of the present disclosure provide a trust measurement method for a baseboard management controller and a terminal device, which can solve at least some of the above problems.

[0036] Figure 1 A system architecture diagram of a trust measurement method for a baseboard management controller according to an embodiment of the present disclosure is schematically shown.

[0037] like Figure 1 As shown, the system architecture 100 according to this embodiment includes a terminal device 101 and a server 102 , and the server 102 includes a baseboard management controller 102A.

[0038] The user can use the terminal device 101 to interact with the baseboard management controller 102A through various wired or wireless transmission methods to receive or send messages, etc. Various client applications, such as browser applications, monitoring applications, etc., can be installed on the terminal device 101.

[0039] The terminal device 101 may be any electronic device that supports information transmission (eg, USB transmission, NFC transmission, etc.), including but not limited to a smart phone, a tablet computer, a portable computer, etc.

[0040] The server 102 may be a server that provides various services, such as a server in a data center or a server deployed locally by an enterprise. The server 102 may be a cloud server, a server in a distributed system, or a server combined with a blockchain.

[0041] The baseboard management controller 102A is a relatively independent management control unit in the server 102. The baseboard management controller 102A can receive a server monitoring request sent by the terminal device 101, and obtain the status information of the server 102 (for example, temperature, humidity, power supply voltage, fan speed, communication parameters, etc.) according to the received server monitoring request, and then feed back the status information to the terminal device 101.

[0042] Exemplarily, the baseboard management controller 102A includes but is not limited to a dedicated controller for monitoring and managing the server, such as BMC, which provides intelligent management for the motherboard based on the IPMI (Intelligent Platform Management Interface) technical design specification. BMC can have an independent computing unit, followed by a controller, as well as a memory and input and output devices, and can also have an independent software system, including a basic boot system, an operating system, and various applications running on the BMC system. On the motherboard, BMC can be an independent plug-in board or a component designed to be integrated on the motherboard, and is often designed on the motherboard of a server or computer.

[0043] In one example, the server 102 may be one or more servers deployed in various cross-regional data center computer rooms of an Internet enterprise. Typically, the operation and maintenance management personnel of the data center computer room use the terminal device 101 to monitor and manage the massive servers 102 in the computer room through the baseboard management controller 102A, so as to obtain the health status of each server in real time, issue an early warning of server failure, and prevent accidental server downtime.

[0044] For example, the operation and maintenance manager can access the baseboard management controller 102A in the server 102 through the operation and maintenance client running on the terminal device 101 to obtain the hardware information and software information of the server 102. This access is also called out-of-band access.

[0045] For example, the server 102 has a dedicated network port for assigning an Internet Protocol address to the baseboard management controller 102A. The user of the terminal device 101 accesses the Internet Protocol address to access the baseboard management controller 102A of the server 102 to monitor the hardware status of the server 102 and send related instructions.

[0046] For example, the baseboard management controller 102A may access a specified measurement item in the server 102 to measure the specified measurement item.

[0047] It should be noted that the trust measurement method of the baseboard management controller provided in the embodiment of the present disclosure can generally be executed by the terminal device 101. The terminal device provided in the embodiment of the present disclosure can generally be the terminal device 101.

[0048] It should be understood that Figure 1 The number of terminal devices, servers and baseboard management controllers in the embodiment is only for illustration. Any number of terminal devices, servers and baseboard management controllers may be provided according to implementation requirements.

[0049] The following will be based on Figure 1 The system architecture described by Figure 2~Figure 7 The trust measurement method of the baseboard management controller according to the embodiment of the present disclosure is described in detail.

[0050] Figure 2 The flowchart of the trust measurement method of the baseboard management controller according to the embodiment of the present disclosure is schematically shown.

[0051] like Figure 2 As shown, the trust measurement method of the baseboard management controller of this embodiment includes operations S210 to S230. The method can be executed by a terminal device.

[0052] In operation S210, a digital certificate of a baseboard management controller is obtained, and the digital certificate is verified using a pre-stored root certificate.

[0053] For example, the terminal device can access the baseboard management controller through the API (Application Programming Interface) interface provided by the server's baseboard management controller, such as Redfish / Web, and obtain the digital certificate of the baseboard management controller. Then, the digital certificate is verified using the pre-stored root certificate to confirm the legitimacy and validity of the digital certificate.

[0054] In operation S220, when the verification passes, the baseboard management controller is called to measure the specified measurement item to obtain a first measurement value, wherein the specified measurement item includes at least one code segment of a boot program, a kernel program, and an application program of the server where the baseboard management controller is located.

[0055] After the digital certificate passes the verification, the baseboard management controller can be called to pre-measure the specified measurement items of the server.

[0056] For example, the baseboard management controller may use the SM3 cryptographic hash algorithm to pre-measure designated measurement items of the server.

[0057] The specified measurement items of the embodiment of the present disclosure include at least one code segment of the boot program, kernel program and application program of the server where the baseboard management controller is located. For example, the code segment of the boot program can be Bootloader (boot loader), the code segment of the kernel program can be Kernel (kernel), and the code segment of the application program can be Conf (configuration file) and Web (Web application). It can be understood that Bootloader is the first code segment executed by the embedded system after power-on. After it completes the initialization of the CPU and related hardware, it loads the operating system image or the solidified embedded application program into the memory, and then jumps to the space where the operating system is located to start the operating system.

[0058] Exemplarily, the specified measurement items of the server may include one or more of the following files: a logic configuration file of a complex programmable logic device (CPLD), a boot program image file of a BMC, a BIOS configuration file, a binary image file of a BIOS segmented function code, a binary image file of a BIOS driver module, a binary image file of a BIOS peripheral function module, a binary image file of an operating system boot loader (OS loader) of a computer, a binary image file of an operating system of a computer, a binary image file of a BMC operating system, and a binary image file of a BMC application software. These specified measurement items may be accessed and obtained directly or indirectly by a baseboard management controller.

[0059] In operation S230, a first metric value is acquired, and whether the baseboard management controller is credible is determined based on a comparison result between the first metric value and a pre-stored reference value.

[0060] The terminal device obtains the first measurement value of the real-time measurement from the baseboard management controller, compares the first measurement value with the reference value stored in the terminal device, and determines whether the baseboard management controller is credible according to the comparison result. At this point, the baseboard management controller measures the server's boot program, kernel program, and application program. When it is determined that the baseboard management controller is credible, the server enters a trusted execution environment.

[0061] Through the embodiments of the present disclosure, the terminal device can obtain the digital certificate of the baseboard management controller, and after the digital certificate passes the verification, call the baseboard management controller to measure the specified measurement items of the server to determine whether the baseboard management controller is trustworthy, that is, whether the baseboard management controller has been tampered with. The present disclosure does not require additional hardware overhead, the software implementation is relatively simple, the operation and maintenance costs are reduced, and it is convenient to expand the specified measurement items of the server. The present disclosure can build a trusted baseboard management controller to prevent the tampered baseboard management controller from managing and monitoring the server, improve the accuracy of the server's trusted authentication, thereby ensuring the security of the server motherboard and improving the stability and security of the server operation.

[0062] Figure 3 The flowchart before obtaining a digital certificate according to an embodiment of the present disclosure is schematically shown. Figure 4A and Figure 4B The schematic diagram shows the principle diagram of the interaction between the server and the certificate authority according to the embodiment of the present disclosure, wherein the description of the terminal device and the server can refer to the relevant description in the aforementioned embodiment and will not be repeated here.

[0063] like Figure 3 , Figure 4A and Figure 4B As shown, in some embodiments, before the above operation S210, operations S301 to S305 performed by the server are also included.

[0064] In operation S301, a root certificate sent by a certificate authority is obtained; the root certificate includes a public key.

[0065] For example, the server can request the CA public key from the certificate authority (CA). The certificate authority can generate a pair of key pairs for the root certificate based on the key generation algorithm, including a paired public key and private key, and then publish the public key of the root certificate to the server and keep the private key of the root certificate locally.

[0066] For example, the certificate authority generates a root certificate using the national secret SM2 algorithm. The server receives the root certificate sent by the certificate authority, sets the root certificate as a trusted certificate, and subsequently stores it in the terminal device, so that the terminal device can subsequently verify the received BMC digital certificate to confirm the legitimacy and validity of the digital certificate.

[0067] In operation S302, relevant information of the baseboard management controller is obtained, a certificate request file is generated according to the relevant information and a public key, and the certificate request file is sent to a certificate authority.

[0068] The relevant information of the baseboard management controller may be information used to describe the device attributes of the baseboard management controller. For example, the relevant information may include the device serial number, device identification code, organization name, required certificate type, certificate validity period, email information, etc. Furthermore, a certificate request file may be generated based on the relevant information and the public key, so that the subsequent certificate authority can issue a digital certificate based on the certificate request file.

[0069] For example, the public key of the root certificate is used to encrypt the relevant information, generate a certificate request file, and send it to the certificate authority to request the certificate authority to issue a digital certificate for the baseboard management controller. The relevant information can be encrypted using a preset encryption algorithm, which can be an asymmetric encryption algorithm (such as RSA), an MD5 information digest algorithm, a symmetric encryption algorithm (such as DES, 3DES, AES), etc. The encryption algorithm is not specifically limited in the embodiments of the present disclosure.

[0070] In operation S303, the digital certificate and the private key of the root certificate sent by the certificate authority are received, and the digital certificate and the private key of the root certificate are stored in the image file of the baseboard management controller; wherein the digital certificate is generated by the certificate authority using the private key of the root certificate to sign the certificate request file.

[0071] For example, when receiving a certificate request file, the certificate authority uses the private key of the root certificate to sign the certificate request file, generates a digital certificate, and sends the digital certificate and the private key of the root certificate to the server.

[0072] The certificate authority can generate a digital certificate for the baseboard management controller based on the information parsed in the certificate request file and the private key of the root certificate.

[0073] Then, the server may store the digital certificate and the private key of the root certificate in the non-volatile storage unit of the baseboard management controller, and create an image file of the baseboard management controller.

[0074] It can be understood that a mirror file is a form of file storage. Files are created and stored in a certain format. A file and its mirror file are exactly the same, but the storage location is different. It can also be said that a mirror file is a backup or copy of the original file.

[0075] In operation S304, a baseboard management controller is called to measure the specified measurement item to obtain a reference value.

[0076] In operation S305, the root certificate, the reference value, and the image file are stored in the terminal device.

[0077] It should be noted that the operations S301 to S305 may be performed in a research and development phase before the baseboard management controller is put into use, and the operations S210 to S230 may be performed in a use phase after the baseboard management controller is put into use.

[0078] Through the embodiments of the present disclosure, in the development stage, the root certificate, the reference value and the image file are sent to the terminal device. In the use stage, the terminal device can use the locally stored root certificate and the reference value to perform subsequent trust measurement of the baseboard management controller.

[0079] In some embodiments, the operation S210 uses a pre-stored root certificate to verify the digital certificate, and further includes: using a public key of the root certificate to verify the digital certificate.

[0080] For example, the root certificate can be in the development stage before the baseboard management controller is put into use, and is stored in the terminal device in the above operation S305. During the use stage of the baseboard management controller, when the terminal device obtains the digital certificate of the baseboard management controller in the above operation S210, it can read the public key of the root certificate located locally and use the public key of the root certificate to verify the digital certificate.

[0081] Figure 5One of the principle diagrams of the interaction between the baseboard management controller and the terminal device according to an embodiment of the present disclosure is schematically shown, wherein the description of the terminal device, the baseboard management controller, the specified measurement items and the server can refer to the relevant description in the aforementioned embodiment and will not be repeated here.

[0082] like Figure 5 As shown, in some embodiments, after the operation S220 obtains the first measurement value, the baseboard management controller further includes signing the first measurement value using the private key of the root certificate to obtain signature information.

[0083] For example, the private key of the root certificate is stored in the image file of the baseboard management controller. When the baseboard management controller measures the specified measurement item to obtain the first measurement value, it can obtain the private key of the root certificate from the image file and use the private key of the root certificate to sign the first measurement value to obtain signature information.

[0084] like Figure 5 As shown, in some embodiments, the above operation S230 of obtaining the first measurement value also includes: obtaining the first measurement value and signature information; verifying the signature information using the public key of the digital certificate, and when the verification passes, comparing the first measurement value with the reference value.

[0085] For example, the terminal device can access the baseboard management controller through an API interface provided by the baseboard management controller, such as Redfish / Web, and obtain the first measurement value and signature information of the baseboard management controller. Then, the signature information is verified using the public key of the digital certificate. If the verification is successful, the first measurement value is compared with the reference value to determine whether the baseboard management controller is credible.

[0086] Please continue reading Figure 5 In some embodiments, the above operation S230 determines whether the baseboard management controller is trustworthy based on the comparison result of the first measurement value and the pre-stored reference value, and also includes: when it is determined that the first measurement value is the same as the reference value, determining that the baseboard management controller is trustworthy; wherein the reference value is obtained by the baseboard management controller measuring the specified measurement item in advance.

[0087] For example, the reference value is obtained by measuring the specified measurement item by the baseboard management controller in the research and development stage before the baseboard management controller is put into use in the above operation S304, and then stored in the terminal device in the above operation S305. During the use stage of the baseboard management controller, the terminal device can compare the first measurement value measured in real time by the baseboard management controller with the stored reference value. When the two are the same, it is determined that the baseboard management controller is credible, indicating that the integrity measurement of the baseboard management controller has passed, that is, the baseboard management controller has not been tampered with and is safe. As a result, the server enters a trusted execution environment, and the specified measurement items of the server can start and run normally.

[0088] If the first metric value is different from the reference value, it indicates that the integrity metric of the baseboard management controller fails, which means that the baseboard management controller may be tampered with and there is a security threat. Then, based on the comparison result, the terminal device can perform abnormal control on the server, such as controlling the specified metric item of the server to fail to start and run normally.

[0089] Figure 6 The second schematic diagram of the interaction between the baseboard management controller and the terminal device according to the embodiment of the present disclosure is schematically shown, wherein the description of the terminal device, the baseboard management controller, the specified measurement items and the server can refer to the relevant description in the aforementioned embodiment and will not be repeated here.

[0090] like Figure 6 As shown, in some embodiments, the trust measurement method of the baseboard management controller also includes: when it is determined that the baseboard management controller is trustworthy, in response to receiving a self-measurement instruction for the baseboard management controller, calling the baseboard management controller to measure the specified measurement item to obtain a second measurement value; updating the baseline value to the second measurement value.

[0091] For example, when the terminal device determines that the baseboard management controller is credible, upon receiving a self-measurement instruction for the baseboard management controller, the terminal device can forward the self-measurement instruction to the baseboard management controller, so that the baseboard management controller automatically measures the specified measurement item of the server to obtain a second measurement value. Then, the terminal device can obtain the second measurement value from the baseboard management controller, use the second measurement value as a new reference value and store it locally.

[0092] It should be noted that the embodiments of the present disclosure do not specifically limit the way in which the self-measurement instruction is generated. For example, a user can trigger the terminal device to send a self-measurement instruction for the baseboard management controller by performing a predetermined operation on the browser page of the terminal device or the monitoring application software. For another example, a self-measurement function control (such as a button, a drop-down selection box, etc.) for the baseboard management controller can be configured through an operation and maintenance client running in the terminal device. The user can select the self-measurement function control according to his own needs, thereby generating a self-measurement instruction to instruct the baseboard management controller to automatically measure the specified measurement items of the server.

[0093] Considering that the designated measurement items are often upgraded and updated, the reference values ​​of the designated measurement items after the upgrade and update will also change accordingly. Through the embodiments of the present disclosure, when the terminal device determines that the baseboard management controller is trustworthy, it can set the current measurement value of the baseboard management controller as the reference value to update the stored reference value, thereby adapting to the changes in the reference value of the designated measurement items of the server, improving the accuracy of the server's trustworthy authentication, thereby ensuring the safety of the server motherboard and improving the stability and security of the server operation.

[0094] like Figure 6 As shown, in some embodiments, the trusted measurement method of the baseboard management controller also includes: calling the baseboard management controller to measure the specified measurement item at predetermined time intervals to obtain a third measurement value; when it is determined that the third measurement value is different from the reference value, pushing an alarm message to indicate that an abnormality has occurred in the image file of the baseboard management controller.

[0095] Through the embodiments of the present disclosure, when the terminal device determines that the baseboard management controller is credible, it can use the baseboard management controller to cyclically measure the specified measurement items of the server, and then compare the third measurement value of the cyclic measurement with the reference value. If the two are different, an alarm message can be pushed, so that the operation and maintenance management personnel can intuitively understand that the image file of the baseboard management controller is abnormal, and notify the operation and maintenance management personnel to handle it in time. Through cyclic measurement and comparison, it is possible to detect whether the baseboard management controller has been abnormally tampered with.

[0096] For example, the terminal device can access the baseboard management controller through the API interface provided by the baseboard management controller, such as SNMP / Rsyslog, to obtain the alarm information pushed by the baseboard management controller. For another example, the terminal device can push the above alarm information on the page in the browser, or can push the above alarm information in the interface of the monitoring application software.

[0097] Figure 7 The third schematic diagram of the interaction between the baseboard management controller and the terminal device according to the embodiment of the present disclosure is schematically shown.

[0098] like Figure 7 As shown, in some embodiments, the trusted measurement method of the baseboard management controller also includes: in response to obtaining a third measurement value, detecting whether a self-measurement instruction for the baseboard management controller is received; when the self-measurement instruction is received, comparing the third measurement value with a reference value.

[0099] For example, after calling the baseboard management controller to perform real-time measurement of the specified measurement item to obtain a third measurement value at every predetermined time period, and before comparing the third measurement value with the reference value, a judgment logic can be added to determine whether the terminal device has received a self-measurement instruction, so as to determine whether the third measurement value is triggered by the self-measurement instruction, rather than an erroneous measurement due to the baseboard management controller not receiving the self-measurement instruction, thereby ensuring the stability and security of the baseboard management controller's operation.

[0100] Based on the above-mentioned trust measurement method of the baseboard management controller, the present disclosure also provides a terminal device. Figure 8 The terminal device of the embodiment of the present disclosure is described in detail.

[0101] Figure 8 The structural block diagram of a terminal device according to an embodiment of the present disclosure is schematically shown.

[0102] like Figure 8 As shown, the terminal device 800 of this embodiment may include a certificate verification module 810 , a measurement module 820 and a trusted verification module 830 .

[0103] The certificate verification module 810 is used to obtain the digital certificate of the baseboard management controller and verify the digital certificate using the pre-stored root certificate. In some embodiments, the certificate verification module 810 can be used to execute S210 described above, which will not be described in detail here.

[0104] The measurement module 820 is used to call the baseboard management controller to measure the specified measurement item when the verification passes, and obtain a first measurement value, wherein the specified measurement item includes at least one code segment of the server's boot program, kernel program, and application program. In some embodiments, the measurement module 820 can be used to execute S220 described above, which will not be repeated here.

[0105] The trusted verification module 830 is used to obtain a first measurement value and determine whether the baseboard management controller is trusted according to a comparison result between the first measurement value and a pre-stored reference value. In some embodiments, the trusted verification module 830 can be used to execute S230 described above, which will not be described in detail here.

[0106] It should be noted that the terminal device part in the embodiment of the present disclosure corresponds to the method part in the embodiment of the present disclosure, and their specific implementation details are also the same, which will not be repeated here.

[0107] According to an embodiment of the present disclosure, any multiple modules of the certificate verification module 810, the measurement module 820 and the trusted verification module 830 can be combined in one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the certificate verification module 810, the measurement module 820 and the trusted verification module 830 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware and firmware or in an appropriate combination of any of them. Alternatively, at least one of the certificate verification module 810, the measurement module 820 and the trusted verification module 830 can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding function can be performed.

[0108] Fig. 9 A block diagram of an electronic device suitable for implementing a trust measurement method for a baseboard management controller according to an embodiment of the present disclosure is schematically shown.

[0109] like Fig. 9 As shown, the electronic device 900 according to an embodiment of the present disclosure includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage part 908 to a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include an onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0110] In RAM 903, various programs and data required for the operation of electronic device 900 are stored. Processor 901, ROM 902 and RAM 903 are connected to each other via bus 904. Processor 901 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 902 and / or RAM 903. It should be noted that the program can also be stored in one or more memories other than ROM 902 and RAM 903. Processor 901 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.

[0111] According to an embodiment of the present disclosure, the electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to the bus 904. The electronic device 900 may further include one or more of the following components connected to the input / output (I / O) interface 905: an input portion 906 including a keyboard, a mouse, etc.; an output portion 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 908 including a hard disk, etc.; and a communication portion 909 including a network interface card such as a LAN card, a modem, etc. The communication portion 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the input / output (I / O) interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 910 as needed, so that a computer program read therefrom is installed into the storage portion 908 as needed.

[0112] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.

[0113] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present disclosure, a computer-readable storage medium may include the ROM 902 and / or RAM 903 described above and / or one or more memories other than ROM 902 and RAM 903.

[0114] The embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program includes a program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the trust measurement method of the baseboard management controller provided by the embodiment of the present disclosure.

[0115] The above functions defined in the system / device of the embodiment of the present disclosure are performed when the computer program is executed by the processor 901. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.

[0116] In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of a signal on a network medium, and downloaded and installed through the communication part 909, and / or installed from a removable medium 911. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0117] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, the above functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, means, module, unit, etc. described above can be implemented by a computer program module.

[0118] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).

[0119] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0120] It will be appreciated by those skilled in the art that the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations or combinations are not explicitly described in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0121] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A trust measurement method for a baseboard management controller, comprising: Obtaining a digital certificate of the baseboard management controller, and verifying the digital certificate using a pre-stored root certificate; When the verification passes, calling the baseboard management controller to measure the specified measurement item to obtain a first measurement value, wherein the specified measurement item includes at least one code segment of a boot program, a kernel program, and an application program of the server where the baseboard management controller is located; The first metric value is obtained, and whether the baseboard management controller is credible is determined according to a comparison result between the first metric value and a pre-stored reference value.

2. The method according to claim 1, further comprising: Obtain a root certificate sent by a certificate authority; the root certificate includes a public key; Obtaining relevant information of the baseboard management controller, generating a certificate request file according to the relevant information and the public key, and sending the certificate request file to the certificate authority; Receiving a digital certificate and a private key of the root certificate sent by a certificate authority, and storing the digital certificate and the private key of the root certificate in a mirror file of the baseboard management controller, wherein the digital certificate is generated by the certificate authority using the private key of the root certificate to sign the certificate request file; Calling the baseboard management controller to measure the specified measurement item to obtain a reference value; The root certificate, the reference value and the image file are stored in a terminal device.

3. The method according to claim 2, further comprising: The digital certificate is verified using the public key of the root certificate.

4. The method according to claim 2, further comprising: The baseboard management controller signs the first measurement value using the private key of the root certificate to obtain signature information.

5. The method according to claim 4, further comprising: Obtaining the first metric value and the signature information; The signature information is verified using the public key of the digital certificate, and if the verification passes, the first measurement value is compared with a reference value.

6. The method according to claim 1, further comprising: When it is determined that the first measurement value is the same as the reference value, it is determined that the baseboard management controller is credible; wherein the reference value is obtained by the baseboard management controller measuring the designated measurement item in advance.

7. The method according to claim 1, further comprising: In the case where it is determined that the baseboard management controller is credible, in response to receiving a self-measurement instruction for the baseboard management controller, calling the baseboard management controller to measure the specified measurement item to obtain a second measurement value; The reference value is updated to the second metric value.

8. The method according to claim 7, further comprising: At every predetermined time period, calling the baseboard management controller to measure the specified measurement item to obtain a third measurement value; When it is determined that the third metric value is different from the reference value, an alarm message is pushed to indicate that an abnormality occurs in the image file of the baseboard management controller.

9. The method according to claim 8, further comprising: In response to obtaining the third measurement value, detecting whether a self-measurement instruction for the baseboard management controller is received; When the self-metric instruction is received, the third metric value is compared with the reference value.

10. A terminal device, comprising: The certificate verification module is used to obtain the digital certificate of the baseboard management controller and verify the digital certificate using a pre-stored root certificate; A measurement module, configured to call the baseboard management controller to measure a specified measurement item to obtain a first measurement value when the verification passes, wherein the specified measurement item includes at least one code segment of a boot program, a kernel program, and an application program of the server; The trustworthy verification module is used to obtain the first measurement value and determine whether the baseboard management controller is trustworthy according to a comparison result between the first measurement value and a pre-stored reference value.