Safe startup system and method for baseboard management controller

By introducing a secure boot system with multiple redundant storage modules and a trusted verification calculation module into the BMC controller, the problem of easy failure of single firmware is solved, and secure and reliable firmware boot is achieved, ensuring the stable operation of the chassis.

CN120950312BActive Publication Date: 2026-03-06HUNAN BOJIANG INFORMATION TECHNOLOGY CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202511485337.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-17
Publication Date
2026-03-06
Estimated Expiration
2045-10-17

AI Technical Summary

Technical Problem

The current boot method of BMC controllers is vulnerable to the risk of single firmware failure, theft, or illegal modification, which affects the safe and stable operation of the chassis.

Method used

The secure boot system employs multiple storage modules, trusted verification and computing modules, and ensures firmware security and reliability through multiple redundant backups, trusted verification and encrypted computing.

Benefits of technology

It effectively prevents firmware from being tampered with and stolen, improves the security and stability of BMC boot, and ensures the safe and stable operation of the chassis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120950312B_ABST
    Figure CN120950312B_ABST
Patent Text Reader

Abstract

This application proposes a secure startup system and method for a baseboard management controller. The system includes: multiple first storage modules for storing the power-on startup firmware of the baseboard management controller; a first logic switching module having multiple first selection terminals and two first connection terminals, with each first storage module connected to a different first selection terminal; a trusted verification module for performing trusted verification on the firmware content input at the verification input terminal; a trusted calculation module for performing trusted calculation on the firmware content input at the calculation input terminal; a second logic switching module having two second selection terminals and two second connection terminals; and a control module for selecting any one of the first selection terminals of the first logic switching module to be active, and selecting any one of the second selection terminals of the second logic switching module to be active or the two second connection terminals to be loop-connected. This application can effectively improve the security, reliability, and stability of the baseboard management controller's startup and operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer device startup technology, and in particular to a secure startup system and method for a baseboard management controller. Background Technology

[0002] The Baseboard Management Controller (BMC) is used for managing devices within the chassis. It monitors and manages critical components, equipment, and various physical characteristics within the chassis. The BMC controller is crucial for the safe, reliable, and stable operation of the chassis; therefore, the secure startup of the BMC controller itself significantly impacts the overall safety, reliability, and stability of the entire chassis. Currently, the conventional startup method for BMC controllers is through a single boot firmware. If this single boot firmware experiences a serious incident such as firmware failure, theft, or unauthorized modification, it can lead to BMC startup failure or data leakage, severely affecting the safe and stable operation of the entire chassis. Summary of the Invention

[0003] This application aims to provide a safe startup system and method for a baseboard management controller, which can effectively improve the safety, reliability and stability of the baseboard management controller startup and operation.

[0004] A secure boot system for a baseboard management controller according to a first aspect embodiment of this application includes:

[0005] Multiple first storage modules are used for the power-on startup firmware of the storage substrate management controller;

[0006] The first logic switching module has multiple first selection terminals and two first connection terminals, and each first storage module is connected to a different first selection terminal.

[0007] The trusted verification module has a verification output terminal and a verification input terminal connected to a first connection terminal, and is used to perform trusted verification on the firmware content input to the verification input terminal;

[0008] A trusted computing module has a computing input terminal and a computing output terminal connected to another first connection terminal, and is used to perform trusted computing on the firmware content input by the computing input terminal;

[0009] The second logic switching module has two second selection terminals and two second connection terminals. The two second selection terminals are respectively connected to the power-on interface and the programming interface, and the two second connection terminals are respectively connected to the verification output terminal and the calculation input terminal. The power-on interface is used to connect to the substrate management controller, and the programming interface is used to connect to an external programming device.

[0010] The control module is electrically connected to the first logic switching module, the second logic switching module, the trusted verification module, the trusted computing module, and the baseboard management controller. It is used to select any one of the first selection terminals of the first logic switching module as valid, and to select any one of the second selection terminals of the second logic switching module as valid or to loop back the two second connection terminals.

[0011] According to some embodiments of this application, the trusted verification module includes:

[0012] The first digest verification module has its input terminal as the verification input terminal. The first digest verification module is used to perform digest verification on the firmware content input at its input terminal.

[0013] The first decryption calculation module has its input end connected to the output end of the first digest verification module, and its output end serves as the verification output end. The first decryption calculation module is used to perform decryption calculation on the firmware content input at its input end.

[0014] According to some embodiments of this application, the trusted computing module includes:

[0015] The first encryption calculation module has its input terminal as the calculation input terminal. The first encryption calculation module is used to perform encryption calculation on the firmware content input at its input terminal.

[0016] The first digest generation module has its input end connected to the output end of the first encryption calculation module, and its output end serves as the calculation output end. The first digest generation module is used to generate a digest of the firmware content input at its input end.

[0017] According to some embodiments of this application, the secure startup system of the baseboard management controller further includes:

[0018] The second storage module is connected to one of the first selection terminals. The first selection terminals to which the second storage module is connected to the multiple first storage modules are all different. It is used for the backup power-on startup firmware of the storage substrate management controller.

[0019] According to some embodiments of this application, the trusted verification module includes:

[0020] The first digest verification module is used to perform digest verification on the input firmware content;

[0021] The first decryption calculation module is used to perform decryption calculations on the input firmware content;

[0022] The second digest verification module is used to perform digest verification on the input firmware content;

[0023] The error correction calculation module is used to perform error correction calculations on the input firmware content;

[0024] The second decryption calculation module is used to perform decryption calculations on the input firmware content;

[0025] The third logic switching module has an input terminal, a first trusted verification selection terminal and a first secure trusted verification selection terminal, and its input terminal serves as the verification input terminal.

[0026] The fourth logic switching module has a second trusted verification selection terminal, a second secure trusted verification selection terminal, and an output terminal, with the output terminal serving as the verification output terminal;

