CN117608672A - Server starting method, device, equipment and storage medium - Google Patents

Server starting method, device, equipment and storage medium Download PDF

Info

Publication number
CN117608672A
CN117608672A CN202311557743.4A CN202311557743A CN117608672A CN 117608672 A CN117608672 A CN 117608672A CN 202311557743 A CN202311557743 A CN 202311557743A CN 117608672 A CN117608672 A CN 117608672A
Authority
CN
China
Prior art keywords
firmware
encryption
server
value
main firmware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311557743.4A
Other languages
Chinese (zh)
Inventor
黎建根
周蒙
刘丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Great Wall Technology Group Co ltd
Original Assignee
China Great Wall Technology Group Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Great Wall Technology Group Co ltd filed Critical China Great Wall Technology Group Co ltd
Priority to CN202311557743.4A priority Critical patent/CN117608672A/en
Publication of CN117608672A publication Critical patent/CN117608672A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application provides a method, a device, equipment and a storage medium for starting a server. The method comprises the following steps: in the starting process of the server, performing encryption operation on the program content of the main firmware of the key component to generate a first encryption value; the main firmware is a starting program of a key component of the server; the key component is hardware equipment which needs to be started in the process of starting the server; judging whether the execution condition of the main firmware is met or not according to the first encryption value and the second encryption value of the main firmware of the prestored key component; and executing the program content of the backup firmware of the key component in response to the execution condition of the main firmware being not met. Thus, the backup firmware is used instead of the primary firmware. The method is beneficial to reducing the potential safety hazard caused by the fact that the main firmware still persists in starting under the condition that the main firmware is tampered, and is beneficial to reducing the potential safety hazard caused by the fact that the main firmware still persists in starting under the condition that the firmware is tampered. The security in the starting process of the server is obviously improved.

Description

