A key negotiation method and system for BMC

By setting up a cryptographic operation module in the BMC system, using time information and random numbers to generate keys, avoiding user interface involvement, and employing a symmetric encryption algorithm, the problems of long key negotiation time and leakage risk in BMC are solved, thereby improving security and communication efficiency.

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

Patent Information

Application Number
CN202511485297.X
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

In the current BMC field, key negotiation requires the participation of the user-side interface and uses asymmetric cryptographic algorithms, resulting in long negotiation times and the risk of data leakage.

Method used

In the BMC system, a cryptographic operation module is set up for each BMC main controller or sub-controller. These modules are connected through a communication bus, and an initial key is generated using time information and updated with random numbers. User interface involvement is avoided, and a symmetric encryption algorithm is used for negotiation.

Benefits of technology

It improves the security and reliability of key negotiation, avoids the risk of leakage, reduces the system's requirements for communication bus interfaces and protocols, and improves the flexibility and versatility of communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120956420B_ABST
    Figure CN120956420B_ABST
Patent Text Reader

Abstract

This application relates to a key negotiation method and system for BMC. In a key negotiation system for a BMC with multiple BMC main controllers / host computers and multiple BMC sub-controllers, corresponding cryptographic operation modules are set up. Key negotiation is achieved between the cryptographic operation modules of both parties, avoiding the risk of leakage caused by user interface involvement in key negotiation. The source and destination devices complete the initial key setting based on consistent time information and use random numbers to update the key, avoiding the use of computationally intensive asymmetric cryptographic algorithms for key negotiation. Moreover, the key is bound to the device itself, enabling data isolation between different devices, preventing data leakage caused by accidental reception, and improving security and reliability. Multiple cryptographic operation modules are connected through a communication bus, improving communication flexibility and versatility.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of key negotiation technology, and in particular to a key negotiation method and a key negotiation system for BMC. Background Technology

[0002] The Baseboard Management Controller (BMC) system is a crucial system for managing various computing, storage, and server chassis clusters. The security and reliability of its data are of paramount importance to the data security and stable operation of the chassis cluster.

[0003] Encrypted data exchange technology, as one of the most widely used communication technologies in the field of information security, plays an irreplaceable role in communication security. Key negotiation technology, as an indispensable part of encrypted data exchange technology, is crucial to the security and reliability of the encrypted data exchange system. Currently, in the BMC field, most key negotiations require the participation of the user-side interface and often involve asymmetric cryptographic algorithms with large matrix multiplication operations (such as RSA / ECC). This results in long key negotiation times, unsuitability for digital logic circuit implementation, and the risk of data leakage. Summary of the Invention

[0004] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.

[0005] The main objective of this disclosure is to propose a key negotiation method and system for BMC, which can avoid the risk of leakage caused by user interface participation in key negotiation and improve security and reliability.

[0006] The first aspect of this application proposes a key negotiation method for a BMC (Browser Control Center), applied in the cryptographic operation module of the source device of a BMC key negotiation system, wherein the BMC key negotiation system includes:

[0007] Multiple BMC master controllers, multiple BMC sub-controllers, and multiple cryptographic operation modules connected via a communication bus; each cryptographic operation module is communicatively connected to a corresponding BMC master controller or a corresponding BMC sub-controller; the source device can be any BMC master controller or any BMC sub-controller.

[0008] The key negotiation method of the BMC includes:

[0009] In response to the first initial startup signal, first time information is generated, and a first initial key bound to the destination device is generated based on the first time information; the source device and the destination device are any set of BMC master controllers and BMC sub-controllers.

[0010] Generate a first random number, and generate a first update key bound to the target device based on the first random number;

[0011] Based on the first update key and the first initial key, a first plaintext data packet is generated, and the first plaintext data packet is encrypted based on the first initial key to obtain a first ciphertext data packet;

[0012] The first ciphertext data packet is sent to the cryptographic processing module of the destination device, so that the cryptographic processing module of the destination device decrypts the first ciphertext data packet according to the second initial key bound to the source device to obtain the first plaintext data packet. The first update key and the first initial key are separated from the first plaintext data packet. If the first initial key and the second initial key are verified to be consistent, the first update key is bound to the source device and an update success signal is generated. The second initial key is a key that is consistent with the first initial key, generated based on second time information that is consistent with the first time information. The second time information is generated by the cryptographic processing module of the destination device.

[0013] Receive the update success signal sent by the cryptographic operation module of the destination device.

[0014] This embodiment provides a key negotiation method for BMC, which has at least the following advantages:

[0015] This embodiment sets up a cryptographic operation module for each BMC main controller / host computer or each BMC sub-controller in a key negotiation system with multiple BMC main controllers / host computers and multiple BMC sub-controllers. Key negotiation is achieved between the cryptographic operation modules of both parties, avoiding the risk of leakage caused by the user interface participating in key negotiation. The source device and the destination device complete the initial key setting based on consistent time information and use random numbers to update the key, which avoids the use of computationally intensive asymmetric cryptographic algorithms for key negotiation. The key between the source device and the destination device is bound to the device itself, which enables data isolation between different devices, avoids data leakage caused by misreceived data, and improves security and reliability. Multiple cryptographic operation modules are connected through a communication bus, which reduces the system's requirements for communication bus interfaces and protocols, and also improves the flexibility and versatility of communication.

[0016] A second aspect of this application provides a key negotiation system for a BMC, the key negotiation system for the BMC comprising:

[0017] Multiple BMC master controllers;