[0027] Specifically, the first digest verification module and the first decryption calculation module are connected in series between the first trusted verification selection terminal and the second trusted verification selection terminal, and the second digest verification module, the error correction calculation module and the second decryption calculation module are connected in series between the second secure trusted verification selection terminal and the second secure trusted verification selection terminal.

[0028] According to some embodiments of this application, the trusted computing module includes:

[0029] The first encryption calculation module is used to perform encryption calculations on the input firmware content;

[0030] The first summary generation module is used to generate a summary of the input firmware content;

[0031] The second encryption calculation module is used to perform encryption calculations on the input firmware content;

[0032] Error correction encoding module, used to perform error correction encoding on the input firmware content;

[0033] The second summary generation module is used to generate a summary of the input firmware content;

[0034] The fifth logic switching module has an input terminal, a first trusted computing selection terminal, and a first secure trusted computing selection terminal, with its input terminal serving as the computing input terminal;

[0035] The sixth logic switching module has a second trusted computing selection terminal, a second secure trusted computing selection terminal, and an output terminal, with its output terminal serving as the computing output terminal;

[0036] Specifically, the first encryption calculation module and the first digest generation module are connected in series between the first trusted computing selection terminal and the second trusted computing selection terminal, and the second encryption calculation module, the error correction coding module, and the second digest generation module are connected in series between the second secure trusted computing selection terminal and the second secure trusted computing selection terminal.

[0037] According to some embodiments of this application, the secure startup system of the baseboard management controller further includes:

[0038] The watchdog module is connected to the baseboard management controller via a watchdog signal interface and a reset interface.

[0039] A secure boot method for a baseboard management controller according to a second aspect of the present invention is applied to a secure boot system for a baseboard management controller as described in the first aspect of the present invention. The secure boot method for the baseboard management controller includes the following steps:

[0040] With power supplied, the target storage module is connected to the trusted verification module through the first logic switching module, so that the power-on firmware stored in the target storage module is transmitted to the trusted verification module. The trusted verification module performs digest verification on the power-on firmware stored in the target storage module to obtain a first verification result; the target storage module is any of the first storage modules.

[0041] If the first verification result indicates that the verification failed, one of the first storage modules that has never been verified by the trusted verification module is selected as the new target storage module, and the process is switched to the control target storage module to connect with the trusted verification module through the first logic switching module.

[0042] The control second logic switching module is connected to the baseboard management controller via a power-on interface;

[0043] Wherein, if the first verification result indicates that the verification is successful, the trusted verification module performs decryption calculation on the power-on startup firmware stored in the target storage module to obtain the target power-on startup signal;

[0044] When the baseboard management controller receives the target power-on start signal, it performs a power-on start operation based on the target power-on start signal.

[0045] According to some embodiments of this application, the power-on startup operation based on the target power-on startup signal includes:

[0046] In response to the target power-on start signal, a feeding signal is continuously sent to the watchdog module at preset intervals;

[0047] If the watchdog module does not receive the dog-feeding signal within the preset period, it sends a power-on result command to the control module.

[0048] When the control module detects that the power-on result instruction indicates a power-on failure, it selects one of the first storage modules that has not been verified and decrypted by the trusted verification module, confirms it as a new target storage module, and switches to the control target storage module to connect with the trusted verification module through the first logic switching module.

[0049] According to some embodiments of this application, the secure startup method of the baseboard management controller further includes the following steps:

[0050] If the first verification result corresponding to the power-on boot firmware stored in each of the first storage modules indicates verification failure, or if the power-on result instruction corresponding to the power-on boot firmware stored in each of the first storage modules that has been verified successfully indicates power-on failure, the backup power-on strategy shall be executed.

[0051] The backup power-on strategy includes:

[0052] The control second storage module is connected to the trusted verification module through the first logic switching module, so that the backup power-on firmware stored in the second storage module is transmitted to the trusted verification module. The trusted verification module performs digest verification on the backup power-on firmware to obtain a second verification result.

[0053] If the second verification result indicates that the verification is successful, the trusted verification module is controlled to perform error correction calculation and decryption calculation on the backup power-on firmware to obtain the original backup power-on firmware.

[0054] Control the loopback connection of the two second connection terminals of the second logic switching module;

[0055] The trusted computing module is controlled to perform encryption calculations, error correction encoding, and digest generation on the original backup power-on firmware to obtain the restored backup power-on firmware.

[0056] The control target storage module is connected to the trusted computing module through the first logic switching module, so that the restore backup power-on firmware is written to the target storage module, and then the control target storage module is connected to the trusted verification module through the first logic switching module.

[0057] In this embodiment, the secure boot system and method for the baseboard management controller (BMC) ensures multi-redundancy backup capability by setting up multiple first storage modules storing the power-on boot firmware of the baseboard management controller, avoiding the situation where a single boot firmware failure directly causes BMC boot failure. The first logic switching module can switch between multiple first storage modules, and can immediately switch to other power-on boot firmware if power-on fails after booting with a single power-on boot firmware. By setting up a trusted computing module and a trusted verification module, the content of the power-on firmware stored in the first storage modules can be encrypted and verified in a trusted manner, effectively preventing the content from being tampered with, avoiding serious accidents caused by firmware theft or illegal modification, reducing the risk of leakage, improving the security protection level, and thus maintaining the safe and stable operation of the entire chassis.

[0058] Other features and advantages of this application will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing this application. Attached Figure Description

[0059] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, in which:

[0060] Figure 1 This is a schematic diagram of an embodiment of the secure startup system of the baseboard management controller of this application;

[0061] Figure 2 This is a schematic diagram of the trusted verification module of the secure boot system of the baseboard management controller of this application;

[0062] Figure 3 This is a schematic diagram of the trusted computing module of the secure boot system of the baseboard management controller of this application;

[0063] Figure 4 This is a flowchart illustrating an embodiment of the secure startup method for the baseboard management controller of this application. Detailed Implementation

[0064] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain this application, and should not be construed as limiting this application.