Server starting method, device, equipment and storage medium
Technical Field
The application belongs to the technical field of computers, and particularly relates to a method, a device, equipment and a storage medium for starting a server.
Background
During the startup process, the server needs to execute the program content of the firmware of each critical component. Critical components include complex programmable logic devices, backplanes, power supplies, backplane management controllers, etc. Currently, security threats to a server such as malicious software, hardware backdoor and unauthorized firmware modification are increasingly serious, and especially in application fields with high data security, such as the fields of cloud computing, finance, medical treatment and the like, the integrity of the firmware of key components of the server is related to the protection of data privacy and the stability and reliability of the whole system. Currently, firmware of a key component in a server is often tampered by a hacker, and if the program content of the tampered firmware is executed in the starting process of the server, the server has a great potential safety hazard.
Disclosure of Invention
The invention aims to provide a starting method, a device, equipment and a storage medium of a server, and aims to solve the problem of potential safety hazards caused by executing program contents when the program contents of firmware of key components in the server are tampered.
A first aspect of an embodiment of the present application provides a server startup method, including:
in the starting process of the server, performing encryption operation on the program content of the main firmware of the key component to generate a first encryption value; the main firmware is a starting program of a key component of the server; the key component is hardware equipment which needs to be started in the process of starting the server;
judging whether the execution condition of the main firmware is met or not according to the first encryption value and a prestored second encryption value of the main firmware of the key component;
and executing the program content of the backup firmware of the key component in response to the execution condition of the main firmware being not met.
In one embodiment, in response to the first encryption value being the same as the second encryption value, it is determined that the execution condition of the main firmware is met, program content of the main firmware is executed, and the critical component is started.
In one embodiment, before executing the program that backs up the firmware, the method further comprises:
performing encryption operation on the backup firmware to obtain a third encryption value of the backup firmware;
checking the backup firmware according to the third encryption value;
and executing the program of the backup firmware in response to the verification passing of the third encryption value of the backup firmware and the first encryption value of the main firmware being the same.
In one embodiment, the method further comprises:
generating alarm information in response to the first encryption value and the third encryption value of the backup firmware being different;
and sending the alarm information to a baseboard management controller in the server.
In one embodiment, the encryption operation is a hash encryption operation, the first encryption value is a first hash value, and the second encryption value is a second hash value;
the second encryption value is a hash value obtained by carrying out hash operation on the standard main firmware.
In one embodiment, the method further comprises: the second encryption value is obtained by accessing a hardware address mapping table, and the second encryption value is stored in a nonvolatile storage area of the trusted platform control module;
in addition to the second encrypted value, the acquired parameters include: the length of the program content, the starting location of the program content, and the encryption algorithm of each main firmware.
In one embodiment, in a process of starting up a server, performing encryption operation on program content of main firmware of a key component to generate a first encryption value, including:
and calling an SM3 module in the trusted platform control module to carry out hash encryption operation on the program content of the main firmware according to the position information of the main firmware preset in the trusted platform control module, generating the first encryption value representing the state of the main firmware, and storing the first encryption value in a reportDigest field in the trusted platform control module.
In one embodiment, the critical components include: complex programmable logic devices, backplanes, power supplies and backplane management controllers.
A second aspect of an embodiment of the present application provides a server starting apparatus, including:
the encryption module is used for carrying out encryption operation on the program content of the main firmware of the key component in the process of starting the server to generate a first encryption value; the main firmware is a starting program of a key component of the server; the key component is hardware equipment which needs to be started in the process of starting the server;
the judging module is used for judging whether the execution conditions of the main firmware are met or not according to the first encryption value and the prestored second encryption value of the main firmware of the key component;
and the processing module is used for executing the program content of the backup firmware of the key component in response to the fact that the execution condition of the main firmware is not met.
In some embodiments, the processing module is further configured to determine that the execution condition of the main firmware is met in response to the first encryption value being the same as the second encryption value, execute the program content of the main firmware, and start the critical component.
In some embodiments, a backup firmware verification module is also included to verify, prior to executing the program of the backup firmware,
performing encryption operation on the backup firmware to obtain a third encryption value of the backup firmware;
checking the backup firmware according to the third encryption value;
and executing the program of the backup firmware in response to the verification passing of the third encryption value of the backup firmware and the first encryption value of the main firmware being the same.
In some embodiments, the system further comprises an alarm module for generating alarm information in response to the first encrypted value and a third encrypted value of the backup firmware being different;
and sending the alarm information to a baseboard management controller in the server.
In some embodiments, the method further comprises obtaining a pre-storing module for obtaining the second encrypted value by accessing a hardware address mapping table and storing the second encrypted value in a non-volatile storage area of the trusted platform control module;
in addition to the second encrypted value, the acquired parameters include: the length of the program content, the starting location of the program content, and the encryption algorithm of each main firmware.
In some embodiments, the encryption module is further configured to invoke an SM3 module in the trusted platform control module to perform a hash encryption operation on a program content of the main firmware according to location information of the main firmware preset in the trusted platform control module, generate the first encryption value that represents a state of the main firmware, and store the first encryption value in a reportDigest field in the trusted platform control module.
A third aspect of the embodiments of the present application provides an electronic device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the method as described above when executing the computer program.
A fourth aspect of the embodiments of the present application provides a storage medium storing a computer program which, when executed by a processor, implements the steps of the method as described above.
Compared with the prior art, the embodiment of the invention has the beneficial effects that:
according to the technical scheme, in the process of starting the server, encryption operation is carried out on the program content of the main firmware of the key component, and a first encryption value is generated; judging whether the execution condition of the main firmware is met or not according to the first encryption value and the prestored second encryption value of the main firmware of the key component; and if the execution condition of the main firmware is not met, executing the program content of the backup firmware of the key component. Thus, the backup firmware is used instead of the primary firmware. The method is beneficial to reducing the potential safety hazard caused by the fact that the main firmware is still continuously started under the condition of being tampered, and the safety in the starting process of the server is remarkably improved.
Drawings
FIG. 1 is a flowchart of a method for starting a server according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a server starting device according to an embodiment of the present application;
fig. 3 is a schematic diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In order to make the technical problems, technical schemes and beneficial effects to be solved by the present application more clear, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
It will be understood that when an element is referred to as being "mounted" or "disposed" on another element, it can be directly on the other element or be indirectly on the other element. When an element is referred to as being "connected to" another element, it can be directly connected to the other element or be indirectly connected to the other element.
It is to be understood that the terms "length," "width," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," and the like indicate or are based on the orientation or positional relationship shown in the drawings, merely to facilitate description of the present application and simplify description, and do not indicate or imply that the devices or elements referred to must have a particular orientation, be configured and operated in a particular orientation, and therefore should not be construed as limiting the present application.
Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. In the description of the present application, the meaning of "a plurality" is two or more, unless explicitly defined otherwise.
Fig. 1 shows a flowchart of a server startup method according to an embodiment of the present application, and for convenience of explanation, only the portions relevant to the present embodiment are shown, which is described in detail below:
a server start-up method, comprising the steps of:
in step S102, in the process of starting up the server, the program content of the main firmware of the key component is subjected to encryption operation, and a first encryption value is generated.
The main firmware is a starting program of a key component of the server.
The key component is a hardware device which needs to be started in the process of starting the server.
For example, the key components may include: complex programmable logic devices, backplanes, power supplies and backplane management controllers.
In the process of starting the server, the program content of the main firmware of each key component can be sequentially subjected to encryption operation to generate a first encryption value of the main firmware of each key component.
The encryption operation may employ an encryption algorithm, for example, a hash encryption algorithm.
The program content of the main firmware is stored in a predetermined position in the memory, and the program content of each main firmware can be determined according to the storage position.
The storage location information of the program content of each of the above-described main firmware may be stored in a trusted platform control module (Trusted Platform Control Module, TPCM).
In this embodiment, during the process of starting the server, the basic input output system (Basic Input Output System, BIOS) is started, and the BIOS establishes a secure channel with the trusted platform control module (Trusted Platform Control Module, TPCM) built in the server to perform communication.
The BIOS can search and determine the program content of the main firmware according to the position information of the main firmware preset in the trusted platform control module.
The BIOS calls an encryption operation module in the trusted platform control module to measure the program content of the main firmware, generates measurement data representing the state of the main firmware, and stores the measurement data in a reportDigest field in the trusted platform control module.
The encryption operation module may be a hash operation module SM3, and the measurement data may be a hash value obtained by performing hash operation on the program content of the main firmware.
In step S104, it is determined whether the execution condition of the main firmware is met according to the first encryption value and the prestored second encryption value of the main firmware of the critical component.
In step S106, in response to the execution condition of the main firmware not being met, the program content of the backup firmware of the critical component is executed.
In this embodiment, the main firmware of the key components described above may be stored in advance in the trusted platform control module (Trusted Platform Control Module, TPCM).
The server may verify the integrity of the program content of the main firmware by using the first encryption value and the second encryption value, specifically, may compare the first encryption value with the second encryption value, and if the first encryption value is the same as the second encryption value, determine that the main firmware is complete and the program content is not tampered. If the first encryption value is different from the second encryption value, it is determined that the main firmware is incomplete and tampered, the main firmware cannot be used, the program content of the main firmware cannot be executed, and the backup firmware needs to be used for replacing the main firmware to execute the program content of the backup firmware of the key component. After the program content is executed, the key components are started.
In this embodiment, during the verification phase, the BIOS compares the hash value stored in the reportDigest field with the hash value data stored in the nonvolatile memory. If the two types of the components are consistent, the main firmware is not tampered, and the BIOS initializes the components and starts normally. If not, the main firmware is disconnected from the key component, a log is generated and the main firmware is recovered through the redundant backup firmware. The log is used for confirming the reason that the key component cannot be used in order that the administrator can inquire later.
In one embodiment, the backup firmware of the key component is a redundant backup of the main firmware, and when the redundant backup is performed, under the condition that the main firmware of each key component is ensured not to be tampered, each main firmware can be copied into a nonvolatile flash backup area, and storage location information of program content of each main firmware is written into the nonvolatile storage area of the TPCM.
According to the technical scheme, the trusted platform control module is utilized, and before the server is started, the second encryption value of the main firmware of each key component is stored in the trusted platform control module in advance. And in the starting process of the server, performing encryption operation on the program content of the main firmware of each key component to generate a first encryption value, and determining that the main firmware is tampered and incomplete in response to the fact that the first encryption value is different from a second encryption value of the pre-stored main firmware of the key component. If the program content of the main firmware is executed, a safety risk is brought, the program content of the main component is not executed, the program content of the backup firmware is executed, and the backup firmware is used for replacing the main firmware. Through the firmware integrity checking method and the firmware backup replacing method, potential safety hazards caused by starting is reduced under the condition that the firmware is tampered. The security in the starting process of the server is obviously improved.
In some embodiments, the above method further comprises the steps of:
and step S108, in response to the fact that the first encryption value is identical to the second encryption value, the execution condition of the main firmware is judged to be met, the program content of the main firmware is executed, and the key component is started.
In this embodiment, if the first encrypted value is the same as the second encrypted value, it indicates that the main firmware is not tampered with, and the program content of the main firmware may be executed.
In some embodiments, before executing the program that backs up the firmware, the method may further include the steps of:
performing encryption operation on the backup firmware to obtain a third encryption value of the backup firmware;
checking the backup firmware according to the third encryption value;
and executing the program of the backup firmware in response to the verification passing of the third encryption value of the backup firmware being identical to the first encryption value of the main firmware.
In this embodiment, for the case that the program content of the main firmware is tampered and the backup firmware is used to replace the main firmware, before executing the program of the backup firmware, the program content of the backup firmware needs to be checked first, the checking method may use hash encryption checking, compare whether the third encryption value of the backup firmware is the same as the first encryption value of the main firmware, and if not, determine that the program content of the backup firmware is tampered and the program content of the backup firmware cannot be executed. If the program content of the backup firmware is not tampered, the program content of the backup firmware can be executed.
In some embodiments, the method further comprises the steps of:
and generating alarm information in response to the first encryption value and the third encryption value of the backup firmware being different, and sending the alarm information to a baseboard management controller in the server.
In this embodiment, if the first encryption value is different from the third encryption value of the backup firmware, it is determined that the program content of the backup firmware is tampered, the program content of the backup firmware cannot be executed, and alarm information is generated and sent to a baseboard management controller in the server. After receiving the alarm information, the floor management controller can display the alarm information, and a user can adopt further processing measures to stop the starting of the server and replace the main firmware and the backup firmware of the key component.
In some embodiments, the encryption operation is a hash encryption operation, the first encryption value is a first hash value, and the second encryption value is a second hash value.
The second encryption value is a hash value obtained by carrying out hash operation on the standard main firmware.
In this embodiment, a hash encryption algorithm may be used to perform hash operation on the program content of the main firmware to obtain a hash value. The second encryption value is obtained by carrying out hash calculation on the program content of the standard main firmware, the program content of the standard main firmware is not tampered, and the second encryption value is a theoretical standard correct encryption value and can be used as a reference comparison basis.
In some embodiments, the method may further comprise the steps of:
and obtaining the second encryption value by accessing a hardware address mapping table, and storing the second encryption value in a nonvolatile storage area of the trusted platform control module.
In addition to the second encrypted value, the acquired parameters include: the length of the program content, the starting location of the program content, and the encryption algorithm of each main firmware.
In this embodiment, during the process of starting up the server, the basic input output system (Basic Input Output System, BIOS) may determine a storage location of the main firmware of each component by accessing the hardware address mapping table, where the program content of the main firmware is stored, including: the data start position and the data length of the program content. In addition to the above-mentioned program content, there is stored an encryption algorithm type for performing an encryption operation on the program content, and if it is a hash algorithm, there is also stored a second hash value for performing a hash encryption operation on the program content. The various parameters described above may be written into the non-volatile storage area of the trusted platform control module described above.
In some embodiments, during the process of starting up the server, the program content of the main firmware of the key component is subjected to encryption operation, and a first encrypted value is generated, which may further include the following contents:
and calling an SM3 module in the trusted platform control module to carry out hash encryption operation on the program content of the main firmware according to the position information of the main firmware preset in the trusted platform control module, generating the first encryption value representing the state of the main firmware, and storing the first encryption value in a reportDigest field in the trusted platform control module.
In this embodiment, during the process of starting the server, the basic input output system (Basic Input Output System, BIOS) is started, and the BIOS establishes a secure channel with the trusted platform control module (Trusted Platform Control Module, TPCM) built in the server to perform communication.
The BIOS can search and determine the program content of the main firmware according to the position information of the main firmware preset in the trusted platform control module.
The BIOS calls an encryption operation module in the trusted platform control module to measure the program content of the main firmware, generates measurement data representing the state of the main firmware, and stores the measurement data in a reportDigest field in the trusted platform control module.
The encryption operation module may be a hash operation module SM3, and the measurement data may be a hash value obtained by performing hash operation on the program content of the main firmware.
It should be understood that the sequence number of each step in the foregoing embodiment does not mean that the execution sequence of each process should be determined by the function and the internal logic of each process, and should not limit the implementation process of the embodiment of the present application in any way.
In a second aspect, referring to fig. 2, the present application proposes a server starting device 2, including:
the encryption module 21 is configured to perform encryption operation on the program content of the main firmware of the key component in the process of starting the server, so as to generate a first encryption value; the main firmware is a starting program of a key component of the server; the key component is a hardware device which needs to be started in the process of starting the server.
And the judging module 22 is configured to judge whether the execution condition of the main firmware is met according to the first encrypted value and a prestored second encrypted value of the main firmware of the key component.
And the processing module 23 is used for executing the program content of the backup firmware of the key component in response to the non-conforming execution condition of the main firmware.
In some embodiments, the processing module 23 is further configured to determine that the execution condition of the main firmware is met in response to the first encryption value being the same as the second encryption value, execute the program content of the main firmware, and start the critical component.
In some embodiments, the method further includes a backup firmware verification module, configured to perform encryption operation on the backup firmware before executing the program of the backup firmware to obtain a third encrypted value of the backup firmware;
checking the backup firmware according to the third encryption value;
and executing the program of the backup firmware in response to the verification passing of the third encryption value of the backup firmware and the first encryption value of the main firmware being the same.
In some embodiments, the system further comprises an alarm module for generating alarm information in response to the first encrypted value and a third encrypted value of the backup firmware being different;
and sending the alarm information to a baseboard management controller in the server.
In some embodiments, the method further comprises obtaining a pre-storing module for obtaining the second encrypted value by accessing a hardware address mapping table and storing the second encrypted value in a non-volatile storage area of the trusted platform control module;
in addition to the second encrypted value, the acquired parameters include: the length of the program content, the starting location of the program content, and the encryption algorithm of each main firmware.
In some embodiments, the encryption module 21 is further configured to invoke an SM3 module in the trusted platform control module to perform a hash encryption operation on a program content of the main firmware according to location information of the main firmware preset in the trusted platform control module, generate the first encryption value that represents a state of the main firmware, and store the first encryption value in a reportDigest field in the trusted platform control module.
Fig. 3 is a schematic diagram of a server startup device according to an embodiment of the present application. As shown in fig. 3, the electronic apparatus 3 of this embodiment includes: a processor 30, a memory 31 and a computer program 32, such as a server boot program, stored in said memory 31 and executable on said processor 30. The processor 30, when executing the computer program 32, implements the steps of the various server start-up method embodiments described above, such as steps 102-106 shown in fig. 1. Alternatively, the processor 30 may implement the functions of the modules/units in the above-described embodiments of the apparatus when executing the computer program 32, such as the functions of the encryption module 21, the judgment module 22, and the processing module 23 shown in fig. 2.
By way of example, the computer program 32 may be partitioned into one or more modules/units that are stored in the memory 31 and executed by the processor 30 to complete the present application. The one or more modules/units may be a series of computer program instruction segments capable of performing the specified functions, which instruction segments are used for describing the execution of the computer program 32 in the device 3.
The server starting device 3 may be a computing device such as a desktop computer, a notebook computer, a palm computer, a cloud server, etc. The server boot device may include, but is not limited to, a processor 30, a memory 31. It will be appreciated by those skilled in the art that fig. 3 is merely an example of the server start-up device 3 and does not constitute a limitation of the server start-up device 3, and may comprise more or less components than illustrated, or may combine certain components, or different components, e.g. the server start-up device may further comprise input-output devices, network access devices, buses, etc.
The processor 30 may be a central processing unit (Central Processing Unit, CPU), other general purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), off-the-shelf programmable gate arrays (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 31 may be an internal storage unit of the server boot device 3, such as a hard disk or a memory of the server boot device 3. The memory 31 may also be an external storage device of the server startup device 3, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card) or the like, which are provided on the server startup device 3. Further, the memory 31 may also include both an internal storage unit and an external storage device of the server startup device 3. The memory 31 is used for storing the computer program as well as other programs and data required for the server to start the device. The memory 31 may also be used for temporarily storing data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional units and modules is illustrated, and in practical application, the above-described functional distribution may be performed by different functional units and modules according to needs, i.e. the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-described functions. The functional units and modules in the embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit, where the integrated units may be implemented in a form of hardware or a form of a software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working process of the units and modules in the above system may refer to the corresponding process in the foregoing method embodiment, which is not described herein again.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/terminal device and method may be implemented in other manners. For example, the apparatus/terminal device embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical function division, and there may be additional divisions in actual implementation, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection via interfaces, devices or units, which may be in electrical, mechanical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated modules/units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the present application may implement all or part of the flow of the method of the above embodiment, or may be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when the computer program is executed by a processor, the computer program may implement the steps of each method embodiment described above. Wherein the computer program comprises computer program code which may be in source code form, object code form, executable file or some intermediate form etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer Memory, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), an electrical carrier signal, a telecommunications signal, a software distribution medium, and so forth. It should be noted that the computer readable medium contains content that can be appropriately scaled according to the requirements of jurisdictions in which such content is subject to legislation and patent practice, such as in certain jurisdictions in which such content is subject to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.
The above embodiments are only for illustrating the technical solution of the present application, and are not limiting; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application, and are intended to be included in the scope of the present application.