[0018] Multiple BMC sub-controllers;

[0019] Multiple cryptographic operation modules are connected via a communication bus. Each cryptographic operation module is connected to a corresponding BMC main controller or a corresponding BMC sub-controller.

[0020] The cryptographic processing module of the source device includes:

[0021] The key update module is used to respond to the first initial start signal, generate first time information, generate a first initial key and a first random number based on the first time information, generate a first update key based on the first random number, and generate a first plaintext data packet based on the first update key and the first initial key.

[0022] A key buffer is used to store the first initial key, the first updated key, the second initial key, and the second updated key, and is bound to the destination device; the source device and the destination device are any set of BMC master controllers and BMC sub-controllers;

[0023] The encryption module is used to encrypt the first plaintext data packet according to the first initial key to obtain the first ciphertext data packet;

[0024] The device address packet assembly module is used to send the first encrypted data packet and the generated update success signal to the cryptographic operation module of the destination device;

[0025] The device address unpacking module is used to receive the second ciphertext data packet; the second ciphertext data packet is obtained by encrypting the second key data packet based on the second initial key, the second initial key is a key generated based on the second time information that is consistent with the first time information and is consistent with the first initial key, the second key data packet is a key data packet generated based on the second update key and the second initial key, the second update key is a key generated based on the second random number, and the second time information and the second random number are generated based on the cryptographic operation module of the destination device;

[0026] The decryption module is used to decrypt the second ciphertext data packet according to the first initial key to obtain the second plaintext data packet, separate the second update key and the second initial key, verify whether the first initial key and the second initial key are consistent, and generate the update success signal.

[0027] This embodiment provides a key negotiation system for BMC, which has at least the following advantages:

[0028] This embodiment sets up a cryptographic operation module for each BMC main controller / host computer or each BMC sub-controller in a key negotiation system with multiple BMC main controllers / host computers and multiple BMC sub-controllers. Key negotiation is achieved between the cryptographic operation modules of both parties, avoiding the risk of leakage caused by the user interface participating in key negotiation. The source device and the destination device complete the initial key setting based on consistent time information and use random numbers to update the key, which avoids the use of computationally intensive asymmetric cryptographic algorithms for key negotiation. The key between the source device and the destination device is bound to the device itself, which enables data isolation between different devices, avoids data leakage caused by misreceived data, and improves security and reliability. Multiple cryptographic operation modules are connected through a communication bus, which reduces the system's requirements for communication bus interfaces and protocols, and also improves the flexibility and versatility of communication.

[0029] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0030] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0031] Figure 1 This is a schematic diagram of the key negotiation system for BMC provided in the embodiments of this application;

[0032] Figure 2 This is a structural diagram of the key operation module provided in an embodiment of this application;

[0033] Figure 3 This is a structural diagram of the interface data processing module provided in the embodiments of this application;

[0034] Figure 4 This is a structural diagram of the key update module provided in an embodiment of this application;

[0035] Figure 5 This is a structural diagram of the key generation and packet assembly module provided in the embodiments of this application;

[0036] Figure 6 This is a structural diagram of the encryption module provided in an embodiment of this application;

[0037] Figure 7 This is a structural diagram of the decryption module provided in an embodiment of this application;

[0038] Figure 8 This is a structural diagram of the device address packet assembly module provided in the embodiments of this application;

[0039] Figure 9 This is a structural diagram of the device address unpacking module provided in the embodiments of this application. Detailed Implementation

[0040] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0041] 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.

[0042] 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, be constructed or function in a specific orientation, and therefore should not be construed as a limitation of this application.

[0043] like Figure 1 One embodiment of this application provides a key negotiation method for a BMC (Browser Control Center), applied in the cryptographic operation module of the source device of a BMC key negotiation system. The BMC key negotiation system includes:

[0044] Multiple BMC master controllers (or host computers);

[0045] Multiple BMC sub-controllers;

[0046] Multiple cryptographic operation modules are connected via a communication bus; each cryptographic operation module is communicatively connected to a corresponding BMC master controller or a corresponding BMC sub-controller; the source device can be any BMC master controller or any BMC sub-controller.

[0047] by Figure 1 For example, Figure 1The system contains *a* multiple BMC main controllers / host computers, *b* multiple BMC sub-controllers, and *a* plus *b* cryptographic operation modules. The BMC main controllers / host computers, or BMC sub-controllers, are connected to their corresponding cryptographic operation modules via a user interface. Multiple cryptographic operation modules are connected via a communication bus, which can also be used to connect to external devices. These cryptographic operation modules include, but are not limited to, FPGAs, CPLDs, CPUs, MCUs, GPUs, digital circuits, dedicated chip circuits, FLASH, EEPROMs, random number chips, clock chips, etc., and / or a combination of these, and can perform logical operations, data caching, data storage, and data interaction.

[0048] This application embodiment uses the BMC main controller / host computer 1 as the source device and a corresponding BMC sub-controller 1 as the destination device. The BMC key negotiation method includes:

[0049] Step S110: In response to the first initial start signal, generate first time information, and generate a first initial key bound to the destination device based on the first time information; the source device and the destination device are any set of BMC master controllers and BMC sub-controllers.