[0065] In the description of this application, the use of terms such as "first," "second," etc., is for the purpose of distinguishing technical features only and should not be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated or the order of the technical features indicated.

[0066] In the description of this application, it should be understood that the orientation descriptions, such as up, down, etc., are based on the orientation or positional relationship shown in the accompanying drawings, and are only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this application.

[0067] In the description of this application, it should be noted that, unless otherwise explicitly defined, terms such as "setup," "installation," and "connection" should be interpreted broadly, and those skilled in the art can reasonably determine the specific meaning of the above terms in this application in conjunction with the specific content of the technical solution.

[0068] The technical solution of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described below are some embodiments of this application, not all embodiments.

[0069] Figure 1 This is a schematic diagram of an embodiment of the secure startup system of the baseboard management controller of this application; Figure 2 This is a schematic diagram of the trusted verification module of the secure boot system of the baseboard management controller of this application; Figure 3 This is a schematic diagram of the trusted computing module of the secure boot system of the baseboard management controller of this application; Figure 4 This is a flowchart illustrating an embodiment of the secure startup method for the baseboard management controller of this application. See below. Figures 1 to 4 The embodiments of this application will be further described below.

[0070] like Figure 1 As shown in the figure, this application proposes a secure boot system for a baseboard management controller, including multiple first storage modules, a first logic switching module, a trusted verification module, a trusted computing module, a second logic switching module, and a control module;

[0071] Multiple first storage modules are used for the power-on startup firmware of the storage substrate management controller;

[0072] The first logic switching module has multiple first selection terminals and two first connection terminals, and each first storage module is connected to a different first selection terminal.

[0073] The trusted verification module has a verification output terminal and a verification input terminal connected to a first connection terminal, and is used to perform trusted verification on the firmware content input to the verification input terminal;

[0074] The trusted computing module has a computing input terminal and a computing output terminal connected to another first connection terminal, and is used to perform trusted computing on the firmware content input at the computing input terminal;

[0075] The second logic switching module has two second selection terminals and two second connection terminals. The two second selection terminals are connected to the power-on interface and the programming interface, respectively, and the two second connection terminals are connected to the verification output terminal and the calculation input terminal, respectively. The power-on interface is used to connect to the baseboard management controller, and the programming interface is used to connect to an external programming device.

[0076] The control module is electrically connected to the first logic switching module, the second logic switching module, the trusted verification module, the trusted computing module, and the baseboard management controller. It is used to select any first selection terminal of the first logic switching module to be valid, and to select any second selection terminal of the second logic switching module to be valid or to loop back the two second connection terminals.

[0077] In this embodiment, the secure boot system for the baseboard management controller (BMC) ensures multi-redundancy backup capability by setting up multiple first storage modules containing the power-on boot firmware of the baseboard management controller, avoiding the situation where a single boot firmware failure directly causes BMC boot failure. The first logic switching module can switch between multiple first storage modules, and can immediately switch to other power-on boot firmware if power-on fails after booting with a single power-on boot firmware. By setting up a trusted computing module and a trusted verification module, the content of the power-on firmware stored in the first storage modules can be encrypted and verified in a trusted manner, effectively preventing the content from being tampered with, avoiding serious accidents caused by firmware theft or illegal modification, reducing the risk of leakage, improving the security protection level, and thus maintaining the safe and stable operation of the entire chassis.

[0078] The aforementioned multiple first storage modules can be N first storage modules, where N is a positive integer greater than or equal to 2. For example... Figure 1 As shown, ROM_1, ROM_2, ..., ROM_n are N first storage modules. Different BMC software schemes can be stored within these N first storage modules, and switching between them can be controlled by the first logic switching unit via the control module, enabling multiple schemes on a single machine and achieving the overall multi-scheme capability of the system upon power-on startup.

[0079] The aforementioned first storage module can be a storage medium that is not lost when power is off, including but not limited to flash, ROM, EEPROM, SSD, disk, optical disk, and other devices or equipment that can provide data storage.

[0080] The aforementioned first logic switching unit can be used to selectively connect multiple first storage modules, that is, to select only one first storage module to connect with the trusted verification module and the trusted computing module at any given time. The aforementioned second logic switching unit can switch the connections of the trusted verification module, the trusted computing module, the power-on interface, and the programming interface. For example, in power-on mode, the power-on interface is connected to the trusted verification module and the trusted computing module; in programming mode, the programming interface is connected to the trusted verification module and the trusted computing module. Therefore, by controlling the coordinated operation of the first and second logic switching units through the control module, different selection and switching line connections can be made according to different working modes and requirements to realize the entire process of BMC power-on startup. In some cases, such as... Figure 1 As shown in the figure, the power-on interface can be interface M, the programming interface can be interface J, and the control module can be connected to the BMC through interface C.

[0081] Specifically, the first storage module, the first logic switching unit, the trusted verification module, the second logic switching module, and the power-on interface are connected in sequence to form a power-on data information transmission path. The power-on startup firmware of the baseboard management controller stored in the first storage module is transmitted to the power-on interface through this power-on data information transmission path, and then connected to the BMC to be started through the power-on interface to power on the BMC. Since it has passed through the trusted verification module, the content has been verified to prevent tampering, and the power-on startup firmware can be securely verified, thereby ensuring the safe power-on of the BMC.

[0082] Specifically, the aforementioned programming interface, second logic switching unit, trusted computing module, first logic switching module, and first storage module are connected in sequence to form a programming data information transmission path. An external programming tool can send firmware through the programming interface. The firmware is transmitted and stored in the first storage module through this programming data information transmission path, completing the firmware programming process of the storage module. Because it passes through the trusted computing module, the external input data undergoes trusted and secure computation and is encrypted to prevent the content from being tampered with, thereby ensuring the security of the data stored in the first storage module.

[0083] Specifically, in some cases, the aforementioned power-on interface can be a power-on and firmware update interface. Therefore, the power-on and firmware update interface, the second logic switching unit, the trusted computing module, the first logic switching module, and the first storage module can be connected in sequence to form an update data information transmission path. The BMC can send firmware through the power-on and firmware update interface. The firmware is transmitted through this path and stored in the first storage module, completing the firmware update process of the storage module.

[0084] The aforementioned trusted computing can be a collective term for a set of processing algorithms, such as encryption / decryption computation, error correction coding, and digest processing, to improve the security and reliability of data storage and transmission.

[0085] It is understood that the secure startup system and method of the baseboard management controller of this application can be implemented by CPU, FPGA, CPLD, other programmable logic circuits, dedicated logic circuits or chips, hardware circuits, software logic implemented by high-level programming languages, or a combination of several or all of the above, which can realize logic processing calculations and data exchange computer equipment or devices, software methods, etc.

[0086] In some implementations, the first logical switching unit and the first storage module are connected via an interface, such as... Figure 1 As shown, interfaces P1, P2, ..., Pn are the interfaces connecting the first logic switching unit and the first storage module, including but not limited to protocol interfaces such as SPI, QSPI, BPI, SATA, and PCIE that enable interaction between digital circuits and storage media.

[0087] In some implementations, the trusted verification module includes:

[0088] The first digest verification module has its input terminal as a verification input terminal. The first digest verification module is used to perform digest verification on the firmware content input at its input terminal.

[0089] The first decryption calculation module has its input end connected to the output end of the first digest verification module, and its output end serves as the verification output end. The first decryption calculation module is used to perform decryption calculation on the firmware content input at its input end.

[0090] In this embodiment, the trusted verification module can perform trusted verification of the contents stored in multiple first storage modules. Through the first digest verification module and the first decryption calculation module, the key fields of the firmware contents stored in multiple first storage modules can be digested and decrypted, which can meet the timeliness of the power-on sequence.

[0091] The aforementioned first digest verification module may include one or more digest algorithms, and its key information such as digest length and calculation module can be configured.

[0092] The aforementioned first decryption calculation module may include one or more cryptographic algorithms, and its key information such as key, initial vector, and cryptographic algorithm mode can be configured.

[0093] In some implementations, the trusted computing module includes:

[0094] The first encryption calculation module has its input end as a calculation input end. The first encryption calculation module is used to perform encryption calculation on the firmware content input at its input end.

[0095] The first digest generation module has its input end connected to the output end of the first encryption calculation module, and its output end serves as the calculation output end. The first digest generation module is used to generate a digest of the firmware content input to its input end.

[0096] In this embodiment, the trusted computing module performs trusted computing on the firmware content written to multiple first storage modules. The first encryption computing module and the first digest generation module perform encryption computing and digest generation operations on the key fields of the written firmware content to prevent the firmware from being stolen and causing leakage.

[0097] The aforementioned first encryption calculation module may include one or more cryptographic algorithms, and its key information such as key, initialization vector, and cryptographic algorithm mode can be configured.

[0098] The aforementioned first summary generation module may include one or more summary algorithms, and its summary length, calculation module, and other key information are configurable.

[0099] In some embodiments, the secure boot system of the baseboard management controller further includes:

[0100] The second storage module is connected to a first selection terminal. The first selection terminals to which the second storage module is connected to multiple first storage modules are all different. It is used for the backup power-on startup firmware of the storage substrate management controller.

[0101] In this embodiment, by adding a second storage module as a secure and reliable firmware backup, an additional layer of protection can be provided if the power-on firmware stored in all the first storage modules fails to power on the BMC.

[0102] The aforementioned second storage module can be a storage medium that is not lost when power is off, including but not limited to flash memory, ROM, EEPROM, SSD, hard disk, optical disk, and other devices or equipment that can provide data storage. Figure 1 As shown, GOLDEN is the second storage module, which is connected to the first logic switching module through interface P0. Interface P0 includes, but is not limited to, protocol interfaces such as SPI, QSPI, BPI, SATA, and PCIE that enable digital circuits to interact with storage media.

[0103] The firmware content stored in the second storage module is fully encrypted, and digest calculation and error correction encoding are performed on it, which has error verification and self-correction functions;

[0104] If the contents stored in the N first storage modules fail verification or the BMC fails to power on, the second storage module is triggered to write the firmware contents of the second storage module into the first storage module, and then the power-on process is repeated.

[0105] It is understandable that during the process of the second storage module writing the firmware content in the second storage module to the first storage module, since the firmware content stored in the second storage module is fully encrypted, it needs to undergo corresponding decryption and other processing by the trusted verification module, and then re-encryption and other processing by the trusted computing module before the processed firmware is written into the first storage module. Therefore, during this process, the control module needs to select the two second connection ends of the second logic switching module for loopback connection.

[0106] In some implementations, such as Figure 2 As shown, the trusted verification module includes:

[0107] The first digest verification module is used to perform digest verification on the input firmware content;

[0108] The first decryption calculation module is used to perform decryption calculations on the input firmware content;

[0109] The second digest verification module is used to perform digest verification on the input firmware content;

[0110] The error correction calculation module is used to perform error correction calculations on the input firmware content;

[0111] The second decryption calculation module is used to perform decryption calculations on the input firmware content;

[0112] The third logic switching module has an input terminal, a first trusted verification selection terminal and a first secure trusted verification selection terminal, with its input terminal serving as the verification input terminal.

[0113] The fourth logic switching module has a second trusted verification selection terminal, a second secure trusted verification selection terminal, and an output terminal, with the output terminal serving as the verification output terminal;

[0114] Specifically, a first digest verification module and a first decryption calculation module are connected in series between the first trusted verification selection terminal and the second trusted verification selection terminal, and a second digest verification module, an error correction calculation module, and a second decryption calculation module are connected in series between the second secure trusted verification selection terminal and the second secure trusted verification selection terminal.