Claims (10)

1. A server startup method, comprising:
in the starting process of the server, performing encryption operation on the program content of the main firmware of the key component to generate a first encryption value; the main firmware is a starting program of a key component of the server; the key component is hardware equipment which needs to be started in the process of starting the server;
judging whether the execution condition of the main firmware is met or not according to the first encryption value and a prestored second encryption value of the main firmware of the key component;
and executing the program content of the backup firmware of the key component in response to the execution condition of the main firmware being not met.
2. The server boot method according to claim 1, wherein the key component is booted by executing program content of the main firmware in response to the first encrypted value being identical to the second encrypted value, determining that an execution condition of the main firmware is met.
3. The server boot method of claim 1, wherein prior to executing the program that backs up the firmware, the method further comprises:
performing encryption operation on the backup firmware to obtain a third encryption value of the backup firmware;
checking the backup firmware according to the third encryption value;
and executing the program of the backup firmware in response to the verification passing of the third encryption value of the backup firmware and the first encryption value of the main firmware being the same.
4. The server startup method of claim 3, further comprising:
generating alarm information in response to the first encryption value and the third encryption value of the backup firmware being different;
and sending the alarm information to a baseboard management controller in the server.
5. The server boot method of claim 1, wherein the encryption operation is a hash encryption operation, the first encryption value is a first hash value, and the second encryption value is a second hash value;
the second encryption value is a hash value obtained by carrying out hash operation on the standard main firmware.
6. The server boot method of claim 1, wherein the method further comprises:
the second encryption value is obtained by accessing a hardware address mapping table, and the second encryption value is stored in a nonvolatile storage area of the trusted platform control module;
in addition to the second encrypted value, the acquired parameters include: the length of the program content, the starting location of the program content, and the encryption algorithm of each main firmware.
7. The server boot method of claim 1, wherein,
in the process of starting the server, performing encryption operation on the program content of the main firmware of the key component to generate a first encryption value, wherein the first encryption value comprises the following steps:
and calling an SM3 module in the trusted platform control module to carry out hash encryption operation on the program content of the main firmware according to the position information of the main firmware preset in the trusted platform control module, generating the first encryption value representing the state of the main firmware, and storing the first encryption value in a reportDigest field in the trusted platform control module.
8. A server starting apparatus, comprising:
the encryption module is used for carrying out encryption operation on the program content of the main firmware of the key component in the process of starting the server to generate a first encryption value; the main firmware is a starting program of a key component of the server; the key component is hardware equipment which needs to be started in the process of starting the server;
the judging module is used for judging whether the execution conditions of the main firmware are met or not according to the first encryption value and the prestored second encryption value of the main firmware of the key component;
and the processing module is used for executing the program content of the backup firmware of the key component in response to the fact that the execution condition of the main firmware is not met.
9. An electronic device, comprising: comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the method according to any of claims 1 to 7 when executing the computer program.
10. A storage medium storing a computer program which, when executed by a processor, implements the method of any one of claims 1 to 7.
CN202311557743.4A 2023-11-21 2023-11-21 Server starting method, device, equipment and storage medium Pending CN117608672A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311557743.4A CN117608672A (en) 2023-11-21 2023-11-21 Server starting method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311557743.4A CN117608672A (en) 2023-11-21 2023-11-21 Server starting method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117608672A true CN117608672A (en) 2024-02-27