[0050] In this embodiment, the first initial startup signal can be a power-on signal from the source device's cryptographic processing module or a startup signal initiated by the destination device's cryptographic processing module. In response to the first initial startup signal, a first time information is actively generated. Based on the first time information, a first initial key is generated, which serves as the initial key for key negotiation between the source and destination devices. Simultaneously, the destination device's cryptographic processing module also generates a second time information consistent with the first time information. This second time information is used to generate a second initial key for the destination device, which is consistent with the first initial key. This embodiment is described from the perspective of the source device's cryptographic processing module sending an updated key to the destination device's cryptographic processing module and receiving an update completion signal from the other party. Similarly, the process of the destination device's cryptographic processing module sending an updated key to the source device's cryptographic processing module and receiving an update completion signal from the other party is handled in the same way.

[0051] In some embodiments, since key negotiation can be performed between any group of BMC main controllers / host computers and BMC sub-controllers, in order to improve the accuracy of key usage, after generating the first initial key, the first initial key is bound to the destination device. This can be achieved by setting up a cache area and then setting up partitions in the cache area. This partition serves as the key storage area corresponding to the destination device, mainly used to store the key for key negotiation with the device.

[0052] In this embodiment, there are many ways to generate an initial key based on time information, and no specific limitation is made here.

[0053] Step S120: Generate a first random number, and generate a first update key bound to the destination device based on the first random number.

[0054] This embodiment updates the key by generating random numbers, which ensures the randomization of key generation. There are many ways to generate random numbers to generate keys, and no specific limitation is made here.

[0055] Step S130: Generate a first plaintext data packet based on the first update key and the first initial key, and encrypt the first plaintext data packet based on the first initial key to obtain a first ciphertext data packet.

[0056] In step S130, the first update key and the first initial key are combined into a packet to obtain the first plaintext data packet. Then, the data packet is encrypted based on the first initial key. The encryption method here includes, but is not limited to, symmetric encryption algorithms such as SM4, AES, and DES.

[0057] Step S140: The first ciphertext data packet is sent to the cryptographic processing module of the destination device, so that the cryptographic processing module of the destination device decrypts the first ciphertext data packet according to the second initial key bound to the source device to obtain the first plaintext data packet. The first update key and the first initial key are separated from the first plaintext data packet. If the first initial key and the second initial key are verified to be consistent, the first update key is bound to the source device and an update success signal is generated. The second initial key is a key that is consistent with the first initial key, generated based on second time information that is consistent with the first time information. The second time information is generated by the cryptographic processing module of the destination device.

[0058] The source device's cryptographic module sends the first ciphertext data packet to the destination device's cryptographic module. The destination device's cryptographic module then decrypts the first ciphertext data packet using a pre-generated second initial key (identical to the first initial key). This decryption method is the reverse of the encryption method and will not be elaborated further. Next, the first update key and the first initial key are extracted from the first plaintext data packet. After verifying that the first and second initial keys match, the first update key is bound to the source device, for example, by storing it in the buffer of the destination device's cryptographic module. The destination device's cryptographic module then generates an update success signal and sends it to the source device's cryptographic module.

[0059] Step S150: Receive the update success signal sent by the cryptographic operation module of the destination device.

[0060] In this step, upon receiving the signal, it is known that the other party has completed the key negotiation and can initiate the subsequent key update.

[0061] The key negotiation method for BMC provided in this embodiment has at least the following beneficial effects:

[0062] 1) In the key negotiation system of BMC with multiple BMC main controllers / host computers and multiple BMC sub-controllers, a cryptographic operation module is set up for each BMC main controller / host computer or each BMC sub-controller. Key negotiation is achieved through the cryptographic operation modules of both parties, which can avoid the leakage caused by the user interface participating in key negotiation, and improve security, reliability and key negotiation speed.

[0063] 2) The source and destination devices set their initial keys based on consistent time information and update the keys using random numbers. This avoids the need for computationally intensive asymmetric cryptographic algorithms for key negotiation, thus improving security and reliability.

[0064] 3) Multiple cryptographic operation modules are connected via a communication bus, which reduces the system's requirements for communication bus interfaces and protocols, and can improve the flexibility and versatility of communication;

[0065] 4) The key between the source device and the destination device is bound to the device itself, which enables data isolation between different devices and avoids data leakage caused by accidental reception.

[0066] In some embodiments of this application, before generating the first random number in step S120 and generating the first update key bound to the destination device based on the first random number, the method further includes:

[0067] Step S210: Generate a key initialization package.

[0068] Step S220: Send the key initialization packet to the cryptographic operation module of the destination device so that the cryptographic operation module of the destination device generates a second initial start signal, generates second time information based on the second initial start signal, and generates a second initial key bound to the source device based on the second time information.

[0069] In this embodiment, a key initialization packet is generated by the cryptographic operation module of the source device and then sent to the cryptographic operation module of the destination device. This causes the cryptographic operation module of the destination device to generate a second initial start signal, generate second time information based on the second initial start signal, and generate a second initial key bound to the source device based on the second time information. This ensures that the first initial key and the second initial key between the cryptographic operation modules of the source device and the destination device are consistent.

[0070] In some embodiments of this application, step S130, generating the first plaintext data packet based on the first update key and the first initial key, includes:

[0071] Step S1310: The first update key and the first initial key are out of order and encoded to obtain the first out-of-order data packet.

[0072] Step S1320: Combine the first out-of-order data packet with the key update feature sequence to obtain the updated key data packet.

[0073] Step S1330: Perform digest calculation on the update key data packet to obtain the first digest data.

[0074] Step S1340: Combine the first digest data with the first update key data packet to obtain the first plaintext data packet.

[0075] Step S140, which involves separating the first update key and the first initial key from the first plaintext data packet, includes:

[0076] In step S1410, the cryptographic operation module of the destination device performs digest authentication on the first digest data in the first plaintext data packet, and after the digest authentication is completed, detects the key update feature sequence in the first plaintext data packet, and after the detection is completed, separates the first update key and the first initial key in the first plaintext data packet.

[0077] In this embodiment, key reordering and data digest calculation are added, which can improve the security performance of key negotiation.

[0078] In some embodiments of this application, after binding the first update key to the source device and generating an update success signal in step S140, the method further includes:

[0079] The cryptographic operation module of the destination device generates a feedback sequence based on the update success signal, performs digest calculation on the feedback sequence to obtain the second digest data; it assembles the second digest data and the update success signal into a packet to obtain the second plaintext data packet, and encrypts the second plaintext data packet with the first update key to obtain the second ciphertext data packet, and sends the second ciphertext data packet to the cryptographic operation module of the source device.

[0080] The step S150 of receiving the update success signal sent by the cryptographic operation module of the destination device includes:

[0081] Step S1510: Receive the second encrypted data packet.

[0082] Step S1520: Decrypt the second ciphertext data packet according to the first update key to obtain the second plaintext data packet.

[0083] Step S1530: Perform digest authentication on the feedback sequence in the second plaintext data packet, and obtain the update success signal in the second plaintext data packet after digest authentication is completed.

[0084] In this embodiment, after the cryptographic operation module of the destination device generates an update success signal, a digest calculation of the feedback sequence is added, then the packet is reassembled and encrypted again, and finally sent to the cryptographic operation module of the source device. This can increase the security of the update success signal transmission.

[0085] In some embodiments of this application, after receiving the update success signal sent by the cryptographic operation module of the destination device in step S150, the method further includes:

[0086] Step S310: Generate a second random number and a third random number.

[0087] Step S320: Generate the key update time based on the third random number.

[0088] Step S330: If the key update time is reached, generate the latest update key bound to the destination device based on the second random number.

[0089] It should be noted that this embodiment only describes the key update time and the generation of the latest updated key. After the latest updated key is generated, the key transmission process can continue to be performed in a similar manner to steps S120 to S150 above, so as to achieve stable key updates between the two parties.

[0090] In this embodiment, two different random numbers are generated. One random number is used to determine the key update start time through targeted filtering, while the other random number is used as the initial random number for updating the key. This process can achieve randomization of the key update time and the key generation, thereby enabling automatic key generation and automatic negotiation.

[0091] In some embodiments of this application, after receiving the update success signal sent by the cryptographic operation module of the destination device in step S150, the method further includes:

[0092] Step S410: Receive the first payload data sent by the source device.

[0093] Step S420: Perform digest calculation based on the first payload data to obtain the second digest data of the first payload data, and package the second digest data and the first payload data into a third plaintext data packet.

[0094] Step S430: Encrypt the third plaintext data packet according to the first update key bound to the destination device to obtain the third ciphertext data packet.

[0095] Step S440: Send the third ciphertext data packet to the cryptographic processing module of the destination device.

[0096] This embodiment describes the data interaction (data reception) process between the cryptographic processing module of the source device and the source device via a user interface. After receiving the payload data sent by the source device, the cryptographic processing module of the source device performs digest calculation and encryption with a key before sending it to the cryptographic processing module of the destination device along the communication bus. The process between the cryptographic processing module of the destination device and the destination device via a user interface is similar and will not be detailed here.

[0097] In some embodiments of this application, after sending the third ciphertext data packet to the cryptographic processing module of the destination device in step S440, the method further includes:

[0098] In step S510, the cryptographic operation module of the destination device reads the first update key bound to the source device.

[0099] In step S520, the cryptographic operation module of the destination device decrypts the third ciphertext data packet according to the first update key to obtain the third plaintext data packet.

[0100] In step S530, the cryptographic processing module of the destination device performs digest authentication on the third plaintext data packet, and after the digest authentication is completed, sends the third plaintext data packet to the destination device.

[0101] This embodiment describes the data exchange (data transmission) process between the cryptographic processing module of the destination device and the destination device through a user interface. After receiving the third-party ciphertext data packet, the cryptographic processing module of the destination device decrypts and performs digest authentication before sending it to the destination device via the user interface. The process between the cryptographic processing module of the source device and the source device through the user interface is similar and will not be detailed here.

[0102] For ease of understanding, such as Figures 1 to 9 One embodiment of this application provides a key negotiation system for BMC:

[0103] 1) One BMC main controller / host computer module;

[0104] 2) b BMC sub-controller modules;

[0105] 3)(a+b) User interface modules; The user interface is the communication channel between the user (BMC main controller / host computer module, BMC sub-controller module) and this cryptographic operation module, including but not limited to UART, SPI, QSPI, CAN, I2C, USB, SDIO, network interface, PCIE, Aurora, SRIO, AXI, AHB, APB and other on-chip / off-chip communication interfaces that can realize information exchange.

[0106] 4)(a+b) cryptographic operation modules; the cryptographic operation module is the core functional body of this system, and its implementation methods include, but are not limited to, FPGA, CPLD, CPU, MCU, GPU, digital circuit, dedicated chip circuit, FLASH, EEPROM, random number chip, clock chip, etc. / or several of the above, which can realize logical operation, data caching, data storage, data interaction and other functional bodies such as devices, circuits, software methods.

[0107] 5) One communication bus / network module. The communication bus / network is a network that enables data exchange between two or more users, devices, or equipment, including but not limited to UART, SPI, QSPI, CAN, I2C, USB, SDIO, network interface, PCIE, Aurora, SRIO, AXI, AHB, APB, and other on-chip / off-chip communication interfaces that enable information interaction.

[0108] The following is a detailed introduction to the cryptographic operation module:

[0109] like Figure 2 As shown, each cryptographic operation module includes: 1 interface data processing module, 1 device address update module, 1 key update module, 1 encryption module, 1 key buffer module, 1 decryption module, 1 device address packet assembly module, 1 device address storage module, 1 device address unpacking module, and 1 bus status monitoring module.

[0110] like Figure 3 As shown, the interface data processing module includes: one ID authentication module, one data processing module, one device address configuration data module, one data transmission buffer module, and one data reception module.

[0111] like Figure 4 As shown, the key update module includes: one initialization control module, one natural time module, one initial key generation module, one key update control module, one random number module 1, one random number module 2, and one key generation and packet assembly module.

[0112] like Figure 5As shown, the key generation and packet assembly module includes: a digest algorithm module, a new and old key scrambling encoding module, and a feature sequence addition packet assembly module.

[0113] like Figure 6 As shown, the encryption module includes: a key receiving feedback feature sequence module, a digest algorithm module, and an encryption algorithm module.

[0114] like Figure 7 As shown, the decryption module includes: a decryption algorithm module, a digest verification module, a feature sequence detection module, and a key data stripping module.

[0115] like Figure 8 As shown, the device address packet assembly module includes: one out-of-order encoding module, one initialization feature sequence module, and one address packet assembly module.

[0116] like Figure 9 As shown, the device address unpacking module includes: one address detection module, one initialization feature sequence detection module, and one reordering decoding module.

[0117] like Figure 3 As shown, the interface data processing module performs ID authentication on data sent from the user interface, parses valid data to obtain sent data or device address configuration data, and then sends the sent data to the sent data cache module; it performs necessary processing on received data (such as bit width conversion, user interface address mapping, etc.) before uploading it to the user interface. The device address update module processes the device address configuration data sent from the interface data processing module (such as bit width conversion, address mapping) and writes it to the device address storage area.

[0118] like Figure 4 As shown, the key update module implements the functions of initialization configuration of the encrypted data link, key random update configuration, and key expiration re-initialization configuration. Specifically: the natural time module is a functional module capable of generating consistent time information, such as a clock chip, and should ensure that the natural time module in the n cryptographic operation modules can produce consistent time information output; random number module 1 and random number module 2 are functional modules capable of generating random / pseudo-random numbers, such as random number chips. The initial key generation module is the core module for key negotiation. It uses the consistent time information generated by the natural time module to generate a consistent initial key between the two corresponding BMC systems, and then the key update module uses this initial key for formal key negotiation processing.

[0119] like Figure 6As shown, the encryption module performs tasks such as generating a receive update key feedback signal, calculating and adding a digest, and performing encryption calculations on the transmitted data. The encryption algorithm is a symmetric cryptographic algorithm, including but not limited to SM4, AES, and DES. The encryption key used for the encryption calculation needs to be read from the key buffer module according to the address of the target device of the transmitted data.

[0120] like Figure 2 As shown, the key buffer module is a volatile storage medium that is lost when power is off, including but not limited to RAM, SRAM, DRAM, SDRAM, DDR, etc., which implements cache management of sending encryption keys and receiving decryption keys for different device addresses.

[0121] like Figure 7 As shown, the decryption module performs decryption calculations on received data, digest verification, decryption failure feedback, key update data reception and stripping, and generates a signal indicating successful key update reception at the peer end. The decryption algorithm is a symmetric cryptographic algorithm, including but not limited to SM4, AES, and DES. The decryption key used for the decryption calculation must be read from the key buffer module based on the address of the sending source device.

[0122] like Figure 8 As shown, the device address packet assembly module implements the disordered encoding of encrypted input data, adds packets to the local source device address and the destination device address, and initializes the generation and transmission of the feature sequence.

[0123] like Figure 2 As shown, the device address storage module is a non-volatile storage medium that does not lose data when power is off, including but not limited to Flash, EEPROM, disk, optical disk, solid-state drive, etc., which stores the local source device address and the addresses of all other devices. The device address user interface can update the device address through specific commands.

[0124] like Figure 9 As shown, the device address unpacking module performs target device address filtering, initialization feature detection, initialization start signal generation, and sequence encoding processing of received ciphertext data for receiving data packets.

[0125] like Figure 2 As shown, the bus status monitoring module implements: monitoring / network status, receiving the initialization start signal of the address unpacking module, receiving the decryption failure signal of the decryption module (when the decryption failure occurs more than the preset number, it is determined that the target device's receiving decryption key is invalid, and the sender needs to be notified to start the key initialization process), sending the initialization start signal to the device address packet assembly module (sending the initialization start signal to the peer target device), and sending the key initialization start signal to the key update module.

[0126] The initialization process of this system includes the following steps (taking the initialization process between the BMC main controller / host computer 1 module and the BMC sub-controller 1 as an example):

[0127] In step S901, after the bus status monitoring module of the cryptographic operation module 1 receives the power-on signal of the cryptographic operation module (a+1) in the network or receives the initialization start signal of the cryptographic operation module (a+1) sent by the device address unpacking module, it sends a key initialization start signal to the key update module and a key initialization start signal to the device address packet assembly module.

[0128] In step S902, in the key update module of the cryptographic operation module 1, after receiving the key initialization start signal, the initialization control module sends a key update prohibition signal to the key update control module, and at the same time controls the natural time module to generate the first time information.

[0129] In step S903, simultaneously with step S902, the device address grouping module of cryptographic operation module 1 sends the key initialization packet to cryptographic operation module (a+1) after forming the key initialization packet.

[0130] After receiving the key initialization packet, the device address unpacking module of the cryptographic operation module (a+1) generates an initialization start signal through feature sequence detection and sends it to the bus status monitoring module. Similar to steps S901 and S902, the bus status monitoring module of the cryptographic operation module (a+1) sends the initialization start signal to the key update module, and then generates second time information through the initialization control module and the natural time module. Since the actions of generating time information by the cryptographic operation module 1 and the natural time module in the cryptographic operation module (a+1) are related, within a certain time scale (such as milliseconds, seconds, minutes, etc.), the two first time information and second time information data can be considered to be the same, and thus the generated key is consistent.

[0131] In step S904, the initial key generation modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) generate the same initial key using time information data and write it into the corresponding position in the key buffer to achieve address binding with the corresponding device. Then, each sends a key update start signal to the key update control module.

[0132] In step S905, after receiving the key update start signal, the key update control modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) control their respective random number modules 2 to generate their own different random numbers 2 and send them to the digest algorithm 1 module in their respective key generation and packet assembly modules.

[0133] In step S906, the respective digest algorithm 1 modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) generate or truncate fixed-length digest data using the random number 2 they receive, and send it to their respective key buffer module and the new and old key disorder encoding module.

[0134] In step S907, the new and old key scrambling encoding modules in cryptographic operation module 1 and cryptographic operation module (a+1) send the data packets after scrambling the received updated key and the read old key to their respective feature sequence addition packet assembly modules.

[0135] In step S907, the feature sequence addition module of each of the cryptographic operation module 1 and the cryptographic operation module (a+1) adds the key update feature sequence to the mixed key data packet to obtain their respective updated key information packets, and then sends them to the digest algorithm 2 module in their respective encryption modules.

[0136] In step S908, the digest algorithm 2 modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) respectively perform digest calculation on the received updated key information packet, add the obtained digest data to the key information packet for repackaging, and then send the obtained key update information packet to their respective encryption algorithm modules.

[0137] In step S910, the encryption algorithm modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) respectively use their respective initialization key data to perform encryption operation on the received key update information packet, and obtain their respective key update ciphertext data packets, and send them to the out-of-order encoding module in their respective device address packet grouping module.

[0138] In step S911, the scrambling encoding modules in cryptographic operation module 1 and cryptographic operation module (a+1) scramble the received ciphertext data packets and output them to their respective address packet assembly modules.

[0139] In step S912, the address packet assembly module in the cryptographic operation module 1 adds address data (with the source address of the cryptographic operation module 1 device address and the destination address of the cryptographic operation module (a+1) device address) to the received out-of-order ciphertext packet, and then sends the data packet to the communication bus / network. At the same time, the address packet assembly module in the cryptographic operation module (a+1) adds address data (with the source address of the cryptographic operation module (a+1) device address and the destination address of the cryptographic operation module 1 device address) to the received out-of-order ciphertext packet, and then sends the data packet to the communication bus / network.

[0140] In step S913, after receiving the data packet, the address detection module in the device address unpacking module of each of the cryptographic operation module 1 and the cryptographic operation module (a+1) first performs destination address detection. If the destination address does not match the local address, it is discarded. Otherwise, it enters the initialization feature sequence detection module. If it is detected that it is not an initialization packet, it continues to enter the respective sequencing decoding module and obtains the respective key update ciphertext data packet. Then, it sends the data packet to the decryption algorithm module in the respective decryption module.

[0141] In step S914, the decryption algorithm modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) read their respective initialization key data according to the source address information in the received key update ciphertext data packet, and use it to perform decryption operation on their respective ciphertext data parts. They then send the plaintext data obtained to their respective digest verification module 2 for signature authentication. After successful verification, they send the data to their respective feature sequence detection module.

[0142] In step S915, after receiving the plaintext data packet, the feature sequence detection modules in cryptographic operation module 1 and cryptographic operation module (a+1) detect that it is a key update data packet and send it to their respective key data stripping modules.

[0143] In step S926, the key data stripping modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) strip the updated key data and the old key data from the received mixed key data. They then compare their respective old key data with their respective stored old key data. If they match, they send their respective updated key data to the key buffer bound to the source device address. At the same time, they each generate an updated key reception success signal and send it to the key reception feedback feature sequence module in their respective encryption modules.

[0144] In step S917, after receiving the signal, the key receiving feedback feature sequence modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) generate their respective feedback sequences and send them to their respective digest algorithm 2 modules for digest calculation and packet assembly. Then, the data obtained by each module is encrypted using the encryption key through the encryption algorithm module, and the ciphertext data packets obtained by each module are sent to their respective device address packet assembly modules.

[0145] In step S918, the processing in the device address packet assembly modules of the cryptographic operation module 1 and the cryptographic operation module (a+1) is the same as in step S912, and will not be repeated here. Then, the obtained data packet is sent to the communication bus / network module.

[0146] In step S919, after receiving the feedback data packet sent by the cryptographic operation module 1, the device address unpacking modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) respectively send their respective ciphertext data packets to the decryption algorithm module in their respective decryption modules.

[0147] In step S920, after receiving the data packet, the decryption algorithm modules in the cryptographic operation module 1 and the cryptographic operation module (a+1) respectively pass through the decryption algorithm module, the digest verification module 2 and the feature sequence detection module in sequence to generate a peer update key reception success signal, and each sends it to the key update control module.