[0115] In this embodiment, the trusted verification module can perform trusted verification of the content stored in multiple first storage modules and second storage modules. Specifically, through the first digest verification module and the first decryption calculation module, digest verification and decryption operations are performed on key fields of the firmware content stored in multiple first storage modules to ensure timely power-on timing. Through the second digest verification module, the error correction calculation module, and the second decryption calculation module, digest verification, error correction calculation, and decryption operations are performed on all fields of the firmware content stored in the second storage module to ensure the security and reliability of firmware backup. The above two processing modes are switched accordingly by the control unit controlling the operation of the third logic switching module and the fourth logic switching module.

[0116] It is understandable that the backup firmware content stored in the second storage module requires an additional error correction calculation module for processing, compared to the firmware content stored in the first storage module.

[0117] Both the first digest verification module and the second digest verification module mentioned above can include one or more digest algorithms, and their key information such as digest length and calculation module can be configured.

[0118] Both the first and second decryption calculation modules mentioned above can include one or more cryptographic algorithms, and their key information such as keys, initial vectors, and cryptographic algorithm modes can be configured.

[0119] The aforementioned error correction calculation module may include one or more error correction codes, and key information such as error correction length and error correction mode can be configured.

[0120] In some implementations, such as Figure 3 As shown, the trusted computing module includes:

[0121] The first encryption calculation module is used to perform encryption calculations on the input firmware content;

[0122] The first summary generation module is used to generate a summary of the input firmware content;

[0123] The second encryption calculation module is used to perform encryption calculations on the input firmware content;

[0124] Error correction encoding module, used to perform error correction encoding on the input firmware content;

[0125] The second summary generation module is used to generate a summary of the input firmware content;

[0126] The fifth logic switching module has an input terminal, a first trusted computing selection terminal, and a first secure trusted computing selection terminal, with its input terminal serving as the computing input terminal;

[0127] The sixth logic switching module has a second trusted computing selection terminal, a second secure trusted computing selection terminal, and an output terminal, with the output terminal serving as the computing output terminal;

[0128] Specifically, a first encryption computing module and a first digest generation module are connected in series between the first trusted computing selection terminal and the second trusted computing selection terminal, and a second encryption computing module, an error correction coding module, and a second digest generation module are connected in series between the second secure trusted computing selection terminal and the second secure trusted computing selection terminal.

[0129] In this embodiment, the trusted computing module can perform trusted computing on the stored content of multiple first storage modules and second storage modules. Specifically, through the first encryption computing module and the first digest generation module, it performs encryption computing and digest generation operations on key fields of the firmware content stored in multiple first storage modules; through the second encryption computing module, the error correction coding module, and the second digest generation module, it performs encryption computing, error correction coding, and digest generation on all fields of the firmware content stored in the second storage module, thereby achieving strong security and reliability of firmware backup; the above two processing modes are switched accordingly by the control unit controlling the operation of the fifth logic switching module and the sixth logic switching module.

[0130] It is understandable that the backup firmware content stored in the second storage module requires an additional error correction coding module for processing, compared to the firmware content stored in the first storage module.

[0131] Both the first and second encryption calculation modules mentioned above can include one or more cryptographic algorithms, and their key information such as keys, initial vectors, and cryptographic algorithm modes can be configured.

[0132] Both the first and second summary generation modules mentioned above can include one or more summary algorithms, and their summary length, calculation modules, and other key information can be configured.

[0133] The aforementioned error correction coding module may include one or more error correction codes, and its key information such as error correction length and error correction mode can be configured.

[0134] In some implementations, encryption and decryption operations or calculations can be performed using symmetric or asymmetric cryptographic algorithms to convert plaintext into ciphertext or vice versa, including but not limited to encryption algorithms such as SM4, AES, DES, RSA, and ECC.

[0135] In some implementations, the digest generation and verification processing or calculation can be performed by using a digest algorithm, i.e. a signature authentication algorithm, to verify the integrity of the data packet, including but not limited to digest algorithms such as SHA1, SHA256, and MD5.

[0136] In some implementations, error correction coding and calculation can be carried out through encoding methods to perform field error correction processing when certain fields in the target data packet are incorrect, including but not limited to encoding methods such as duplicate codes, block codes, and Hamming codes.

[0137] In some embodiments, the secure boot system of the baseboard management controller further includes:

[0138] The watchdog module connects to the baseboard management controller via a feed signal interface and a reset interface.

[0139] In this embodiment, a watchdog module is added to monitor the BMC chip. Specifically, if a watchdog signal is not received from the BMC chip within a timeout period, a reset is triggered, and a report is sent to the control module. The watchdog signal interface is used to receive the watchdog signal, and the reset interface is used to send a reset signal. It can be understood that the watchdog module is electrically connected to the control module and can send reports to the control module. In some cases, such as... Figure 1 As shown in the figure, the dog feed signal interface can be the FED interface in the figure, and the reset interface can be the RST interface in the figure.

[0140] like Figure 4 As shown in the embodiments of this application, a secure startup method for a baseboard management controller is also proposed. This method can be applied to the aforementioned secure startup system for the baseboard management controller. The secure startup method for the baseboard management controller includes the following steps:

[0141] Step 101: With power supplied, the target storage module is connected to the trusted verification module through the first logic switching module, so that the power-on boot firmware stored in the target storage module is transmitted to the trusted verification module. The trusted verification module performs digest verification on the power-on boot firmware stored in the target storage module and obtains the first verification result; the target storage module can be any first storage module.

[0142] Step 102: If the first verification result indicates that the verification failed, select one of the first storage modules that has never been verified by the trusted verification module, confirm it as the new target storage module, and jump to control the target storage module to connect with the trusted verification module through the first logic switching module.

[0143] Step 103: Control the second logic switching module to connect to the baseboard management controller via the power-on interface;

[0144] In the case where the first verification result indicates that the verification is successful, the trusted verification module decrypts the power-on firmware stored in the target storage module to obtain the target power-on signal.

[0145] When the baseboard management controller receives the target power-on start signal, it performs a power-on start operation based on the target power-on start signal.

