WO2021052191A1 - 一种计算机的启动方法和控制器、存储介质以及系统 - Google Patents
一种计算机的启动方法和控制器、存储介质以及系统 Download PDFInfo
- Publication number
- WO2021052191A1 WO2021052191A1 PCT/CN2020/113345 CN2020113345W WO2021052191A1 WO 2021052191 A1 WO2021052191 A1 WO 2021052191A1 CN 2020113345 W CN2020113345 W CN 2020113345W WO 2021052191 A1 WO2021052191 A1 WO 2021052191A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- bios
- file storage
- controller
- channel
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Definitions
- This application relates to the field of computer technology, and in particular to a computer startup method, controller, storage medium, and system.
- the current computer has multiple implementation architectures.
- the computer can adopt the X86 system.
- the X86 system needs to rely on the basic input output system (BIOS) hardware system during the startup process.
- BIOS hardware system can include flash memory (flash memory). ), a BIOS program file is stored in the flash memory.
- BIOS program file stored in the flash memory of the BIOS hardware system is loaded to perform basic information settings for the X86 system.
- the X86 system is powered on to ensure that the X86 system can start up and run normally.
- the system command authority is handed over to the operating system (OS) of the computer, and the OS controls the computer.
- OS operating system
- BIOS program file stored in the flash memory of the BIOS hardware system may cause the user's settings for the BIOS hardware system to be lost, or the security permissions set by the user to be tampered with, making the X86 system unable to start or being compromised by hackers. Security incidents of information leakage.
- the current computer startup method involves booting the computer according to the tampered BIOS program file, which brings security risks.
- the embodiments of the present application provide a computer startup method, controller, storage medium, and system, which are used to improve the startup security level of the computer and avoid the security risks caused by the use of tampered startup program files.
- an embodiment of the present application provides a computer startup method, the method is used in a controller, and the controller is respectively connected to a computer hardware system and a basic input output system BIOS file storage device, and the method includes: When the controller is powered on and running, the controller obtains the first startup program file in the BIOS file storage device, where the first startup program file is pre-stored in the BIOS file storage device BIOS file; the controller verifies the first startup program file; when the first startup program file passes the verification, the controller establishes the relationship between the BIOS file storage device and the computer hardware system When the connection between the BIOS file storage device and the computer hardware system is successfully established, the computer hardware system uses the first startup program file to complete the power-on operation.
- the controller is respectively connected with the computer hardware system and the BIOS file storage device.
- the controller When the controller is powered on and running, the controller first obtains the first boot program file in the BIOS file storage device, where the first boot program file is a BIOS file pre-stored in the BIOS file storage device, and the controller then checks the first boot program file in the BIOS file storage device. The startup program file is verified.
- the controller establishes a connection between the BIOS file storage device and the computer hardware system, and when the connection between the BIOS file storage device and the computer hardware system is successfully established , And finally the computer hardware system uses the first startup program file to complete the power-on operation.
- the controller can verify the first startup program file in the BIOS file storage device. Only when the first startup program file passes the verification, the controller will establish the BIOS file storage device and the computer hardware. System connection, at this time, the computer hardware system can read the first startup program file in the BIOS file storage device to complete the power-on operation. In this embodiment of the application, the controller can perform the pre-stored first boot program file in the BIOS file storage device. A startup program file is verified to ensure that the first startup program file is safe, that is, to ensure that the first startup program file has not been tampered with, which improves the startup security level of the computer hardware system and avoids the use of tampered startup program files The resulting security risks.
- the controller verifying the first startup program file includes: the controller uses a key and the startup program source file in the controller to perform a verification calculation, Obtain a first verification result, the startup program source file is a BIOS file pre-stored in the controller; the controller uses the key and the first startup program file to perform a verification calculation to obtain the first Two verification results: The controller determines whether the first startup program file passes the verification according to the first verification result and the second verification result. In this scheme, the controller first obtains the key and the startup program source file, and then uses the key and the startup program source file in the controller to perform verification calculations to obtain the first verification result. Similarly, the controller can also use The key and the first startup program file are verified and calculated to obtain the second verification result.
- the controller compares the two verification results, and can determine the first startup program according to the first verification result and the second verification result. Whether the file passes the verification, for example, the first verification result and the second verification result are exactly the same, it is determined that the startup program source file stored in the controller and the first startup program file stored in the BIOS file storage device are the same, That is, the first startup program file stored in the BIOS file storage device has not been tampered with, and the output verification result at this time is that the first startup program file passed the verification.
- the boot program source file stored in the controller and the first boot program file stored in the BIOS file storage device are different, that is, the BIOS file is stored
- the first startup program file stored in the device may be tampered with or damaged.
- the output verification result is that the first startup program file fails the verification.
- the method further includes: when the first startup program file fails the verification, the controller writes the startup program source file into the BIOS file storage device, so The startup program source file is a BIOS file pre-stored in the controller; the controller verifies the startup program source file written in the BIOS file storage device; when the BIOS file storage device is written When the imported startup program source file passes the verification, the controller establishes a connection between the BIOS file storage device and the computer hardware system, and when the BIOS file storage device and the computer hardware system are successfully established When connecting, the computer hardware system uses the startup program source file written in the BIOS file storage device to complete the power-on operation.
- the first startup program file fails the verification, it means that the first startup program file stored in the BIOS file storage device may be tampered with or damaged, that is, the first startup program file stored in the BIOS file storage device may be tampered with or damaged.
- the launcher file is not trusted.
- the controller may pre-store a startup program source file, the startup program source file refers to the original file used to start the computer hardware system, the startup program source file can be encrypted and stored in the controller in advance, for example, the controller may include Flash memory, the flash memory may also be called a flash storage controller, and the flash memory can be used to store a startup program source file so that the controller can use the startup program source file for verification.
- the boot program source file can also be used to restore the tampered first boot program file in the BIOS file storage device, so that the boot program source file that has not been tampered can be rewritten in the BIOS file storage device so that the computer hardware system can read it. Take the start-up program source file rewritten in the BIOS file storage device, and use the start-up program source file for power-on operation to avoid the security risk caused by using the tampered start-up program file.
- the method further includes: the controller deleting the first startup program file stored in the BIOS file storage device.
- the controller can also delete the first startup program file stored in the BIOS file storage device, that is, the controller can erase the tampered first startup program file in the BIOS file storage device, so that the flash memory of the controller can be used for rewriting
- the source file of the startup program that has not been tampered with improves the space usage efficiency of the flash memory.
- the BIOS file storage device includes: a master BIOS file storage module and a slave BIOS file storage module, wherein the controller is respectively connected to the master BIOS file storage module and the slave BIOS file
- the storage module is connected, the master BIOS file storage module and the slave BIOS file storage module both store the first startup program file in advance; the controller obtains the first startup program in the BIOS file storage device
- the file includes: the controller obtains the first startup program file in the main BIOS file storage module; the controller verifies the first startup program file, including: the controller checks the main The first startup program file in the BIOS file storage module is verified; when the first startup program file passes the verification, the controller establishes the connection between the BIOS file storage device and the computer hardware system,
- the method includes: when the first startup program file in the main BIOS file storage module passes the verification, the controller establishes the connection between the main BIOS file storage module and the computer hardware system.
- the controller establishes the connection between the main BIOS file storage module and the computer hardware system. For example, the controller connects the channel between the main BIOS file storage module and the computer hardware system to make The main BIOS file storage module computer hardware system uses the first startup program file to complete power-on operation.
- the computer hardware system when the first startup program file stored in the main BIOS file storage module is safe and reliable, the computer hardware system can read the first startup program file stored in the main BIOS file storage module, and the computer hardware system has only Only when the first startup program file is read can the first startup program file be used for power-on operation, which improves the startup security level of the computer hardware system and avoids security risks caused by the use of tampered startup program files .
- the method further includes: when the first startup program file in the master BIOS file storage module fails the verification, the controller obtains the data in the slave BIOS file storage module.
- the first startup program file ; the controller verifies the first startup program file in the slave BIOS file storage module; when the first startup program file in the slave BIOS file storage module passes the verification, all The controller establishes a connection between the slave BIOS file storage module and the computer hardware system.
- the first startup program file passes the verification, it means that the first startup program file stored in the BIOS file storage module has not been tampered with, that is, the first startup program file stored in the BIOS file storage module has not been tampered with.
- the startup program file is safe and reliable.
- the controller establishes the connection between the BIOS file storage module and the computer hardware system. For example, the controller conducts the channel between the BIOS file storage module and the computer hardware system to make The computer hardware system from the BIOS file storage module uses the first startup program file to complete the power-on operation.
- the computer hardware system can read the first startup program file stored in the BIOS file storage module. Only when the first startup program file is read, the first startup program file can be used for power-on operation, which improves the startup security level of the computer hardware system and avoids the safety caused by the use of tampered startup program files. risk.
- the method further includes: when the first startup program file in the slave BIOS file storage module fails the verification, the controller writes the startup program source file to the In the main BIOS file storage module, the startup program source file is a BIOS file pre-stored in the controller; the controller verifies the startup program source file written in the main BIOS file storage module; When the source file of the startup program written in the main BIOS file storage module passes the verification, the controller establishes a connection between the main BIOS file storage module and the computer hardware system, and when the main BIOS file storage module is successfully established When the BIOS file storage module is connected to the computer hardware system, the computer hardware system uses the startup program source file written in the main BIOS file storage module to complete power-on operation.
- the controller can pre-store the startup program source file
- the startup program source file refers to the original file used to start the computer hardware system
- the startup program source file can be encrypted and pre-stored in the controller, for example, control
- the device may include a flash memory, which may also be referred to as a flash storage controller, and the flash memory may be used to store a startup program source file, so that the controller can use the startup program source file for verification.
- the boot program source file can also be used to restore the tampered first boot program file in the main BIOS file storage module, so that the boot program source file that has not been tampered is rewritten in the main BIOS file storage module, so that the computer hardware system It can read the source file of the startup program that has not been tampered in the main BIOS file storage module to complete the power-on operation, avoiding the security risk caused by using the tampered startup program file.
- the method further includes: when the first startup program file in the slave BIOS file storage module fails the verification, the controller writes the startup program source file to the From the BIOS file storage module, the startup program source file is a BIOS file pre-stored in the controller.
- the first startup program file fails the verification, it means that the first startup program file stored in the BIOS file storage module may be tampered with or damaged, that is, the first startup program file stored in the BIOS file storage module The program file is not trusted.
- the controller may pre-store a startup program source file, the startup program source file refers to the original file used to start the computer hardware system, the startup program source file can be encrypted and stored in the controller in advance, for example, the controller may include Flash memory, the flash memory may also be called a flash storage controller, and the flash memory can be used to store a startup program source file so that the controller can use the startup program source file for verification.
- the controller may include Flash memory, the flash memory may also be called a flash storage controller, and the flash memory can be used to store a startup program source file so that the controller can use the startup program source file for verification.
- the controller is a baseboard management controller BMC
- the BIOS file storage device is a flash memory for storing BIOS files
- the BMC communicates with the storage via the first serial peripheral interface SPI bus
- the flash memory of the BIOS file is connected, and the BMC is connected to the computer hardware system through a second SPI bus.
- an embodiment of the present application also provides a computer startup method, the method is used in a controller, the controller includes: a security check kernel, the security check kernel through the control switch enable control tube The pin communicates with the control switch; the control switch is connected to the security check kernel through the first channel, the control switch is connected to the computer hardware system through the second channel, and the control switch is connected to the computer hardware system through the third channel.
- BIOS file storage device is connected; the method includes: the security check kernel obtains the first boot program file in the BIOS file storage device through the first channel and the third channel, wherein the first A startup program file is a BIOS file pre-stored in the BIOS file storage device; the security verification kernel verifies the first startup program file; when the first startup program file passes the verification, The security check kernel sends a first instruction to the control switch through the enable control pin; the control switch receives the first instruction through the enable control pin, and then the control switch The first instruction turns on the second channel and the third channel, so that the BIOS file storage device and the computer hardware system are successfully established when the second channel and the third channel are turned on The computer hardware system uses the first startup program file to complete the power-on operation.
- the controller includes a security check kernel, and the security check kernel communicates with the control switch through the enable control pin of the control switch.
- the control switch is connected with the security check kernel through the first channel
- the control switch is connected with the computer hardware system through the second channel
- the control switch is connected with the BIOS file storage device through the third channel.
- the security check kernel first obtains the first boot program file in the BIOS file storage device through the first channel and the third channel, where the first boot program file is a BIOS file pre-stored in the BIOS file storage device, and the security check kernel Then the first startup program file is verified.
- the security verification kernel sends the first instruction to the control switch through the enable control pin, and the control switch receives the first instruction through the enable control pin. An instruction, and then control the switch to turn on the second channel and the third channel according to the first instruction, so that the connection between the BIOS file storage device and the computer hardware system is successfully established when the second channel and the third channel are turned on, and the computer The hardware system uses the first startup program file to complete the power-on operation.
- the security verification kernel can verify the first startup program file in the BIOS file storage device, and only when the first startup program file passes the verification, the control switch will establish the BIOS file storage device and the computer The connection between hardware systems.
- the computer hardware system can read the first boot program file in the BIOS file storage device to complete the power-on operation.
- the security check kernel can pre-register the BIOS file storage device. The stored first startup program file is verified to ensure that the first startup program file is safe, that is, to ensure that the first startup program file has not been tampered with, which improves the startup security level of the computer hardware system and avoids the use of tampered Security risks caused by starting program files.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory; the security check The kernel verifying the first startup program file includes: the security verification kernel uses a key and the startup program source file in the memory to perform a verification calculation to obtain a first verification result; the security verification The verification core uses the key and the first startup program file to perform verification calculations to obtain a second verification result; the security verification core determines according to the first verification result and the second verification result Whether the first startup program file passes the verification.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory; the method further includes : When the first boot program file fails the verification, the security verification kernel writes the boot program source file into the BIOS file storage device; the security verification kernel performs the verification on the BIOS file The boot program source file written in the storage device is checked; when the boot program source file written in the BIOS file storage device passes the check, the security check kernel sends the check to the source file via the enable control pin.
- the control switch sends a first instruction; the control switch receives the first instruction through the enable control pin, and conducts the second channel and the third channel according to the first instruction to So that when the second channel and the third channel are turned on, the connection between the BIOS file storage device and the computer hardware system is successfully established, and the computer hardware system uses the BIOS file storage device to write The start-up program source file of the complete power-on operation.
- the method further includes: when the first startup program file fails the verification, the security verification kernel stores the first startup program file stored in the BIOS file storage device delete.
- the security verification kernel stores the first startup program file stored in the BIOS file storage device delete.
- the first startup program file fails the verification, it means that the first startup program file stored in the BIOS file storage device may be tampered with or damaged, that is, the first startup program file stored in the BIOS file storage device Is untrustworthy.
- the controller can also delete the first startup program file stored in the BIOS file storage device, that is, the controller can erase the tampered first startup program file in the BIOS file storage device, so that the flash memory of the controller can be used for rewriting
- the source file of the startup program that has not been tampered with improves the space usage efficiency of the flash memory.
- the BIOS file storage device includes: a master BIOS file storage module and a slave BIOS file storage module, wherein the control switch is connected to the master BIOS file storage module through a first sub-channel, The control switch is connected to the slave BIOS file storage module through a second sub-channel, and the first startup program file is pre-stored in the master BIOS file storage module and the slave BIOS file storage module;
- the secure verification kernel obtains the first boot program file in the BIOS file storage device through the first channel and the third channel, including: the secure boot kernel obtains the first boot program file in the BIOS file storage device through the first channel and the first sub Channel to obtain the first boot program file in the main BIOS file storage module;
- the secure boot kernel verifying the first boot program file includes: the secure boot kernel checks the main BIOS file storage module The first startup program file is verified; the control switch conducts the second channel and the third channel according to the first instruction, so that the second channel and the third channel are conducted The successful establishment of the connection between the BIOS file storage device and the computer
- the method further includes: when the first boot program file in the main BIOS file storage module fails the verification, the secure boot kernel passes through the first channel and the The second sub-channel obtains the first boot program file in the slave BIOS file storage module; the secure boot kernel verifies the first boot program file in the slave BIOS file storage module; when the slave BIOS file When the first startup program file in the storage module passes the verification, the security verification kernel sends a second instruction to the control switch through the enable control pin; the control switch uses the enable control pin Receiving the second instruction, and then the control switch turns on the second channel and the second sub-channel according to the second instruction, so that the second channel and the second sub-channel are conductive At all times, the connection between the slave BIOS file storage module and the computer hardware system is successfully established, and the computer hardware system uses the first startup program file to complete the power-on operation.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory; the method further includes : When the first boot program file in the slave BIOS file storage module fails the verification, the secure boot kernel writes the boot program source file into the main BIOS file storage module; the secure boot The kernel verifies the boot program source file written in the main BIOS file storage module; when the boot program source file written in the main BIOS file storage module passes the verification, the security verification kernel passes all The enable control pin sends a first instruction to the control switch; the control switch receives the first instruction through the enable control pin, and then the control switch controls the first instruction according to the first instruction The second channel and the first sub-channel are turned on, so that the connection between the main BIOS file storage module and the computer hardware system is successfully established when the second channel and the first sub-channel are turned on, The computer hardware system uses the startup program source file written in the main BIOS file storage module to complete power-on operation.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory; the method further includes : When the first boot program file in the slave BIOS file storage module fails the verification, the secure boot kernel writes the boot program source file into the slave BIOS file storage module.
- the controller is a baseboard management controller BMC
- the BIOS file storage device is a flash memory that stores BIOS files
- the first channel is a first serial peripheral interface SPI bus
- the second channel is a second SPI bus
- the third channel is a third SPI bus.
- an embodiment of the present application also provides a controller, including: a processor and a memory; the processor and the memory communicate with each other; the memory is used for storing instructions; the processor is used for The instructions in the memory are executed, and the method according to any one of the foregoing first aspects is executed.
- the component modules of the controller can also execute the steps described in the first aspect and various possible implementations.
- the component modules of the controller can also execute the steps described in the first aspect and various possible implementations.
- an embodiment of the present application further provides a controller, the controller includes: a safety verification core, the safety verification core communicates with the control switch through an enable control pin of the control switch;
- the control switch is connected to the security check kernel through the first channel, the control switch is connected to the computer hardware system through the second channel, and the control switch is connected to the BIOS file storage device through the third channel;
- the security The verification kernel is used to obtain the first startup program file in the BIOS file storage device through the first channel and the third channel, wherein the first startup program file is pre-stored in the BIOS file
- the BIOS file in the storage device verify the first startup program file; when the first startup program file passes the verification, send a first instruction to the control switch through the enable control pin;
- the control switch is configured to receive the first instruction through the enable control pin, and then turn on the second channel and the third channel according to the first instruction, so that the When the second channel and the third channel are turned on, the connection between the BIOS file storage device and the computer hardware system is successfully established, and the computer
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory; the security check The kernel is further configured to use the key and the startup program source file in the memory to perform verification calculations to obtain a first verification result; use the key and the first startup program file to perform verification calculations to obtain the first verification result; Two verification results: determining whether the first startup program file passes the verification according to the first verification result and the second verification result.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory; the security check The kernel is also used to write the startup program source file to the BIOS file storage device when the first startup program file fails the verification; and to write the startup program written in the BIOS file storage device The source file is verified; when the source file of the startup program written in the BIOS file storage device passes the verification, a first instruction is sent to the control switch through the enable control pin; the control switch also It is applied to receive the first instruction through the enable control pin, and conduct the second channel and the third channel according to the first instruction, so that the second channel and the When the third channel is turned on, the connection between the BIOS file storage device and the computer hardware system is successfully established, and the computer hardware system uses the first startup program file to complete the power-on operation.
- the security check kernel is further configured to delete the first boot program file stored in the BIOS file storage device when the first boot program file fails the check.
- the BIOS file storage device includes: a master BIOS file storage module and a slave BIOS file storage module, wherein the control switch is connected to the master BIOS file storage module through a first sub-channel, The control switch is connected to the slave BIOS file storage module through a second sub-channel, and the first startup program file is pre-stored in the master BIOS file storage module and the slave BIOS file storage module;
- the security check kernel is also used to obtain the first boot program file in the main BIOS file storage module through the first channel and the first sub-channel; to start the first boot program in the main BIOS file storage module
- the program file is verified; the control switch is also used to conduct the second channel and the first sub-channel according to the first instruction, so that the second channel and the first sub-channel are connected When the channel is turned on, the connection between the main BIOS file storage module and the computer hardware system is successfully established.
- the secure boot kernel is further configured to pass the first channel and the second channel when the first boot program file in the main BIOS file storage module fails the verification.
- the sub-channel obtains the first startup program file in the slave BIOS file storage module; verifies the first startup program file in the slave BIOS file storage module; when the first startup program file in the slave BIOS file storage module is started When the program file passes the verification, a second instruction is sent to the control switch through the enable control pin; the control switch is also used to receive the second instruction through the enable control pin, according to the The second instruction turns on the second channel and the second sub-channel, so that the slave BIOS file storage module and the second sub-channel are successfully established when the second channel and the second sub-channel are turned on.
- the computer hardware system uses the first startup program file in the slave BIOS file storage module to complete the power-on operation.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory; the secure boot kernel , Is also used to write the startup program source file into the master BIOS file storage module when the first startup program file in the slave BIOS file storage module fails the verification; The start-up program source file written in the storage module is verified; when the start-up program source file written in the main BIOS file storage module passes the verification, the enable control pin is used to send the first control switch to the control switch.
- control switch is also used to receive the first instruction through the enable control pin, and turn on the second channel and the first sub-channel according to the first instruction, so that When the second channel and the first sub-channel are turned on, the connection between the main BIOS file storage module and the computer hardware system is successfully established, and the computer hardware system uses the main BIOS file storage module
- the written start-up program source file completes power-on operation.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory; the secure boot kernel , Is also used to write the startup program source file into the slave BIOS file storage module when the first startup program file in the slave BIOS file storage module fails the verification.
- the controller is a baseboard management controller BMC
- the BIOS file storage device is a flash memory that stores BIOS files
- the first channel is a first serial peripheral interface SPI bus
- the second channel is a second SPI bus
- the third channel is a third SPI bus.
- the component modules of the controller can also execute the steps described in the foregoing second aspect and various possible implementation manners.
- the for details refer to the foregoing description of the second aspect and various possible implementation manners. Description.
- the embodiments of the present application provide a computer-readable storage medium that stores instructions in the computer-readable storage medium, which when run on a computer, causes the computer to execute the above-mentioned first or second aspect. The method described.
- the embodiments of the present application provide a computer program product containing instructions, which when run on a computer, cause the computer to execute the method described in the first aspect or the second aspect.
- an embodiment of the present application provides a controller.
- the controller may include entities such as a terminal device or a chip.
- the controller includes: a processor and a memory; the memory is used for storing instructions; the processor is used for Executing the instructions in the memory causes the controller to execute the method according to any one of the foregoing first aspect or second aspect.
- the present application provides a chip system including a processor for supporting the controller to implement the functions involved in the above aspects, for example, sending or processing the data and/or information involved in the above methods .
- the chip system further includes a memory, and the memory is used to store program instructions and data necessary for the controller.
- the chip system can be composed of chips, and can also include chips and other discrete devices.
- the present application provides a computer startup system.
- the computer startup system includes: a controller, a computer hardware system, and a basic input output system BIOS file storage device, the controller and the computer hardware system respectively The BIOS file storage device is connected; the controller is configured to execute the method according to any one of the first aspect or the second aspect.
- FIG. 1 is a schematic diagram of the composition structure of a computer startup system provided by an embodiment of the application
- FIG. 2 is a schematic block diagram of the flow of a computer startup method provided by an embodiment of the application
- FIG. 3 is a schematic block diagram of the flow of a computer startup method provided by an embodiment of the application.
- FIG. 4 is a schematic block diagram of the flow of a computer startup method provided by an embodiment of the application.
- FIG. 5a is a schematic diagram of the composition structure of a computer startup system provided by an embodiment of the application.
- 5b is a schematic diagram of the composition structure of another computer startup system provided by an embodiment of the application.
- FIG. 6 is a schematic block diagram of the flow of a computer startup method provided by an embodiment of the application.
- FIG. 7 is a schematic diagram of the composition structure of a BMC system provided by an embodiment of the application.
- FIG. 8 is a schematic diagram of the internal hardware structure of a computer startup system according to an embodiment of the application.
- FIG. 9 is a schematic diagram of an execution flow of a computer startup method provided by an embodiment of the application.
- FIG. 10a is a schematic diagram of the default initial conduction of the BIOS gating control switch provided by an embodiment of the application.
- FIG. 10b is a schematic diagram of the X86 system and the main BIOS provided by an embodiment of the application;
- FIG. 10c is a schematic diagram of the X86 system provided by an embodiment of the application and the booting from the BIOS;
- FIG. 10d is a schematic diagram of the BMC writing back BIOS source files to the master BIOS and the slave BIOS according to an embodiment of the application;
- FIG. 11 is a schematic diagram of the composition structure of a controller provided by an embodiment of the application.
- FIG. 12 is a schematic diagram of the composition structure of another controller provided by an embodiment of the application.
- the embodiments of the present application provide a computer startup method, controller, storage medium, and system, which are used to improve the startup security level of the computer and avoid the security risks caused by the use of tampered startup program files.
- the computer startup system 100 can include: a controller 101, a computer hardware system 102, and a basic input output system (BIOS)
- BIOS basic input output system
- the file storage device 103 wherein the controller 101 is connected to the computer hardware system 102 and the BIOS file storage device 103, for example, a channel is established between the controller 101 and the computer hardware system 102, and the controller 101 and the BIOS file storage device 103 Another channel is established between.
- the controller 101 can be used to control whether the computer hardware system 102 can read the first startup program file stored in the BIOS file storage device 103, where the power-on operation refers to power-on operation, such as alternate current (AC) ,
- the voltage can be 220 volts.
- the controller 101 may verify the first startup program file in the BIOS file storage device, and only when the first startup program file passes the verification, the computer hardware system 102 can read the BIOS file storage device 103.
- the first startup program file When the first startup program file fails the verification, the controller 101 can be used to control the computer hardware system 102 to be unable to read the first startup program file stored in the BIOS file storage device 103.
- the first startup program The reason why the file fails the verification may be that the first startup program file has been tampered with, or the first startup program file is damaged.
- the BIOS file storage device 103 may be used to store the first boot program file to provide the BIOS file for the power-on operation of the computer hardware system 102.
- the computer hardware system 102 can read the first startup program file stored in the BIOS file storage device 103, and use the first startup program file to complete the power-on operation.
- the controller 101 may be a baseboard management controller (baseboard management controller, BMC).
- BMC baseboard management controller
- the BMC is an independent system independent of the computer hardware system, and the BMC can be used to control whether the computer hardware system 102 can read the first startup program file stored in the BIOS file storage device 103.
- BMC is also used to provide necessary functions such as fault diagnosis, fault reporting, fault warning, fault log collection, equipment operation status monitoring, etc. for the computer hardware system, and to provide real-time online upgrade capabilities for the main software of the computer hardware system to protect the computer The normal operation and maintenance of the hardware system.
- the BIOS file storage device 103 is a storage device for storing BIOS files.
- the BIOS file storage device may specifically be a flash memory (FLASH) with an SPI interface.
- the BIOS may also be referred to as a BIOS hardware system, and the BIOS may be used to guide the computer hardware system 102 to power on and run under the control of the controller 101.
- a startup program file is stored in the BIOS, and the startup program file may include booting the computer hardware system 102 to power on and run.
- BIOS is a set of programs that are solidified on a flash chip on the motherboard of the computer.
- the connection between the BIOS file storage device 103 and the computer hardware system 102 cannot be established, and the computer hardware system 102 cannot The first startup program file stored in the BIOS file storage device 103 is read to avoid security risks caused by using a tampered startup program file.
- the computer hardware system 102 is a hardware system that performs computer startup, where the computer may be a terminal device, or a network device, or a server.
- the computer hardware system 102 may be an X86 system, or the computer hardware system may be an ARM (advanced RISC machine) system.
- the X86 system is an X86 computer system based on the INTEL platform, which can perform related operations based on the windows operating system or the linux operating system to complete specific software and hardware functions.
- the specific type of the computer hardware system 102 is not limited in the embodiment of the present application.
- the computer hardware system 102 can be a hardware system of various types of general-purpose servers, as long as the computer hardware system 102 needs to read the first file in the BIOS file storage device 103. Start the program file to complete the power-on operation.
- the controller 101 is a BMC
- the BIOS file storage device 103 is a flash memory that stores BIOS files
- the BMC uses a first serial peripheral interface (SPI) bus and stores the BIOS files.
- the flash memory is connected, and the BMC is connected to the computer hardware system through the second SPI bus.
- the SPI bus is a standard four-wire synchronous two-way serial bus.
- the computer hardware system can be an X86 system.
- the SPI bus is used in the X86 system to connect the X86 system to the flash memory that stores the BIOS file.
- the X86 system is powered on during the power-on process.
- the communication between the SPI bus and the flash memory that stores the BIOS file is used to complete the basic electrical configuration of the X86 system to ensure that the X86 system can be powered on and run.
- the computer startup method provided by the embodiment of the application is described.
- the computer startup method provided by the embodiment of the application can be used for the aforementioned controller.
- the control The device is respectively connected with the computer hardware system and the BIOS file storage device.
- the method may include the following steps:
- the controller When the controller is powered on and runs, the controller obtains a first startup program file in the BIOS file storage device, where the first startup program file is a BIOS file pre-stored in the BIOS file storage device.
- the controller may be used to control whether the computer hardware system can read the first startup program file stored in the BIOS file storage device.
- power is first supplied to the controller so that the controller is powered on and runs.
- the controller can establish a communication connection with the BIOS file storage device, so that the controller obtains the first startup program file in the BIOS file storage device, where
- the first startup program file is a BIOS file pre-stored in the BIOS file storage device, and the first startup program file is a boot file required by the computer hardware system to power on and run.
- the BIOS file storage device is a flash memory
- the flash memory stores the first startup program file
- the flash memory is a storage chip
- the flash memory can be used to store the first startup program file.
- the first startup program file may be the original BIOS file or BIOS source program.
- the controller can read the first startup program file from the flash memory, and then the controller executes the subsequent step 202.
- the controller verifies the first startup program file.
- the controller can verify the first startup program file. For example, the controller can use a trusted algorithm for the first startup.
- the program file performs credibility verification. If the first startup program file is damaged or tampered with, the first startup program file cannot pass the verification. On the contrary, if the first startup program is not damaged, And it has not been tampered with, that is, the first startup program file is consistent with the startup program file originally written in the BIOS file storage device, and the first startup program file passes the verification.
- the controller determines whether to perform the subsequent step 203 on the verification result of the first startup program file. When the first startup program file passes the verification, the subsequent step 203 can be executed.
- the controller can verify the first startup program file in multiple ways.
- the controller can use multiple verification algorithms to verify the first startup program file.
- the controller can verify the first startup program file.
- the adopted check algorithm may include: cyclic redundancy check (cyclic redundancy check, CRC).
- step 202 that the controller verifies the first startup program file includes:
- the controller uses the key and the startup program source file in the controller to perform verification calculations to obtain the first verification result.
- the startup program source file is a BIOS file pre-stored in the controller;
- the controller uses the key and the first startup program file to perform verification calculations to obtain the second verification result
- the controller determines whether the first startup program file passes the verification according to the first verification result and the second verification result.
- a key and a startup program source file can be pre-stored in the controller.
- the key and the startup program source file have a binding relationship.
- the startup program source file refers to a BIOS file used to boot the computer hardware system.
- the source file can be encrypted and stored in the controller in advance.
- the controller can include flash memory.
- the flash memory can also be called a flash storage controller.
- the flash memory in the controller can be used to store keys and start-up program source files to facilitate The controller uses the start-up program source file for safety verification.
- the controller first obtains the key and the startup program source file, and then uses the key and the startup program source file in the controller to perform verification calculations to obtain the first verification result. Similarly, the controller can also use the key and the first verification result. Perform verification calculation on the startup program file to obtain the second verification result. Finally, the controller compares the two verification results, and can determine whether the first startup program file passes the verification based on the first verification result and the second verification result.
- the first verification result and the second verification result are exactly the same, it is determined that the boot program source file stored in the controller and the first boot program file stored in the BIOS file storage device are the same, that is, the BIOS file storage device
- the first startup program file stored in has not been tampered with, and the output verification result at this time is that the first startup program file passed the verification.
- the first verification result and the second verification result are not the same, it is determined that the boot program source file stored in the controller and the first boot program file stored in the BIOS file storage device are different, that is, the BIOS file is stored
- the first startup program file stored in the device may be tampered with or damaged.
- the output verification result is that the first startup program file fails the verification.
- the controller uses the key and the startup program source file in the controller to perform verification calculations to obtain the first verification result, which can be generated every time the first startup program file needs to be verified.
- the verification result can also be calculated in advance and stored in the flash memory of the controller.
- the first verification result is read from the flash memory of the controller every time the first startup program file needs to be verified. ⁇ The results.
- the method for obtaining the first verification result is not limited here.
- the controller establishes a connection between the BIOS file storage device and the computer hardware system.
- the connection between the BIOS file storage device and the computer hardware system is successfully established, the computer hardware system uses The first startup program file completes power-on operation.
- the controller establishes the connection between the BIOS file storage device and the computer hardware system. For example, the controller conducts the channel between the BIOS file storage device and the computer hardware system to enable the computer hardware system to use The first startup program file completes power-on operation.
- the computer hardware system can read the first startup program file stored in the BIOS file storage device and use the first startup program file. The program files are powered on and run, which improves the startup security level of the computer hardware system and avoids the security risks caused by the use of tampered startup program files.
- the controller is connected to the computer hardware system and the BIOS file storage device respectively.
- the controller When the controller is powered on and running, the controller first obtains the first boot program file in the BIOS file storage device, where the first boot program file is a BIOS file pre-stored in the BIOS file storage device, and the controller then checks the first boot program file in the BIOS file storage device. The startup program file is verified.
- the controller establishes a connection between the BIOS file storage device and the computer hardware system, and when the connection between the BIOS file storage device and the computer hardware system is successfully established , And finally the computer hardware system uses the first startup program file to complete the power-on operation.
- the controller can verify the first startup program file in the BIOS file storage device. Only when the first startup program file passes the verification, the controller will establish the BIOS file storage device and the computer hardware. System connection, at this time, the computer hardware system can read the first startup program file in the BIOS file storage device to complete the power-on operation. In the embodiment of the present application, the controller can perform the pre-stored first boot program file in the BIOS file storage device. A startup program file is verified to ensure that the first startup program file is safe, that is, to ensure that the first startup program file has not been tampered with, which improves the startup security level of the computer hardware system and avoids the use of tampered startup program files The resulting security risks.
- a computer startup method provided by an embodiment of the present application can be used for the aforementioned controller.
- the controller is respectively connected to the computer hardware system and the BIOS file storage device.
- the method may include the following step:
- the controller When the controller is powered on and runs, the controller obtains a first startup program file in a BIOS file storage device, where the first startup program file is a BIOS file pre-stored in the BIOS file storage device.
- the controller verifies the first startup program file.
- the controller executes the subsequent step 303, and when the first startup program file fails the verification, the controller executes the subsequent steps 304 to 306.
- the controller establishes a connection between the BIOS file storage device and the computer hardware system.
- the connection between the BIOS file storage device and the computer hardware system is successfully established, the computer hardware system uses The first startup program file completes power-on operation.
- step 301 to step 303 are similar to the aforementioned step 201 to step 203, and refer to the description of the aforementioned embodiment for details.
- the controller When the first startup program file fails the verification, the controller writes the startup program source file into the BIOS file storage device, and the startup program source file is the BIOS file pre-stored in the controller.
- the controller may pre-store a startup program source file, the startup program source file refers to the original file used to start the computer hardware system, the startup program source file can be encrypted and stored in the controller in advance, for example, the controller may include Flash memory, the flash memory may also be called a flash storage controller, and the flash memory can be used to store a startup program source file so that the controller can use the startup program source file for verification.
- the boot program source file can also be used to restore the tampered first boot program file in the BIOS file storage device, so that the boot program source file that has not been tampered can be rewritten in the BIOS file storage device so that the computer hardware system can read it. Take the start-up program source file rewritten in the BIOS file storage device, and use the start-up program source file for power-on operation to avoid the security risk caused by using the tampered start-up program file.
- the controller may also perform the following steps:
- the controller deletes the first startup program file stored in the BIOS file storage device.
- the first startup program file fails the verification, it means that the first startup program file stored in the BIOS file storage device may be tampered with or damaged, that is, the first startup program file stored in the BIOS file storage device Is untrustworthy.
- the controller can also delete the first startup program file stored in the BIOS file storage device, that is, the controller can erase the tampered first startup program file in the BIOS file storage device, so that the flash memory of the controller can be used for rewriting
- the source file of the startup program that has not been tampered with improves the space usage efficiency of the flash memory.
- the controller verifies the startup program source file written in the BIOS file storage device.
- the controller can read the startup program source file written in the BIOS file storage device again, and perform processing on the startup program source file written in the BIOS file storage device.
- the verification method please refer to the description of step 202 in the foregoing embodiment, and no detailed description is provided here.
- the controller establishes a connection between the BIOS file storage device and the computer hardware system, and when the connection between the BIOS file storage device and the computer hardware system is successfully established When connected, the computer hardware system uses the startup program source file written in the BIOS file storage device to complete power-on operation.
- the boot program source file is rewritten in the BIOS file storage device, and the boot program source file written in the BIOS file storage device passes the verification.
- the controller establishes the BIOS file storage device and the computer hardware system.
- the computer hardware system uses the startup program source file written in the BIOS file storage device to complete the power-on operation.
- the controller has the function of rewriting the boot program source file to the BIOS file storage device, so that the boot program source file stored in the BIOS file storage device is safe and reliable, and the computer hardware system can read it. Taking the first startup program file stored in the BIOS file storage device and using the first startup program file for power-on operation improves the startup security level of the computer hardware system and avoids the security risk caused by using the tampered startup program file.
- a computer startup method provided by an embodiment of the present application can be used for the aforementioned controller.
- the controller is respectively connected to the computer hardware system and the BIOS file storage device, where the BIOS file storage
- the device includes: a master BIOS file storage module and a slave BIOS file storage module, that is, the BIOS file storage device can be two BIOS file storage modules with a master-slave backup function.
- the master BIOS file storage module can be the master BIOS hardware system and the slave BIOS The file storage module can be from the BIOS hardware system.
- the controller is respectively connected with the main BIOS file storage module and the slave BIOS file storage module. Both the main BIOS file storage module and the slave BIOS file storage module store the first startup program file in advance, that is, both BIOS file storage modules store The same first startup program file,
- the controller preferentially interacts with the master BIOS file storage module.
- the controller interacts with the slave BIOS file storage module.
- the computer hardware system can read the first startup program file stored in the BIOS file storage device, and use the first startup program file for power-on operation.
- the BIOS file storage device in the embodiment can be implemented by two BIOS file storage modules, which improves the probability of the computer hardware system being successfully powered on and ensures the stability of the computer hardware system.
- the computer startup method provided in the embodiment of the present application may include the following steps:
- the controller obtains the first startup program file in the main BIOS file storage module.
- the controller can be used to control whether the computer hardware system can read the first startup program file stored in the main BIOS file storage module, and the computer hardware system can only read the first startup program file when the first startup program file is read. , Can use the first startup program file for power-on operation.
- the controller can establish a communication connection with the main BIOS file storage module, so that the controller obtains the first startup program file in the main BIOS file storage module ,
- the first startup program file is a BIOS file pre-stored in the main BIOS file storage module
- the first startup program file is a boot file required when the computer hardware system is powered on and runs.
- the controller verifies the first startup program file in the main BIOS file storage module.
- the controller can verify the first startup program file. For example, the controller can use a trusted algorithm for the first startup program file. The credibility of the startup program file is verified. If the first startup program file is damaged or tampered with, the first startup program file cannot pass the verification. On the contrary, if the first startup program is not damaged , And has not been tampered with, that is, the startup program file when the first startup program file is originally written in the main BIOS file storage module is consistent, and the first startup program file passes the verification. In the embodiment of the present application, the controller determines whether to execute the subsequent step 403 on the verification result of the first startup program file. When the first startup program file passes the verification, the subsequent step 403 may be executed. When the first startup program file fails the verification, the controller executes the subsequent steps 404 to 406.
- the controller establishes a connection between the main BIOS file storage module and the computer hardware system.
- the controller establishes the connection between the main BIOS file storage module and the computer hardware system. For example, the controller connects the channel between the main BIOS file storage module and the computer hardware system to make The main BIOS file storage module computer hardware system uses the first startup program file to complete power-on operation.
- the computer hardware system when the first startup program file stored in the main BIOS file storage module is safe and reliable, the computer hardware system can read the first startup program file stored in the main BIOS file storage module, and the computer hardware system has only Only when the first startup program file is read, the first startup program file can be used for power-on operation, which improves the startup security level of the computer hardware system and avoids security risks caused by the use of tampered startup program files .
- the controller obtains the first startup program file in the slave BIOS file storage module.
- the controller can be used to control whether the computer hardware system can read the first startup program file stored in the BIOS file storage module.
- the computer hardware system can only read the first startup program file when the first startup program file is read. , Can use the first startup program file for power-on operation.
- the controller can establish a communication connection with the slave BIOS file storage module, so that the controller obtains the first startup program file from the BIOS file storage module, where the first startup program file is pre-stored In the BIOS file in the storage module from the BIOS file, the first startup program file is a boot file required when the computer hardware system is powered on and runs.
- the controller verifies the first startup program file in the BIOS file storage module.
- the controller may verify the first startup program file. For example, the controller may use a trusted algorithm for the first startup program file. The credibility of the startup program file is verified. If the first startup program file is damaged or tampered with, the first startup program file cannot pass the verification. On the contrary, if the first startup program is not damaged , And has not been tampered with, that is, the startup program file of the first startup program file when it was originally written from the BIOS file storage module is consistent, and the first startup program file passes the verification. In the embodiment of the present application, the controller determines whether to execute the subsequent step 406 on the verification result of the first startup program file. When the first startup program file passes the verification, the subsequent step 406 may be executed. When the first startup program file fails the verification, the controller executes the subsequent steps 407 to 409.
- the controller establishes a connection between the BIOS file storage module and the computer hardware system.
- the controller establishes the connection between the BIOS file storage module and the computer hardware system. For example, the controller conducts the channel between the BIOS file storage module and the computer hardware system to make The computer hardware system from the BIOS file storage module uses the first startup program file to complete the power-on operation.
- the computer hardware system can read the first startup program file stored in the BIOS file storage module. Only when the first startup program file is read, the first startup program file can be used for power-on operation, which improves the startup security level of the computer hardware system and avoids the safety caused by the use of tampered startup program files. risk.
- the controller When the first startup program file from the BIOS file storage module fails the verification, the controller writes the startup program source file into the main BIOS file storage module, and the startup program source file is pre-stored in the controller. BIOS file.
- the controller may pre-store a startup program source file, the startup program source file refers to the original file used to start the computer hardware system, the startup program source file can be encrypted and stored in the controller in advance, for example, the controller may include Flash memory, the flash memory may also be called a flash storage controller, and the flash memory can be used to store a startup program source file so that the controller can use the startup program source file for verification.
- the boot program source file can also be used to restore the tampered first boot program file in the main BIOS file storage module, so that the boot program source file that has not been tampered is rewritten in the main BIOS file storage module, so that the computer hardware system It can read the source file of the startup program that has not been tampered in the main BIOS file storage module to complete the power-on operation, avoiding the security risk caused by using the tampered startup program file.
- the controller verifies the startup program source file written in the main BIOS file storage module.
- the controller can read the startup program source file written in the main BIOS file storage module again, and store the startup program source written in the main BIOS file storage module.
- the file is verified.
- the verification method please refer to the description of step 202 in the foregoing embodiment, which is not described in detail here.
- the controller establishes a connection between the main BIOS file storage module and the computer hardware system.
- the main BIOS file storage module and the computer hardware system are successfully established During the connection between the computer hardware system, the computer hardware system uses the startup program source file written in the main BIOS file storage module to complete the power-on operation.
- the main BIOS file storage module has rewritten the startup program source file, and the startup program source file written in the main BIOS file storage module passes the verification.
- the controller establishes the main BIOS file storage module and The connection between the computer hardware systems, when the connection between the main BIOS file storage module and the computer hardware system is successfully established, the computer hardware system uses the startup program source file written in the main BIOS file storage module to complete the power-on operation.
- the controller has the function of rewriting the boot program source file to the main BIOS file storage module, so that the boot program source file stored in the main BIOS file storage module is safe and reliable, and the computer hardware system can Reading the startup program source file in the main BIOS file storage module to complete the power-on operation, which improves the startup security level of the computer hardware system and avoids the security risks caused by the use of tampered startup program files.
- the controller may also perform the following steps:
- the controller When the first boot program file in the slave BIOS file storage module fails the verification, the controller writes the boot program source file into the slave BIOS file storage module.
- the boot program source file is the BIOS file pre-stored in the controller. .
- the first startup program file fails the verification, it means that the first startup program file stored in the BIOS file storage module may be tampered with or damaged, that is, the first startup program file stored in the BIOS file storage module
- the program file is not trusted.
- the controller may pre-store a startup program source file, the startup program source file refers to the original file used to start the computer hardware system, the startup program source file can be encrypted and stored in the controller in advance, for example, the controller may include Flash memory, the flash memory may also be called a flash storage controller, and the flash memory can be used to store a startup program source file so that the controller can use the startup program source file for verification.
- the computer startup system 500 may include: a controller 501, a computer hardware system 502, and a BIOS file storage device 503, where the control The controller 501 is deployed between the BIOS file storage device 503 and the computer hardware system 502, and the controller 501 is connected to the computer hardware system 502 and the BIOS file storage device 503, respectively.
- the controller 501 includes a safety verification core 5011, and the safety verification core 5011 communicates with the control switch 5012 through an enable control pin of the control switch 5012.
- the security check kernel 5011 can be used to control whether the computer hardware system 502 can read the first boot program file in the BIOS file storage device 503 to complete the power-on operation, where the power-on operation refers to the power-on operation, for example, the AC is connected.
- the voltage can be 220 volts.
- the security check kernel 5011 can check the first boot program file in the BIOS file storage device, and only when the first boot program file passes the check, the security check kernel 5011 can be used to control the computer hardware system 502
- the first boot program file in the BIOS file storage device 503 can be read to complete the power-on operation.
- the security verification kernel 5011 can be used to control the computer hardware system 502 cannot read the BIOS
- the reason why the first startup program file fails the verification may be that the first startup program file has been tampered with, or the first startup The program file is damaged.
- the control switch 5012 may belong to the controller 501, that is, the controller 501 includes a security verification core 5011 and a control switch 5012.
- the controller 5012 may also be a logic switch independent of the controller 501.
- the control switch 5012 is connected to the security check kernel 5011 through the first channel, the control switch 5012 is connected to the computer hardware system 502 through the second channel, and the control switch 5012 is connected to the BIOS file storage device 503 through the third channel;
- the BIOS file storage device 503 may be used to store the first startup program file.
- the computer hardware system 502 can be used to read the first startup program file in the BIOS file storage device 503 when the BIOS file storage device 503 is connected to the computer hardware system 502, and use the first startup program file to complete the power-on operation.
- the controller 501 further includes a memory, wherein the security check kernel 5011 is connected to the memory, and the source file of the startup program is pre-stored in the memory.
- the memory may be flash memory.
- the computer startup method provided by the embodiment of the application is described.
- the computer startup method provided by the embodiment of the application can be used for the aforementioned controller, based on FIGS. 5a and 5b.
- the security check kernel 5011 can control whether the control switch 5012 is turned on, and when the control switch 5012 is turned on, the computer hardware system and the BIOS file storage device are connected together.
- the method may include the following steps:
- the security check kernel obtains the first startup program file in the BIOS file storage device through the first channel and the third channel, where the first startup program file is a BIOS file pre-stored in the BIOS file storage device.
- the security check kernel is a kernel module that has a check function for the first boot program file.
- the security check kernel is connected to the control switch through the first channel, and the control switch is connected to the BIOS file storage device through the third channel. Therefore, when the first channel and the second channel are turned on, the security check kernel can establish a communication connection with the BIOS file storage device. At this time, the security check kernel can obtain the first boot program file.
- the file For the description of the file, refer to the detailed description of step 201 in the foregoing embodiment.
- the security verification kernel verifies the first startup program file.
- step 202 For the description of the security verification kernel verifying the first startup program file, refer to the detailed description of step 202 in the foregoing embodiment for details.
- the security verification core sends the first instruction to the control switch through the enable control pin.
- the security check kernel sends a first instruction to the control switch through the enable control pin, where the first instruction is used to control the control switch to conduct the second channel and the third channel.
- the enable control pin is a communication interface configured on the control switch, and the safety verification core can issue specific instructions to the control switch through the safety verification core.
- the control switch receives the first instruction through the enable control pin, and then controls the switch to turn on the second channel and the third channel according to the first instruction, so that the BIOS file is successfully created when the second channel and the third channel are turned on
- the computer hardware system uses the first startup program file to complete the power-on operation.
- control switch is connected to the computer hardware system through the second channel, and the control switch is connected to the BIOS file storage device through the third channel. Therefore, when the third channel and the second channel are turned on, the BIOS is successfully established For the connection between the file storage device and the computer hardware system, the computer hardware system can read the first startup program file from the BIOS file storage device, and then use the first startup program file to complete the power-on operation.
- the security verification kernel can verify the first startup program file in multiple ways.
- the controller can use multiple verification algorithms to verify the first startup program file, for example,
- the check algorithm used by the controller may include: CRC.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and the start-up program source file is pre-stored in the memory.
- Step 602 The security verification kernel verifies the first startup program file, including:
- the security verification kernel uses the key and the startup program source file in the memory to perform verification calculations to obtain the first verification result
- the security verification kernel uses the key and the first startup program file to perform verification calculations to obtain the second verification result
- the security verification kernel determines whether the first startup program file passes the verification according to the first verification result and the second verification result.
- step B1 to step B3 The verification process of the security verification kernel in step B1 to step B3 is similar to the description in step A1 to step A3 in the foregoing embodiment, please refer to the foregoing detailed description in step A1 to step A3.
- the security verification kernel uses the key and the startup program source file in the controller to perform the verification calculation to obtain the first verification result, which can be generated every time the first startup program file needs to be verified.
- the first verification result may also be calculated in advance and stored in the flash memory, and the first verification result is read from the flash memory every time the first startup program file needs to be verified.
- the method for obtaining the first verification result is not limited here.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and the start-up program source file is pre-stored in the memory;
- the security verification kernel writes the startup program source file into the BIOS file storage device
- the security verification kernel verifies the boot program source file written in the BIOS file storage device.
- step C1 to step C2 The verification process of the security verification kernel in step C1 to step C2 is similar to the description in step 304 to step 305 in the foregoing embodiment, please refer to the foregoing detailed description in step 304 to step 305.
- the security verification kernel sends the first instruction to the control switch through the enable control pin;
- the control switch receives the first instruction through the enable control pin, and turns on the second channel and the third channel according to the first instruction, so that the BIOS file storage device is successfully established when the second channel and the third channel are turned on
- the computer hardware system uses the first startup program file to complete the power-on operation.
- step C3 to step C4 The verification process of the security verification kernel in step C3 to step C4 is similar to the description in step 603 to step 604 in the foregoing embodiment. Please refer to the foregoing detailed description of step 603 to step 604.
- the method provided in the embodiments of the present application further includes the following steps:
- the security verification kernel deletes the first startup program file stored in the BIOS file storage device.
- the first startup program file fails the verification, it means that the first startup program file stored in the BIOS file storage device may be tampered with or damaged, that is, the first startup program file stored in the BIOS file storage device Is untrustworthy.
- the controller can also delete the first startup program file stored in the BIOS file storage device, that is, the controller can erase the tampered first startup program file in the BIOS file storage device, so that the flash memory of the controller can be used for rewriting
- the source file of the startup program that has not been tampered with improves the space usage efficiency of the flash memory.
- the BIOS file storage device includes: a main BIOS file storage module and a slave BIOS file storage module, wherein the control switch is connected to the main BIOS file storage module through the first sub-channel, and the control switch is connected to the main BIOS file storage module through the second sub-channel.
- the channel is connected to the slave BIOS file storage module, and both the master BIOS file storage module and the slave BIOS file storage module store the first startup program file in advance.
- the control switch is connected to the BIOS file storage device through the third channel.
- the BIOS file storage device includes a master BIOS file storage module and a slave BIOS file storage module.
- the third channel may include the first sub-channel.
- the second sub-channel specifically, the first sub-channel is connected to the control switch and the main BIOS file storage module, and the second sub-channel is connected to the control switch and the slave BIOS file storage module.
- the first sub-channel and the second sub-channel are shown in Figure 5a. It is not illustrated schematically in FIG. 5b, and is only a possible example of the embodiment of the present application.
- the secure boot kernel obtains the first boot program file in the main BIOS file storage module through the first channel and the first sub-channel.
- the secure boot kernel verifies the first boot program file in the main BIOS file storage module.
- the check result of the secure boot kernel on the first boot program file determines whether to perform the subsequent steps D3 and D4.
- the subsequent steps D3 and D4 may be performed.
- the controller executes the subsequent steps D5 to D8.
- the security verification kernel sends the first instruction to the control switch through the enable control pin.
- the control switch turns on the second channel and the first sub-channel according to the first instruction, so that the connection between the main BIOS file storage module and the computer hardware system is successfully established when the second channel and the first sub-channel are turned on.
- the verification process of the security verification kernel from step D1 to step D4 is similar to the description in step 601 to step 604 in the foregoing embodiment. Please refer to the detailed description of step 601 to step 604 in the foregoing embodiment.
- the secure boot kernel obtains the first boot program file in the BIOS file storage module through the first channel and the second sub-channel;
- the secure boot kernel verifies the first boot program file in the BIOS file storage module.
- the security verification kernel sends a second instruction to the control switch through the enable control pin;
- the control switch receives the second instruction through the enable control pin, and then controls the switch to turn on the second channel and the second sub-channel according to the second instruction, so that the second channel and the second sub-channel are successfully established when the second channel and the second sub-channel are turned on
- the computer hardware system from the BIOS file storage module uses the first startup program file to complete the power-on operation.
- step D5 to step D8 The verification process of the security verification kernel from step D5 to step D8 is similar to the description in step 404 to step 406 in the foregoing embodiment. Please refer to the foregoing detailed description of step 404 to step 406.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and the start-up program source file is pre-stored in the memory;
- the secure boot kernel verifies the boot program source file written in the main BIOS file storage module
- the security verification kernel sends the first instruction to the control switch through the enable control pin;
- the control switch receives the first instruction through the enable control pin, and then controls the switch to turn on the second channel and the first sub-channel according to the first instruction, so that the second channel and the first sub-channel are successfully established when the second channel and the first sub-channel are turned on
- the main BIOS file storage module computer hardware system uses the first startup program file to complete the power-on operation.
- the verification process of the security verification kernel from step E1 to step E4 is similar to the description in step 407 to step 409 in the foregoing embodiment. Please refer to the detailed description of step 407 to step 409 in the foregoing embodiment.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and the start-up program source file is pre-stored in the memory;
- the secure boot kernel writes the boot program source file into the slave BIOS file storage module.
- the startup program source file can be pre-stored in the security verification kernel.
- the startup program source file refers to the original file used to start the computer hardware system.
- the startup program source file can be encrypted and pre-stored in the security verification kernel, such as the security verification kernel.
- the verification kernel may include a flash memory, which may also be referred to as a flash storage security verification kernel, and the flash memory may be used to store a startup program source file, so that the security verification kernel uses the startup program source file for verification.
- the controller includes a security check kernel, and the security check kernel communicates with the control switch through the enable control pin of the control switch.
- the control switch is connected with the security check kernel through the first channel
- the control switch is connected with the computer hardware system through the second channel
- the control switch is connected with the BIOS file storage device through the third channel.
- the security check kernel first obtains the first boot program file in the BIOS file storage device through the first channel and the third channel, where the first boot program file is a BIOS file pre-stored in the BIOS file storage device, and the security check kernel Then the first startup program file is verified.
- the security verification kernel sends the first instruction to the control switch through the enable control pin, and the control switch receives the first instruction through the enable control pin. An instruction, and then control the switch to turn on the second channel and the third channel according to the first instruction, so that the connection between the BIOS file storage device and the computer hardware system is successfully established when the second channel and the third channel are turned on, and the computer The hardware system uses the first startup program file to complete the power-on operation.
- the security verification kernel can verify the first startup program file in the BIOS file storage device, and only when the first startup program file passes the verification, the control switch will establish the BIOS file storage device and the computer The connection between hardware systems.
- the computer hardware system can read the first boot program file in the BIOS file storage device to complete the power-on operation.
- the security check kernel can pre-register the BIOS file storage device. The stored first startup program file is verified to ensure that the first startup program file is safe, that is, to ensure that the first startup program file has not been tampered with, which improves the startup security level of the computer hardware system and avoids the use of tampered Security risks caused by starting program files.
- the embodiment of the application can guide the X86 system to start safely and enter the operating system, ensure the safety and credibility of the BIOS program file, and avoid data leakage caused when the BIOS program file is tampered with.
- the controller provided in the embodiment of the present application may be a BMC system, and the BMC system includes: a BMC security verification kernel, a BIOS original file, and a BIOS gating control switch (hereinafter referred to as a control switch).
- the BMC system is a BMC out-of-band management system based on a trusted algorithm.
- the BMC out-of-band management system in the embodiment of this application is an out-of-band management system attached to the computer.
- the BMC out-of-band management system in the embodiment of this application has a BMC security check kernel. Perform file integrity check function for BIOS before booting, and also perform write-back recovery function for damaged BIOS program files.
- the BMC system mainly includes the BMC chip.
- the BMC chip contains two parts: the security check kernel of the trusted algorithm and the FLASH storage controller.
- an original BIOS file of the X86 system is stored on the storage controller in advance, and the file is passed through the BMC security check kernel to obtain a set of keys after a certain encryption algorithm, and the key is combined with the original BIOS file. Binding. Without the key matching, the external system cannot erase and write the original BIOS files stored in the BMC.
- the original BIOS file may also be referred to as BIOS program data, BIOS program, BIOS source file, etc.
- the external system refers to a computer of a user or an external third party, and the external system needs to be connected to the computer through some external interfaces.
- the BMC system performs security verification on the original X86BIOS file before the X86 system is started to ensure that the BIOS program data is not tampered with, and guide the X86 system to start safely and enter the operating system, ensuring that the user's key data is safe and reliable Not leaked by attacks.
- an embodiment of the present application provides a schematic diagram of the internal hardware structure of a computer startup system.
- the boot system of the computer may include: X86 system, BMC system, master BIOS FLASH and slave BIOS FLASH.
- the control switch may belong to a BMC system, that is, the BMC system may include: a BMC security check kernel and a control switch. Without limitation, the control switch may also be a logic switch independent of the BMC system. In Figure 8, the control switch belongs to the BMC system for example.
- the X86 system is connected to the B1 channel in the control switch through the SPI bus
- the BMC security check kernel is connected to the B2 channel in the control switch through the SPI bus.
- the control switch defaults to initially turn on the BMC security check kernel, and the BMC is safe.
- the verification core controls the conduction state of the switch by controlling the enable control pin in the switch, and the control switch is connected to the master BIOS FLASH and the slave BIOS FLASH through the SPI bus.
- the BMC controls the BIOS to connect to the BMC system through the control switch.
- the initial state of the switch defaults to the B2 channel being turned on, and the master and slave BIOS are respectively connected to the BMC and X86 systems through the switch.
- the BMC security check kernel confirms that the BIOS data is safe and complete, it transfers the control of the strobe switch to the X86 system (that is, the switch is switched to the B1 channel) to realize the BIOS FLASH chip and the X86 system are connected, and guide the X86 system to power on safely.
- the embodiment of the present application is also applicable to a single BIOS scenario.
- the single BIOS scenario once the BIOS data is tampered with, the complete BIOS source file needs to be written back. After the BIOS file is restored, the X86 system can be started.
- the master-slave dual BIOS hardware is used as an example to illustrate, which can realize the booting of the X86 system and the erasing and writing-back recovery of the master-slave BIOS when abnormal.
- the BMC chip needs to provide a security verification core, which provides accurate security algorithms to ensure the accuracy of data security. It can ensure that the program files of the master and slave BIOS are confirmed to be safe and have not been tampered with, so that the user's computer starts with a high security level and the data will not be tampered with.
- the BMC chip can provide a large enough FLASH at least for storing the BIOS source files to ensure that the original files of the X86 system BIOS can be stored. It can be guaranteed that after verifying that the master and slave BIOS data has been tampered with, the complete BIOS source files can be read from the BMC and written back to the master and slave BIOS FLASH, ensuring that the system is safely powered on.
- FIG. 9 it is a schematic diagram of the execution flow of a computer startup method provided by this embodiment of the application, which mainly includes the following flow:
- the computer may be a server, for example, 220 volt alternating current may be used to provide the computer.
- BMC refers to the aforementioned BMC system, and the on-off state of the BIOS gating control switch defaults to the BMC gating.
- the BMC security verification kernel verifies the main BIOS program.
- the BMC judges whether the main BIOS program is complete.
- the BMC security check kernel will switch the control switch to connect the BIOS to the X86 system, and then execute step S09.
- FIG. 10a it is a schematic diagram of the default initial conduction of the BIOS gating control switch provided in this embodiment of the application.
- the main BIOS FLASH and the BMC and X86 system through the control switch are connected through the SPI bus, and the slave BIOS FLASH and the control switch are connected with the BMC and X86 system through the SPI bus.
- the hardware control After the computer is powered on, the hardware control first supplies power to the BMC system.
- the BMC system is started and powered on.
- the BMC control switch is turned on in the initial state so that the BMC and the main BIOS FLASH are connected through the SPI bus, and the switching power of the switch is controlled by the BMC security check kernel.
- the BMC security verification kernel is a core of the processor of the chip in the BMC, which is implemented by a hardware logic circuit and can be used to verify the BIOS program file.
- the X86 system cannot be directly connected to the BIOS FLASH. Before the control switch is turned on, the X86 system cannot perform boot configuration and self-test. At this time, the X86 system cannot start normally.
- the BMC security check kernel inside the BMC chip calls the pre-stored BIOS original file, and the BMC communicates to the host via the SPI bus connected to the BIOS.
- the BIOS program performs data security verification. If it is verified that the main BIOS program is consistent with the BMC preset data, it indicates that the main BIOS program has not been tampered with.
- the BMC preset data is stored in the FLASH storage controller inside the BMC chip. At this time, the BMC security check kernel switches the BIOS control switch to connect the BIOS to the X86 system.
- the default is B2 channel strobe, check Pass the control switch to switch to the B1 channel, and the X86 system imports boot-related program data from the main BIOS FLASH, completes the power-on initialization action and guides the X86 system to enter the operating system.
- the source file on the FLASH storage controller inside the BMC chip passes the BMC security check kernel in advance to obtain a set of keys after a certain encryption algorithm, and binds the key with the original BIOS file. If the key matches, the external system cannot erase and write the original BIOS files stored inside the BMC.
- the verification process performed by the BMC security verification kernel in the embodiment of this application is as follows.
- the key is stored on the FLASH storage controller inside the BMC chip.
- the original BMC file can be encrypted and stored in the BMC.
- the same secret can be used for verification.
- the keys respectively compare the data in the original BMC files stored in different locations. If they are exactly the same, the files stored in the BIOS and BMC are considered to be the same.
- the BMC security check kernel checks the slave BIOS program.
- the BMC security check kernel judges whether the BIOS program is complete.
- the BMC security verification kernel boots the master BIOS FLASH and the slave BIOS FLASH respectively read the BIOS source files from the BMC for write-back recovery.
- BIOS guides the X86 system to boot.
- S10 and X86 systems are normally booted and connected to the operating system.
- FIG. 10c it is a schematic diagram of the X86 system provided by an embodiment of this application and the connection from the BIOS.
- the BMC security check kernel verifies that the main BIOS program is inconsistent with the BMC preset data, it means that the main BIOS data has been tampered with.
- the BMC security verification kernel starts the security verification of the program data from the BIOS. If it is verified that the slave BIOS program is consistent with the BMC preset data, it indicates that the slave BIOS data has not been tampered with.
- the BMC security check kernel will switch from the BIOS control switch to connect the BIOS with the X86 system.
- the X86 system can import the boot-related program data from the BIOS, complete the power-on initialization action and guide the X86 system into the operating system.
- FIG. 10d it is a schematic diagram of the BMC writing back the BIOS source files to the main BIOS FLASH and the slave BIOS FLASH provided by this embodiment of the application.
- the BMC security verification kernel verifies that the master BIOS program and the slave BIOS program are inconsistent with the BMC preset data, it means that both the master BIOS program and the slave BIOS program have been tampered with.
- the BMC will guide to erase all the tampered programs in the main BIOS FLASH and the slave BIOS FLASH, and then the BMC security check kernel will operate the main BIOS FLASH and the slave BIOS FLASH, and read the pre-stored BIOS original file and read it. Write back to the main BIOS FLASH and from the BIOS FLASH.
- the security check is performed on the main BIOS program. If it is verified that the main BIOS program is consistent with the BMC preset data, it means that the main BIOS has been written back and remains intact.
- the BMC security verification kernel switches the BIOS control switch to connect the main BIOS FLASH with the X86 system.
- the X86 system imports boot-related program data from the main BIOS FLASH, completes the power-on initialization action and guides the X86 system to enter the operating system.
- the embodiment of the present application provides a solution based on X86 trusted boot.
- the BMC system performs security verification on the original BIOS file of the X86 system to ensure that the BIOS program data is not tampered with, and the boot
- the X86 system safely starts and enters the OS, ensuring that the computer's critical data is safe and reliable from being attacked and leaked during the startup process and after entering the OS.
- a controller 1100 provided in an embodiment of the present application may include: a processor 1101 and a memory 1102;
- the memory is used to store instructions
- the processor is configured to execute the instructions in the memory, and execute the method described in any one of the foregoing embodiments in FIG. 2 to FIG. 4.
- the processor and the memory may be connected by a bus or other methods.
- the memory may include a read-only memory and a random access memory, and provides instructions and data to the processor.
- a part of the memory may also include a non-volatile random access memory (NVRAM).
- NVRAM non-volatile random access memory
- the memory stores an operating system and operating instructions, executable modules or data structures, or their subsets, or their extended sets, where the operating instructions may include various operating instructions for implementing various operations.
- the operating system may include various system programs for implementing various basic services and processing hardware-based tasks.
- the processor may also be referred to as a central processing unit (central processing unit, CPU).
- CPU central processing unit
- the various components of the controller are coupled together through a bus system.
- the bus system may also include a power bus, a control bus, and a status signal bus.
- various buses are referred to as bus systems in the figure.
- the methods disclosed in the foregoing embodiments of the present application may be applied to a processor or implemented by a processor.
- the processor can be an integrated circuit chip with signal processing capabilities.
- each step of the above method can be completed by an integrated logic circuit of hardware in the processor or instructions in the form of software.
- the above-mentioned processor may be a general-purpose processor, a digital signal processing (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other Programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
- DSP digital signal processing
- ASIC application specific integrated circuit
- FPGA field-programmable gate array
- the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
- the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
- the steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
- the storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
- a controller 1200 provided in an embodiment of the present application may include: a security check kernel 1201.
- the security verification core communicates with the control switch through the enable control pin of the control switch;
- the control switch is connected to the security check kernel through a first channel, the control switch is connected to a computer hardware system through a second channel, and the control switch is connected to a BIOS file storage device through a third channel;
- the security check kernel is configured to obtain the first startup program file in the BIOS file storage device through the first channel and the third channel, wherein the first startup program file is pre-stored in the BIOS file storage device.
- the BIOS file in the BIOS file storage device verify the first startup program file; when the first startup program file passes the verification, send the first startup program file to the control switch through the enable control pin An instruction;
- the control switch is configured to receive the first instruction through the enable control pin, and then turn on the second channel and the third channel according to the first instruction, so that the When the second channel and the third channel are turned on, the connection between the BIOS file storage device and the computer hardware system is successfully established, and the computer hardware system uses the first startup program file to complete the power-on operation.
- control switch 1202 may belong to the controller 1200, that is, the controller 1200 includes a safety verification core 1201 and a control switch 1202.
- the controller can also be a logic switch independent of the controller.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory;
- the security verification kernel is further configured to perform verification calculations using the key and the startup program source file in the memory to obtain a first verification result; use the key and the first startup program file to perform verification Verification calculation to obtain a second verification result; and determining whether the first startup program file passes the verification according to the first verification result and the second verification result.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory;
- the security check kernel is further configured to write the boot program source file into the BIOS file storage device when the first boot program file fails the check; to the BIOS file storage device The written startup program source file is verified; when the startup program source file written in the BIOS file storage device passes the verification, a first instruction is sent to the control switch through the enable control pin;
- the control switch is also applied to receive the first instruction through the enable control pin, and turn on the second channel and the third channel according to the first instruction, so that the When the second channel and the third channel are turned on, the connection between the BIOS file storage device and the computer hardware system is successfully established, and the computer hardware system uses the first startup program file to complete the power-on operation.
- the security check kernel is further configured to delete the first boot program file stored in the BIOS file storage device when the first boot program file fails the check.
- the BIOS file storage device includes: a master BIOS file storage module and a slave BIOS file storage module, wherein the control switch is connected to the master BIOS file storage module through a first sub-channel, The control switch is connected to the slave BIOS file storage module through a second sub-channel, and the first startup program file is pre-stored in the master BIOS file storage module and the slave BIOS file storage module;
- the security check kernel is further configured to obtain the first startup program file in the main BIOS file storage module through the first channel and the first sub-channel; 1. Start the program file for verification;
- the control switch is also used to turn on the second channel and the first sub-channel according to the first instruction, so that the second channel and the first sub-channel are successfully established when the second channel and the first sub-channel are connected.
- the connection between the main BIOS file storage module and the computer hardware system is also used to turn on the second channel and the first sub-channel according to the first instruction, so that the second channel and the first sub-channel are successfully established when the second channel and the first sub-channel are connected.
- the secure boot kernel is further configured to pass the first channel and the second channel when the first boot program file in the main BIOS file storage module fails the verification.
- the sub-channel obtains the first startup program file in the slave BIOS file storage module; verifies the first startup program file in the slave BIOS file storage module; when the first startup program file in the slave BIOS file storage module is started When the program file passes the verification, send a second instruction to the control switch through the enable control pin;
- the control switch is further configured to receive the second instruction through the enable control pin, and turn on the second channel and the second sub-channel according to the second instruction, so that the When the second channel and the second sub-channel are turned on, the connection between the slave BIOS file storage module and the computer hardware system is successfully established, and the computer hardware system uses the first in the slave BIOS file storage module Once the program file is started, power-on operation is completed.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory;
- the secure boot kernel is also used to write the boot program source file into the main BIOS file storage module when the first boot program file in the slave BIOS file storage module fails the verification;
- the boot program source file written in the main BIOS file storage module is verified; when the boot program source file written in the main BIOS file storage module passes the verification, the enable control pin is used to verify The control switch sends the first instruction;
- the control switch is further configured to receive the first instruction through the enable control pin, and turn on the second channel and the first sub-channel according to the first instruction, so that the When the second channel and the first sub-channel are turned on, the connection between the main BIOS file storage module and the computer hardware system is successfully established, and the computer hardware system uses the information written in the main BIOS file storage module Start the program source file to complete the power-on operation.
- the controller further includes: a memory, wherein the security check kernel is connected to the memory, and a startup program source file is pre-stored in the memory;
- the secure boot kernel is further configured to write the boot program source file into the slave BIOS file storage module when the first boot program file in the slave BIOS file storage module fails the verification.
- the controller is a baseboard management controller BMC
- the BIOS file storage device is a flash memory that stores BIOS files
- the first channel is a first serial peripheral interface SPI bus
- the second channel is a second SPI bus
- the third channel is a third SPI bus.
- the embodiments of the present application also provide a computer storage medium, wherein the computer storage medium stores a program, and the program executes some or all of the steps recorded in the above method embodiments.
- the chip when the controller is a chip, the chip includes a processing unit and a communication unit.
- the processing unit may be, for example, a processor, and the communication unit may be, for example, an input/output interface, a pin, or Circuit etc.
- the processing unit can execute the computer execution instructions stored in the storage unit, so that the chip in the terminal executes the aforementioned computer startup method.
- the storage unit is a storage unit in the chip, such as a register, a cache, etc., and the storage unit may also be a storage unit in the terminal located outside the chip, such as a read-only memory (read-only memory). -only memory, ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), etc.
- the processor mentioned in any of the above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of the program of the computer startup method.
- the device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physically separate.
- the physical unit can be located in one place or distributed across multiple network units. Some or all of the modules can be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
- the connection relationship between the modules indicates that they have a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.
- this application can be implemented by software plus necessary general hardware.
- it can also be implemented by dedicated hardware including dedicated integrated circuits, dedicated CPUs, dedicated memory, Dedicated components and so on to achieve.
- all functions completed by computer programs can be easily implemented with corresponding hardware.
- the specific hardware structures used to achieve the same function can also be diverse, such as analog circuits, digital circuits or special-purpose circuits. Circuit etc.
- software program implementation is a better implementation in more cases.
- the technical solution of this application essentially or the part that contributes to the existing technology can be embodied in the form of a software product, and the computer software product is stored in a readable storage medium, such as a computer floppy disk. , U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., including several instructions to make a computer device (which can be a personal computer, server, or network device, etc.) execute the methods described in each embodiment of this application .
- a computer device which can be a personal computer, server, or network device, etc.
- the computer program product includes one or more computer instructions.
- the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
- the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
- the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website site, computer, server or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.).
- wired such as coaxial cable, optical fiber, digital subscriber line (DSL)
- wireless such as infrared, wireless, microwave, etc.
- the computer-readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a server or a data center integrated with one or more available media.
- the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种计算机的启动方法和控制器、存储介质以及系统,用于提高计算机的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。在一种方法中,控制器分别与计算机硬件系统、BIOS文件存储装置相连接,方法包括:当控制器上电运行时,控制器获取BIOS文件存储装置中的第一启动程序文件,其中,第一启动程序文件是预先存储在BIOS文件存储装置中的BIOS文件;控制器对第一启动程序文件进行校验;当第一启动程序文件通过校验时,控制器建立BIOS文件存储装置和计算机硬件系统之间的连接,当成功建立BIOS文件存储装置和计算机硬件系统之间的连接时,计算机硬件系统使用第一启动程序文件完成上电运行。
Description
本申请要求于2019年9月19日提交中国专利局、申请号为201910887279.2、发明名称为“一种计算机的启动方法和控制器、存储介质以及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及计算机技术领域,尤其涉及一种计算机的启动方法和控制器、存储介质以及系统。
目前的计算机具有多种实现架构,例如计算机可以采用X86系统,X86系统在启动的过程中需依赖于基本输入输出系统(basic input output system,BIOS)硬件系统,BIOS硬件系统中可以包括闪存(flash),该闪存中存储有BIOS程序文件。
目前的BIOS硬件系统在开机后,加载BIOS硬件系统的闪存中存储的BIOS程序文件,以对X86系统进行基本的信息设置,引导配置完成使X86系统上电,保证X86系统能正常开机运行。当X86系统完成上电运行后,再将系统指挥权限交由计算机的操作系统(operating system,OS),由OS对计算机进行控制。
若没有BIOS硬件系统,则计算机将无法启动。当BIOS硬件系统的闪存中存储的BIOS程序文件被篡改破坏时,有可能造成用户针对BIOS硬件系统的设置丢失,或者用户设置的安全权限被篡改,使得X86系统无法启动或者被黑客攻陷控制,造成信息泄露的安全事故。
因此,当BIOS程序文件被篡改时,目前的计算机启动方法存在按照篡改后的BIOS程序文件启动计算机,从而带会存在安全风险问题。
发明内容
本申请实施例提供了一种计算机的启动方法和控制器、存储介质以及系统,用于提高计算机的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种计算机的启动方法,所述方法用于控制器,所述控制器分别与计算机硬件系统、基本输入输出系统BIOS文件存储装置相连接,所述方法包括:当所述控制器上电运行时,所述控制器获取所述BIOS文件存储装置中的第一启动程序文件,其中,所述第一启动程序文件是预先存储在所述BIOS文件存储装置中的BIOS文件;所述控制器对所述第一启动程序文件进行校验;当所述第一启动程序文件通过校验时,所述控制器建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,当成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接时,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
在本申请实施例中,控制器分别与计算机硬件系统、BIOS文件存储装置相连接。当控制器上电运行时,控制器首先获取BIOS文件存储装置中的第一启动程序文件,其中,第一启动程序文件是预先存储在BIOS文件存储装置中的BIOS文件,控制器然后对第一启动程序文件进行校验,当第一启动程序文件通过校验时,控制器建立BIOS文件存储装置和计算机硬件系统之间的连接,当成功建立BIOS文件存储装置和计算机硬件系统之间的连接时,最后计算机硬件系统使用第一启动程序文件完成上电运行。本申请实施例中,该控制器可以对BIOS文件存储装置中的第一启动程序文件进行校验,只有该第一启动程序文件通过校验时,控制器才会建立BIOS文件存储装置和计算机硬件系统之间的连接,此时计算机硬件系统可以读取BIOS文件存储装置中的第一启动程序文件,以完成上电运行,本申请实施例中控制器可对BIOS文件存储装置中预先存储的第一启动程序文件进行校验,以保证该第一启动程序文件是安全的,即保证该第一启动程序文件未被篡改,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
在一种可能的实现方式中,所述控制器对所述第一启动程序文件进行校验,包括:所述控制器使用密钥和所述控制器中的启动程序源文件进行校验计算,得到第一校验结果,所述启动程序源文件是预先存储在所述控制器中的BIOS文件;所述控制器使用所述密钥和所述第一启动程序文件进行校验计算,得到第二校验结果;所述控制器根据所述第一校验结果和所述第二校验结果确定所述第一启动程序文件是否通过校验。在该方案中,控制器首先获取密钥和启动程序源文件,然后使用密钥和控制器中的启动程序源文件进行校验计算,得到第一校验结果,同样的,控制器还可以使用该密钥和第一启动程序文件进行校验计算,得到第二校验结果,最后控制器比较这两个校验结果,可以根据第一校验结果和第二校验结果确定第一启动程序文件是否通过校验,例如第一校验结果和第二校验结果完全相同,则确定控制器中存储的启动程序源文件和BIOS文件存储装置中的存储的第一启动程序文件是相同的,即BIOS文件存储装置中的存储的第一启动程序文件没有被篡改,此时输出校验结果为第一启动程序文件通过校验。又如第一校验结果和第二校验结果不相同,则确定控制器中存储的启动程序源文件和BIOS文件存储装置中的存储的第一启动程序文件是不相同的,即BIOS文件存储装置中的存储的第一启动程序文件可能被篡改或者被损坏,此时输出校验结果为第一启动程序文件没有通过校验。
在一种可能的实现方式中,所述方法还包括:当所述第一启动程序文件没有通过校验时,所述控制器将启动程序源文件写入到所述BIOS文件存储装置中,所述启动程序源文件是预先存储在所述控制器中的BIOS文件;所述控制器对所述BIOS文件存储装置中写入的启动程序源文件进行校验;当所述BIOS文件存储装置中写入的启动程序源文件通过校验时,所述控制器建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,当成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接时,所述计算机硬件系统使用所述BIOS文件存储装置中写入的启动程序源文件完成上电运行。在该方案中,当第一启动程序文件没有通过校验时,则说明BIOS文件存储装置中的存储的第一启动程序文件可能被篡改或者被损坏,即BIOS文件存储装置中的存储的第一启动程序文件是不可信的。控制器中可以预先存储启动程序源文件,该启动程序源文件是指用于启动计算机硬件系统的原始文件,该启动程序源文件可以加密后预先存储在控制器中,例如控制器中可以包括有闪存,该闪存也可以称为flash存储控制器,该闪存可用于存储启动程序源文件,以便于控制器使用该启动程序源文件进行校验。启动程序源文件还可以用于对BIOS文件存储装置中被篡改 的第一启动程序文件进行恢复,从而使得BIOS文件存储装置中重新写入未被篡改的启动程序源文件,计算机硬件系统才能够读取BIOS文件存储装置中重新写入的启动程序源文件,使用该启动程序源文件进行上电运行,避免使用被篡改的启动程序文件而导致的安全风险。
在一种可能的实现方式中,所述方法还包括:所述控制器将所述BIOS文件存储装置中存储的第一启动程序文件删除。其中,当第一启动程序文件没有通过校验时,则说明BIOS文件存储装置中的存储的第一启动程序文件可能被篡改或者被损坏,即BIOS文件存储装置中的存储的第一启动程序文件是不可信的。控制器还可以删除BIOS文件存储装置中存储的第一启动程序文件,即控制器可以擦除掉BIOS文件存储装置中被篡改的第一启动程序文件,从而该控制器的闪存可用于重新写入未被篡改的启动程序源文件,提高了闪存的空间使用效率。
在一种可能的实现方式中,所述BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,其中,所述控制器分别与所述主BIOS文件存储模块和所述从BIOS文件存储模块相连接,所述主BIOS文件存储模块和所述从BIOS文件存储模块中都预先存储有所述第一启动程序文件;所述控制器获取所述BIOS文件存储装置中的第一启动程序文件,包括:所述控制器获取所述主BIOS文件存储模块中的第一启动程序文件;所述控制器对所述第一启动程序文件进行校验,包括:所述控制器对所述主BIOS文件存储模块中的第一启动程序文件进行校验;当所述第一启动程序文件通过校验时,所述控制器建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,包括:当所述主BIOS文件存储模块中的第一启动程序文件通过校验时,所述控制器建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接。在本申请实施例中,当第一启动程序文件通过校验时,则说明主BIOS文件存储模块中的存储的第一启动程序文件没有被篡改,即主BIOS文件存储模块中的存储的第一启动程序文件是安全可信的,此时控制器建立主BIOS文件存储模块和计算机硬件系统之间的连接,例如控制器将主BIOS文件存储模块和计算机硬件系统之间的通道导通,以使得主BIOS文件存储模块计算机硬件系统使用第一启动程序文件完成上电运行。本申请实施例中,主BIOS文件存储模块中的存储的第一启动程序文件是安全可信时,计算机硬件系统能够读取主BIOS文件存储模块中存储的第一启动程序文件,计算机硬件系统只有在读取到第一启动程序文件的情况下,才能够使用该第一启动程序文件进行上电运行,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
在一种可能的实现方式中,所述方法还包括:当所述主BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述控制器获取所述从BIOS文件存储模块中的第一启动程序文件;所述控制器对所述从BIOS文件存储模块中的第一启动程序文件进行校验;当所述从BIOS文件存储模块中的第一启动程序文件通过校验时,所述控制器建立所述从BIOS文件存储模块和所述计算机硬件系统之间的连接。在本申请实施例中,当第一启动程序文件通过校验时,则说明从BIOS文件存储模块中的存储的第一启动程序文件没有被篡改,即从BIOS文件存储模块中的存储的第一启动程序文件是安全可信的,此时控制器建立从BIOS文件存储模块和计算机硬件系统之间的连接,例如控制器将从BIOS文件存储模块和计算机硬件系统之间的通道导通,以使得从BIOS文件存储模块计算机硬件系统使用第一启动程序文件完成上电运行。本申请实施例中,从BIOS文件存储模块中的存储的第一启动程序文件是安全可信时,计算机硬件系统才能够读取从BIOS文件存储模块中存储的第一启动程序文件,计 算机硬件系统只有在读取到第一启动程序文件的情况下,才能够使用该第一启动程序文件进行上电运行,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
在一种可能的实现方式中,所述方法还包括:当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述控制器将启动程序源文件写入到所述主BIOS文件存储模块中,所述启动程序源文件是预先存储在所述控制器中的BIOS文件;所述控制器对所述主BIOS文件存储模块中写入的启动程序源文件进行校验;当所述主BIOS文件存储模块中写入的启动程序源文件通过校验时,所述控制器建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接,当成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接时,所述计算机硬件系统使用所述主BIOS文件存储模块中写入的启动程序源文件完成上电运行。在该方案中,控制器中可以预先存储启动程序源文件,该启动程序源文件是指用于启动计算机硬件系统的原始文件,该启动程序源文件可以加密后预先存储在控制器中,例如控制器中可以包括有闪存,该闪存也可以称为flash存储控制器,该闪存可用于存储启动程序源文件,以便于控制器使用该启动程序源文件进行校验。启动程序源文件还可以用于对主BIOS文件存储模块中被篡改的第一启动程序文件进行恢复,从而使得主BIOS文件存储模块中重新写入未被篡改的启动程序源文件,使得计算机硬件系统能够读取主BIOS文件存储模块中未被篡改的启动程序源文件完成上电运行,避免使用被篡改的启动程序文件而导致的安全风险。
在一种可能的实现方式中,所述方法还包括:当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述控制器将启动程序源文件写入到所述从BIOS文件存储模块中,所述启动程序源文件是预先存储在所述控制器中的BIOS文件。其中,当第一启动程序文件没有通过校验时,则说明从BIOS文件存储模块中的存储的第一启动程序文件可能被篡改或者被损坏,即从BIOS文件存储模块中的存储的第一启动程序文件是不可信的。控制器中可以预先存储启动程序源文件,该启动程序源文件是指用于启动计算机硬件系统的原始文件,该启动程序源文件可以加密后预先存储在控制器中,例如控制器中可以包括有闪存,该闪存也可以称为flash存储控制器,该闪存可用于存储启动程序源文件,以便于控制器使用该启动程序源文件进行校验。
在一种可能的实现方式中,所述控制器为基板管理控制器BMC,所述BIOS文件存储装置为存储BIOS文件的闪存;所述BMC通过第一串行外设接口SPI总线和所述存储BIOS文件的闪存相连接,所述BMC通过第二SPI总线和所述计算机硬件系统相连接。
第二方面,本申请实施例还提供一种计算机的启动方法,所述方法用于控制器,所述控制器包括:安全校验内核,所述安全校验内核通过控制开关的使能控制管脚和所述控制开关通信;所述控制开关通过第一通道和所述安全校验内核相连接,所述控制开关通过第二通道和计算机硬件系统相连接,所述控制开关通过第三通道和BIOS文件存储装置相连接;所述方法包括:所述安全校验内核通过所述第一通道和所述第三通道获取所述BIOS文件存储装置中的第一启动程序文件,其中,所述第一启动程序文件是预先存储在所述BIOS文件存储装置中的BIOS文件;所述安全校验内核对所述第一启动程序文件进行校验;当所述第一启动程序文件通过校验时,所述安全校验内核通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关通过所述使能控制管脚接收所述第一指令,然后所述控制开关根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通 时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
在本申请实施例中,控制器包括安全校验内核,安全校验内核通过控制开关的使能控制管脚和控制开关通信。控制开关通过第一通道和安全校验内核相连接,控制开关通过第二通道和计算机硬件系统相连接,控制开关通过第三通道和BIOS文件存储装置相连接。安全校验内核首先通过第一通道和第三通道获取BIOS文件存储装置中的第一启动程序文件,其中,第一启动程序文件是预先存储在BIOS文件存储装置中的BIOS文件,安全校验内核然后对第一启动程序文件进行校验,当第一启动程序文件通过校验时,安全校验内核通过使能控制管脚向控制开关发送第一指令,控制开关通过使能控制管脚接收第一指令,然后控制开关根据第一指令将第二通道和第三通道导通,以使得在第二通道和第三通道导通时成功建立BIOS文件存储装置和计算机硬件系统之间的连接,计算机硬件系统使用第一启动程序文件完成上电运行。本申请实施例中,安全校验内核可以对BIOS文件存储装置中的第一启动程序文件进行校验,只有该第一启动程序文件通过校验时,控制开关才会建立BIOS文件存储装置和计算机硬件系统之间的连接,此时计算机硬件系统可以读取BIOS文件存储装置中的第一启动程序文件,以完成上电运行,本申请实施例中安全校验内核可对BIOS文件存储装置中预先存储的第一启动程序文件进行校验,以保证该第一启动程序文件是安全的,即保证该第一启动程序文件未被篡改,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
在一种可能的实现方式中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全校验内核对所述第一启动程序文件进行校验,包括:所述安全校验内核使用密钥和所述存储器中的启动程序源文件进行校验计算,得到第一校验结果;所述安全校验内核使用所述密钥和所述第一启动程序文件进行校验计算,得到第二校验结果;所述安全校验内核根据所述第一校验结果和所述第二校验结果确定所述第一启动程序文件是否通过校验。
在一种可能的实现方式中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述方法还包括:当所述第一启动程序文件没有通过校验时,所述安全校验内核将所述启动程序源文件写入到所述BIOS文件存储装置中;所述安全校验内核对所述BIOS文件存储装置中写入的启动程序源文件进行校验;当所述BIOS文件存储装置中写入的启动程序源文件通过校验时,所述安全校验内核通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关通过所述使能控制管脚接收所述第一指令,并根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述BIOS文件存储装置中写入的启动程序源文件完成上电运行。
在一种可能的实现方式中,所述方法还包括:当所述第一启动程序文件没有通过校验时,所述安全校验内核将所述BIOS文件存储装置中存储的第一启动程序文件删除。其中,当第一启动程序文件没有通过校验时,则说明BIOS文件存储装置中的存储的第一启动程序文件可能被篡改或者被损坏,即BIOS文件存储装置中的存储的第一启动程序文件是不可信的。控制器还可以删除BIOS文件存储装置中存储的第一启动程序文件,即控制器可以擦除掉BIOS文件存储装置中被篡改的第一启动程序文件,从而该控制器的闪存可用于重新写入未被 篡改的启动程序源文件,提高了闪存的空间使用效率。
在一种可能的实现方式中,所述BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,其中,所述控制开关通过第一子通道与所述主BIOS文件存储模块连接,所述控制开关通过第二子通道与所述从BIOS文件存储模块相连接,所述主BIOS文件存储模块和所述从BIOS文件存储模块中都预先存储有所述第一启动程序文件;所述安全校验内核通过所述第一通道和所述第三通道获取所述BIOS文件存储装置中的第一启动程序文件,包括:所述安全启动内核通过所述第一通道和所述第一子通道获取所述主BIOS文件存储模块中的第一启动程序文件;所述安全启动内核对所述第一启动程序文件进行校验,包括:所述安全启动内核对所述主BIOS文件存储模块中的第一启动程序文件进行校验;所述控制开关根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,包括:所述控制开关根据所述第一指令将所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接。
在一种可能的实现方式中,所述方法还包括:当所述主BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述安全启动内核通过所述第一通道和所述第二子通道获取所述从BIOS文件存储模块中的第一启动程序文件;所述安全启动内核对所述从BIOS文件存储模块中的第一启动程序文件进行校验;当所述从BIOS文件存储模块中的第一启动程序文件通过校验时,所述安全校验内核通过所述使能控制管脚向所述控制开关发送第二指令;所述控制开关通过所述使能控制管脚接收所述第二指令,然后所述控制开关根据所述第二指令将所述第二通道和所述第二子通道导通,以使得在所述第二通道和所述第二子通道导通时成功建立所述从BIOS文件存储模块和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
在一种可能的实现方式中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述方法还包括:当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述安全启动内核将所述启动程序源文件写入到所述主BIOS文件存储模块中;所述安全启动内核对所述主BIOS文件存储模块中写入的启动程序源文件进行校验;当所述主BIOS文件存储模块中写入的启动程序源文件通过校验时,所述安全校验内核通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关通过所述使能控制管脚接收所述第一指令,然后所述控制开关根据所述第一指令将所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述主BIOS文件存储模块中写入的启动程序源文件完成上电运行。
在一种可能的实现方式中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述方法还包括:当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述安全启动内核将所述启动程序源文件写入到所述从BIOS文件存储模块中。
在一种可能的实现方式中,所述控制器为基板管理控制器BMC,所述BIOS文件存储装置为存储BIOS文件的闪存;所述第一通道为第一串行外设接口SPI总线,所述第二通道为第二SPI总线,所述第三通道为第三SPI总线。
第三方面,本申请实施例还提供一种控制器,包括:处理器,存储器;所述处理器、所述存储器之间进行相互的通信;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,执行如前述第一方面中任一项所述的方法。
在本申请的第三方面中,控制器的组成模块还可以执行前述第一方面以及各种可能的实现方式中所描述的步骤,详见前述对第一方面以及各种可能的实现方式中的说明。
第四方面,本申请实施例还提供一种控制器,所述控制器包括:安全校验内核,所述安全校验内核通过控制开关的使能控制管脚和所述控制开关通信;所述控制开关通过第一通道和所述安全校验内核相连接,所述控制开关通过第二通道和计算机硬件系统相连接,所述控制开关通过第三通道和BIOS文件存储装置相连接;所述安全校验内核,用于通过所述第一通道和所述第三通道获取所述BIOS文件存储装置中的第一启动程序文件,其中,所述第一启动程序文件是预先存储在所述BIOS文件存储装置中的BIOS文件;对所述第一启动程序文件进行校验;当所述第一启动程序文件通过校验时,通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关,用于通过所述使能控制管脚接收所述第一指令,然后根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
在一种可能的实现方式中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全校验内核,还用于使用密钥和所述存储器中的启动程序源文件进行校验计算,得到第一校验结果;使用所述密钥和所述第一启动程序文件进行校验计算,得到第二校验结果;根据所述第一校验结果和所述第二校验结果确定所述第一启动程序文件是否通过校验。
在一种可能的实现方式中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全校验内核,还用于当所述第一启动程序文件没有通过校验时,将所述启动程序源文件写入到所述BIOS文件存储装置中;对所述BIOS文件存储装置中写入的启动程序源文件进行校验;当所述BIOS文件存储装置中写入的启动程序源文件通过校验时,通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关,还应用于通过所述使能控制管脚接收所述第一指令,并根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
在一种可能的实现方式中,所述安全校验内核,还用于当所述第一启动程序文件没有通过校验时,将所述BIOS文件存储装置中存储的第一启动程序文件删除。
在一种可能的实现方式中,所述BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,其中,所述控制开关通过第一子通道与所述主BIOS文件存储模块连接,所述控制开关通过第二子通道与所述从BIOS文件存储模块相连接,所述主BIOS文件存储模块和所述从BIOS文件存储模块中都预先存储有所述第一启动程序文件;所述安全校验内核,还用于通过所述第一通道和所述第一子通道获取所述主BIOS文件存储模块中的第一启动程序文件;对所述主BIOS文件存储模块中的第一启动程序文件进行校验;所述控制开关,还用于根据所述第一指令将所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接。
在一种可能的实现方式中,所述安全启动内核,还用于当所述主BIOS文件存储模块中的第一启动程序文件没有通过校验时,通过所述第一通道和所述第二子通道获取所述从BIOS文件存储模块中的第一启动程序文件;对所述从BIOS文件存储模块中的第一启动程序文件进行校验;当所述从BIOS文件存储模块中的第一启动程序文件通过校验时,通过所述使能控制管脚向所述控制开关发送第二指令;所述控制开关,还用于通过所述使能控制管脚接收所述第二指令,根据所述第二指令将所述第二通道和所述第二子通道导通,以使得在所述第二通道和所述第二子通道导通时成功建立所述从BIOS文件存储模块和所述计算机硬件系统之间的连接,由所述计算机硬件系统使用所述从BIOS文件存储模块中的第一启动程序文件完成上电运行。
在一种可能的实现方式中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全启动内核,还用于当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,将所述启动程序源文件写入到所述主BIOS文件存储模块中;对所述主BIOS文件存储模块中写入的启动程序源文件进行校验;当所述主BIOS文件存储模块中写入的启动程序源文件通过校验时,通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关,还用于通过所述使能控制管脚接收所述第一指令,根据所述第一指令将所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述主BIOS文件存储模块中写入的启动程序源文件完成上电运行。
在一种可能的实现方式中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全启动内核,还用于当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,将所述启动程序源文件写入到所述从BIOS文件存储模块中。
在一种可能的实现方式中,所述控制器为基板管理控制器BMC,所述BIOS文件存储装置为存储BIOS文件的闪存;所述第一通道为第一串行外设接口SPI总线,所述第二通道为第二SPI总线,所述第三通道为第三SPI总线。
在本申请的第四方面中,控制器的组成模块还可以执行前述第二方面以及各种可能的实现方式中所描述的步骤,详见前述对第二方面以及各种可能的实现方式中的说明。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
第六方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或者第二方面所述的方法。
第七方面,本申请实施例提供一种控制器,该控制器可以包括终端设备或者芯片等实体,所述控制器包括:处理器、存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述控制器执行如前述第一方面或第二方面中任一项所述的方法。
第八方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持控制器实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一 种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存控制器必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第九方面,本申请提供了一种计算机的启动系统,所述计算机的启动系统包括:控制器、计算机硬件系统和基本输入输出系统BIOS文件存储装置,所述控制器分别与所述计算机硬件系统、所述BIOS文件存储装置相连接;所述控制器,用于执行如第一方面或者第二方面中任意一项所述的方法。
图1为本申请实施例提供的一种计算机的启动系统的组成结构示意图;
图2为本申请实施例提供的一种计算机的启动方法的流程方框示意图;
图3为本申请实施例提供的一种计算机的启动方法的流程方框示意图;
图4为本申请实施例提供的一种计算机的启动方法的流程方框示意图;
图5a为本申请实施例提供的一种计算机的启动系统的组成结构示意图;
图5b为本申请实施例提供的另一种计算机的启动系统的组成结构示意图;
图6为本申请实施例提供的一种计算机的启动方法的流程方框示意图;
图7为本申请实施例提供的一种BMC系统的组成结构示意图;
图8为本申请实施例的一种计算机的启动系统的内部硬件构成示意图;
图9为本申请实施例提供的一种计算机的启动方法的执行流程示意图;
图10a为本申请实施例提供的BIOS选通控制开关的默认初始导通的示意图;
图10b为本申请实施例提供的X86系统和主BIOS导通的示意图;
图10c为本申请实施例提供的X86系统和从BIOS导通的示意图;
图10d为本申请实施例提供的BMC向主BIOS和从BIOS回写BIOS源文件的示意图;
图11为本申请实施例提供的一种控制器的组成结构示意图;
图12为本申请实施例提供的另一种控制器的组成结构示意图。
本申请实施例提供了一种计算机的启动方法和控制器、存储介质以及系统,用于提高计算机的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
下面结合附图,对本申请的实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
本申请实施例的技术方案可以应用于计算机的启动系统,如图1所示,计算机的启动系统100可以包括:控制器101、计算机硬件系统102和基本输入输出系统(basic input output system,BIOS)文件存储装置103,其中,控制器101分别与计算机硬件系统102、 BIOS文件存储装置103相连接,例如,控制器101与计算机硬件系统102之间建立有一通道,控制器101与BIOS文件存储装置103之间建立有另一通道。
控制器101可以用于控制计算机硬件系统102是否能够读取BIOS文件存储装置103中存储的第一启动程序文件,其中,上电运行指的是通电运行,例如接通交流电(alternating current,AC),电压可以是220伏特。具体的,控制器101可以对BIOS文件存储装置中的第一启动程序文件进行校验,只有该第一启动程序文件通过校验时,计算机硬件系统102能够读取BIOS文件存储装置103中存储的第一启动程序文件,第一启动程序文件没有通过校验时,控制器101可以用于控制计算机硬件系统102不能够读取BIOS文件存储装置103中存储的第一启动程序文件,第一启动程序文件没有通过校验的原因可能是该第一启动程序文件被篡改,或者该第一启动程序文件损坏。
BIOS文件存储装置103可用于存储第一启动程序文件,以为计算机硬件系统102的上电运行提供BIOS文件。
当计算机硬件系统102和BIOS文件存储装置103成功建立连接时,计算机硬件系统102可读取BIOS文件存储装置103中存储的第一启动程序文件,从而使用该第一启动程序文件完成上电运行。
在本申请的一些实施例中,控制器101可以为基板管理控制器(baseboard management controller,BMC)。其中,BMC是独立于计算机硬件系统之外的一个独立系统,BMC可用于控制计算机硬件系统102是否能够读取BIOS文件存储装置103中存储的第一启动程序文件。另外,BMC还用于对计算机硬件系统提供必要的故障诊断、故障上报、故障告警,故障日志收集、设备运行状态监控等必要功能,提供对计算机硬件系统的主要软件实时在线升级能力等,保障计算机硬件系统的正常运行及维护。
在本申请的一些实施例中,BIOS文件存储装置103为用于存储BIOS文件的存储装置,例如BIOS文件存储装置具体可以是具有SPI接口的闪存(FLASH)。其中,BIOS也可以称为BIOS硬件系统,BIOS可以用于在控制器101的控制作用下引导计算机硬件系统102上电运行。BIOS中存储有启动程序文件,该启动程序文件可以包括引导计算机硬件系统102上电运行。BIOS是一组固化到计算机内主板上一个闪存(flash)芯片上的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。本申请实施例中,BIOS文件存储装置103和计算机硬件系统102之间能否建立连接由控制器101根据该BIOS文件存储装置中预先存储的启动程序文件是否通过校验来确定,BIOS文件存储装置中预先存储的启动程序文件也可以称为BIOS原始文件或者BIOS源程序等。本申请实施例中,当启动程序文件被篡改或者损坏时,控制器101会判定校验失败,此时无法建立BIOS文件存储装置103和计算机硬件系统102之间的连接,计算机硬件系统102不能够读取BIOS文件存储装置103中存储的第一启动程序文件,以避免使用被篡改的启动程序文件而导致的安全风险。
在本申请的一些实施例中,计算机硬件系统102是执行计算机启动的硬件系统,其中,计算机可以是终端设备、或者网络设备、或者服务器等。例如计算机硬件系统102可以是X86系统,或者计算机硬件系统可以是ARM(advanced RISC machine)系统。具体的,X86系统是基于INTEL平台的X86计算机系统,可基于windows操作系统或者linux操作系统进行相关运算,完成特定的软硬件功能。本申请实施例中不限定的计算机硬件系统102的具体 类型,该计算机硬件系统102可以是各种类型通用服务器的硬件系统,只要该计算机硬件系统102需要读取BIOS文件存储装置103中的第一启动程序文件才能完成上电运行即可。
在本申请的一些实施例中,控制器101为BMC、且BIOS文件存储装置103为存储BIOS文件的闪存,BMC通过第一串行外设接口(serial peripheral interface,SPI)总线和存储BIOS文件的闪存相连接,BMC通过第二SPI总线和计算机硬件系统相连接。其中,SPI总线是一种标准的四线同步双向串行总线,计算机硬件系统可以是X86系统,SPI总线在X86系统中用于连接X86系统与存储BIOS文件的闪存,X86系统在开机上电过程中通过SPI总线与存储BIOS文件的闪存之间进行通讯,完成X86系统的基本上电配置,保证X86系统能上电运行。
接下来从控制器的角度说明本申请实施例提供的计算机的启动方法,如图2所示,本申请实施例提供的一种计算机的启动方法可用于前述的控制器,基于图1可知,控制器分别与计算机硬件系统、BIOS文件存储装置相连接,该方法可以包括如下步骤:
201、当控制器上电运行时,控制器获取BIOS文件存储装置中的第一启动程序文件,其中,第一启动程序文件是预先存储在BIOS文件存储装置中的BIOS文件。
在本申请实施例中,控制器可以用于控制计算机硬件系统是否能够读取BIOS文件存储装置中存储的第一启动程序文件。本申请实施例中首先向控制器通电,使得控制器上电运行起来,控制器可以和BIOS文件存储装置建立有通信连接,从而控制器获取到BIOS文件存储装置中的第一启动程序文件,其中,第一启动程序文件是预先存储在BIOS文件存储装置中的BIOS文件,第一启动程序文件是计算机硬件系统上电运行所需要的引导文件。例如,BIOS文件存储装置为闪存,该闪存中存储有第一启动程序文件,闪存是一种存储芯片,闪存可以用于存储第一启动程序文件,例如第一启动程序文件可以是BIOS原始文件或者BIOS源程序。控制器可以从该闪存中读取到第一启动程序文件,然后控制器执行后续步骤202。
需要说明的是,在控制器上电运行时,计算机硬件系统还没有和BIOS文件存储装置相连接,此时计算机硬件系统无法进行开机配置及自检,故此时的计算机硬件系统还没有启动。
202、控制器对第一启动程序文件进行校验。
在本申请实施例中,控制器获取BIOS文件存储装置中的第一启动程序文件之后,控制器可以对该第一启动程序文件进行校验,例如控制器可以使用可信算法对该第一启动程序文件进行可信度的校验,若该第一启动程序文件被损坏或者被篡改,则第一启动程序文件是不能够通过校验的,相反的,若该第一启动程序没有被损坏、且没有被篡改,即该第一启动程序文件与BIOS文件存储装置中原始写入时的启动程序文件保持一致,则第一启动程序文件通过校验。本申请实施例中,控制器对第一启动程序文件的校验结果确定了是否执行后续步骤203,当第一启动程序文件通过校验时,可执行后续步骤203。
在本申请的一些实施例中,控制器对第一启动程序文件进行校验可以有多种方法,例如控制器可以使用多种校验算法实现对第一启动程序文件的校验,例如控制器采用的校验算法可以包括:循环冗余校验(cyclic redundancy check,CRC)。进一步的,在本申请的一些实施例中,步骤202控制器对第一启动程序文件进行校验,包括:
A1、控制器使用密钥和控制器中的启动程序源文件进行校验计算,得到第一校验结果,启动程序源文件是预先存储在控制器中的BIOS文件;
A2、控制器使用密钥和第一启动程序文件进行校验计算,得到第二校验结果;
A3、控制器根据第一校验结果和第二校验结果确定第一启动程序文件是否通过校验。
其中,控制器中可以预先存储密钥和启动程序源文件,该密钥和启动程序源文件存在绑定关系,该启动程序源文件是指用于引导计算机硬件系统启动的BIOS文件,该启动程序源文件可以加密后预先存储在控制器中,例如控制器中可以包括有闪存,该闪存也可以称为flash存储控制器,控制器中的闪存可用于存储密钥和启动程序源文件,以便于控制器使用该启动程序源文件进行安全校验。
控制器首先获取密钥和启动程序源文件,然后使用密钥和控制器中的启动程序源文件进行校验计算,得到第一校验结果,同样的,控制器还可以使用该密钥和第一启动程序文件进行校验计算,得到第二校验结果,最后控制器比较这两个校验结果,可以根据第一校验结果和第二校验结果确定第一启动程序文件是否通过校验,例如第一校验结果和第二校验结果完全相同,则确定控制器中存储的启动程序源文件和BIOS文件存储装置中的存储的第一启动程序文件是相同的,即BIOS文件存储装置中的存储的第一启动程序文件没有被篡改,此时输出校验结果为第一启动程序文件通过校验。又如第一校验结果和第二校验结果不相同,则确定控制器中存储的启动程序源文件和BIOS文件存储装置中的存储的第一启动程序文件是不相同的,即BIOS文件存储装置中的存储的第一启动程序文件可能被篡改或者被损坏,此时输出校验结果为第一启动程序文件没有通过校验。
需要说明的是,控制器使用密钥和控制器中的启动程序源文件进行校验计算以得到第一校验结果,可以是在每次需要对第一启动程序文件进行校验时生成第一校验结果,也可以是预先计算出第一校验结果并存储在控制器的闪存中,在每次需要对第一启动程序文件进行校验时从控制器的闪存中读取该第一校验结果。对于第一校验结果的获取方式,此处不做限定。
203、当第一启动程序文件通过校验时,控制器建立BIOS文件存储装置和计算机硬件系统之间的连接,当成功建立BIOS文件存储装置和计算机硬件系统之间的连接时,计算机硬件系统使用第一启动程序文件完成上电运行。
在本申请实施例中,当第一启动程序文件通过校验时,则说明BIOS文件存储装置中的存储的第一启动程序文件没有被篡改,即BIOS文件存储装置中的存储的第一启动程序文件是安全可信的,此时控制器建立BIOS文件存储装置和计算机硬件系统之间的连接,例如控制器将BIOS文件存储装置和计算机硬件系统之间的通道导通,以使得计算机硬件系统使用第一启动程序文件完成上电运行。本申请实施例中,BIOS文件存储装置中的存储的第一启动程序文件是安全可信时,计算机硬件系统才能够读取BIOS文件存储装置中存储的第一启动程序文件,使用该第一启动程序文件进行上电运行,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
通过前述实施例的举例说明可知,控制器分别与计算机硬件系统、BIOS文件存储装置相连接。当控制器上电运行时,控制器首先获取BIOS文件存储装置中的第一启动程序文件,其中,第一启动程序文件是预先存储在BIOS文件存储装置中的BIOS文件,控制器然后对第一启动程序文件进行校验,当第一启动程序文件通过校验时,控制器建立BIOS文件存储装置和计算机硬件系统之间的连接,当成功建立BIOS文件存储装置和计算机硬件系统之间的连接时,最后计算机硬件系统使用第一启动程序文件完成上电运行。本申请实施例中,该控制器可以对BIOS文件存储装置中的第一启动程序文件进行校验,只有该第一启动程序文件通过校验时,控制器才会建立BIOS文件存储装置和计算机硬件系统之间的连接, 此时计算机硬件系统可以读取BIOS文件存储装置中的第一启动程序文件,以完成上电运行,本申请实施例中控制器可对BIOS文件存储装置中预先存储的第一启动程序文件进行校验,以保证该第一启动程序文件是安全的,即保证该第一启动程序文件未被篡改,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
如图3所示,本申请实施例提供的一种计算机的启动方法可用于前述的控制器,基于图1可知,控制器分别与计算机硬件系统、BIOS文件存储装置相连接,该方法可以包括如下步骤:
301、当控制器上电运行时,控制器获取BIOS文件存储装置中的第一启动程序文件,其中,第一启动程序文件是预先存储在BIOS文件存储装置中的BIOS文件。
302、控制器对第一启动程序文件进行校验。
其中,当第一启动程序文件通过校验时,控制器执行后续步骤303,当第一启动程序文件没有通过校验时,控制器执行后续步骤304至步骤306。
303、当第一启动程序文件通过校验时,控制器建立BIOS文件存储装置和计算机硬件系统之间的连接,当成功建立BIOS文件存储装置和计算机硬件系统之间的连接时,计算机硬件系统使用第一启动程序文件完成上电运行。
其中,步骤301至步骤303与前述的步骤201至步骤203相类似,详见前述实施例的说明。
304、当第一启动程序文件没有通过校验时,控制器将启动程序源文件写入到BIOS文件存储装置中,启动程序源文件是预先存储在控制器中的BIOS文件。
其中,当第一启动程序文件没有通过校验时,则说明BIOS文件存储装置中的存储的第一启动程序文件可能被篡改或者被损坏,即BIOS文件存储装置中的存储的第一启动程序文件是不可信的。控制器中可以预先存储启动程序源文件,该启动程序源文件是指用于启动计算机硬件系统的原始文件,该启动程序源文件可以加密后预先存储在控制器中,例如控制器中可以包括有闪存,该闪存也可以称为flash存储控制器,该闪存可用于存储启动程序源文件,以便于控制器使用该启动程序源文件进行校验。启动程序源文件还可以用于对BIOS文件存储装置中被篡改的第一启动程序文件进行恢复,从而使得BIOS文件存储装置中重新写入未被篡改的启动程序源文件,计算机硬件系统才能够读取BIOS文件存储装置中重新写入的启动程序源文件,使用该启动程序源文件进行上电运行,避免使用被篡改的启动程序文件而导致的安全风险。
在本申请的一些实施例中,控制器还可以执行如下步骤:
控制器将所述BIOS文件存储装置中存储的第一启动程序文件删除。
其中,当第一启动程序文件没有通过校验时,则说明BIOS文件存储装置中的存储的第一启动程序文件可能被篡改或者被损坏,即BIOS文件存储装置中的存储的第一启动程序文件是不可信的。控制器还可以删除BIOS文件存储装置中存储的第一启动程序文件,即控制器可以擦除掉BIOS文件存储装置中被篡改的第一启动程序文件,从而该控制器的闪存可用于重新写入未被篡改的启动程序源文件,提高了闪存的空间使用效率。
305、控制器对BIOS文件存储装置中写入的启动程序源文件进行校验。
其中,当BIOS文件存储装置中写入启动程序源文件之后,控制器可以再次读取已写入BIOS文件存储装置中的启动程序源文件,对BIOS文件存储装置中写入的启动程序源文件进行校验,校验的方式请参阅前述实施例中步骤202的说明,此处不做详细说明。
306、当BIOS文件存储装置中写入的启动程序源文件通过校验时,控制器建立BIOS文件存储装置和计算机硬件系统之间的连接,当成功建立BIOS文件存储装置和计算机硬件系统之间的连接时,计算机硬件系统使用BIOS文件存储装置中写入的启动程序源文件完成上电运行。
在本申请实施例中,BIOS文件存储装置中重新写入了启动程序源文件,BIOS文件存储装置中写入的启动程序源文件通过校验,此时控制器建立BIOS文件存储装置和计算机硬件系统之间的连接,当成功建立BIOS文件存储装置和计算机硬件系统之间的连接时,计算机硬件系统使用BIOS文件存储装置中写入的启动程序源文件完成上电运行。本申请实施例中,控制器具有对BIOS文件存储装置的重新写入启动程序源文件的功能,使得BIOS文件存储装置中的存储的启动程序源文件是安全可信的,计算机硬件系统才能够读取BIOS文件存储装置中存储的第一启动程序文件,使用该第一启动程序文件进行上电运行,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
如图4所示,本申请实施例提供的一种计算机的启动方法可用于前述的控制器,基于图1可知,控制器分别与计算机硬件系统、BIOS文件存储装置相连接,其中,BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,即BIOS文件存储装置可以是具有主从备份功能的两个BIOS文件存储模块,例如主BIOS文件存储模块可以是主BIOS硬件系统,从BIOS文件存储模块可以是从BIOS硬件系统。控制器分别与主BIOS文件存储模块和从BIOS文件存储模块相连接,主BIOS文件存储模块和从BIOS文件存储模块中都预先存储有第一启动程序文件,即两个BIOS文件存储模块都存储有相同的第一启动程序文件,
本申请实施例中,控制器优先和主BIOS文件存储模块进行交互,当主BIOS文件存储模块中的第一启动程序文件没有通过校验时,控制器再和从BIOS文件存储模块进行交互,当从BIOS文件存储模块中的第一启动程序文件通过校验时,计算机硬件系统才能够读取BIOS文件存储装置中存储的第一启动程序文件,使用该第一启动程序文件进行上电运行,本申请实施例中BIOS文件存储装置可以通过两个BIOS文件存储模块来实现,提高了计算机硬件系统成功上电运行的概率,保证了计算机硬件系统的稳定性。本申请实施例提供的计算机的启动方法可以包括如下步骤:
401、控制器获取主BIOS文件存储模块中的第一启动程序文件。
在本申请实施例中,控制器可以用于控制计算机硬件系统是否能够读取主BIOS文件存储模块中存储的第一启动程序文件,计算机硬件系统只有在读取到第一启动程序文件的情况下,才能够使用该第一启动程序文件进行上电运行。当计算机通电之后,首先向控制器通电,使得控制器上电运行起来,控制器可以和主BIOS文件存储模块建立有通信连接,从而控制器获取到主BIOS文件存储模块中的第一启动程序文件,其中,第一启动程序文件是预先存储在主BIOS文件存储模块中的BIOS文件,第一启动程序文件是计算机硬件系统上电运行时所需要的引导文件。
402、控制器对主BIOS文件存储模块中的第一启动程序文件进行校验。
在本申请实施例中,控制器获取主BIOS文件存储模块中的第一启动程序文件之后,控制器可以对该第一启动程序文件进行校验,例如控制器可以使用可信算法对该第一启动程序文件进行可信度的校验,若该第一启动程序文件被损坏或者被篡改,则第一启动程序文件是不能够通过校验的,相反的,若该第一启动程序没有被损坏、且没有被篡改,即该第一启动程序文件在主BIOS文件存储模块中原始写入时的启动程序文件保持一致,则第一启 动程序文件通过校验。本申请实施例中,控制器对第一启动程序文件的校验结果确定了是否执行后续步骤403,当第一启动程序文件通过校验时,可执行后续步骤403。当第一启动程序文件没有通过校验时,控制器执行后续步骤404至步骤406。
403、当主BIOS文件存储模块中的第一启动程序文件通过校验时,控制器建立主BIOS文件存储模块和计算机硬件系统之间的连接。
在本申请实施例中,当第一启动程序文件通过校验时,则说明主BIOS文件存储模块中的存储的第一启动程序文件没有被篡改,即主BIOS文件存储模块中的存储的第一启动程序文件是安全可信的,此时控制器建立主BIOS文件存储模块和计算机硬件系统之间的连接,例如控制器将主BIOS文件存储模块和计算机硬件系统之间的通道导通,以使得主BIOS文件存储模块计算机硬件系统使用第一启动程序文件完成上电运行。本申请实施例中,主BIOS文件存储模块中的存储的第一启动程序文件是安全可信时,计算机硬件系统能够读取主BIOS文件存储模块中存储的第一启动程序文件,计算机硬件系统只有在读取到第一启动程序文件的情况下,才能够使用该第一启动程序文件进行上电运行,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
404、当主BIOS文件存储模块中的第一启动程序文件没有通过校验时,控制器获取从BIOS文件存储模块中的第一启动程序文件。
在本申请实施例中,控制器可以用于控制计算机硬件系统是否能够读取从BIOS文件存储模块中存储的第一启动程序文件,计算机硬件系统只有在读取到第一启动程序文件的情况下,才能够使用该第一启动程序文件进行上电运行。控制器上电运行起来之后,控制器可以和从BIOS文件存储模块建立有通信连接,从而控制器获取到从BIOS文件存储模块中的第一启动程序文件,其中,第一启动程序文件是预先存储在从BIOS文件存储模块中的BIOS文件,第一启动程序文件是计算机硬件系统上电运行时所需要的引导文件。
405、控制器对从BIOS文件存储模块中的第一启动程序文件进行校验。
在本申请实施例中,控制器获取从BIOS文件存储模块中的第一启动程序文件之后,控制器可以对该第一启动程序文件进行校验,例如控制器可以使用可信算法对该第一启动程序文件进行可信度的校验,若该第一启动程序文件被损坏或者被篡改,则第一启动程序文件是不能够通过校验的,相反的,若该第一启动程序没有被损坏、且没有被篡改,即该第一启动程序文件在从BIOS文件存储模块中原始写入时的启动程序文件保持一致,则第一启动程序文件通过校验。本申请实施例中,控制器对第一启动程序文件的校验结果确定了是否执行后续步骤406,当第一启动程序文件通过校验时,可执行后续步骤406。当第一启动程序文件没有通过校验时,控制器执行后续步骤407至步骤409。
406、当从BIOS文件存储模块中的第一启动程序文件通过校验时,控制器建立从BIOS文件存储模块和计算机硬件系统之间的连接。
在本申请实施例中,当第一启动程序文件通过校验时,则说明从BIOS文件存储模块中的存储的第一启动程序文件没有被篡改,即从BIOS文件存储模块中的存储的第一启动程序文件是安全可信的,此时控制器建立从BIOS文件存储模块和计算机硬件系统之间的连接,例如控制器将从BIOS文件存储模块和计算机硬件系统之间的通道导通,以使得从BIOS文件存储模块计算机硬件系统使用第一启动程序文件完成上电运行。本申请实施例中,从BIOS文件存储模块中的存储的第一启动程序文件是安全可信时,计算机硬件系统才能够读取从BIOS文件存储模块中存储的第一启动程序文件,计算机硬件系统只有在读取到第一启动程 序文件的情况下,才能够使用该第一启动程序文件进行上电运行,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
407、当从BIOS文件存储模块中的第一启动程序文件没有通过校验时,控制器将启动程序源文件写入到主BIOS文件存储模块中,启动程序源文件是预先存储在控制器中的BIOS文件。
其中,当从BIOS文件存储模块中的第一启动程序文件没有通过校验时,则说明从BIOS文件存储模块中的存储的第一启动程序文件可能被篡改或者被损坏,即从BIOS文件存储模块中的存储的第一启动程序文件是不可信的。控制器中可以预先存储启动程序源文件,该启动程序源文件是指用于启动计算机硬件系统的原始文件,该启动程序源文件可以加密后预先存储在控制器中,例如控制器中可以包括有闪存,该闪存也可以称为flash存储控制器,该闪存可用于存储启动程序源文件,以便于控制器使用该启动程序源文件进行校验。启动程序源文件还可以用于对主BIOS文件存储模块中被篡改的第一启动程序文件进行恢复,从而使得主BIOS文件存储模块中重新写入未被篡改的启动程序源文件,使得计算机硬件系统能够读取主BIOS文件存储模块中未被篡改的启动程序源文件完成上电运行,避免使用被篡改的启动程序文件而导致的安全风险。
408、控制器对主BIOS文件存储模块中写入的启动程序源文件进行校验。
其中,当主BIOS文件存储模块中写入启动程序源文件之后,控制器可以再次读取已写入主BIOS文件存储模块中的启动程序源文件,对主BIOS文件存储模块中写入的启动程序源文件进行校验,校验的方式请参阅前述实施例中步骤202的说明,此处不做详细说明。
409、当主BIOS文件存储模块中写入的启动程序源文件通过校验时,控制器建立主BIOS文件存储模块和计算机硬件系统之间的连接,当成功建立主BIOS文件存储模块和计算机硬件系统之间的连接时,计算机硬件系统使用主BIOS文件存储模块中写入的启动程序源文件完成上电运行。
在本申请实施例中,主BIOS文件存储模块中重新写入了启动程序源文件,主BIOS文件存储模块中写入的启动程序源文件通过校验,此时控制器建立主BIOS文件存储模块和计算机硬件系统之间的连接,当成功建立主BIOS文件存储模块和计算机硬件系统之间的连接时,计算机硬件系统使用主BIOS文件存储模块中写入的启动程序源文件完成上电运行。本申请实施例中,控制器具有对主BIOS文件存储模块的重新写入启动程序源文件的功能,使得主BIOS文件存储模块中的存储的启动程序源文件是安全可信的,计算机硬件系统能够读取主BIOS文件存储模块中的启动程序源文件以完成上电运行,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
在本申请的一些实施例中,控制器还可以执行如下步骤:
当从BIOS文件存储模块中的第一启动程序文件没有通过校验时,控制器将启动程序源文件写入到从BIOS文件存储模块中,启动程序源文件是预先存储在控制器中的BIOS文件。
其中,当第一启动程序文件没有通过校验时,则说明从BIOS文件存储模块中的存储的第一启动程序文件可能被篡改或者被损坏,即从BIOS文件存储模块中的存储的第一启动程序文件是不可信的。控制器中可以预先存储启动程序源文件,该启动程序源文件是指用于启动计算机硬件系统的原始文件,该启动程序源文件可以加密后预先存储在控制器中,例如控制器中可以包括有闪存,该闪存也可以称为flash存储控制器,该闪存可用于存储启动程序源文件,以便于控制器使用该启动程序源文件进行校验。
本申请实施例的技术方案可以应用于计算机的启动系统,如图5a和图5b所示,计算机的启动系统500可以包括:控制器501、计算机硬件系统502和BIOS文件存储装置503,其中,控制器501部署在BIOS文件存储装置503和计算机硬件系统502之间,控制器501分别与计算机硬件系统502、BIOS文件存储装置503相连接。
其中,控制器501包括:安全校验内核5011,安全校验内核5011通过控制开关5012的使能控制管脚和控制开关5012通信。安全校验内核5011可以用于控制计算机硬件系统502是否能够读取BIOS文件存储装置503中的第一启动程序文件以完成上电运行,其中,上电运行指的是通电运行,例如接通AC,电压可以是220伏特。具体的,安全校验内核5011可以对BIOS文件存储装置中的第一启动程序文件进行校验,只有该第一启动程序文件通过校验时,安全校验内核5011可以用于控制计算机硬件系统502能够读取BIOS文件存储装置503中的第一启动程序文件以完成上电运行,第一启动程序文件没有通过校验时,安全校验内核5011可以用于控制计算机硬件系统502不能够读取BIOS文件存储装置503中的第一启动程序文件,从而计算机硬件系统502不能够上电运行,第一启动程序文件没有通过校验的原因可能是该第一启动程序文件被篡改,或者该第一启动程序文件损坏。
在本申请实施例中,例如图5a所示,控制开关5012可以属于控制器501,即控制器501包括安全校验内核5011和控制开关5012。不限定的是,如图5b所示,控制器5012也可以是独立于控制器501之外的一个逻辑开关。控制开关5012通过第一通道和安全校验内核5011相连接,控制开关5012通过第二通道和计算机硬件系统502相连接,控制开关5012通过第三通道和BIOS文件存储装置503相连接;
BIOS文件存储装置503可以用于存储第一启动程序文件。
计算机硬件系统502可以用于当BIOS文件存储装置503与计算机硬件系统502相连接时,读取BIOS文件存储装置503中的第一启动程序文件,使用该第一启动程序文件完成上电运行。
在本申请的一些实施例中,控制器501还包括:存储器,其中,安全校验内核5011和存储器相连接,存储器中预先存储有启动程序源文件。例如存储器可以是闪存。
接下来从控制器的角度说明本申请实施例提供的计算机的启动方法,如图6所示,本申请实施例提供的一种计算机的启动方法可用于前述的控制器,基于图5a和图5b可知,安全校验内核5011可以控制控制开关5012是否导通,在控制开关5012导通时将计算机硬件系统和BIOS文件存储装置连接在一起,该方法可以包括如下步骤:
601、安全校验内核通过第一通道和第三通道获取BIOS文件存储装置中的第一启动程序文件,其中,第一启动程序文件是预先存储在BIOS文件存储装置中的BIOS文件。
其中,安全校验内核是对第一启动程序文件具有校验功能的内核模块,此步骤601中安全校验内核通过第一通道和控制开关相连接,控制开关通过第三通道和BIOS文件存储装置相连接,因此当第一通道和第二通道导通时,安全校验内核可以和BIOS文件存储装置建立有通信连接,此时安全校验内核可以获取第一启动程序文件,对于第一启动程序文件的说明,详见前述实施例中步骤201的详细说明。
602、安全校验内核对第一启动程序文件进行校验。
其中,安全校验内核对第一启动程序文件进行校验的说明,详见前述实施例中步骤202的详细说明。
603、当第一启动程序文件通过校验时,安全校验内核通过使能控制管脚向控制开关发 送第一指令。
在本申请实施例中,当第一启动程序文件通过校验时,则说明BIOS文件存储装置中的存储的第一启动程序文件没有被篡改,即BIOS文件存储装置中的存储的第一启动程序文件是安全可信的,此时安全校验内核通过使能控制管脚向控制开关发送第一指令,其中,第一指令用于控制控制开关将第二通道和第三通道导通。
使能控制管脚是配置在控制开关上的一个通信接口,安全校验内核可以通过安全校验内核向控制开关下发具体的指令。
604、控制开关通过使能控制管脚接收第一指令,然后控制开关根据第一指令将第二通道和第三通道导通,以使得在第二通道和第三通道导通时成功建立BIOS文件存储装置和计算机硬件系统之间的连接,计算机硬件系统使用第一启动程序文件完成上电运行。
在本申请实施例中,控制开关通过第二通道和计算机硬件系统相连接,控制开关通过第三通道和BIOS文件存储装置相连接,因此当第三通道和第二通道导通时,成功建立BIOS文件存储装置和计算机硬件系统之间的连接,计算机硬件系统可以从BIOS文件存储装置中读取到第一启动程序文件,然后使用第一启动程序文件完成上电运行。
在本申请的一些实施例中,安全校验内核对第一启动程序文件进行校验可以有多种方法,例如控制器可以使用多种校验算法实现对第一启动程序文件的校验,例如控制器采用的校验算法可以包括:CRC。进一步的,在本申请的一些实施例中,控制器还包括:存储器,其中,安全校验内核和存储器相连接,存储器中预先存储有启动程序源文件。
步骤602安全校验内核对第一启动程序文件进行校验,包括:
B1、安全校验内核使用密钥和存储器中的启动程序源文件进行校验计算,得到第一校验结果;
B2、安全校验内核使用密钥和第一启动程序文件进行校验计算,得到第二校验结果;
B3、安全校验内核根据第一校验结果和第二校验结果确定第一启动程序文件是否通过校验。
其中,步骤B1至步骤B3中安全校验内核的校验过程与前述实施例中步骤A1至步骤A3中的说明类似,请参阅前述对步骤A1至步骤A3中的详细说明。
需要说明的是,安全校验内核使用密钥和控制器中的启动程序源文件进行校验计算以得到第一校验结果,可以是在每次需要对第一启动程序文件进行校验时生成第一校验结果,也可以是预先计算出第一校验结果并存储在闪存中,在每次需要对第一启动程序文件进行校验时从闪存中读取该第一校验结果。对于第一校验结果的获取方式,此处不做限定。
在本申请的一些实施例中,控制器还包括:存储器,其中,安全校验内核和存储器相连接,存储器中预先存储有启动程序源文件;
本申请实施例提供的方法还包括如下步骤:
C1、当第一启动程序文件没有通过校验时,安全校验内核将启动程序源文件写入到BIOS文件存储装置中;
C2、安全校验内核对BIOS文件存储装置中写入的启动程序源文件进行校验。
其中,步骤C1至步骤C2中安全校验内核的校验过程与前述实施例中步骤304至步骤305中的说明类似,请参阅前述对步骤304至步骤305中的详细说明。
C3、当BIOS文件存储装置中写入的启动程序源文件通过校验时,安全校验内核通过使 能控制管脚向控制开关发送第一指令;
C4、控制开关通过使能控制管脚接收第一指令,并根据第一指令将第二通道和第三通道导通,以使得在第二通道和第三通道导通时成功建立BIOS文件存储装置和计算机硬件系统之间的连接,计算机硬件系统使用第一启动程序文件完成上电运行。
其中,步骤C3至步骤C4中安全校验内核的校验过程与前述实施例中步骤603至步骤604中的说明类似,请参阅前述对步骤603至步骤604中的详细说明。
在本申请的一些实施例中,本申请实施例提供的方法还包括如下步骤:
当第一启动程序文件没有通过校验时,安全校验内核将BIOS文件存储装置中存储的第一启动程序文件删除。
其中,当第一启动程序文件没有通过校验时,则说明BIOS文件存储装置中的存储的第一启动程序文件可能被篡改或者被损坏,即BIOS文件存储装置中的存储的第一启动程序文件是不可信的。控制器还可以删除BIOS文件存储装置中存储的第一启动程序文件,即控制器可以擦除掉BIOS文件存储装置中被篡改的第一启动程序文件,从而该控制器的闪存可用于重新写入未被篡改的启动程序源文件,提高了闪存的空间使用效率。
在本申请的一些实施例中,BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,其中,控制开关通过第一子通道与主BIOS文件存储模块连接,控制开关通过第二子通道与从BIOS文件存储模块相连接,主BIOS文件存储模块和从BIOS文件存储模块中都预先存储有第一启动程序文件。
基于前述图5a和图5b可知,控制开关通过第三通道和BIOS文件存储装置相连接,BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,第三通道可以包括第一子通道和第二子通道,具体的,第一子通道连接控制开关和主BIOS文件存储模块,第二子通道连接控制开关和从BIOS文件存储模块,对于第一子通道和第二子通道在图5a和图5b中没有示意说明,此处仅作本申请实施例的一种可能性示例。
本申请实施例提供的方法还包括如下步骤:
D1、安全启动内核通过第一通道和第一子通道获取主BIOS文件存储模块中的第一启动程序文件。
D2、安全启动内核对主BIOS文件存储模块中的第一启动程序文件进行校验。
本申请实施例中,安全启动内核对第一启动程序文件的校验结果确定了是否执行后续步骤D3和D4,当第一启动程序文件通过校验时,可执行后续步骤D3和D4。当第一启动程序文件没有通过校验时,控制器执行后续步骤D5至步骤D8。
D3、当第一启动程序文件通过校验时,安全校验内核通过使能控制管脚向控制开关发送第一指令。
D4、控制开关根据第一指令将第二通道和第一子通道导通,以使得在第二通道和第一子通道导通时成功建立主BIOS文件存储模块和计算机硬件系统之间的连接。
其中,步骤D1至步骤D4安全校验内核的校验过程与前述实施例中步骤601至步骤604中的说明类似,请参阅前述对步骤601至步骤604中的详细说明。
D5、当主BIOS文件存储模块中的第一启动程序文件没有通过校验时,安全启动内核通过第一通道和第二子通道获取从BIOS文件存储模块中的第一启动程序文件;
D6、安全启动内核对从BIOS文件存储模块中的第一启动程序文件进行校验。
D7、当从BIOS文件存储模块中的第一启动程序文件通过校验时,安全校验内核通过使 能控制管脚向控制开关发送第二指令;
D8、控制开关通过使能控制管脚接收第二指令,然后控制开关根据第二指令将第二通道和第二子通道导通,以使得在第二通道和第二子通道导通时成功建立从BIOS文件存储模块和计算机硬件系统之间的连接,由从BIOS文件存储模块计算机硬件系统使用第一启动程序文件完成上电运行。
其中,步骤D5至步骤D8安全校验内核的校验过程与前述实施例中步骤404至步骤406中的说明类似,请参阅前述对步骤404至步骤406中的详细说明。
在本申请的一些实施例中,控制器还包括:存储器,其中,安全校验内核和存储器相连接,存储器中预先存储有启动程序源文件;
本申请实施例提供的方法还包括如下步骤:
E1、当从BIOS文件存储模块中的第一启动程序文件没有通过校验时,安全启动内核将启动程序源文件写入到主BIOS文件存储模块中;
E2、安全启动内核对主BIOS文件存储模块中写入的启动程序源文件进行校验;
E3、当主BIOS文件存储模块中写入的启动程序源文件通过校验时,安全校验内核通过使能控制管脚向控制开关发送第一指令;
E4、控制开关通过使能控制管脚接收第一指令,然后控制开关根据第一指令将第二通道和第一子通道导通,以使得在第二通道和第一子通道导通时成功建立主BIOS文件存储模块和计算机硬件系统之间的连接,由主BIOS文件存储模块计算机硬件系统使用第一启动程序文件完成上电运行。
其中,步骤E1至步骤E4安全校验内核的校验过程与前述实施例中步骤407至步骤409中的说明类似,请参阅前述对步骤407至步骤409中的详细说明。
在本申请的一些实施例中,控制器还包括:存储器,其中,安全校验内核和存储器相连接,存储器中预先存储有启动程序源文件;
本申请实施例提供的方法还包括如下步骤:
当从BIOS文件存储模块中的第一启动程序文件没有通过校验时,安全启动内核将启动程序源文件写入到从BIOS文件存储模块中。
其中,当第一启动程序文件没有通过校验时,则说明从BIOS文件存储模块中的存储的第一启动程序文件可能被篡改或者被损坏,即从BIOS文件存储模块中的存储的第一启动程序文件是不可信的。安全校验内核中可以预先存储启动程序源文件,该启动程序源文件是指用于启动计算机硬件系统的原始文件,该启动程序源文件可以加密后预先存储在安全校验内核中,例如安全校验内核中可以包括有闪存,该闪存也可以称为flash存储安全校验内核,该闪存可用于存储启动程序源文件,以便于安全校验内核使用该启动程序源文件进行校验。
通过前述实施例的举例说明可知,控制器包括安全校验内核,安全校验内核通过控制开关的使能控制管脚和控制开关通信。控制开关通过第一通道和安全校验内核相连接,控制开关通过第二通道和计算机硬件系统相连接,控制开关通过第三通道和BIOS文件存储装置相连接。安全校验内核首先通过第一通道和第三通道获取BIOS文件存储装置中的第一启动程序文件,其中,第一启动程序文件是预先存储在BIOS文件存储装置中的BIOS文件,安全校验内核然后对第一启动程序文件进行校验,当第一启动程序文件通过校验时,安全校验内核通过使能控制管脚向控制开关发送第一指令,控制开关通过使能控制管脚接收第一 指令,然后控制开关根据第一指令将第二通道和第三通道导通,以使得在第二通道和第三通道导通时成功建立BIOS文件存储装置和计算机硬件系统之间的连接,计算机硬件系统使用第一启动程序文件完成上电运行。本申请实施例中,安全校验内核可以对BIOS文件存储装置中的第一启动程序文件进行校验,只有该第一启动程序文件通过校验时,控制开关才会建立BIOS文件存储装置和计算机硬件系统之间的连接,此时计算机硬件系统可以读取BIOS文件存储装置中的第一启动程序文件,以完成上电运行,本申请实施例中安全校验内核可对BIOS文件存储装置中预先存储的第一启动程序文件进行校验,以保证该第一启动程序文件是安全的,即保证该第一启动程序文件未被篡改,提高了计算机硬件系统的启动安全等级,避免使用被篡改的启动程序文件而导致的安全风险。
为便于更好的理解和实施本申请实施例的上述方案,下面举例相应的应用场景来进行具体说明。
本申请实施例可以引导X86系统安全的启动并进入操作系统,保证BIOS程序文件的安全可信,避免BIOS程序文件被篡改时造成的数据泄露。
如图7所示,本申请实施例提供的控制器可以是BMC系统,BMC系统包括:BMC安全校验内核、BIOS原始文件和BIOS选通控制开关(后续简称为控制开关)。BMC系统是基于可信算法的BMC带外管理系统,本申请实施例中BMC带外管理系统是计算机附带的一个带完管理系统,本申请实施例中BMC带外管理系统具有BMC安全校验内核对BIOS进行开机前文件完整性校验功能,还可以对损坏的BIOS程序文件进行回写恢复功能。
BMC系统主要包括BMC芯片,BMC芯片内部包含可信算法的安全校验内核及FLASH存储控制器等两部分。示例性的,该存储控制器上会预先存储一个X86系统的BIOS原始文件,该文件通过BMC安全校验内核经一定加密算法后得出一组密钥,并将该密钥与BIOS原始文件进行绑定。无该密钥匹配外部系统不能对BMC内部存储的BIOS原始文件进行擦写。其中,BIOS原始文件也可以称为BIOS程序数据、BIOS程序、BIOS源文件等,外部系统是指用户或者外部第三方的电脑,外部系统需要通过外部的一些接口等与本计算机相连。本申请实施例中,X86系统启动之前通过BMC系统对X86BIOS原始文件进行安全校验,保证BIOS程序数据不被篡改,引导X86系统安全的启动并进入操作系统,保证了用户的关键数据安全可信不被攻击泄露。
如图8所示,以X86系统为例,本申请实施例提供了一种计算机的启动系统的内部硬件构成示意图。计算机的启动系统可以包括:X86系统、BMC系统、主BIOS FLASH和从BIOS FLASH。在本申请的一些实施例中,控制开关可以属于BMC系统,即BMC系统可以包括:BMC安全校验内核和控制开关。不限定的是,控制开关也可以是独立于BMC系统之外的一个逻辑开关。在图8中以控制开关属于BMC系统进行示例说明。
在图8中,X86系统通过SPI总线和控制开关中的B1通道连接,BMC安全校验内核通过SPI总线和控制开关中的B2通道连接,控制开关默认初始导通BMC安全校验内核,BMC安全校验内核通过控制开关中的使能控制管脚来控制开关的导通状态,控制开关通过SPI总线分别与主BIOS FLASH、从BIOS FLASH连接。
在本申请实施例中,X86系统在上电开机之前,BMC通过控制开关控制BIOS与BMC系统接通,开关初始状态默认B2通道导通,主从BIOS都会通过开关分别与BMC及X86系统相连,然后BMC安全校验内核确认BIOS数据安全完整之后,将选通开关的控制权交与X86系统(即开关切换到B1通道),实现BIOS FLASH芯片与X86系统导通,引导X86系统安全上电。
需要说明的是,本申请实施例也适用于单BIOS场景,在单BIOS场景下一旦BIOS数据被篡改,就需要回写完整的BIOS源文件,待BIOS文件恢复后,X86系统才能启动。后续实施例中以主从双BIOS硬件进行示例说明,可实现引导X86系统上电,并在异常时对主从BIOS进行擦除回写恢复。
BMC芯片需要提供安全校验内核,安全校验内核提供准确的安全算法,保证数据安全的准确性。可以保证主、从BIOS的程序文件被确认是安全未被篡改的,使用户的计算机启动安全等级高,数据不会被篡改。BMC芯片内部能提供一个足够大的至少供存放BIOS源文件的FLASH,以保证X86系统BIOS的原始文件能够存放下。可以保证在校验确认主、从BIOS数据被篡改后,可以从BMC中读取并回写完整的BIOS源文件到主从BIOS FLASH中,确保系统安全上电。
如图9所示,为本申请实施例提供的一种计算机的启动方法的执行流程示意图,主要包括如下流程:
S01、计算机上电。
其中,计算机可以是服务器,例如,可以使用220伏特的交流电提供给计算机。
S02、BMC上电工作。
其中,BMC指的是前述的BMC系统,BIOS选通控制开关的开关状态默认与BMC选通。
S03、BMC安全校验内核校验主BIOS程序。
S04、BMC判断主BIOS程序是否完整。
S05、当主BIOS程序完整时,BMC安全校验内核将控制开关切换,使得BIOS到X86系统连接,然后执行步骤S09。
如图10a所示,为本申请实施例提供的BIOS选通控制开关的默认初始导通的示意图。主BIOS FLASH和通过控制开关与BMC及X86系统通过SPI总线相连,从BIOS FLASH和通过控制开关与BMC及X86系统通过SPI总线相连。计算机加电后硬件控制先给BMC系统供电,BMC系统启动上电完成,初始状态BMC控制开关导通使BMC与主BIOS FLASH通过SPI总线相连,并且开关的切换权由BMC安全校验内核控制。其中,BMC安全校验内核是BMC中芯片的处理器的一个核,由硬件逻辑电路实现,可用于对BIOS程序文件进行校验。这样X86系统无法与BIOS FLASH直接相连,在控制开关导通之前,X86系统无法进行开机配置及自检,此时X86系统还无法正常启动。
如图10b所示,为本申请实施例提供的X86系统和主BIOS导通的示意图,BMC芯片内部的BMC安全校验内核调用预先存储的BIOS原始文件,BMC通过与BIOS相连的SPI总线对主BIOS程序进行数据安全校验,若检验主BIOS程序与BMC预设数据一致,则说明主BIOS程序未被篡改。其中,BMC预设数据存储在BMC芯片内部的FLASH存储控制器上,此时BMC安全校验内核将BIOS的控制开关切换到使BIOS与X86系统相连,其中,默认是B2通道选通,校验通过则控制开关切换至B1通道,X86系统从主BIOS FLASH中导入开机相关程序数据,完成上电初始化动作并引导X86系统进入操作系统。
需要说明的是,BMC芯片内部的FLASH存储控制器上源文件预先通过BMC安全校验内核经一定加密算法后得出一组密钥,并将该密钥与BIOS原始文件进行绑定,无该密钥匹配外部系统不能对BMC内部存储的BIOS原始文件进行擦写。
本申请实施例中BMC安全校验内核执行的校验过程如下,密钥存储在BMC芯片内部的FLASH存储控制器上,BMC原始文件可以加密后存储至BMC中,校验时可以利用相同的密钥 分别对存储在不同位置的BMC原始文件中数据进行比对,若完全相同,则认为BIOS和BMC中存储的文件一致。
S06、当主BIOS程序不完整时,BMC安全校验内核校验从BIOS程序。
S07、BMC安全校验内核判断从BIOS程序是否完整。
S08、当从BIOS程序不完整时,BMC安全校验内核引导主BIOS FLASH、从BIOS FLASH分别从BMC读取BIOS源文件进行回写恢复。
S09、BIOS引导X86系统开机。
S10、X86系统正常开机接入操作系统。
如图10c所示,为本申请实施例提供的X86系统和从BIOS导通的示意图。若BMC安全校验内核检验主BIOS程序与BMC预设数据不一致,则说明主BIOS数据已被篡改。则此时BMC安全校验内核启动对从BIOS的程序数据安全校验。若检验从BIOS程序与BMC预设数据一致则说明从BIOS数据未被篡改。此时BMC安全校验内核将从BIOS的控制开关切换到使BIOS与X86系统相连,X86系统可以导入从BIOS中的开机相关程序数据,完成上电初始化动作并引导X86系统进入操作系统。
如图10d所示,为本申请实施例提供的BMC向主BIOS FLASH和从BIOS FLASH回写BIOS源文件的示意图。若BMC安全校验内核校验主BIOS程序、从BIOS程序都与BMC预设数据不一致,则说明主BIOS程序、从BIOS程序皆已被篡改。此时BMC会引导先将主BIOS FLASH、从BIOS FLASH中所有被篡改程序全部擦除,然后BMC安全校验内核对主BIOS FLASH、从BIOS FLASH进行操作,将预存储BIOS原始文件进行读取并回写到主BIOS FLASH、从BIOS FLASH中去。回写完毕后再对主BIOS程序进行安全校验,若检验主BIOS程序与BMC预设数据一致,则说明主BIOS已回写保持完整。此时BMC安全校验内核将BIOS的控制开关切换到使主BIOS FLASH与X86系统相连,X86系统从主BIOS FLASH中导入开机相关程序数据,完成上电初始化动作并引导X86系统进入操作系统。
通过前述的举例说明可知,本申请实施例提供一种基于X86可信启动的方案,X86系统启动之前通过BMC系统对X86系统的BIOS原始文件进行安全校验,保证BIOS程序数据不被篡改,引导X86系统安全的启动并进入OS,保证了计算机在启动过程中及进OS后客户的关键数据安全可信不被攻击泄露。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
为便于更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图11所示,本申请实施例提供的一种控制器1100,可以包括:处理器1101,存储器1102;
所述处理器、所述存储器之间进行相互的通信;
所述存储器用于存储指令;
所述处理器用于执行所述存储器中的所述指令,执行如前述图2至图4中任一个实施例所述的方法。
在本申请的一些实施例中,处理器和存储器可通过总线或其它方式连接。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。存储器存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器还可以称为中央处理单元(central processing unit,CPU)。具体的应用中,控制器的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
请参阅图12所示,本申请实施例提供的一种控制器1200,可以包括:安全校验内核1201。
所述安全校验内核通过控制开关的使能控制管脚和所述控制开关通信;
所述控制开关通过第一通道和所述安全校验内核相连接,所述控制开关通过第二通道和计算机硬件系统相连接,所述控制开关通过第三通道和BIOS文件存储装置相连接;
所述安全校验内核,用于通过所述第一通道和所述第三通道获取所述BIOS文件存储装置中的第一启动程序文件,其中,所述第一启动程序文件是预先存储在所述BIOS文件存储装置中的BIOS文件;对所述第一启动程序文件进行校验;当所述第一启动程序文件通过校验时,通过所述使能控制管脚向所述控制开关发送第一指令;
所述控制开关,用于通过所述使能控制管脚接收所述第一指令,然后根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
在本申请的一些实施例中,控制开关1202可以属于控制器1200,即控制器1200包括安全校验内核1201和控制开关1202。不限定的是,控制器也可以是独立于控制器之外的一个逻辑开关。
在本申请的一些实施例中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;
所述安全校验内核,还用于使用密钥和所述存储器中的启动程序源文件进行校验计算, 得到第一校验结果;使用所述密钥和所述第一启动程序文件进行校验计算,得到第二校验结果;根据所述第一校验结果和所述第二校验结果确定所述第一启动程序文件是否通过校验。
在本申请的一些实施例中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;
所述安全校验内核,还用于当所述第一启动程序文件没有通过校验时,将所述启动程序源文件写入到所述BIOS文件存储装置中;对所述BIOS文件存储装置中写入的启动程序源文件进行校验;当所述BIOS文件存储装置中写入的启动程序源文件通过校验时,通过所述使能控制管脚向所述控制开关发送第一指令;
所述控制开关,还应用于通过所述使能控制管脚接收所述第一指令,并根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
在本申请的一些实施例中,所述安全校验内核,还用于当所述第一启动程序文件没有通过校验时,将所述BIOS文件存储装置中存储的第一启动程序文件删除。
在本申请的一些实施例中,所述BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,其中,所述控制开关通过第一子通道与所述主BIOS文件存储模块连接,所述控制开关通过第二子通道与所述从BIOS文件存储模块相连接,所述主BIOS文件存储模块和所述从BIOS文件存储模块中都预先存储有所述第一启动程序文件;
所述安全校验内核,还用于通过所述第一通道和所述第一子通道获取所述主BIOS文件存储模块中的第一启动程序文件;对所述主BIOS文件存储模块中的第一启动程序文件进行校验;
所述控制开关,还用于根据所述第一指令将所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接。
在本申请的一些实施例中,所述安全启动内核,还用于当所述主BIOS文件存储模块中的第一启动程序文件没有通过校验时,通过所述第一通道和所述第二子通道获取所述从BIOS文件存储模块中的第一启动程序文件;对所述从BIOS文件存储模块中的第一启动程序文件进行校验;当所述从BIOS文件存储模块中的第一启动程序文件通过校验时,通过所述使能控制管脚向所述控制开关发送第二指令;
所述控制开关,还用于通过所述使能控制管脚接收所述第二指令,根据所述第二指令将所述第二通道和所述第二子通道导通,以使得在所述第二通道和所述第二子通道导通时成功建立所述从BIOS文件存储模块和所述计算机硬件系统之间的连接,由所述计算机硬件系统使用所述从BIOS文件存储模块中的第一启动程序文件完成上电运行。
在本申请的一些实施例中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;
所述安全启动内核,还用于当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,将所述启动程序源文件写入到所述主BIOS文件存储模块中;对所述主BIOS文件存储模块中写入的启动程序源文件进行校验;当所述主BIOS文件存储模块中写入的启动程序源文件通过校验时,通过所述使能控制管脚向所述控制开关发送第一指令;
所述控制开关,还用于通过所述使能控制管脚接收所述第一指令,根据所述第一指令将 所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述主BIOS文件存储模块中写入的启动程序源文件完成上电运行。
在本申请的一些实施例中,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;
所述安全启动内核,还用于当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,将所述启动程序源文件写入到所述从BIOS文件存储模块中。
在本申请的一些实施例中,所述控制器为基板管理控制器BMC,所述BIOS文件存储装置为存储BIOS文件的闪存;
所述第一通道为第一串行外设接口SPI总线,所述第二通道为第二SPI总线,所述第三通道为第三SPI总线。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
在另一种可能的设计中,当控制器为芯片时,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述的计算机的启动方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述计算机的启动方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以 使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (31)
- 一种计算机的启动方法,其特征在于,所述方法用于控制器,所述控制器分别与计算机硬件系统、基本输入输出系统BIOS文件存储装置相连接,所述方法包括:当所述控制器上电运行时,所述控制器获取所述BIOS文件存储装置中的第一启动程序文件,其中,所述第一启动程序文件是预先存储在所述BIOS文件存储装置中的BIOS文件;所述控制器对所述第一启动程序文件进行校验;当所述第一启动程序文件通过校验时,所述控制器建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,当成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接时,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
- 根据权利要求1所述的方法,其特征在于,所述控制器对所述第一启动程序文件进行校验,包括:所述控制器使用密钥和所述控制器中的启动程序源文件进行校验计算,得到第一校验结果,所述启动程序源文件是预先存储在所述控制器中的BIOS文件;所述控制器使用所述密钥和所述第一启动程序文件进行校验计算,得到第二校验结果;所述控制器根据所述第一校验结果和所述第二校验结果确定所述第一启动程序文件是否通过校验。
- 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:当所述第一启动程序文件没有通过校验时,所述控制器将启动程序源文件写入到所述BIOS文件存储装置中,所述启动程序源文件是预先存储在所述控制器中的BIOS文件;所述控制器对所述BIOS文件存储装置中写入的启动程序源文件进行校验;当所述BIOS文件存储装置中写入的启动程序源文件通过校验时,所述控制器建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,当成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接时,所述计算机硬件系统使用所述BIOS文件存储装置中写入的启动程序源文件完成上电运行。
- 根据权利要求3所述的方法,其特征在于,所述方法还包括:所述控制器将所述BIOS文件存储装置中存储的第一启动程序文件删除。
- 根据权利要求1所述的方法,其特征在于,所述BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,其中,所述控制器分别与所述主BIOS文件存储模块和所述从BIOS文件存储模块相连接,所述主BIOS文件存储模块和所述从BIOS文件存储模块中都预先存储有所述第一启动程序文件;所述控制器获取所述BIOS文件存储装置中的第一启动程序文件,包括:所述控制器获取所述主BIOS文件存储模块中的第一启动程序文件;所述控制器对所述第一启动程序文件进行校验,包括:所述控制器对所述主BIOS文件存储模块中的第一启动程序文件进行校验;当所述第一启动程序文件通过校验时,所述控制器建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,包括:当所述主BIOS文件存储模块中的第一启动程序文件通过校验时,所述控制器建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接。
- 根据权利要求5所述的方法,其特征在于,所述方法还包括:当所述主BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述控制器获取所述从BIOS文件存储模块中的第一启动程序文件;所述控制器对所述从BIOS文件存储模块中的第一启动程序文件进行校验;当所述从BIOS文件存储模块中的第一启动程序文件通过校验时,所述控制器建立所述从BIOS文件存储模块和所述计算机硬件系统之间的连接。
- 根据权利要求6所述的方法,其特征在于,所述方法还包括:当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述控制器将启动程序源文件写入到所述主BIOS文件存储模块中,所述启动程序源文件是预先存储在所述控制器中的BIOS文件;所述控制器对所述主BIOS文件存储模块中写入的启动程序源文件进行校验;当所述主BIOS文件存储模块中写入的启动程序源文件通过校验时,所述控制器建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接,当成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接时,所述计算机硬件系统使用所述主BIOS文件存储模块中写入的启动程序源文件完成上电运行。
- 根据权利要求6所述的方法,其特征在于,所述方法还包括:当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述控制器将启动程序源文件写入到所述从BIOS文件存储模块中,所述启动程序源文件是预先存储在所述控制器中的BIOS文件。
- 根据权利要求1至8中任一项所述的方法,其特征在于,所述控制器为基板管理控制器BMC,所述BIOS文件存储装置为存储BIOS文件的闪存;所述BMC通过第一串行外设接口SPI总线和所述存储BIOS文件的闪存相连接,所述BMC通过第二SPI总线和所述计算机硬件系统相连接。
- 一种计算机的启动方法,其特征在于,所述方法用于控制器,所述控制器包括:安全校验内核,所述安全校验内核通过控制开关的使能控制管脚和所述控制开关通信;所述控制开关通过第一通道和所述安全校验内核相连接,所述控制开关通过第二通道和计算机硬件系统相连接,所述控制开关通过第三通道和BIOS文件存储装置相连接;所述方法包括:所述安全校验内核通过所述第一通道和所述第三通道获取所述BIOS文件存储装置中的第一启动程序文件,其中,所述第一启动程序文件是预先存储在所述BIOS文件存储装置中的BIOS文件;所述安全校验内核对所述第一启动程序文件进行校验;当所述第一启动程序文件通过校验时,所述安全校验内核通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关通过所述使能控制管脚接收所述第一指令,然后所述控制开关根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
- 根据权利要求10所述的方法,其特征在于,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全校验内核对所述第一启动程序文件进行校验,包括:所述安全校验内核使用密钥和所述存储器中的启动程序源文件进行校验计算,得到第一校验结果;所述安全校验内核使用所述密钥和所述第一启动程序文件进行校验计算,得到第二校验结果;所述安全校验内核根据所述第一校验结果和所述第二校验结果确定所述第一启动程序文件是否通过校验。
- 根据权利要求10或11所述的方法,其特征在于,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述方法还包括:当所述第一启动程序文件没有通过校验时,所述安全校验内核将所述启动程序源文件写入到所述BIOS文件存储装置中;所述安全校验内核对所述BIOS文件存储装置中写入的启动程序源文件进行校验;当所述BIOS文件存储装置中写入的启动程序源文件通过校验时,所述安全校验内核通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关通过所述使能控制管脚接收所述第一指令,并根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述BIOS文件存储装置中写入的启动程序源文件完成上电运行。
- 根据权利要求12所述的方法,其特征在于,所述方法还包括:当所述第一启动程序文件没有通过校验时,所述安全校验内核将所述BIOS文件存储装置中存储的第一启动程序文件删除。
- 根据权利要求10所述的方法,其特征在于,所述BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,其中,所述控制开关通过第一子通道与所述主BIOS文件存储模块连接,所述控制开关通过第二子通道与所述从BIOS文件存储模块相连接,所述主BIOS文件存储模块和所述从BIOS文件存储模块中都预先存储有所述第一启动程序文件;所述安全校验内核通过所述第一通道和所述第三通道获取所述BIOS文件存储装置中的第一启动程序文件,包括:所述安全启动内核通过所述第一通道和所述第一子通道获取所述主BIOS文件存储模块中的第一启动程序文件;所述安全启动内核对所述第一启动程序文件进行校验,包括:所述安全启动内核对所述主BIOS文件存储模块中的第一启动程序文件进行校验;所述控制开关根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,包括:所述控制开关根据所述第一指令将所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接。
- 根据权利要求14所述的方法,其特征在于,所述方法还包括:当所述主BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述安全启动内 核通过所述第一通道和所述第二子通道获取所述从BIOS文件存储模块中的第一启动程序文件;所述安全启动内核对所述从BIOS文件存储模块中的第一启动程序文件进行校验;当所述从BIOS文件存储模块中的第一启动程序文件通过校验时,所述安全校验内核通过所述使能控制管脚向所述控制开关发送第二指令;所述控制开关通过所述使能控制管脚接收所述第二指令,然后所述控制开关根据所述第二指令将所述第二通道和所述第二子通道导通,以使得在所述第二通道和所述第二子通道导通时成功建立所述从BIOS文件存储模块和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
- 根据权利要求15所述的方法,其特征在于,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述方法还包括:当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述安全启动内核将所述启动程序源文件写入到所述主BIOS文件存储模块中;所述安全启动内核对所述主BIOS文件存储模块中写入的启动程序源文件进行校验;当所述主BIOS文件存储模块中写入的启动程序源文件通过校验时,所述安全校验内核通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关通过所述使能控制管脚接收所述第一指令,然后所述控制开关根据所述第一指令将所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述主BIOS文件存储模块中写入的启动程序源文件完成上电运行。
- 根据权利要求15所述的方法,其特征在于,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述方法还包括:当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,所述安全启动内核将所述启动程序源文件写入到所述从BIOS文件存储模块中。
- 根据权利要求10至17中任一项所述的方法,其特征在于,所述控制器为基板管理控制器BMC,所述BIOS文件存储装置为存储BIOS文件的闪存;所述第一通道为第一串行外设接口SPI总线,所述第二通道为第二SPI总线,所述第三通道为第三SPI总线。
- 一种控制器,其特征在于,所述控制器包括:处理器,存储器;所述处理器、所述存储器之间进行相互的通信;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,执行如权利要求1至9中任一项所述的方法。
- 一种控制器,其特征在于,所述控制器包括:安全校验内核,所述安全校验内核通过控制开关的使能控制管脚和所述控制开关通信;所述控制开关通过第一通道和所述安全校验内核相连接,所述控制开关通过第二通道和计算机硬件系统相连接,所述控制开关通过第三通道和BIOS文件存储装置相连接;所述安全校验内核,用于通过所述第一通道和所述第三通道获取所述BIOS文件存储装 置中的第一启动程序文件,其中,所述第一启动程序文件是预先存储在所述BIOS文件存储装置中的BIOS文件;对所述第一启动程序文件进行校验;当所述第一启动程序文件通过校验时,通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关,用于通过所述使能控制管脚接收所述第一指令,然后根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
- 根据权利要求20所述的控制器,其特征在于,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全校验内核,还用于使用密钥和所述存储器中的启动程序源文件进行校验计算,得到第一校验结果;使用所述密钥和所述第一启动程序文件进行校验计算,得到第二校验结果;根据所述第一校验结果和所述第二校验结果确定所述第一启动程序文件是否通过校验。
- 根据权利要求20所述的控制器,其特征在于,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全校验内核,还用于当所述第一启动程序文件没有通过校验时,将所述启动程序源文件写入到所述BIOS文件存储装置中;对所述BIOS文件存储装置中写入的启动程序源文件进行校验;当所述BIOS文件存储装置中写入的启动程序源文件通过校验时,通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关,还应用于通过所述使能控制管脚接收所述第一指令,并根据所述第一指令将所述第二通道和所述第三通道导通,以使得在所述第二通道和所述第三通道导通时成功建立所述BIOS文件存储装置和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述第一启动程序文件完成上电运行。
- 根据权利要求22所述的控制器,其特征在于,所述安全校验内核,还用于当所述第一启动程序文件没有通过校验时,将所述BIOS文件存储装置中存储的第一启动程序文件删除。
- 根据权利要求20所述的控制器,其特征在于,所述BIOS文件存储装置包括:主BIOS文件存储模块和从BIOS文件存储模块,其中,所述控制开关通过第一子通道与所述主BIOS文件存储模块连接,所述控制开关通过第二子通道与所述从BIOS文件存储模块相连接,所述主BIOS文件存储模块和所述从BIOS文件存储模块中都预先存储有所述第一启动程序文件;所述安全校验内核,还用于通过所述第一通道和所述第一子通道获取所述主BIOS文件存储模块中的第一启动程序文件;对所述主BIOS文件存储模块中的第一启动程序文件进行校验;所述控制开关,还用于根据所述第一指令将所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接。
- 根据权利要求24所述的控制器,其特征在于,所述安全启动内核,还用于当所述主BIOS文件存储模块中的第一启动程序文件没有通过校验时,通过所述第一通道和所述第二子通道获取所述从BIOS文件存储模块中的第一启动程序文件;对所述从BIOS文件存储模块中的第一启动程序文件进行校验;当所述从BIOS文件存储模块中的第一启动程序文件通 过校验时,通过所述使能控制管脚向所述控制开关发送第二指令;所述控制开关,还用于通过所述使能控制管脚接收所述第二指令,根据所述第二指令将所述第二通道和所述第二子通道导通,以使得在所述第二通道和所述第二子通道导通时成功建立所述从BIOS文件存储模块和所述计算机硬件系统之间的连接,由所述计算机硬件系统使用所述从BIOS文件存储模块中的第一启动程序文件完成上电运行。
- 根据权利要求25所述的控制器,其特征在于,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全启动内核,还用于当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,将所述启动程序源文件写入到所述主BIOS文件存储模块中;对所述主BIOS文件存储模块中写入的启动程序源文件进行校验;当所述主BIOS文件存储模块中写入的启动程序源文件通过校验时,通过所述使能控制管脚向所述控制开关发送第一指令;所述控制开关,还用于通过所述使能控制管脚接收所述第一指令,根据所述第一指令将所述第二通道和所述第一子通道导通,以使得在所述第二通道和所述第一子通道导通时成功建立所述主BIOS文件存储模块和所述计算机硬件系统之间的连接,所述计算机硬件系统使用所述主BIOS文件存储模块中写入的启动程序源文件完成上电运行。
- 根据权利要求25所述的控制器,其特征在于,所述控制器还包括:存储器,其中,所述安全校验内核和所述存储器相连接,所述存储器中预先存储有启动程序源文件;所述安全启动内核,还用于当所述从BIOS文件存储模块中的第一启动程序文件没有通过校验时,将所述启动程序源文件写入到所述从BIOS文件存储模块中。
- 根据权利要求20至27中任一项所述的控制器,其特征在于,所述控制器为基板管理控制器BMC,所述BIOS文件存储装置为存储BIOS文件的闪存;所述第一通道为第一串行外设接口SPI总线,所述第二通道为第二SPI总线,所述第三通道为第三SPI总线。
- 一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-9,或者10-18中任意一项所述的方法。
- 一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1-9,或者10-18中任意一项所述的方法。
- 一种计算机的启动系统,其特征在于,所述计算机的启动系统包括:控制器、计算机硬件系统和基本输入输出系统BIOS文件存储装置,所述控制器分别与所述计算机硬件系统、所述BIOS文件存储装置相连接;所述控制器,用于执行如权利要求1-9,或者10-18中任意一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP20865718.9A EP3971749B1 (en) | 2019-09-19 | 2020-09-03 | Computer starting method, controller, storage medium and system |
| US17/564,683 US11886595B2 (en) | 2019-09-19 | 2021-12-29 | Computer boot method, controller, storage medium, and system |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910887279.2 | 2019-09-19 | ||
| CN201910887279.2A CN110795738B (zh) | 2019-09-19 | 2019-09-19 | 一种计算机的启动方法和控制器、存储介质以及系统 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/564,683 Continuation US11886595B2 (en) | 2019-09-19 | 2021-12-29 | Computer boot method, controller, storage medium, and system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021052191A1 true WO2021052191A1 (zh) | 2021-03-25 |
Family
ID=69438569
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/113345 Ceased WO2021052191A1 (zh) | 2019-09-19 | 2020-09-03 | 一种计算机的启动方法和控制器、存储介质以及系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11886595B2 (zh) |
| EP (1) | EP3971749B1 (zh) |
| CN (1) | CN110795738B (zh) |
| WO (1) | WO2021052191A1 (zh) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110795738B (zh) | 2019-09-19 | 2022-05-13 | 超聚变数字技术有限公司 | 一种计算机的启动方法和控制器、存储介质以及系统 |
| EP4182821A1 (en) * | 2020-07-14 | 2023-05-24 | Gapfruit AG | A storage module for storing a data file and providing its hash |
| CN112086078A (zh) * | 2020-09-18 | 2020-12-15 | Tcl华星光电技术有限公司 | 驱动电路的数据保护装置及方法 |
| CN112448819A (zh) * | 2020-11-06 | 2021-03-05 | 支付宝(杭州)信息技术有限公司 | 物联网设备的校验、签名文件的生成方法及装置 |
| CN112650538A (zh) * | 2021-01-08 | 2021-04-13 | 北京星网锐捷网络技术有限公司 | 网络设备的启动方法及装置 |
| CN112817645A (zh) * | 2021-01-26 | 2021-05-18 | 浪潮电子信息产业股份有限公司 | 一种bios启动方法、装置、设备及可读存储介质 |
| CN114615075B (zh) * | 2022-03-28 | 2023-04-25 | 重庆长安汽车股份有限公司 | 一种控制器的软件防篡改系统、方法及存储介质 |
| WO2024072470A1 (en) * | 2022-09-28 | 2024-04-04 | Altiostar Networks India Private Limited | Automated upgrade and fallback across multiple operating system instances |
| CN115904227A (zh) * | 2022-10-21 | 2023-04-04 | 苏州浪潮智能科技有限公司 | 数据擦除方法、系统、设备和介质及bmc和服务器 |
| TWI863150B (zh) * | 2023-02-24 | 2024-11-21 | 華碩電腦股份有限公司 | 電子裝置以及電源切換控制方法 |
| CN119046107B (zh) * | 2024-10-30 | 2025-04-29 | 苏州元脑智能科技有限公司 | 设备状态确定方法、设备、介质及产品 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105160255A (zh) * | 2015-08-06 | 2015-12-16 | 浪潮电子信息产业股份有限公司 | 一种可信度量装置及方法 |
| CN106484578A (zh) * | 2016-10-14 | 2017-03-08 | 苏州国芯科技有限公司 | 一种基于可信计算机硬件的校验系统 |
| CN109670319A (zh) * | 2018-12-25 | 2019-04-23 | 广东浪潮大数据研究有限公司 | 一种服务器flash安全管理方法及其系统 |
| US20190251266A1 (en) * | 2018-02-14 | 2019-08-15 | Microsoft Technology Licensing, Llc | Clearance of bare metal resource to trusted state usable in cloud computing |
| CN110197070A (zh) * | 2018-02-27 | 2019-09-03 | 其阳科技股份有限公司 | 具开机的可信验证与容错移转的计算机系统及方法 |
| CN110795738A (zh) * | 2019-09-19 | 2020-02-14 | 华为技术有限公司 | 一种计算机的启动方法和控制器、存储介质以及系统 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6711675B1 (en) * | 2000-02-11 | 2004-03-23 | Intel Corporation | Protected boot flow |
| KR100532413B1 (ko) * | 2002-12-02 | 2005-12-02 | 삼성전자주식회사 | 플래시 메모리 보호 장치 및 방법 |
| US7962739B2 (en) * | 2008-02-25 | 2011-06-14 | Lenovo (Singapore) Pte. Ltd. | Recovering from hard disk errors that corrupt one or more critical system boot files |
| CN102419719A (zh) * | 2010-09-27 | 2012-04-18 | 鸿富锦精密工业(深圳)有限公司 | 电脑系统及电脑系统的开机方法 |
| CN103186434A (zh) * | 2011-12-31 | 2013-07-03 | 国民技术股份有限公司 | 恢复基本输入输出系统的方法及系统 |
| US10733288B2 (en) * | 2013-04-23 | 2020-08-04 | Hewlett-Packard Development Company, L.P. | Verifying controller code and system boot code |
| US9542195B1 (en) * | 2013-07-29 | 2017-01-10 | Western Digital Technologies, Inc. | Motherboards and methods for BIOS failover using a first BIOS chip and a second BIOS chip |
| US9846617B2 (en) * | 2015-05-07 | 2017-12-19 | Dell Products, Lp | System and method for self-healing basic input/output system boot image and secure recovery |
| US10956575B2 (en) * | 2017-11-20 | 2021-03-23 | Hewlett Packard Enterprise Development Lp | Determine malware using firmware |
| US20200250313A1 (en) * | 2019-01-31 | 2020-08-06 | Quanta Computer Inc. | Bios recovery and update |
| CN109992316A (zh) * | 2019-04-10 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种双bios控制系统及其控制方法、装置、设备、介质 |
| CN110175478A (zh) * | 2019-05-30 | 2019-08-27 | 苏州浪潮智能科技有限公司 | 一种主板上电方法、系统及可编程器件 |
-
2019
- 2019-09-19 CN CN201910887279.2A patent/CN110795738B/zh active Active
-
2020
- 2020-09-03 EP EP20865718.9A patent/EP3971749B1/en active Active
- 2020-09-03 WO PCT/CN2020/113345 patent/WO2021052191A1/zh not_active Ceased
-
2021
- 2021-12-29 US US17/564,683 patent/US11886595B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105160255A (zh) * | 2015-08-06 | 2015-12-16 | 浪潮电子信息产业股份有限公司 | 一种可信度量装置及方法 |
| CN106484578A (zh) * | 2016-10-14 | 2017-03-08 | 苏州国芯科技有限公司 | 一种基于可信计算机硬件的校验系统 |
| US20190251266A1 (en) * | 2018-02-14 | 2019-08-15 | Microsoft Technology Licensing, Llc | Clearance of bare metal resource to trusted state usable in cloud computing |
| CN110197070A (zh) * | 2018-02-27 | 2019-09-03 | 其阳科技股份有限公司 | 具开机的可信验证与容错移转的计算机系统及方法 |
| CN109670319A (zh) * | 2018-12-25 | 2019-04-23 | 广东浪潮大数据研究有限公司 | 一种服务器flash安全管理方法及其系统 |
| CN110795738A (zh) * | 2019-09-19 | 2020-02-14 | 华为技术有限公司 | 一种计算机的启动方法和控制器、存储介质以及系统 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3971749A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3971749A4 (en) | 2022-09-14 |
| US11886595B2 (en) | 2024-01-30 |
| EP3971749B1 (en) | 2025-10-01 |
| CN110795738B (zh) | 2022-05-13 |
| EP3971749A1 (en) | 2022-03-23 |
| US20220121751A1 (en) | 2022-04-21 |
| CN110795738A (zh) | 2020-02-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021052191A1 (zh) | 一种计算机的启动方法和控制器、存储介质以及系统 | |
| US10754955B2 (en) | Authenticating a boot path update | |
| CN103718165B (zh) | Bios闪存攻击保护和通知 | |
| CN109583212B (zh) | 一种基于Intel Whitley平台的固件文件保护方法与系统 | |
| CN109542518A (zh) | 芯片和启动芯片的方法 | |
| CN111052118A (zh) | 硬件实施的固件安全 | |
| CN106325915A (zh) | 更新计算机固件的系统、方法与计算机可读取储存媒体 | |
| CN106127056A (zh) | 一种国产bmc芯片可信固件的设计方法 | |
| US12423432B2 (en) | Bootloaders | |
| CN101436234A (zh) | 一种确保操作环境安全的系统和方法 | |
| CN115935335B (zh) | 一种固件的启动方法、芯片及计算设备 | |
| CN105683910A (zh) | 用于更新只读系统映像内的系统级服务的系统和方法 | |
| CN113127896B (zh) | 基于独立加密芯片的数据处理方法及设备 | |
| TWI789142B (zh) | 控制器、計算機裝置、bios復原備份方法 | |
| CN111625295A (zh) | 一种嵌入式系统启动方法、装置、设备及存储介质 | |
| CN111694760A (zh) | 服务器系统、快闪存储器模块及更新固件映像文件的方法 | |
| CN111198832B (zh) | 一种处理方法和电子设备 | |
| US11861011B2 (en) | Secure boot process | |
| CN115729647A (zh) | 服务器启动管理系统及方法 | |
| CN110674494A (zh) | 进程的保护方法、系统及数据处理方法 | |
| CN112016090A (zh) | 安全计算卡,基于安全计算卡的度量方法及系统 | |
| CN115604315A (zh) | 服务器的远程处理装置及方法、电子设备 | |
| CN115543694A (zh) | Flash器件切换方法、装置、计算机设备和存储介质 | |
| WO2026066009A1 (zh) | Cpu的安全校验方法及计算设备 | |
| CN113626792B (zh) | PCIe Switch固件安全执行方法、装置、终端及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20865718 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020865718 Country of ref document: EP Effective date: 20211215 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWG | Wipo information: grant in national office |
Ref document number: 2020865718 Country of ref document: EP |