[0148] In step S921, after receiving the successful key update signal from the peer, the key update control modules in both cryptographic operation module 1 and cryptographic operation module (a+1) generate an update key enable signal and send it to their respective key mixing areas. At this point, the key initialization between cryptographic operation module 1 and cryptographic operation module (a+1) is complete.

[0149] By repeating the above steps between each BMC main controller / host computer module and each BMC sub-controller module, the key initialization of the entire system can be completed.

[0150] It should be noted that the key update process of this system is similar to the initialization process described above, and will not be repeated here. The difference is that a random number module 1 is added, and the key update is based on the random number 1 generated by the random number module 1. The key update start time is determined by the directional filtering of the key update control module, which then controls the random number module 2 to generate the initial random number for the update key. The other steps are similar.

[0151] It should be noted that the data transmission process of this system is similar to the key update data transmission process in the initialization process described above, and will not be repeated here. The difference lies in that the data source for the encryption module is the payload data from the user interface in the interface data processing module; other steps are similar. For example... Figure 2 The interface processing module receives the payload data, processes it internally, and then sends it to the encryption module. The encryption module uses the key to encrypt the data, and then sends it to the device address packet assembly module. The address is then used to assemble the packet, and finally the data is sent.

[0152] It should be noted that the data receiving process of this system is similar to the key update data receiving process in the initialization process described above, and will not be repeated here. The difference is that the feature sequence detection module in the decryption module receives the plaintext data packet, which is then sent to the interface data processing module and finally reaches the user interface. The other steps are similar.

[0153] This embodiment has at least the following beneficial effects:

[0154] (1) The system requires less computational resources and is suitable for direct implementation using digital circuits; the natural time module is used in conjunction with the digest algorithm to generate the initial key, and then the initial key is used for key negotiation of the formal key, thus avoiding the use of computationally intensive asymmetric cryptographic algorithms for key negotiation;

[0155] (2) User-level imperceptible encryption / decryption processing and automatic key negotiation avoid leakage caused by user interface participation in key negotiation, thereby improving the security and reliability of the system and the speed of key negotiation;

[0156] (3) Use two random number communication buses / pseudo-random number modules to realize the randomization of key update time and key generation, thereby realizing automatic key generation and automatic negotiation;

[0157] (4) The encryption key for sending data and the decryption key for receiving data are different. The encryption key for sending data is different for different devices, which makes data isolation between different devices and avoids data leakage caused by accidental reception; thus, the system has strong versatility and scalability.

[0158] (5) By binding keys and negotiating keys through device addresses, the main controller and sub-controllers of the BMC system can communicate conveniently and flexibly through the network in the form of data packets, which reduces the system's requirements for interfaces and protocols and improves the flexibility and versatility of communication.

[0159] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims. All of these forms are within the protection scope of the present invention.

Claims

1. A method for key agreement of a BMC, characterized in that, The cryptographic operation module of a source device of a key agreement system applied to a BMC includes: A plurality of BMC master controllers, a plurality of BMC sub-controllers, and a plurality of cryptographic operation modules connected through a communication bus; each cryptographic operation module is in communication connection with a corresponding BMC master controller or a corresponding BMC sub-controller; the source device is any BMC master controller or any BMC sub-controller; The BMC key agreement method includes: In response to a first initial start signal, generating first time information, and generating a first initial key bound to a destination device according to the first time information; the source device and the destination device are any group of BMC master controllers and BMC sub-controllers; Generating a first random number and generating a first update key bound to the destination device according to the first random number; According to the first update key and the first initial key, generating a first plaintext data packet, and encrypting the first plaintext data packet according to the first initial key to obtain a first ciphertext data packet; Sending the first ciphertext data packet to the cryptographic operation module of the destination device, so that the cryptographic operation module of the destination device decrypts the first ciphertext data packet according to the second initial key bound to the source device to obtain the first plaintext data packet, separates the first update key and the first initial key from the first plaintext data packet, and binds the first update key to the source device and generates an update success signal if the first initial key and the second initial key are consistent; the second initial key is a key consistent with the first initial key generated according to second time information consistent with the first time information; the second time information is generated by the cryptographic operation module of the destination device; Receiving the update success signal sent by the cryptographic operation module of the destination device.

2. The BMC's key agreement method of claim 1, wherein, Before the generating a first random number and generating a first update key bound to the destination device according to the first random number, the method further includes: Generating a key initialization packet; Sending the key initialization packet to the cryptographic operation module of the destination device, so that the cryptographic operation module of the destination device generates a second initial start signal, generates the second time information according to the second initial start signal, and generates the second initial key bound to the source device according to the second time information.

3. The BMC's key agreement method of claim 2, wherein, The generating a first plaintext data packet according to the first update key and the first initial key includes: Shuffling the first update key and the first initial key to obtain a first shuffled data packet; Packing the first shuffled data packet and a key update feature sequence to obtain an update key data packet; Performing digest calculation on the update key data packet to obtain a first digest data; Packing the first digest data and the first update key data packet to obtain a first plaintext data packet; The separating the first update key and the first initial key from the first plaintext data packet includes: The cryptographic operation module of the destination device performs digest authentication on the first digest data in the first plaintext data packet, and after the digest authentication is completed, detects a key update feature sequence in the first plaintext data packet, and after the detection is completed, separates the first update key and the first initial key in the first plaintext data packet.