[0146] In this embodiment, the secure boot method for the baseboard management controller (BMC) ensures multi-redundancy backup capability of the system by setting up multiple first storage modules storing the power-on boot firmware of the baseboard management controller, avoiding the situation where the BMC boot fails directly due to firmware failure of a single boot firmware. The first logic switching module can switch between multiple first storage modules, and can immediately switch to other power-on boot firmware if the boot fails after booting with a single power-on boot firmware. By setting up a trusted computing module and a trusted verification module, the content of the power-on firmware stored in the first storage modules can be encrypted and verified in a trusted manner, effectively preventing the content from being tampered with, avoiding serious accidents caused by firmware theft or illegal modification, reducing the risk of leakage, improving the security protection level, and thus maintaining the safe and stable operation of the entire chassis.

[0147] The control module selects a target storage module from multiple first storage modules for power-on startup by controlling the switching of the first logic switching module. It then controls the trusted verification module to perform digest verification on the power-on firmware stored in the target storage module. If the verification passes, the trusted verification module decrypts the power-on firmware stored in the target storage module to obtain the target power-on signal. The second logic switching module then connects to the power-on interface and sends the target power-on signal to the interface board management controller. If the verification fails, the first logic switching module switches to the next first storage module as the target storage module, and the power-on process is repeated.

[0148] It is understandable that the control of the first logic switching module to switch the connection to the next first storage module can be selected according to a certain order, or it can be randomly selected from the first storage modules that have not been selected before.

[0149] In some implementations, the power-on startup operation is performed based on the target power-on startup signal, including:

[0150] In response to the target power-on start signal, a feeding signal is continuously sent to the watchdog module at preset intervals;

[0151] If the watchdog module does not receive a feeding signal within a preset period, it sends a power-on result command to the control module.

[0152] When the control module detects that the power-on result instruction indicates that the power-on has failed, it selects one of the first storage modules that has not been verified and decrypted by the trusted verification module, confirms it as the new target storage module, and jumps to control the target storage module to connect with the trusted verification module through the first logic switching module.

[0153] In this embodiment, the watchdog module can monitor whether the BMC power-on is successful. If the power-on is successful, the BMC will send a watchdog signal to the watchdog module within a preset period. If the watchdog is successfully fed within the timeout period, the process ends. If the watchdog module fails to feed the watchdog within the timeout period, it will send a report to the control module. Subsequently, the control module controls the first logic switching module to switch the connection to the next first storage module as the target storage module, and then repeat the above power-on steps.

[0154] In some implementations, the secure startup method for the baseboard management controller further includes the following steps:

[0155] If the first verification result corresponding to the power-on boot firmware stored in each first storage module indicates verification failure, or if the power-on result instruction corresponding to the power-on boot firmware stored in each first storage module that has passed verification indicates power-on failure, the backup power-on strategy shall be executed.

[0156] The backup power-on strategy includes:

[0157] The control module connects the second storage module to the trusted verification module through the first logic switching module, so that the backup power-on firmware stored in the second storage module is transmitted to the trusted verification module. The trusted verification module performs digest verification on the backup power-on firmware and obtains the second verification result.

[0158] If the second verification result indicates that the verification is successful, the trusted verification module is controlled to perform error correction calculation and decryption calculation on the backup power-on firmware to obtain the original backup power-on firmware.

[0159] The two second connection terminals of the control second logic switching module are looped back;

[0160] The trusted computing module controls the original backup power-on firmware to perform encrypted calculations, error correction coding, and digest generation to obtain the restored backup power-on firmware.

[0161] The control target storage module is connected to the trusted computing module through the first logical switching module, so that the firmware for restoration backup power-on startup is written to the target storage module, and then the control target storage module is connected to the trusted verification module through the first logical switching module.

[0162] In this embodiment, if all the first storage modules fail to power on the BMC, the control module controls the first logic switching module to switch the connection to the second storage module used for backup, and uses the firmware content stored in the second storage module to power on the BMC. By using the second storage module as a secure and reliable firmware backup, an additional layer of protection is provided when all the power-on firmware stored in the first storage modules fails to power on the BMC.

[0163] It is understandable that powering on using the firmware content stored in the second storage module requires the second storage module to write its firmware content into a first storage module, then using this first storage module as the target storage module, and repeating the power-on process. Alternatively, it is understandable that the second storage module can directly write its firmware content into the first storage module currently designated as the target storage module, and then the target storage module can repeat the power-on process.

[0164] It is understandable that during the process of the second storage module writing the firmware content in the second storage module to the first storage module, since the firmware content stored in the second storage module is fully encrypted, it needs to undergo corresponding decryption and other processing by the trusted verification module, and then re-encryption and other processing by the trusted computing module before the processed firmware is written into the first storage module. Therefore, during this process, the control module needs to select the two second connection ends of the second logic switching module for loopback connection.

[0165] In some implementations, the BMC power-on process specifically includes the following steps:

[0166] Step 1: After power is supplied, the firmware content in the first storage module ROM_1 is read out through the P1 interface and sent to the first logic switching module.

[0167] Step two: After passing through the first logical switching module, the firmware reaches the third logical switching module within the trusted verification module;

[0168] Step 3: After passing through the third logic switching module, the firmware reaches the first digest verification module. If the digest verification fails, the first logic switching module is triggered to switch to the first storage module ROM_2 and read the firmware content. Steps 2 and 3 are repeated thereafter. If all firmware in the first storage module ROM fails the verification, the second storage module GOLDEN backup firmware boot process is entered, which is the backup power-on strategy. If the digest verification is successful, the firmware is sent to the first decryption calculation module.

[0169] Step four: After the firmware is decrypted by the first decryption calculation module, it passes through the fourth logic switching module to reach the second logic switching module.

