A firmware upgrade and maintenance method and system based on BMC dedicated external interface
Through the external interface and key pairing mechanism of BMC, triggered update of server firmware is realized, solving the problems of complex and low efficiency of firmware update operations in the existing technology, and realizing the effect of hardware plug-and-play update.
Patent Information
- Application Number
- CN202411872733.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-18
- Publication Date
- 2025-04-08
AI Technical Summary
The existing server firmware maintenance update is through the BMC out-of-band network, resulting in complex operations and inefficient efficiency, especially unfriendly to resident personnel.
Access the securely paired device to store firmware through the BMC's external interface, without the need to access the BMC out-of-band network, and realizes firmware trigger updates. The server BMC generates a key pair and stores the private key and firmware through an external interface device. The server BMC checks that the public key and private key pairing will trigger the firmware automatic update.
It realizes plug-and-play update of firmware, simplifies the operation process, improves the efficiency of firmware updates, and does not interfere with the original BMC network and configuration.
Smart Images

Figure CN119781794A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of server firmware upgrade and maintenance, and in particular relates to a firmware upgrade and maintenance method and system based on a BMC dedicated external interface. Background Art
[0002] BMC (Baseboard Management Controller) is an out-of-band stand-alone management system that complies with industry management specifications and communicates through the use of the IPMI (Intelligent Platform Management Interface) intelligent platform management interface. BMC is responsible for remote management, control, and fault diagnosis of servers. BMC monitors and controls system hardware, temperature, voltage, fan, power supply, etc., and makes corresponding adjustments to ensure that the system is in a healthy state; records various hardware information and log records to prompt users and locate subsequent problems; an independent system consisting of a processor, a small system, and management software that can work independently. BMC's southbound interface implements hardware control and monitoring, as shown in the attached Figure 4 shown.
[0003] BMC provides northbound interfaces and human-machine interfaces to meet the application and integration requirements of various server management scenarios. BMC's SoC (System on Chip) runs the BMC system and firmware. BMC's App applications correspond to different service functions, such as Web management HTTP (Hypertext Transfer Protocol) service, alarm monitoring SNMP (Simple Network Management Protocol) service, and redfish standard BMC interface. For specific structure, see the attached Figure 5 shown.
[0004] The existing server firmware maintenance and update is done through the BMC out-of-band network (isolated network), but the production environment network is configured with authentication. BMC out-of-band network access requires IP address, user and password (dynamic password) authorization, which involves configuration changes, is not user-friendly for on-site personnel, and affects the efficiency of upgrade changes. Traditional firmware update process: Client computer configures IP, accesses BMC network, accesses BMC Web through BMC Portal; local Client computer uploads firmware file to BMC space through network, BMC background program updates server; completes firmware update, disconnects client computer.
[0005] Therefore, the present invention improves the existing server firmware maintenance and update through the BMC out-of-band network. A securely paired storage firmware device is accessed through the BMC's external interface, and there is no need to access the BMC out-of-band network to implement firmware triggered update. There is no interference or modification to the original BMC network and configuration, thus implementing hardware "plug and play update". Summary of the invention
[0006] The purpose of the present invention is to provide a firmware upgrade maintenance method and system based on a dedicated external interface of BMC, so as to improve the existing server firmware maintenance and update through the BMC out-of-band network, access a securely paired storage firmware device through the external interface of BMC, and implement firmware triggered update without accessing the BMC out-of-band network, and there is no interference modification to the original BMC network and configuration, so as to implement hardware "plug and play update".
[0007] In order to solve the above technical problems, the technical solution adopted by the present invention is as follows:
[0008] A firmware upgrade and maintenance method based on a BMC dedicated external interface comprises the following steps:
[0009] S1: deploy an external interface device in the server and enable a firmware update function of the external interface device through the server BIOS;
[0010] S2: The server BMC or centralized BMC management software generates a key pair, which includes a public key and a private key. The private key is sent to each server BMC, and the public key is downloaded for making and upgrading storage devices.
[0011] S3: the external interface device stores the private key and the corresponding firmware at the same time;
[0012] S4: After the external interface device stores the specified firmware, the external interface device is connected to the dedicated port of the BMC;
[0013] S5: The server BMC checks the pairing of the public key and the private key. When the public key and the private key are matched successfully, the automatic firmware update is triggered. When the automatic firmware update is completed, the external interface device is removed.
[0014] Preferably, the external interface device includes a USB device or an HDMI device or a DP device or a Thunderbolt device.
[0015] Preferably, the specific process of the server BMC or centralized BMC management software generating the key pair and distributing the key pair in step S2 is as follows:
[0016] S21: The server BMC or the centralized BMC management software generates a random number as a key seed through a specified algorithm, where the key seed is randomly generated and meets a specified complexity;
[0017] S22: Based on the key seed, the server BMC or the centralized BMC management software generates a key pair, and stores the generated key pair in the hardware security module;
[0018] S23: The server BMC or the centralized BMC management software distributes the private key in the generated key pair to each server BMC, and downloads the public key therein for making an upgrade storage device;
[0019] S24: The server BMC or the centralized BMC management software periodically updates the key pair and performs a key rotation operation on the key pair.
[0020] Preferably, the specific process of generating a random number as a key seed by a specified algorithm in step S21 is as follows:
[0021] S211: Initialize a non-negative integer as an initial seed value;
[0022] S212: Perform recursive calculation based on the initial seed value to obtain each subsequent random number, and the formula for the recursive calculation is:
[0023] x i+1 =[(A / C)·x i +C] / modM
[0024] Where M is the modulus, mod is the modulus operation, A is the multiplier, which is the primitive root of M or a value close to the square root of M, and C is the increment, which is a specified power of 2;
[0025] S213: Generate an output sequence based on a series of random numbers obtained by recursive calculation in a specified order, and randomly extract a random number from the output sequence as a key seed.
[0026] Preferably, in step S22, the specific process of generating a key pair by the server BMC or the centralized BMC management software based on the key seed is as follows:
[0027] S221: The server BMC or the centralized BMC management software randomly generates two prime numbers P and Q, and the two prime numbers P and Q are greater than the specified number;
[0028] S222: Multiply two prime numbers P and Q to obtain N, and calculate the least common multiple L of P-1 and Q-1;
[0029] S223: randomly select a number E in the interval (1-L), where the greatest common divisor of E and L is 1;
[0030] S224: Calculate D by using the Euclidean algorithm, where D is the modular inverse element of E and satisfies E*D mod L=1;
[0031] S225: Generate a key pair based on D by specifying an encryption algorithm.
[0032] Preferably, the specific process of checking the pairing of the public key and the private key in step S5 is as follows:
[0033] S51: using a one-way hash function to calculate the specified information to obtain a hash value, and then using the private key to encrypt the hash value to obtain a signature value;
[0034] S52: Use the same one-way hash function to calculate the original data to obtain a first hash value; then use the public key to decrypt the signature value to obtain a second hash value;
[0035] S53: Compare the first hash value and the second hash value. If the first hash value and the second hash value are equal, the signature is authentic, that is, the public key and the private key are successfully paired. If the first hash value and the second hash value are not equal, the signature is invalid, that is, the public key and the private key are failed to be paired.
[0036] In a second aspect, a firmware upgrade and maintenance system based on a BMC dedicated external interface is provided, which is used to implement any one of the firmware upgrade and maintenance methods based on a BMC dedicated external interface, including an external interface device, a key pair generation module, a key distribution module, a key pair verification module, and a firmware automatic upgrade module, wherein the external interface device is a USB device or an HDMI device or a DP device or a Thunderbolt device, the key pair generation module is deployed in a server BMC or a centralized BMC management software, and is connected to the key distribution module, the key distribution module is connected to the key pair verification module, and the key pair verification module is connected to the firmware automatic upgrade module;
[0037] The external interface device enables BMC to support external interface firmware upgrade;
[0038] The key pair generation module is used to generate a key pair, the key pair includes a public key and a private key, the private key is sent to each server BMC, and the public key is downloaded for making an upgrade storage device;
[0039] The key distribution module is used to send the private key to each server BMC, and download the public key for making and upgrading storage devices;
[0040] The key pair verification module is set in the server BMC and is used to check the pairing of the public key and the private key. When the public key and the private key match successfully, the firmware is automatically updated and upgraded.
[0041] The beneficial effects of the present invention include:
[0042] The firmware upgrade maintenance method and system based on the BMC dedicated external interface provided by the present invention deploys an external interface device in the server, and enables the firmware update function of the external interface device through the server BIOS; the server BMC or centralized BMC management software generates a key pair, the key pair includes a public key and a private key, the private key is sent to each server BMC, and the public key is downloaded for making an upgrade storage device; the external interface device stores the private key and the corresponding firmware at the same time; after the external interface device stores the formulated firmware, the external interface device is connected to the dedicated port of the BMC; the server BMC checks the pairing of the public key and the private key, and when the public key and the private key match successfully, the firmware is automatically updated and upgraded, and when the firmware is automatically updated and upgraded, the external interface device is removed. Through the above process, there is no need to access the BMC out-of-band network, and the firmware triggering update is realized, and there is no interference modification to the original BMC network and configuration, so that the hardware plug-and-play update is realized.
[0043] First, a random number is generated as a key seed through a specified algorithm through the server BMC or centralized BMC management software, a key pair is generated based on the key seed, and the generated key pair is stored in the hardware security module; the private key in the generated key pair is distributed to each server BMC, and the public key is downloaded for making an upgrade storage device; the key pair is regularly updated and the key pair is rotated, which effectively improves the security of the subsequent firmware automatic upgrade process.
[0044] Secondly, a non-negative integer is initialized as the initial seed value; each subsequent random number is obtained by recursive calculation based on the initial seed value, an output sequence is generated in a specified order based on a series of random numbers obtained by recursive calculation, and a random number is randomly extracted from the output sequence as the key seed. This process makes the key seed have sufficient complexity and can ensure that the key pair generated subsequently based on the key seed has a high degree of security.
[0045] Thirdly, two prime numbers P and Q are randomly generated, and the two prime numbers P and Q are multiplied to obtain N, and the least common multiple L of P-1 and Q-1 is calculated; a number E is randomly selected in the interval (1-L), and E satisfies that the greatest common divisor of E and L is 1; D is calculated by the Euclidean algorithm, and D is the modular inverse element of E, satisfying E*D mod L=1, and the encryption algorithm is specified to generate a key pair based on D, thereby further improving the security of the key pair.
[0046] Finally, the specified information is calculated using a one-way hash function to obtain a hash value, and then the hash value is encrypted using the private key to obtain a signature value; the original data is calculated using the same one-way hash function to obtain a first hash value; the signature value is then decrypted using the public key to obtain a second hash value; the first hash value and the second hash value are compared to see if they are equal to verify the match between the private key and the public key, further ensuring the security of the subsequent automatic firmware upgrade process. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 The figure is a flow chart of a firmware upgrade and maintenance method based on a BMC dedicated external interface of the present invention.
[0048] Figure 2 The figure is a schematic diagram of the architecture of the firmware upgrade and maintenance system based on the BMC dedicated external interface of the present invention.
[0049] Figure 3 The schematic diagram of the architecture of the firmware upgrade maintenance system in the prior art.
[0050] Figure 4 The present invention is a schematic diagram of hardware control and monitoring implemented by the southbound interface of the BMC in the prior art.
[0051] Figure 5 A schematic diagram of the structure of the BMC in the prior art providing a northbound interface and a human-machine interface to the outside world. DETAILED DESCRIPTION
[0052] The following is combined with Figure 1 to Figure 5 The present invention is further described in detail:
[0053] Example 1
[0054] See attached Figure 1-Figure 2 As shown, a firmware upgrade and maintenance method based on a BMC dedicated external interface includes the following steps:
[0055] S1: deploy an external interface device in the server and enable a firmware update function of the external interface device through the server BIOS;
[0056] S2: The server BMC or centralized BMC management software generates a key pair, which includes a public key and a private key. The private key is sent to each server BMC, and the public key is downloaded for making and upgrading storage devices.
[0057] S3: the external interface device stores the private key and the corresponding firmware at the same time;
[0058] S4: After the external interface device stores the specified firmware, the external interface device is connected to the dedicated port of the BMC;
[0059] S5: The server BMC checks the pairing of the public key and the private key. When the public key and the private key are matched successfully, the automatic firmware update is triggered. When the automatic firmware update is completed, the external interface device is removed.
[0060] In this embodiment, the external interface device includes a USB device, an HDMI device, a DP device, or a Thunderbolt device.
[0061] See also Figure 3 As shown, the firmware update process in the prior art is: the client computer configures IP, accesses the BMC network, and accesses the BMC Web through the BMC portal; the local client computer uploads the firmware file to the BMC space through the network, and the BMC background program updates the server; after the firmware update is completed, the client computer is disconnected. Since traditional server firmware maintenance and updates are performed through the BMC out-of-band network (isolated network), but the production environment network is configured with authentication, the BMC out-of-band network access requires IP address, user and password (dynamic password) authorization, which involves configuration changes, is not friendly to on-site personnel, and the efficiency of firmware upgrade changes is very low.
[0062] The server BIOS and BMC of this application support external interface firmware upgrade methods. The server BMC supports external USB or external devices with security authentication functions, and hardware-based BMC and USB external device authentication interactions. By accessing a securely paired storage firmware device through the BMC's external interface, there is no need to access the BMC out-of-band network to achieve firmware trigger updates. There is no interference or modification to the original BMC network and configuration, and hardware plug-and-play updates are achieved, solving the server pain points of on-site operation and management.
[0063] Example 2
[0064] Based on Example 1, the specific process of generating a key pair and distributing the key pair by the server BMC or the centralized BMC management software in step S2 is as follows:
[0065] S21: The server BMC or the centralized BMC management software generates a random number as a key seed through a specified algorithm. The key seed is randomly generated and meets a specified complexity to ensure that the generated key has a high degree of security.
[0066] S22: Based on the key seed, the server BMC or the centralized BMC management software generates a key pair and stores the generated key pair in the hardware security module; the server generates the key pair using an asymmetric encryption algorithm. The key pair consists of a public key and a private key, the public key is used to encrypt data, and the private key is used to decrypt data.
[0067] S23: The server BMC or centralized BMC management software distributes the private key in the generated key pair to each server BMC, and downloads the public key for making an upgrade storage device. The generated key also needs to be stored in the hardware security module to ensure its security. The server needs to securely store and manage the generated key, and store it in the file system of the server in the form of a file and is protected by access control and encryption.
[0068] S24: The server BMC or centralized BMC management software regularly updates the key pair and performs key rotation operations on the key pair to prevent the key from being cracked or abused. The server regularly updates the key pair and implements the key rotation strategy. The purpose of key rotation is to update the key so that it can resist emerging security attack technologies.
[0069] In this embodiment, the specific process of generating a random number as a key seed by a specified algorithm in step S21 is as follows:
[0070] S211: Initialize a non-negative integer as an initial seed value;
[0071] S212: Perform recursive calculation based on the initial seed value to obtain each subsequent random number, and the formula for the recursive calculation is:
[0072] x i+1 =[(A / C)·x i +C] / modM
[0073] Where M is the modulus, mod is the modulus operation, A is the multiplier, which is the primitive root of M or a value close to the square root of M, and C is the increment, which is a specified power of 2;
[0074] S213: Generate an output sequence based on a series of random numbers obtained by recursive calculation in a specified order, and randomly extract a random number from the output sequence as a key seed.
[0075] In this embodiment, the specific process of generating a key pair based on the key seed by the server BMC or the centralized BMC management software in step S22 is as follows:
[0076] S221: The server BMC or the centralized BMC management software randomly generates two prime numbers P and Q, and the two prime numbers P and Q are greater than the specified number;
[0077] S222: Multiply two prime numbers P and Q to obtain N, and calculate the least common multiple L of P-1 and Q-1;
[0078] S223: randomly select a number E in the interval (1-L), where the greatest common divisor of E and L is 1;
[0079] S224: Calculate D by using the Euclidean algorithm, where D is the modular inverse element of E and satisfies E*D mod L=1;
[0080] S225: Generate a key pair based on D by specifying an encryption algorithm.
[0081] Example 3
[0082] Based on Example 1 or Example 2, the specific process of checking the pairing of the public key and the private key in step S5 is as follows:
[0083] S51: using a one-way hash function to calculate the specified information to obtain a hash value, and then using the private key to encrypt the hash value to obtain a signature value;
[0084] S52: Use the same one-way hash function to calculate the original data to obtain a first hash value; then use the public key to decrypt the signature value to obtain a second hash value;
[0085] S53: Compare the first hash value and the second hash value. If the first hash value and the second hash value are equal, the signature is authentic, that is, the public key and the private key are successfully paired. If the first hash value and the second hash value are not equal, the signature is invalid, that is, the public key and the private key are failed to be paired.
[0086] A firmware upgrade and maintenance system based on a BMC dedicated external interface is used to implement any one of the firmware upgrade and maintenance methods based on a BMC dedicated external interface, including an external interface device, a key pair generation module, a key distribution module, a key pair verification module, and a firmware automatic upgrade module. The external interface device is a USB device or an HDMI device or a DP device or a Thunderbolt device. The key pair generation module is deployed in a server BMC or centralized BMC management software and is connected to the key distribution module. The key distribution module is connected to the key pair verification module, and the key pair verification module is connected to the firmware automatic upgrade module.
[0087] The external interface device enables BMC to support external interface firmware upgrade. The key pair generation module is used to generate a key pair, and the key pair includes a public key and a private key. The private key is sent to each server BMC, and the public key is downloaded for making an upgraded storage device. The key distribution module is used to send the private key to each server BMC, and the public key is downloaded for making an upgraded storage device. The key pair verification module is set in the server BMC, and is used to check the pairing of the public key and the private key. When the public key and the private key match successfully, the firmware is automatically updated and upgraded.
[0088] In summary, the firmware upgrade maintenance method and system based on the BMC dedicated external interface provided by the present invention deploys an external interface device in the server, and enables the firmware update function of the external interface device through the server BIOS; the server BMC or centralized BMC management software generates a key pair, the key pair includes a public key and a private key, the private key is sent to each server BMC, and the public key is downloaded for making an upgrade storage device; the external interface device stores the private key and the corresponding firmware at the same time; after the external interface device stores the formulated firmware, the external interface device is connected to the dedicated port of the BMC; the server BMC checks the pairing of the public key and the private key, and when the public key and the private key match successfully, the firmware is automatically updated and upgraded, and when the firmware is automatically updated and upgraded, the external interface device is removed. Through the above process, there is no need to access the BMC out-of-band network, and the firmware triggering update is realized, and there is no interference modification to the original BMC network and configuration, so that the hardware plug-and-play update is realized.
[0089] The server BMC or centralized BMC management software generates a random number as a key seed through a specified algorithm, generates a key pair based on the key seed, and stores the generated key pair in the hardware security module; distributes the private key in the generated key pair to each server BMC, downloads the public key therein for making an upgrade storage device; regularly updates the key pair and performs key rotation operations on the key pair, which effectively improves the security of the subsequent firmware automatic upgrade process. By initializing a non-negative integer as the initial seed value; recursively calculating each subsequent random number based on the initial seed value, generating an output sequence based on a series of random numbers obtained by recursive calculation in a specified order, and randomly extracting random numbers from the output sequence as the key seed, the key seed has sufficient complexity and can ensure that the key pair generated based on the key seed is highly secure.
[0090] By randomly generating two prime numbers P and Q, multiplying the two prime numbers P and Q to obtain N, and calculating the least common multiple L of P-1 and Q-1; randomly selecting a number E in the interval (1-L), E satisfies the greatest common divisor of E and L is 1; calculating D by the Euclidean algorithm, D is the modular inverse element of E, and satisfies E*D mod L=1, and specifying the encryption algorithm to generate a key pair based on D, thereby further improving the security of the key pair. By using a one-way hash function to calculate the specified information, a hash value is obtained, and then the hash value is encrypted with the private key to obtain a signature value; the same one-way hash function is used to calculate the original data to obtain a first hash value; then the signature value is decrypted using the public key to obtain a second hash value; comparing the first hash value and the second hash value to verify whether they are equal to verify the matching of the private key and the public key, further ensuring the security of the subsequent firmware automatic upgrade process.
Claims
1. A firmware upgrade and maintenance method based on a BMC dedicated external interface, characterized in that: The following steps are involved: S1: deploy an external interface device in the server and enable a firmware update function of the external interface device through the server BIOS; S2: The server BMC or centralized BMC management software generates a key pair, which includes a public key and a private key. The private key is sent to each server BMC, and the public key is downloaded for making and upgrading storage devices. S3: the external interface device stores the private key and the corresponding firmware at the same time; S4: After the external interface device stores the specified firmware, the external interface device is connected to the dedicated port of the BMC; S5: The server BMC checks the pairing of the public key and the private key. When the public key and the private key are matched successfully, the automatic firmware update is triggered. When the automatic firmware update is completed, the external interface device is removed.
2. A firmware upgrade and maintenance method based on a BMC dedicated external interface according to claim 1, characterized in that: The external interface device includes a USB device, an HDMI device, a DP device, or a Thunderbolt device.
3. A firmware upgrade and maintenance method based on a BMC dedicated external interface according to claim 1, characterized in that: The specific process of the server BMC or centralized BMC management software generating a key pair and distributing the key pair in step S2 is as follows: S21: The server BMC or the centralized BMC management software generates a random number as a key seed through a specified algorithm, where the key seed is randomly generated and meets a specified complexity; S22: Based on the key seed, the server BMC or the centralized BMC management software generates a key pair, and stores the generated key pair in the hardware security module; S23: The server BMC or the centralized BMC management software distributes the private key in the generated key pair to each server BMC, and downloads the public key therein for making an upgrade storage device; S24: The server BMC or the centralized BMC management software periodically updates the key pair and performs a key rotation operation on the key pair.
4. A firmware upgrade and maintenance method based on a BMC dedicated external interface according to claim 3, characterized in that: The specific process of generating a random number as a key seed by a specified algorithm in step S21 is as follows: S211: Initialize a non-negative integer as an initial seed value; S212: Perform recursive calculation based on the initial seed value to obtain each subsequent random number, and the formula for the recursive calculation is: x i+1 =[(A / C)·x i +C] / modM Where M is the modulus, mod is the modulus operation, A is the multiplier, which is the primitive root of M or a value close to the square root of M, and C is the increment, which is a specified power of 2; S213: Generate an output sequence based on a series of random numbers obtained by recursive calculation in a specified order, and randomly extract a random number from the output sequence as a key seed.
5. The firmware upgrade and maintenance method based on the BMC dedicated external interface according to claim 1, characterized in that: The specific process of generating a key pair based on the key seed by the server BMC or the centralized BMC management software in step S22 is as follows: S221: The server BMC or the centralized BMC management software randomly generates two prime numbers P and Q, and the two prime numbers P and Q are greater than the specified number; S222: Multiply two prime numbers P and Q to obtain N, and calculate the least common multiple L of P-1 and Q-1; S223: randomly select a number E in the interval (1-L), where the greatest common divisor of E and L is 1; S224: Calculate D by using the Euclidean algorithm, where D is the modular inverse element of E and satisfies E*D mod L=1; S225: Generate a key pair based on D by specifying an encryption algorithm.
6. A firmware upgrade and maintenance method based on a BMC dedicated external interface according to claim 1, characterized in that: The specific process of checking the pairing of the public key and the private key in step S5 is as follows: S51: using a one-way hash function to calculate the specified information to obtain a hash value, and then using the private key to encrypt the hash value to obtain a signature value; S52: using the same one-way hash function to calculate the original data to obtain a first hash value; Then use the public key to decrypt the signature value to obtain the second hash value; S53: Compare the first hash value and the second hash value. If the first hash value and the second hash value are equal, the signature is authentic, that is, the public key and the private key are successfully paired. If the first hash value and the second hash value are not equal, the signature is invalid, that is, the public key and the private key are failed to be paired.
7. A firmware upgrade and maintenance system based on a BMC dedicated external interface, used to implement a firmware upgrade and maintenance method based on a BMC dedicated external interface as described in any one of claims 1 to 6, characterized in that: It includes an external interface device, a key pair generation module, a key distribution module, a key pair verification module, and a firmware automatic upgrade module. The external interface device is a USB device or an HDMI device or a DP device or a Thunderbolt device. The key pair generation module is deployed in the server BMC or the centralized BMC management software and is connected to the key distribution module. The key distribution module is connected to the key pair verification module, and the key pair verification module is connected to the firmware automatic upgrade module. The external interface device enables BMC to support external interface firmware upgrade; The key pair generation module is used to generate a key pair, the key pair includes a public key and a private key, the private key is sent to each server BMC, and the public key is downloaded for making an upgrade storage device; The key distribution module is used to send the private key to each server BMC, and download the public key for making and upgrading storage devices; The key pair verification module is set in the server BMC and is used to check the pairing of the public key and the private key. When the public key and the private key match successfully, the firmware is automatically updated and upgraded.