4. The BMC's key agreement method of claim 1, wherein, After the first update key is bound to the source device and the update success signal is generated, the method further includes: The cryptographic operation module of the destination device generates a feedback sequence according to the update success signal, performs digest calculation on the feedback sequence to obtain second digest data, packages the second digest data and the update success signal according to the second digest data and the update success signal to obtain a second plaintext data packet, and encrypts the second plaintext data packet by using the first update key to obtain a second ciphertext data packet, and sends the second ciphertext data packet to the cryptographic operation module of the source device; The cryptographic operation module of the destination device sends the update success signal, including: Receiving the second ciphertext data packet; Decrypting the second ciphertext data packet according to the first update key to obtain a second plaintext data packet; Performing digest authentication on the feedback sequence in the second plaintext data packet, and after the digest authentication is completed, obtaining the update success signal in the second plaintext data packet.

5. The BMC's key agreement method of claim 1, wherein, After the cryptographic operation module of the destination device sends the update success signal, the method further includes: Generating a second random number and a third random number; Generating a key update time according to the third random number; In the case where the key update time is reached, generating a latest update key bound to the destination device according to the second random number.

6. The BMC's key agreement method of claim 1, wherein, After the cryptographic operation module of the destination device sends the update success signal, the method further includes: Receiving the first payload data sent by the source device; Performing digest calculation according to the first payload data to obtain second digest data of the first payload data, and packaging the second digest data and the first payload data into a third plaintext data packet; Encrypting the third plaintext data packet according to the first update key bound to the destination device to obtain a third ciphertext data packet; Sending the third ciphertext data packet to the cryptographic operation module of the destination device.

7. The BMC key agreement method of claim 6, wherein, After the third ciphertext data packet is sent to the cryptographic operation module of the destination device, the method further includes: The cryptographic operation module of the destination device reads the first update key bound to the source device; The cryptographic operation module of the destination device decrypts the third ciphertext data packet according to the first update key to obtain a third plaintext data packet; The cryptographic operation module of the destination device performs digest authentication on the third plaintext data packet, and after the digest authentication is completed, sends the third plaintext data packet to the destination device.

8. A key agreement system of a BMC, characterized by, The system includes: A plurality of BMC main controllers; A plurality of BMC sub-controllers; A plurality of cryptographic operation modules connected through a communication bus, each cryptographic operation module being connected to a corresponding BMC main controller or a corresponding BMC sub-controller; The cryptographic operation module of the source device includes: The key updating module is configured to generate first time information in response to a first initial start signal, generate a first initial key based on the first time information, generate a first random number, generate a first updating key based on the first random number, and generate a first plaintext data packet based on the first updating key and the first initial key; The key buffer area is configured to store the first initial key, the first updating key, a second initial key, and a second updating key and bind the keys with a target device; the source device and the target device are any one of a BMC master controller and a BMC slave controller; The encryption module is configured to encrypt the first plaintext data packet based on the first initial key to obtain a first ciphertext data packet; The device address packetization module is configured to send the first ciphertext data packet and a generated updating success signal to a cryptographic operation module of the target device; The device address unpacking module is configured to receive a second ciphertext data packet; the second ciphertext data packet is a ciphertext data packet obtained by encrypting a second key data packet based on a second initial key, the second initial key is a key consistent with the first initial key and generated based on second time information consistent with the first time information, the second key data packet is a key data packet generated based on a second updating key and the second initial key, and the second updating key is a key generated based on a second random number; the second time information and the second random number are generated based on the cryptographic operation module of the target device; The decryption module is configured to decrypt the second ciphertext data packet based on the first initial key to obtain a second plaintext data packet, separate the second updating key and the second initial key, verify whether the first initial key and the second initial key are consistent, and generate the updating success signal.

9. The BMC's key agreement system of claim 8, wherein, The key updating module in the cryptographic operation module of the source device is further configured to generate a second random number and a third random number, generate a key updating time based on the third random number, and generate a latest updating key based on the second random number when the key updating time is reached. The key buffer area is further configured to store the latest updating key and bind the latest updating key with the target device.

10. The BMC's key agreement system of claim 8, wherein, The cryptographic operation module of the source device further includes an interface data processing module. The interface data processing module is configured to receive a first payload data sent by the source device and send a fourth plaintext data packet to the source device. The encryption module is further configured to perform digest calculation based on the first payload data to obtain second digest data of the first payload data, packetize the second digest data and the first payload data into a third plaintext data packet, and encrypt the third plaintext data packet based on the first updating key to obtain a third ciphertext data packet. The device address packetization module is further configured to send the third ciphertext data packet to the cryptographic operation module of the target device. The device address unpacking module is further configured to receive a fourth cipher-text data packet from the cryptographic operation module of the destination device; the fourth cipher-text data packet is a cipher-text data packet obtained by encrypting a fourth plain-text data packet by the cryptographic operation module of the destination device based on the second update key, the fourth plain-text data packet includes third digest data and second payload data, the second payload data is payload data received by the cryptographic operation module of the destination device from the destination device, and the third digest data is digest data obtained by the cryptographic operation module of the destination device after computing a digest according to the second payload data; The decryption module is further configured to decrypt the fourth cipher-text data packet according to the second update key to obtain a fourth plain-text data packet and perform digest authentication on the fourth plain-text data packet.

Citation Information

Patent Citations

  • Key negotiation method and device and computer readable storage medium

    CN116132033A

  • Sensitive data import and export system and method based on substrate management controller

    CN120408685A