[0170] Step 5: After passing through the second logic switching module, the firmware powers on the BMC via the power-on interface M. If the power-on is successful, the BMC successfully feeds the watchdog module, and the process ends. If the watchdog module times out and fails to feed the watchdog, the first logic switching module is triggered to switch to the next first storage module and read the firmware content, and steps 1 to 5 are repeated. If the firmware in all ROM modules fails to power on the BMC, the second storage module GOLDEN backup firmware boot process is entered, which is the backup power-on strategy.

[0171] In some implementations, the second storage module GOLDEN backup firmware boot process, also known as the backup power-on strategy, specifically includes the following steps:

[0172] Step 1: When all firmware contents in the ROM of the first storage module fail verification or the BMC fails to power on, the first logic switching module is triggered to switch to the second storage module GOLDEN and read the trusted firmware contents in GOLDEN.

[0173] Step 2: After passing through the first logical switching module, the trusted firmware content arrives at the third logical switching module within the trusted verification module.

[0174] Step 3: After passing through the third logical switching module, the trusted firmware sequentially passes through the second digest verification module, the error correction calculation module, and the second decryption calculation module, and is then restored to the original firmware.

[0175] Step four: The original firmware passes through the fourth logic switching module and then reaches the second logic switching module;

[0176] Step 5: After passing through the second logical switching module, the original firmware reaches the fifth logical switching module within the trusted computing module.

[0177] Step six: The original firmware passes through the fifth logical switching module, then sequentially through the first encryption calculation module and the first digest generation module, before reaching the sixth logical switching module.

[0178] Step 7: After passing through the sixth logic switching module, the firmware reaches the first logic switching module and is written to the first storage module ROM_1 through the P1 interface.

[0179] Step 8: After the firmware is written to the first storage module ROM_1, the BMC power-on process is resumed.

[0180] In some implementations, the firmware burning / update process for the second storage module GOLDEN includes the following steps:

[0181] Step 1: The external programming tool sends the firmware to the second logic switching module through programming interface J; or the BMC sends the firmware to the second logic switching module through interface M.

[0182] Step two: The second logic switching module sends the firmware to the trusted computing module;

[0183] Step 3: The fifth logical switching module in the trusted computing module sends the firmware to the encrypted computing channel of the second storage module, that is, it passes through the second encrypted computing module, the error correction coding module, the second digest generation module in sequence, and then reaches the sixth logical switching module.

[0184] Step four: After trusted computation, the firmware passes through the sixth logical switching module to reach the first logical switching module;

[0185] Step 5: After passing through the first logical switching module, the trusted firmware is written to the second storage module GOLDEN via interface P0.

[0186] In some implementations, the firmware burning / update process for the first storage module ROM, taking ROM_1 as an example, includes the following steps:

[0187] Step 1: The external programming tool sends the firmware to the second logic switching module through programming interface J; or the BMC sends the firmware to the second logic switching module through interface M.

[0188] Step two: The second logic switching module sends the firmware to the trusted computing module;

[0189] Step 3: The fifth logical switching module in the trusted computing module sends the firmware to the encrypted computing channel of the first storage module, that is, it passes through the first encrypted computing module and the first digest generation module in sequence, and then reaches the sixth logical switching module.

[0190] Step four: After trusted computation, the firmware passes through the sixth logical switching module to reach the first logical switching module;

[0191] Step 5: After passing through the first logic switching module, the trusted firmware is written into the first storage module ROM_1 via interface P1.

[0192] In some embodiments, this application also proposes a safe startup circuit for a baseboard management controller that includes the safe startup system of the baseboard management controller described above.

[0193] In addition, embodiments of the present invention also provide a control device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor. The processor and the memory can be connected via a bus or other means.

[0194] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0195] The non-transient software program and instructions required to implement the secure startup method of the baseboard management controller in the above embodiments are stored in the memory. When executed by the processor, the secure startup method of the baseboard management controller in the above embodiments is executed.

[0196] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0197] Furthermore, embodiments of the present invention also provide a computer-readable storage medium storing computer-executable instructions that are executed by a processor or controller, for example, by a processor of the aforementioned control device, such that the processor executes the secure boot method of the baseboard management controller in the above embodiments.

[0198] It will be understood by those skilled in the art that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0199] The embodiments of the present invention have been described in detail above with reference to the accompanying drawings. However, the present invention is not limited to the above embodiments. Within the scope of knowledge possessed by those skilled in the art, various changes can be made without departing from the spirit of the present invention.

Claims