Family

ID=89957221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311557743.4A Pending CN117608672A (en) 2023-11-21 2023-11-21 Server starting method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117608672A (en)

Similar Documents

Publication Publication Date Title
US7917762B2 (en) Secure execution environment by preventing execution of unauthorized boot loaders
EP3522059B1 (en) Perform security action based on inventory comparison
JP2011243231A (en) Capsulation of highly reliable platform module function by tcpa within server management co-processor subsystem
US11106798B2 (en) Automatically replacing versions of a key database for secure boots
CN104850792A (en) Establishment method and apparatus of trust chain of server
CN110162429B (en) System repair method, server and storage medium
US9262631B2 (en) Embedded device and control method thereof
US9384353B2 (en) System and method for encryption of disk based on pre-boot compatibility testing
CN110674494B (en) Process protection method, system and data processing method
EP3608774A1 (en) Method for programming and terminal device
CN111651769A (en) Method and device for obtaining measurement of secure boot
CN111967016B (en) Dynamic monitoring method of baseboard management controller and baseboard management controller
CN113419905A (en) Method and device for realizing credible verification and security module
EP3176723A1 (en) Computer system and operating method therefor
CN117608672A (en) Server starting method, device, equipment and storage medium
EP4174698A1 (en) Method and system for controlling the boot customization in a platform firmware resilience execution
US20230359741A1 (en) Trusted boot method and apparatus, electronic device, and readable storage medium
US20200244461A1 (en) Data Processing Method and Apparatus
CN111258598B (en) Metric updating method, device, system, storage medium and computer equipment
CN113360914A (en) BIOS updating method, system, equipment and medium
CN113051576A (en) Control method and electronic device
CN117494232B (en) Method, device, system, storage medium and electronic equipment for executing firmware
CN115130114B (en) Gateway secure starting method and device, electronic equipment and storage medium
CN111079192B (en) Webpage content self-protection method and server
CN117675576A (en) Method and device for upgrading server firmware, server and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination