Method, device and computer equipment for reliable measurement of multi-channel servers
By dynamically connecting the trusted module and BIOS firmware in a multiple server, complete measurement verification is carried out, and the security risks caused by incomplete measurement in a multi-BIOS environment are solved, and the operation security and efficiency of multiple servers are improved.
Patent Information
- Application Number
- CN202111337399.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-11
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2041-11-11
AI Technical Summary
In a multi-channel server environment, the existing multi-BIOS measurement methods are not perfect enough, resulting in a lack of complete measurement during startup, which brings security risks.
By introducing editable logic modules and trusted modules into the multiple servers, dynamically connect these modules to the BIOS firmware, generate metric signals and verify the content and identification of BIOS firmware, ensuring that the content and identification of each BIOS firmware passes verification before starting the multiple server.
This reduces the security risks caused by incomplete trust measurement of multi-channel servers due to multiple BIOS firmware, and improves the operational security and efficiency of multi-channel servers.
Smart Images

Figure CN114048484B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a trust measurement method, device and computer equipment for a multi-way server. Background Art
[0002] With the advent of informatization, information security has become increasingly important, and trusted computing has become a new development direction in the field of information security. The Trusted Computing Platform Alliance, an industry organization, defines the trustworthiness judgment standard as follows: when an entity achieves a given goal, if the entity's behavior is always the same as expected, then the entity is trustworthy.
[0003] At present, the main ways to achieve trusted computing include identity verification, storage protection using encryption, and integrity protection using integrity measurement. First, a trusted root is established in the computer system, and then a trust chain is established based on this trusted root, and the trusted environment is covered to the entire computer system in a layer-by-layer manner. BIOS (Basic Input Output System) provides the lowest-level and most direct hardware settings and control for the computer, and is the basis for the behavior of the operating system. During its startup process, it loads the operating system, initializes physical devices, provides system parameters, and starts the trusted processes and related service programs necessary for the system to maintain normal operation. Therefore, in order to ensure the trustworthiness and security of the operating system, it is necessary to measure the trustworthiness of the BIOS.
[0004] At present, the single BIOS measurement method for single-way servers is relatively mature, but the measurement method for multiple BIOS in multi-way servers is not perfect enough. Existing dual-way and multi-way servers often have more than one BIOS. In a multi-BIOS environment, the lack of complete measurement during the startup process will bring security risks to the system running on the BIOS. Summary of the invention
[0005] In view of this, the purpose of the present invention is to propose a trust measurement method, device, and computer equipment for a multi-way server, which can reduce the response delay of the trust measurement of multiple basic input and output systems and improve the efficiency of the trust measurement of multiple basic input and output systems.
[0006] According to one aspect of the present invention, a trust measurement method for a multi-way server is provided, which is applied to a multi-way server, wherein the multi-way server includes at least two CPUs, an editable logic module, a trusted module and at least two BIOS firmwares.
[0007] The editable logic module is dynamically connected with the at least two CPUs, the trusted module and the at least two BIOS firmwares;
[0008] The method comprises:
[0009] After receiving the start signal of the multi-way server, generating a measurement signal and sending it to the editable logic module;
[0010] The editable logic module dynamically connects the trusted module and the BIOS firmware according to the measurement signal;
[0011] The trusted module obtains and verifies the content of the BIOS firmware;
[0012] When the verification result of the content of each of the BIOS firmwares is passed, verifying the identification of each of the BIOS firmwares;
[0013] When the identification verification of each BIOS firmware is passed, the multi-way server is started.
[0014] In one of the embodiments, the method further includes: when a verification result of the content of any one of the BIOS firmwares is failed, or when a verification result of the identification of the BIOS firmware is failed, stopping starting the multi-way server.
[0015] In one of the embodiments, after each of the BIOS firmware identification verifications passes, the method further includes: verifying the device hardware of the multi-way server, and when the device hardware of the multi-way server passes the verification, executing the booting of the multi-way server; or, verifying the device hardware of the multi-way server and the operating system of the multi-way server, and when both the operating system of the multi-way server and the device hardware of the multi-way server pass the verification, executing the booting of the multi-way server; or, verifying the operating system of the multi-way server, and when the operating system of the multi-way server passes the verification, executing the booting of the multi-way server.
[0016] In one embodiment, the editable logic module dynamically connects the trusted module and the BIOS firmware according to the measurement signal, and the trusted module obtains and verifies the content of the BIOS firmware, including: the measurement signal sends a first pulse low-level to high-level jump, the programmable logic module selects the interface path of the security card of the trusted module and the first BIOS firmware interface path according to the measurement signal, and the first BIOS firmware is any one of the at least two BIOS firmwares; the security card of the trusted module reads the content of the first BIOS firmware and verifies the content of the first BIOS1 firmware; if the verification result of the content of the first BIOS firmware is passed, the measurement signal sends a first pulse high-level to low-level jump, and after maintaining the low level for a period of time, sends a second pulse low-level to high-level jump, the programmable logic module selects the interface path of the security card of the trusted module and the second BIOS firmware interface path according to the measurement signal, and the second BIOS firmware is any one of the at least two BIOS firmwares except the first BIOS firmware; until the verification result of the content of each of the at least two BIOS firmwares is passed, the verification of the identification of each BIOS firmware is performed when the verification result of the content of each of the BIOS firmwares is passed.
[0017] In one of the embodiments, when the content verification result of any one of the at least two BIOS firmwares fails, the measurement signal is maintained at a high level.
[0018] In one embodiment, the measurement signal is a pulse signal. After the programmable logic module selects the interface path of the security card of the trusted module and any one of the BIOS firmware interface paths of the at least two BIOS firmwares according to the measurement signal, the method further includes: counting pulse numbers and recording pulse states, wherein the pulse numbers are divided into rising edge numbers and / or falling edge numbers, and the pulse states include three types: before the rising edge, after the rising edge, before the falling edge, and after the falling edge; determining prompt information according to the pulse number and the pulse state, and giving a prompt.
[0019] In one embodiment, the prompt information is determined based on the pulse number and the pulse status, and the prompt includes: controlling the LED indicator light on and off, flashing at different frequencies, or presenting at least one of different colors for prompting based on the pulse number and the pulse status; and / or, determining the prompt information to be fed back to other terminals based on the pulse number and the pulse status, and prompting the prompt information through voice or text.
[0020] In one embodiment, the content of each BIOS firmware is the same.
[0021] In one of the embodiments, when the verification result of the content of each of the BIOS firmwares passes for the first time, when each of the BIOS firmware identification verification fails, includes: when each of the BIOS firmwares does not detect the corresponding identification, the identification verification fails; the method also includes: the trusted module sends feedback information to the editable logic module, and the feedback information is used to feedback that the identification verification fails; the editable logic module generates a startup signal for cold restarting the multi-way server according to the feedback information; when the cold restart startup signal is received, each of the BIOS firmware is identified to obtain the identification of each of the BIOS firmware.
[0022] According to another aspect of the present invention, a trust measurement device for a multi-way server is provided, which is applied to a multi-way server, wherein the multi-way server comprises at least two CPUs, an editable logic module, a trusted module and at least two BIOS firmwares, wherein the editable logic module is dynamically connected with the at least two CPUs, the trusted module and the at least two BIOS firmwares;
[0023] The device comprises:
[0024] A control module, configured to generate a measurement signal and send the measurement signal to the editable logic module after receiving a start signal from the multi-channel server;
[0025] The editable logic module is used to dynamically connect the trusted module and the BIOS firmware according to the measurement signal;
[0026] The trusted module is used to obtain and verify the content of the BIOS firmware;
[0027] The trusted module is used to verify the identification of each BIOS firmware when the verification result of the content of each BIOS firmware is passed;
[0028] The control module is used to start the multi-way server when the identification verification of each BIOS firmware is passed.
[0029] According to another aspect of the present invention, a computer device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the trust measurement method for a multi-way server as described in any one of the above items.
[0030] According to another aspect of the present invention, a computer-readable storage medium is provided, storing a computer program, wherein when the computer program is executed by a processor, the method for measuring the trustworthiness of a multi-way server as described in any one of the above items is implemented.
[0031] The above-mentioned trusted measurement method, device, computer equipment and storage medium of the multi-way server dynamically connects the trusted module and the BIOS firmware according to the measurement signal through an editable logic module, and completely measures the BIOS firmware to avoid the security risks caused by the unreliable BIOS firmware, thereby improving the operation security of the multi-way server. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0033] Figure 1 This is an application scenario diagram of an embodiment of a trust measurement method for a multi-way server of the present invention;
[0034] Figure 2 It is a flow chart of an embodiment of a method for measuring the trustworthiness of a multi-channel server according to the present invention;
[0035] Figure 3 It is a structural diagram of an embodiment of a trust measurement device for a multi-channel server of the present invention. DETAILED DESCRIPTION
[0036] The present invention will be further described in detail below in conjunction with the accompanying drawings and examples. It is particularly noted that the following examples are only used to illustrate the present invention, but are not intended to limit the scope of the present invention. Similarly, the following examples are only partial embodiments of the present invention rather than all embodiments, and all other embodiments obtained by those of ordinary skill in the art without creative work are within the scope of protection of the present invention.
[0037] The present invention provides a trust measurement method for a multi-way server, which can reduce the potential safety hazard caused by incomplete trust measurement of multiple BIOS firmwares of the multi-way server and improve the operation safety of the multi-way server.
[0038] See also Figure 1 , Figure 1 This is an application scenario diagram of an embodiment of a trust measurement method for a multi-way server of the present invention. Figure 1The multi-way server 100 includes at least an editable logic module 101, a trusted module 102, a CPU 103 (at least two, such as CPU 1031, CPU 1032 and CPU 1033) and a BIOS firmware 104 (at least two, such as BIOS 1041, BIOS 1042 and BIOS 1043), wherein the editable logic module 101 is dynamically connected with the CPU 103, the trusted module 102 and the BIOS firmware 104. The editable logic module 101 includes but is not limited to CPLD (Complex Programming logic device) / FPGA (Field Programable Gate Array). The trusted module 102 includes at least a security card, which is a third-party monitoring board based on a security control SOC (System on Chip) chip, used for firmware security verification and data monitoring of the mainboard. The trusted module 102 also includes a TCM (Trusted Cryptography Module), wherein the TCM is a trusted cryptographic module designed with the developed cryptographic algorithm on an embedded chip.
[0039] In one embodiment, a trust measurement method for a multi-way server is provided, which is applied to the above Figure 1 In multi-way servers, such as Figure 2 As shown, Figure 2 FIG. 1 is a flow chart of a method for measuring the trustworthiness of a multi-server in an embodiment. It should be noted that the method of the present invention is not limited to the method of FIG. 1 if the results are substantially the same. Figure 2 The process sequence shown is limited. Figure 2 As shown, the method comprises the following steps:
[0040] S201: After receiving a start signal from a multi-channel server, a measurement signal is generated and sent to an editable logic module.
[0041] Among them, the multi-way server includes an editable logic module, a trusted module, at least two CPUs and at least two BIOS firmwares. The measurement signal is used to instruct the trusted module to perform trusted measurement on the BIOS firmware. Trusted measurement generally adopts a layer-by-layer advancement mode from trusted root to trust chain, and includes at least one measurement layer, that is, the measurement of the BIOS firmware. In the trust process, the core measurement trusted root is first started, and the corresponding measurement value is generated for each measurement layer. The measurement value is compared with the standard value to verify whether each measurement layer is trustworthy.
[0042] S202: The editable logic module dynamically connects the trusted module and the BIOS firmware according to the measurement signal.
[0043] S203: The trusted module obtains and verifies the content of the BIOS firmware.
[0044] S204: When the verification result of the content of each BIOS firmware is passed, verify the identification of each BIOS firmware.
[0045] S205: When the identification verification of each BIOS firmware passes, start the multi-way server.
[0046] Among them, dynamic connection refers to determining whether to establish a connection or disconnect a connection based on a signal, that is, connecting different modules and firmware through different signals.
[0047] After receiving the measurement signal, the editable logic module selects one of the firmwares from the BIOS firmware as the current firmware that is only trusted for measurement according to the measurement signal. The dynamic connection between the trusted module and the BIOS firmware refers to establishing a connection between one or more BIOS firmwares and the trusted module through the editable logic module according to the measurement signal. If one of the BIOS firmwares is connected to the trusted module through the editable logic module, the trusted module obtains the content of the BIOS firmware through the editable module, and performs a trusted measurement on the obtained content of the BIOS firmware, that is, obtains the corresponding measurement value, and compares the measurement value determined according to the content of each BIOS firmware with the standard measurement value. If the measurement value determined by the content of one of the BIOS firmware is the same as the standard value corresponding to the content of the BIOS firmware, it indicates that the verification result of the BIOS firmware is successful. Otherwise, it indicates that the verification result of the BIOS firmware is failed.
[0048] Only when the content of each BIOS firmware of the multi-way server passes, the verification of the BIOS firmware identification is performed. The BIOS firmware identification can be a mark for the BIOS identification when the BIOS passes the verification, or it can be a pre-marked mark, which is used to distinguish each BIOS firmware as a different firmware, that is, to avoid the situation of missing verification during the verification process, resulting in the situation that the BIOS firmware of the multi-way server has not completed the verification, that is, the failure to verify all the BIOS firmware leads to the operation risk of the multi-way server.
[0049] The above-mentioned trust measurement method for multi-way servers realizes the gated connection between the trusted module and the BIOS firmware through the editable logic module, realizes the trust measurement of each BIOS firmware, avoids missing the verification of some BIOS firmware, thereby enhancing the credibility of the trust measurement of the multi-way server and reducing the operation risk of the multi-way server. By verifying each BIOS firmware, it can be effectively determined whether each BIOS firmware has been tampered with. If the BIOS has been tampered with, it can generally be reflected through the trust measurement results of the trusted module, thereby reducing the risk of BIOS firmware being tampered with.
[0050] In one embodiment, the content of each BIOS firmware of the multi-way server is the same, and the same content is used to facilitate the maintenance of the BIOS firmware. That is, the same BIOS firmware content can reduce the verification of the BIOS firmware content. Since the standard measurement value of each BIOS firmware is the same, the verification speed can also be accelerated and the verification rate can be improved.
[0051] In one embodiment, when the verification result of the content of any BIOS firmware is not passed, or when the verification result of the identification of the BIOS firmware is not passed, the multi-way server is stopped from starting.
[0052] Specifically, if the content verification result of at least one BIOS firmware in a multi-way server fails, it indicates that there is untrusted BIOS firmware in the multi-way server, so the server is stopped from starting. The information of the untrusted BIOS firmware in the multi-way server can also be fed back to the user, and the form of feedback can be set according to the needs or the actual working environment, such as conveying it to the user through light, sound or text. Similarly, when the identification of the BIOS firmware fails to pass the verification, the multi-way server is stopped from starting, and the information of the untrusted BIOS firmware in the multi-way server can be fed back to the user, and the feedback form is not specifically limited.
[0053] In one embodiment, after each of the BIOS firmware identification verifications passes, the method further includes: verifying the device hardware of the multi-way server, and when the device hardware of the multi-way server passes the verification, starting the multi-way server.
[0054] Specifically, after the content and identification of the BIOS firmware are verified and passed, the trust measurement of other device hardware of the multi-way server is also required. If the trust measurement results of other device hardware are also passed, the multi-way server is started to avoid the operation safety caused by untrustworthy other device hardware.
[0055] In one embodiment, after each of the BIOS firmware identification verifications is passed, it also includes: verifying the device hardware of the multi-way server and the operating system of the multi-way server, and when both the operating system of the multi-way server and the device hardware of the multi-way server are verified, executing the startup of the multi-way server.
[0056] Specifically, after the content and identification of the BIOS firmware are verified and passed, the operating system and other device hardware of the multi-way server need to be trusted. If the trust measurement results of the operating system and the trust measurement results of other device hardware are both passed, the multi-way server will continue to be started to avoid operational security issues caused by untrustworthy operating systems and other device hardware.
[0057] In one embodiment, after each of the BIOS firmware identification verifications passes, the method further includes: verifying the operating system of the multi-way server, and when the operating system of the multi-way server passes the verification, starting the multi-way server is executed.
[0058] Specifically, after the content and identification of the BIOS firmware are verified and passed, the operating system of the multi-way server needs to be trusted. If the trust measurement result of the operating system is also passed, the multi-way server will continue to be started to avoid the operation security caused by the untrustworthy operating system.
[0059] In one embodiment, the editable logic module dynamically connects the trusted module and the BIOS firmware according to the measurement signal, and the trusted module obtains and verifies the content of the BIOS firmware, including: the measurement signal sends a first pulse low-to-high level jump, the programmable logic module selects the interface path of the security card of the trusted module and the first BIOS firmware interface path according to the measurement signal, and the first BIOS firmware is any one of the at least two BIOS firmwares; the security card of the trusted module reads the content of the first BIOS firmware and verifies the content of the first BIOS1 firmware; if the verification result of the content of the first BIOS firmware is passed, the measurement signal sends a first pulse high-to-low level jump, and after maintaining the low level for a period of time, sends a second pulse low-to-high level jump, the programmable logic module selects the interface path of the security card of the trusted module and the second BIOS firmware interface path according to the measurement signal, and the second BIOS firmware is any one of the at least two BIOS firmwares except the first BIOS firmware; until the verification result of the content of each of the at least two BIOS firmwares is passed, execute S204.
[0060] Specifically, the measurement signal is a pulse signal, such as a rectangular pulse. The measurement signal sends a first pulse from low level to high level jump, and the programmable logic module selects the security card interface path of the trusted module and one of the BIOS firmware (first BIOS firmware) interface paths of the multi-way server according to the pulse signal. The security card reads the content of the first BIOS firmware, and performs a trustworthy measurement on the content of the first BIOS firmware to obtain a corresponding measurement value, compares the measurement value with the standard measurement value, and determines whether the verification is passed based on the comparison result. If the measurement value is consistent with the standard measurement value, it means that the verification is passed, otherwise it means that the verification is not passed.
[0061] When the content of the first BIOS firmware is verified, the measurement signal sends the first pulse high level to low level jump, and the duration of maintaining the level is greater than the preset duration. The preset duration can be customized, such as the preset duration can be defined as 10ms (10 milliseconds), 12ms, 15ms or 20ms, etc. After jumping from a high level to a low level, maintaining a low level for a period of time can better distinguish the measurement of the content of different BIOS firmware. It can also avoid the jump caused by unstable current and cause misjudgment.
[0062] After the level is maintained for a time longer than the preset time, the measurement signal sends a second pulse from low level to high level. The programmable logic module selects the security card interface path of the trusted module and one of the BIOS firmware (second BIOS firmware) interface paths of the multi-way server according to the pulse signal. The security card reads the content of the second BIOS firmware and performs a trust measurement on the content of the second BIOS firmware to obtain a corresponding measurement value, compares the measurement value with the standard measurement value, and determines whether the verification is passed based on the comparison result.
[0063] The content of each BIOS firmware in the multi-way server is verified in the above manner. If the verification result of the content of each BIOS firmware is passed, step S204 is executed.
[0064] In one embodiment, after the programmable logic module selects the interface path of the security card of the trusted module and any one of the BIOS firmware interface paths in at least two BIOS firmwares according to the measurement signal, it also includes: counting pulse numbers and recording pulse states, wherein the pulse numbers are divided into rising edge numbers and / or falling edge numbers, and the pulse states include three types: before the rising edge, after the rising edge, before the falling edge, and after the falling edge; determining prompt information according to the pulse number and the pulse state, and giving a prompt.
[0065] Wherein, the pulse sequence number is used to record the number and order of pulses, and the pulse sequence number can be obtained by recording the number of occurrences and the sequence number of the rising edge and / or the falling edge. Preferably, the rising edge and the falling edge are recorded at the same time. The pulse state is used to record the real state of the pulse, and the pulse state includes three types: before the rising edge, after the rising edge, before the falling edge, and after the falling edge. Different pulse states represent different verification results. The verification results of each BIOS firmware are determined based on the recorded pulse sequence number and pulse state.
[0066] In one embodiment, when the content verification result of any BIOS firmware among the at least two BIOS firmwares fails, the measurement signal is maintained at a high level.
[0067] Specifically, if the content of any BIOS firmware in the multi-way server fails to pass the verification, the measurement signal is maintained at a high level, that is, the high level is used to feedback that the content of the BIOS firmware fails to pass the trustworthy measurement.
[0068] In one embodiment, the prompt information is determined according to the pulse number and the pulse state, and the prompt includes: controlling the LED indicator light on and off, flashing at different frequencies, or presenting different colors according to the pulse number and the pulse state for prompting; and / or, determining the prompt information fed back to other terminals according to the pulse number and the pulse state, and prompting the prompt information through voice or text prompts;
[0069] Specifically, the LED indicator light is controlled to be on or off, flash at different frequencies, or present at least one of different colors according to the pulse sequence number and pulse state to prompt whether there is an abnormality in the startup of the multi-way server. Similarly, the prompt information fed back to other terminals is determined according to the pulse sequence number and pulse state, and a voice or text prompt is used to prompt whether there is an abnormality in the startup of the multi-way server.
[0070] In a specific embodiment, the feedback methods of the prompt information include but are not limited to serial port printing, LED indication, log recording, restart and shutdown.
[0071] In one embodiment, when the verification result of the content of each BIOS firmware passes for the first time, when each BIOS firmware identification verification fails, including: when each BIOS firmware does not detect the corresponding identification, the identification verification fails; the method also includes: the trusted module sends feedback information to the editable logic module, and the feedback information is used to feedback that the identification verification fails; the editable logic module generates a signal for cold restarting the multi-way server according to the feedback information; when the cold restart start signal is received, each BIOS firmware is identified to obtain the identification of each BIOS firmware.
[0072] In one embodiment, the trusted module includes a function for identifying the BIOS firmware, and the function is used to distinguish between multiple different BIOS firmwares.
[0073] Specifically, since the BIOS firmware is not identified when the multi-way server is started for the first time, although the contents of the BIOS firmware are verified, the identification of the BIOS firmware fails to be verified, and the multi-way server cannot be started. In order to avoid this situation, a startup signal for cold restarting the multi-way server is generated, and the BIOS firmware is identified. According to the startup signal for cold restarting the multi-way server, the multi-way server is started. At this time, the BIOS firmware has been marked with a corresponding identification, and the verification of the identification of the BIOS firmware passes, and the multi-way server is started, or other devices of the multi-way server and / or the trust measurement of the operating system of the multi-way server are executed.
[0074] In one embodiment, under the condition that the startup fails due to failure to pass the trusted measurement, after waiting for a preset period of time, if the measurement signal still does not meet the measurement completion condition, the system may be cold restarted.
[0075] In a specific embodiment, referring to Figure 1 The multi-way server 100 includes at least an editable logic module 101, a trusted module 102, CPU103 (at least two, such as CPU1031 and CPU1032) and BIOS firmware 104 (at least two, such as BIOS1041 and BIOS1042), wherein the editable logic module 101 is dynamically connected with the CPU103, the trusted module 102 and the BIOS firmware 104, and an interface for prompting other hardware devices (not shown in the figure).
[0076] For the sake of convenience, the security card is used as an example of a trusted module. The programmable logic module is connected to both the CPU and the BIOS firmware through an interface path, and the programmable logic module can only be connected to the security card through a control path;
[0077] The programmable logic module may refer to a complex programmable logic device CPLD or a programmable logic device FPGA;
[0078] The measurement of multi-way servers includes measurement layers including BIOS firmware, various hardware devices and operating systems, including a core measurement root and at least one measurement layer, and the same measurement layer allows the same number of devices to be stacked.
[0079] A schematic diagram of a trust measurement method for a multi-way server is provided, the method comprising:
[0080] S301: During the multi-way server startup process, the security card is powered on and reset first.
[0081] S302: The security card completes the power-on reset, power-on self-test, etc. The BIOS firmware trust measurement function is started, and the programmable logic module is notified through a control signal, namely, a measurement enable signal EN (measurement signal).
[0082] S303: The measurement enable signal EN sends out the first pulse low-to-high level jump. The programmable logic module selects the security card interface path and the first BIOS firmware interface path according to the pulse signal, counts the pulse number, and records the pulse state (the pulse state is before the rising edge, after the rising edge and before the falling edge, or after the falling edge). The first BIOS firmware can be any BIOS firmware, and has no direct correlation with the location of the BIOS firmware. The interface path can be a serial peripheral interface SPI. Two groups of counts can be designed for the pulse number, Flag1_cnt counts the rising edge of the measurement enable signal EN, and Flag2_cnt counts the falling edge of the enable signal EN. According to the two groups of counts Flag1_cnt, Flag2_cnt and the logic pair pulse state, it is judged whether the trust measurement of the first BIOS firmware has passed.
[0083] S304: The security card reads the content of the first BIOS firmware.
[0084] S305: Compare the content of the BIOS firmware with the calculated standard value to determine the verification result. If the verification passes, execute step S306, otherwise, execute step S307.
[0085] S306: If the result of the trusted measurement of the first BIOS firmware is passed, the measurement enable signal EN sends the first pulse high-to-low level jump. The measurement enable signal EN maintains a low level for a period of time (such as the duration of maintaining the low level is greater than or equal to 10ms, 12ms or 13ms, etc.), and then sends a second pulse low-to-high level jump. The programmable logic module selects the security card interface path and the second BIOS firmware interface path according to the pulse signal, and counts the pulse sequence number and records the pulse state. The second BIOS firmware can be any BIOS firmware, which is used to distinguish it from the first BIOS firmware. The first and second here have no specific meaning. The programmable logic module determines the number of measurements based on the received measurement enable signal EN. If it meets the first measurement timing, the security card SPI interface is connected to the SPI interface of the first BIOS for the first measurement.
[0086] S307: If the result of the trusted measurement of the first BIOS firmware is failed, the measurement enable signal EN remains at a high level. That is, the SPI interfaces of the CPU, BIOS, and security card are kept disconnected. Output a prompt message that the trusted measurement verification of the first BIOS firmware has not passed. For example, a corresponding feedback signal is given according to the pulse state, the LED indicator light can be controlled to turn on and off, flash at different frequencies, or present different colors, and the maintenance interface display status of the client can be given. The information that failed the measurement is fed back to the user, and the feedback methods include but are not limited to serial port printing, LED indication, log recording, restart and shutdown. If the first BIOS fails the measurement, the CPU remains in a reset state, and the multi-way server fails to start.
[0087] S308: If the trust measurement of the second BIOS firmware passes, the trust measurement of the third BIOS firmware is executed. If the measurement passes, the trust measurement of the next BIOS firmware is executed until one of the BIOS firmware measurements fails, and the trust measurement is stopped, or until the trust measurement of each BIOS firmware is executed, S309 is executed. In order to facilitate BIOS firmware maintenance, a unified firmware content can be used, that is, the content of each BIOS firmware in a multi-way server is the same. If the BIOS under all CPUs of the multi-way server passes the measurement, it continues to start, that is, executes S309. If the BIOS under any CPU fails the measurement, the CPU reset state is maintained, and the startup of the multi-way server fails.
[0088] S309: Enter the BIOS firmware identification signature verification. That is, the security card confirms that the last BIOS measurement has passed, the measurement enable signal jumps from high level to low level, and enters the BIOS firmware identification signature verification.
[0089] S310: All BIOS firmware extended information segments read before the first startup measurement are not marked, and the signature verification fails. At this time, the security card provides the CPLD with feedback on the signature verification failure result through the GPIO signal, and the CPLD performs a cold restart of the server based on the received signature verification failure feedback signal. The BIOS firmware that completes the measurement at the first startup is marked by the security card, so the BIOS firmware identification can be verified and passed when it is powered on again after a cold restart. The security card has an active identification function, which can distinguish between multiple different BIOS firmwares while maintaining the consistency of the BIOS firmware content. When the entire multi-way server is measured for the first time, the BIOS firmware is not identified, and it is necessary to wait until the security card identification is completed before introducing a re-measurement mechanism.
[0090] S311: After the BIOS firmware is measured and signed, the hardware device and system boot program are measured. If the measurement is successful, the system of the multi-way server starts normally, otherwise the startup fails. If the startup fails, the information that the measurement failed is fed back to the user, and the feedback methods include but are not limited to serial port printing, LED indication, log recording, restart and shutdown.
[0091] In one embodiment, Figure 3 As shown, a trust measurement device 300 for a multi-way server is provided, comprising: a control module 301, an editable logic module 302, at least two CPUs 303, a trusted module 304 and at least two BIOS firmwares 305, wherein the editable logic module 302 is dynamically connected with the at least two CPUs 303, the trusted module 304 and the at least two BIOS firmwares 305;
[0092] The control module 301 is used to generate a measurement signal after receiving a start signal of the multi-channel server and send the measurement signal to the editable logic module 302;
[0093] The editable logic module 302 is used to dynamically connect the trusted module 304 and the BIOS firmware 305 according to the measurement signal;
[0094] The trusted module 304 is used to obtain and verify the content of the BIOS firmware 305;
[0095] The trusted module 304 is used to verify the identification of each BIOS firmware 305 when the verification result of the content of each BIOS firmware 305 is passed;
[0096] The control module 301 is used to start the multi-way server when the identification verification of each BIOS firmware 305 is passed.
[0097] In one embodiment, the control module 301 is used to stop starting the multi-way server when the verification result of the content of any of the BIOS firmware is failed, or when the verification result of the identifier of the BIOS firmware 305 is failed.
[0098] In one embodiment, the trusted module 304 is used for after each of the BIOS firmware 305 identification verification passes,
[0099] Verifying the device hardware of the multi-way server, and when the device hardware of the multi-way server passes the verification, starting the multi-way server; or
[0100] Verifying the device hardware of the multi-way server and the operating system of the multi-way server, and when both the operating system of the multi-way server and the device hardware of the multi-way server are verified, starting the multi-way server; or
[0101] The operating system of the multi-way server is verified, and when the operating system of the multi-way server is verified, the multi-way server is started.
[0102] In one embodiment, the editable logic module 302 is used to select the interface path of the security card of the trusted module 304 and the interface path of the first BIOS firmware 305 when the measurement signal sends a first pulse low-level to high-level jump, and the first BIOS firmware 305 is any one of the at least two BIOS firmwares 305;
[0103] The security card of the trusted module 304 reads the content of the first BIOS firmware 305 and verifies the content of the first BIOS firmware 305;
[0104] If the verification result of the content of the first BIOS firmware 305 is passed, the measurement signal sends a first pulse high-level to low-level jump, and after maintaining the low level for a period of time, sends a second pulse low-level to high-level jump, through the interface path of the security card of the trusted module 304 and the interface path of the second BIOS firmware 305, the second BIOS firmware 305 is any one of the at least two BIOS firmware 305 except the first BIOS firmware;
[0105] Until the verification result of the content of each of the at least two BIOS firmware 305 is passed, the step of verifying the identification of each of the BIOS firmware 305 is performed when the verification result of the content of each of the BIOS firmware 305 is passed.
[0106] In one embodiment, the control module 301 is configured to maintain the measurement signal at a high level when a content verification result of any of the at least two BIOS firmwares 305 fails.
[0107] In one embodiment, the measurement signal is a pulse signal.
[0108] The programmable logic module 302 is used to count pulse numbers and record pulse states, wherein the pulse numbers are divided into rising edge numbers and / or falling edge numbers, and the pulse states include three types: before the rising edge, after the rising edge, before the falling edge, and after the falling edge;
[0109] The control module 301 is used to determine the prompt information according to the pulse sequence number and the pulse state, and to give a prompt.
[0110] In one embodiment, the control module 301 is used to control the LED indicator light to turn on or off, flash at different frequencies, or present at least one of different colors for prompting according to the pulse number and the pulse status; and / or determine the prompt information to be fed back to other terminals according to the pulse number and the pulse status, and prompt the prompt information through voice or text; and / or determine the prompt information to be printed through the serial port according to the pulse number and the pulse status.
[0111] In one embodiment, when the verification result of the content of each of the BIOS firmwares is passed for the first time, when the verification of each of the BIOS firmware identifications fails, includes: when each of the BIOS firmwares does not detect the corresponding identification, the identification verification fails;
[0112] The trusted module 304 is used to send feedback information to the editable logic module 302, wherein the feedback information is used to feedback that the identification verification fails;
[0113] The editable logic module 302 is used to generate a signal for cold restarting the multi-way server according to the feedback information;
[0114] The trusted module 304 is used to identify each BIOS firmware when receiving the cold restart start signal, and obtain the identification of each BIOS firmware.
[0115] In one embodiment, a computer device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the trust measurement method for a multi-way server as described in any one of the above items.
[0116] According to another aspect of the present invention, a computer-readable storage medium is provided, storing a computer program, wherein when the computer program is executed by a processor, the method for measuring the trustworthiness of a multi-way server as described in any one of the above items is implemented.
[0117] In the several embodiments provided by the present invention, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device implementation described above is only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0118] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0119] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0120] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.
[0121] The above descriptions are only some embodiments of the present invention, and are not intended to limit the protection scope of the present invention. Any equivalent device or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A trust measurement method for a multi-way server, characterized in that: Applicable to multi-way servers, The multi-way server includes at least two CPUs, an editable logic module, a trusted module and at least two BIOS firmwares. The editable logic module is dynamically connected with the at least two CPUs, the trusted module and the at least two BIOS firmwares; The method comprises: After receiving the start signal of the multi-way server, generating a measurement signal and sending it to the editable logic module; The editable logic module dynamically connects the trusted module and the BIOS firmware according to the measurement signal; The trusted module obtains and verifies the content of the BIOS firmware; When the verification result of the content of each of the BIOS firmwares is passed, verifying the identification of each of the BIOS firmwares; When the identification verification of each of the BIOS firmware passes, starting the multi-way server; When the verification results of the contents of each of the BIOS firmware are all passed for the first time, When each of the BIOS firmware identification verifications fails, including: When each of the BIOS firmwares fails to detect the corresponding identifier, the identifier verification fails; The method further comprises: The trusted module sends feedback information to the editable logic module, wherein the feedback information is used to feedback that the identification verification fails; The editable logic module generates a start signal for cold restarting the multi-way server according to the feedback information; When the cold restart start signal is received, each BIOS firmware is identified to obtain an identification of each BIOS firmware.
2. The method according to claim 1, characterized in that The method further comprises: When the verification result of any of the contents of the BIOS firmware fails, or when the verification result of the identifier of the BIOS firmware fails, Stop and start the multi-way server.
3. The method according to claim 1, characterized in that After the identification verification of each of the BIOS firmware passes, the method further includes: Verifying the device hardware of the multi-way server, and when the device hardware of the multi-way server passes the verification, starting the multi-way server; or Verifying the device hardware of the multi-way server and the operating system of the multi-way server, and when both the operating system of the multi-way server and the device hardware of the multi-way server are verified, starting the multi-way server; or The operating system of the multi-way server is verified, and when the operating system of the multi-way server is verified, the multi-way server is started.
4. The method according to any one of claims 1 to 3, characterized in that The editable logic module dynamically connects the trusted module and the BIOS firmware according to the measurement signal, and the trusted module obtains and verifies the content of the BIOS firmware, including: The measurement signal sends a first pulse transition from low level to high level, and the editable logic module selects the interface path of the security card of the trusted module and the first BIOS firmware interface path according to the measurement signal, and the first BIOS firmware is any one of the at least two BIOS firmwares; The security card of the trusted module reads the content of the first BIOS firmware and verifies the content of the first BIOS firmware; If the verification result of the content of the first BIOS firmware is passed, the measurement signal sends a first pulse high-level to low-level jump, and after maintaining the low level for a period of time, sends a second pulse low-level to high-level jump, and the editable logic module selects the interface path of the security card of the trusted module and the interface path of the second BIOS firmware according to the measurement signal, and the second BIOS firmware is any one of the at least two BIOS firmwares except the first BIOS firmware; Until the verification result of the content of each of the at least two BIOS firmwares is passed, the step of verifying the identification of each of the BIOS firmwares when the verification result of the content of each of the BIOS firmwares is passed is performed.
5. The method according to claim 4, characterized in that The method further comprises: When the content verification result of any one of the at least two BIOS firmwares fails, the measurement signal is maintained at a high level.
6. The method according to claim 5, characterized in that The measurement signal is a pulse signal, After the editable logic module switches on the interface path of the security card of the trusted module and any one of the BIOS firmware interface paths of the at least two BIOS firmwares according to the measurement signal, the method further includes: Counting pulse numbers and recording pulse states, wherein the pulse numbers are divided into rising edge numbers and / or falling edge numbers, and the pulse states include three types: before the rising edge, after the rising edge and before the falling edge, and after the falling edge; The prompt information is determined according to the pulse sequence number and the pulse state, and a prompt is given.
7. The method according to claim 6, characterized in that The determining prompt information according to the pulse sequence number and the pulse state and providing the prompt comprises: According to the pulse sequence number and the pulse state, the LED indicator light is controlled to turn on or off, flash at different frequencies, or present different colors for prompting; and / or Determine prompt information fed back to other terminals according to the pulse sequence number and the pulse state, and prompt the prompt information through voice or text; and / or The prompt information printed through the serial port is determined according to the pulse sequence number and the pulse state.
8. The method according to any one of claims 1 to 3, characterized in that The content of each of the BIOS firmware is the same.
9. A trust measurement device for a multi-way server, characterized in that: Applied to a multi-way server, the multi-way server comprises at least two CPUs, an editable logic module, a trusted module and at least two BIOS firmwares, the editable logic module is dynamically connected with the at least two CPUs, the trusted module and the at least two BIOS firmwares; The device comprises: A control module, configured to generate a measurement signal and send the measurement signal to the editable logic module after receiving a start signal from the multi-channel server; The editable logic module is used to dynamically connect the trusted module and the BIOS firmware according to the measurement signal; The trusted module is used to obtain and verify the content of the BIOS firmware; The trusted module is used to verify the identification of each BIOS firmware when the verification result of the content of each BIOS firmware is passed; A control module, used for starting the multi-way server when the identification verification of each BIOS firmware passes; When the verification result of the content of each of the BIOS firmwares is passed for the first time, when the identification verification of each of the BIOS firmwares fails, including: when each of the BIOS firmwares does not detect the corresponding identification, the identification verification fails; The trusted module is used to send feedback information to the editable logic module, wherein the feedback information is used to feedback that the identification verification fails; The editable logic module is used to generate a signal for cold restarting the multi-way server according to the feedback information; The trusted module is used to identify each BIOS firmware when receiving the cold restart start signal, so as to obtain the identification of each BIOS firmware.
Citation Information
Patent Citations
Method, device and equipment for measuring double BIOSs (Basic Input / Output System) of multi-path server
CN112817643A