1. A secure boot system of a baseboard management controller, the system comprising: The application relates to a secure starting system of a baseboard management controller. The secure starting system comprises a plurality of first storage modules for storing power-on starting firmware of the baseboard management controller; a first logical switching module having a plurality of first selection ends and two first connection ends, each of the first storage modules being connected to different first selection ends; a trusted verification module having a verification output end and a verification input end connected to one of the first connection ends, and being used for performing trusted verification on firmware content input to the verification input end; a trusted calculation module having a calculation input end and a calculation output end connected to another first connection end, and being used for performing trusted calculation on firmware content input to the calculation input end; a second logical switching module having two second selection ends and two second connection ends, the two second selection ends being connected to a power-on interface and a burning interface respectively, and the two second connection ends being connected to the verification output end and the calculation input end respectively; the power-on interface is used for connecting the baseboard management controller, and the burning interface is used for connecting an external burning device; and a control module being electrically connected to the first logical switching module, the second logical switching module, the trusted verification module, the trusted calculation module and the baseboard management controller, and being used for selecting any first selection end of the first logical switching module to be effective, so as to select a target storage module from the plurality of first storage modules, and selecting any second selection end of the second logical switching module to be effective or connecting the two second connection ends in a loop, so as to perform a power-on starting operation or a burning operation according to the target storage module. The trusted verification module comprises a first digest verification module having an input end as the verification input end, and being used for performing digest verification on firmware content input to the input end; and a first decryption calculation module having an input end connected to an output end of the first digest verification module, and an output end as the verification output end, and being used for performing decryption calculation on firmware content input to the input end. The trusted calculation module comprises a first encryption calculation module having an input end as the calculation input end, and being used for performing encryption calculation on firmware content input to the input end; and a first digest generation module having an input end connected to an output end of the first encryption calculation module, and an output end as the calculation output end, and being used for performing digest generation on firmware content input to the input end. The secure starting system of the baseboard management controller further comprises a second storage module connected to one of the first selection ends, the second storage module being different from the first selection ends connected to the plurality of first storage modules, and being used for storing backup power-on starting firmware of the baseboard management controller. The trusted verification module comprises a first digest verification module for performing digest verification on input firmware content; a first decryption calculation module for performing decryption calculation on input firmware content; a second digest verification module for performing digest verification on input firmware content; and an error correction calculation module for performing error correction calculation on input firmware content. ​ 2. The secure boot system of a baseboard management controller of claim 1, wherein, ​ ​ ​ 3. The secure boot system of a baseboard management controller of claim 1, wherein, ​ ​ ​ 4. The secure boot system of a baseboard management controller of claim 1, wherein, ​ ​ 5. The secure boot system of a baseboard management controller of claim 4, wherein, ​ ​ ​ ​ ​ A second decryption calculation module is configured to perform decryption calculation on the input firmware content. The third logic switching module has an input end, a first trusted verification selection end and a first secure trusted verification selection end, and the input end is the verification input end; The fourth logic switching module has a second trusted verification selection end, a second secure trusted verification selection end and an output end, and the output end is the verification output end; The first trusted verification selection end and the second trusted verification selection end are connected in series with the first digest verification module and the first decryption calculation module, and the second secure trusted verification selection end and the second secure trusted verification selection end are connected in series with the second digest verification module, the error correction calculation module and the second decryption calculation module.

6. The secure boot system of a baseboard management controller of claim 4, wherein, The trusted calculation module includes: A first encryption calculation module is configured to perform encryption calculation on the input firmware content. A first digest generation module is configured to perform digest generation on the input firmware content. A second encryption calculation module is configured to perform encryption calculation on the input firmware content. An error correction encoding module is configured to perform error correction encoding on the input firmware content. A second digest generation module is configured to perform digest generation on the input firmware content. The fifth logic switching module has an input end, a first trusted calculation selection end and a first secure trusted calculation selection end, and the input end is the calculation input end; The sixth logic switching module has a second trusted calculation selection end, a second secure trusted calculation selection end and an output end, and the output end is the calculation output end; The first trusted calculation selection end and the second trusted calculation selection end are connected in series with the first encryption calculation module and the first digest generation module, and the second secure trusted calculation selection end and the second secure trusted calculation selection end are connected in series with the second encryption calculation module, the error correction encoding module and the second digest generation module.

7. The secure boot system of a baseboard management controller of claim 1, wherein, The security startup system of the baseboard management controller further includes: The watchdog module is connected with the baseboard management controller through the feeding signal interface and the reset interface.

8. A method for secure boot of a baseboard management controller, the method comprising: The security startup method of the baseboard management controller includes the following steps: When the power supply is powered, the target storage module is connected with the trusted verification module through the first logic switching module, so that the power-on startup firmware stored in the target storage module is transmitted to the trusted verification module, the trusted verification module performs digest verification on the power-on startup firmware stored in the target storage module, and a first verification result is obtained; the target storage module is any first storage module; When the first verification result indicates that the verification fails, one of the first storage modules that has not been verified by the trusted verification module is selected as a new target storage module, and the control target storage module is connected with the trusted verification module through the first logic switching module; The second logic switching module is connected to the baseboard management controller through the power-on interface; Wherein, in the case that the first check result indicates that the check is successful, the trusted check module performs decryption calculation on the power-on startup firmware stored in the target storage module, to obtain a target power-on startup signal; Wherein, in the case that the target power-on startup signal is received, the baseboard management controller performs power-on startup operation according to the target power-on startup signal.

9. The method of claim 8, wherein, The power-on startup operation according to the target power-on startup signal comprises: In response to the target power-on startup signal, a watchdog signal is continuously sent to a watchdog module at a preset period as an interval; Wherein, in the case that the watchdog module does not receive the watchdog signal within the preset period, an power-on result instruction is sent to a control module; Wherein, in the case that the control module detects that the power-on result instruction indicates that the power-on fails, one of the first storage modules that has not been checked and decrypted by the trusted check module is selected as a new target storage module, and the control target storage module is connected to the trusted check module through the first logical switching module.

10. The method of claim 9, wherein, The secure startup method of the baseboard management controller further comprises the following steps: In the case that the first check result corresponding to the power-on startup firmware stored in each first storage module indicates that the check fails, or in the case that the power-on result instruction corresponding to the power-on startup firmware stored in each first storage module that passes the check indicates that the power-on fails, a backup power-on strategy is executed; Wherein, the backup power-on strategy comprises: The second storage module is controlled to be connected to the trusted check module through the first logical switching module, so that the backup power-on startup firmware stored in the second storage module is transmitted to the trusted check module, and the trusted check module performs digest check on the backup power-on startup firmware to obtain a second check result; In the case that the second check result indicates that the check is successful, the trusted check module is controlled to perform error correction calculation and decryption calculation on the backup power-on startup firmware to obtain an original backup power-on startup firmware; The two second connection ends of the second logical switching module are controlled to be loop-connected; The trusted calculation module is controlled to perform encryption calculation, error correction encoding and digest generation on the original backup power-on startup firmware to obtain a restored backup power-on startup firmware; The control target storage module is controlled to be connected to the trusted calculation module through the first logical switching module, so that the restored backup power-on startup firmware is written into the target storage module, and then the control target storage module is connected to the trusted check module through the first logical switching module.

Citation Information

Patent Citations

  • Server firmware starting method and terminal

    CN115904831A

  • Power-on starting method and device based on substrate management controller system, electronic equipment and computer readable storage medium

    CN118860758A

  • Server startup verification system

    CN119293803A