Operating system starting security verification method, device and system and related equipment

By executing the initial startup block code on the processor and verifying the integrity of the mirroring at each level of the operating system layer by layer, the problem of lack of effective verification mechanism during the startup of the traditional operating system is solved, and security verification during the startup of the operating system is realized, avoiding the emergence of security vulnerabilities.

CN119918063AActive Publication Date: 2025-05-02INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510081875.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-17
Publication Date
2025-05-02
Estimated Expiration
2045-01-17

AI Technical Summary

Technical Problem

The traditional operating system startup process lacks an effective mechanism to verify the integrity of firmware and software at all levels, which leads to the operating system being susceptible to malicious tampering and attacks during startup, resulting in security vulnerabilities.

Method used

By executing initial startup block code preset in the serial peripheral interface flash memory on the processor, reading and verifying the integrity of the basic input and output system (BIOS), boot loader (BOOTLOADER), and operating system kernel images layer by layer, and hash calculation and extension operations are used (TPM) to ensure the security verification of the mirrored data.

Benefits of technology

It effectively avoids security vulnerabilities during the startup process of the operating system, ensures the integrity and credibility of the firmware and software, and prevents malicious tampering and attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119918063A_ABST
    Figure CN119918063A_ABST
Patent Text Reader

Abstract

The invention provides an operating system security verification method, device and system and related equipment, and the method comprises the steps: executing an initial boot block code, and reading first mirror image data of a basic input / output system mirror image from a serial peripheral interface flash memory; performing first security verification on the first mirror image data, executing the basic input / output system mirror image under the condition that the first security verification result is passed, and reading second mirror image data of the boot loader mirror image; performing second security verification on the second mirror image data, executing the boot loader mirror image under the condition that the second security verification result is passed, and reading third mirror image data of the operating system kernel mirror image from the main storage device; and performing third security verification on the third mirroring data, and executing the operating system kernel mirroring under the condition that the third security verification result is that the third mirroring data passes the third security verification.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of operating system security verification, and in particular to an operating system security verification method, device, system and related equipment. Background Art

[0002] With the rapid development of information technology, the security and reliability of the operating system, as the core device for data processing and storage, have become particularly important. During operation, the operating system needs to load multiple levels of firmware and software, including the Basic Input / Output System (BIOS), the boot loader, and the operating system kernel. The integrity of these components is directly related to the security of the entire operating system.

[0003] However, the traditional operating system boot process lacks an effective mechanism to verify the integrity of firmware and software at all levels, which makes the operating system vulnerable to malicious tampering and attacks during the boot process, which in turn leads to security vulnerabilities in the operating system during the boot process. Summary of the invention

[0004] The present invention provides an operating system security verification method, device, system and related equipment, which can effectively verify the security of firmware and software during the operating system startup process to avoid security vulnerabilities in the operating system during the startup process.

[0005] In order to solve the above technical problems, the present disclosure provides an operating system security verification method, which is applied to a processor, and the method includes:

[0006] Executing an initial boot block code preset in a serial peripheral interface flash memory to read first image data of a basic input / output system image from the serial peripheral interface flash memory;

[0007] Performing a first security verification on the first mirror data to obtain a first security verification result;

[0008] In the case where the first security verification result is passed, executing the basic input and output system image to read the second image data of the boot loader image from the serial peripheral interface flash memory;

[0009] Performing a second security verification on the second mirror data to obtain a second security verification result;

[0010] If the second security verification result is passed, executing the boot loader image to read the third image data of the operating system kernel image from the main storage device;

[0011] Performing a third security verification on the third mirror data to obtain a third security verification result;

[0012] When the third security verification result is passed, the operating system kernel image is executed.

[0013] Optionally, performing a first security verification on the first mirror data to obtain a first security verification result includes:

[0014] Performing a hash calculation on the first image data to obtain a basic input / output system image measurement value of the basic input / output system image;

[0015] Performing an expansion operation on the basic input / output system image measurement value, and determining whether the basic input / output system image measurement value is consistent with a basic input / output system image reference value;

[0016] If the judgment result is yes, the first security verification result is passed.

[0017] Optionally, performing an expansion operation on the basic input / output system mirror measurement value includes:

[0018] Sending the basic input and output system image measurement value to a trusted platform module;

[0019] Send a platform configuration register extension instruction to a first platform configuration register of a trusted platform module, so that the trusted platform module performs an extension operation on the basic input and output system image measurement value based on a first initial hash value in the first platform register, and updates the first initial hash value using the basic input and output system image measurement value.

[0020] Optionally, performing a second security verification on the second mirror data to obtain a second security verification result includes:

[0021] Performing a hash calculation on the second image data to obtain a boot loader image measurement value of the boot loader image;

[0022] performing an expansion operation on the boot loader image measurement value, and determining whether the boot loader image measurement value is consistent with a boot loader image reference value;

[0023] If the judgment result is yes, then the second security verification result is passed.

[0024] Optionally, performing an expansion operation on the boot loader image measurement value includes:

[0025] sending the bootloader image measurement value to a trusted platform module;

[0026] Send a platform configuration register extension instruction to a second platform configuration register of the trusted platform module, so that the trusted platform module performs an extension operation on the boot loader image measurement value based on the second initial hash value in the second platform register, and updates the second initial hash value using the boot loader image measurement value.

[0027] Optionally, performing a third security verification on the third mirror data to obtain a third security verification result includes:

[0028] Performing hash calculation on the third image data to obtain an operating system kernel image measurement value of the operating system kernel image;

[0029] Performing an expansion operation on the operating system kernel image measurement value, and determining whether the operating system kernel image expansion value is consistent with the operating system kernel image reference value;

[0030] If the judgment result is yes, the third security verification result is passed.

[0031] Optionally, performing an expansion operation on the operating system kernel image measurement value includes:

[0032] Sending the operating system kernel image measurement value to a trusted platform module;

[0033] Send a platform configuration register extension instruction to the third platform configuration register of the trusted platform module, so that the trusted platform module performs an extension operation on the operating system kernel image measurement value based on the third initial hash value in the third platform register, and updates the third initial hash value using the operating system kernel image measurement value.

[0034] Optionally, when the first security result is not passed, or when the first security result is not passed, or when the third security result is passed, the method further includes:

[0035] The startup program is terminated, and a notification of a security verification failure is sent to the baseboard management controller, so that the baseboard management controller records a corresponding security event.

[0036] The present disclosure also provides an operating system security verification device, which is applied to a processor in an operating system, and the device includes:

[0037] A first execution unit, configured to execute an initial boot block code preset in a serial peripheral interface flash memory to read first image data of a basic input / output system image from the serial peripheral interface flash memory;

[0038] A first verification unit, configured to perform a first security verification on the first mirror data and obtain a first security verification result;

[0039] a second execution unit, configured to execute the basic input / output system image to read second image data of the boot loader image from the serial peripheral interface flash memory if the first security verification result is passed;

[0040] A second verification unit, configured to perform a second security verification on the second mirror data and obtain a second security verification result;

[0041] a third execution unit, configured to execute the boot loader image to read third image data of the operating system kernel image from the primary storage device if the second security verification result is passed;

[0042] A third verification unit, configured to perform a third security verification on the third mirror data and obtain a third security verification result;

[0043] The fourth execution unit is used to execute the operating system kernel image when the third security verification result is passed.

[0044] The present disclosure also provides an operating system security verification system, the system comprising a processor, a serial peripheral interface flash memory and a main storage device;

[0045] The processor is arranged on the operating system mainboard, and is used to execute the initial boot block code preset in the serial peripheral interface flash memory to read the first image data of the basic input and output system image from the serial peripheral interface flash memory; perform a first security verification on the first image data to obtain a first security verification result; if the first security verification result is passed, execute the basic input and output system image to read the second image data of the boot loader image from the serial peripheral interface flash memory; perform a second security verification on the second image data to obtain a second security verification result; if the second security verification result is passed, execute the boot loader image to read the third image data of the operating system kernel image from the main storage device; perform a third security verification on the third image data to obtain a third security verification result; if the second security verification result is passed, execute the operating system kernel image;

[0046] The serial peripheral interface flash memory is welded on the operating system mainboard and is communicatively connected with the processor, and is used to store the initial boot block code, the basic input and output system image and the boot loader image;

[0047] The primary storage device is communicatively connected to the processor and is used to store the operating system kernel image.

[0048] Optionally, the system further comprises a trusted platform module communicatively connected to the processor;

[0049] The trusted platform module includes a first platform configuration register, a second platform configuration register and a third platform configuration register; the first platform configuration register is used to store a first initial hash value required for a first security verification of the first mirror data, the second platform configuration register is used to store a second initial hash value required for a second security verification of the second mirror data, and the third platform configuration register is used to store a third initial hash value required for a third security verification of the third mirror data; the trusted platform module is also used to store a basic input and output system image reference value required for a first security verification of the first mirror data, a boot loader image reference value required for a second security verification of the second mirror data, and an operating system kernel image reference value required for a third security verification of the third mirror data.

[0050] Optionally, the system further comprises a baseboard management controller communicatively connected to the processor;

[0051] The baseboard management controller is used to receive the notification of the security verification result failure sent by the processor, and record the corresponding security event.

[0052] The present disclosure also provides an electronic device, comprising:

[0053] at least one processor; and

[0054] a memory communicatively connected to the at least one processor; wherein,

[0055] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the operating system security verification method provided by the present disclosure.

[0056] The present disclosure also provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable the computer to execute the operating system security verification method provided by the present disclosure.

[0057] The present disclosure provides an operating system security verification method, comprising: executing an initial boot block code preset in the serial peripheral interface flash memory to read first image data of a basic input / output system image from the serial peripheral interface flash memory; performing a first security verification on the first image data to obtain a first security verification result; if the first security verification result is passed, executing the basic input / output system image to read second image data of a boot loader image from the serial peripheral interface flash memory; performing a second security verification on the second image data to obtain a second security verification result; if the second security verification result is passed, executing the boot loader image to read third image data of an operating system kernel image from a main storage device; performing a third security verification on the third image data to obtain a third security verification result; if the third security verification result is passed, executing the operating system kernel image.

[0058] According to the scheme of the present disclosure, by executing the initial boot block code preset in the serial peripheral interface flash memory, the processor can perform a minimum initialization on the system carried by the operating system, and then read the first image data of the basic input and output system image from the serial peripheral interface flash memory, and execute the basic input and output system image when the first image data security verification passes, so as to read the second image data of the boot loader image from the serial peripheral interface flash memory, and execute the boot loader image when the second image data security verification passes, so as to read the third image data of the operating system kernel image from the main storage device, and execute the operating system kernel image when the third security verification result passes, so as to complete the startup of the operating system. In the above-mentioned operating system startup process, the scheme provided by the present disclosure performs a layer-by-layer progressive security verification on the firmware and software in the operating system startup process, and executes the corresponding image code only when the previous firmware or software security verification passes, so as to prevent the firmware or software of the operating system from being maliciously tampered with during the startup process, thereby avoiding security vulnerabilities in the operating system during the startup process.

[0059] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.

[0061] Figure 1 A flowchart of an operating system security verification method provided by an embodiment of the present disclosure;

[0062] Figure 2 A flowchart of another operating system security verification method provided by an embodiment of the present disclosure;

[0063] Figure 3 A flowchart of another operating system security verification method provided by an embodiment of the present disclosure;

[0064] Figure 4 A flowchart of another operating system security verification method provided by an embodiment of the present disclosure;

[0065] Figure 5 A flowchart of an operating system security verification method provided for an application example of the present disclosure;

[0066] Figure 6 A schematic diagram of the structure of an operating system security verification device provided by an embodiment of the present disclosure;

[0067] Figure 7 A schematic diagram of the structure of an operating system security verification system provided by an embodiment of the present disclosure;

[0068] Figure 8 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0069] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0070] With the rapid development of information technology, the security and reliability of the operating system, as the core device for data processing and storage, have become particularly important. During the startup process, the operating system needs to load multiple levels of firmware and software, including BIOS, BOOTLOADER, and the operating system kernel. The integrity of these components is directly related to the security of the entire system.

[0071] Trusted computing technology is an important means to ensure the security of the computing environment. By establishing a root of trust at the hardware level, it can fully monitor and protect the startup and operation process of the operating system. As an important part of trusted computing, the Trusted Platform Module (TPM) provides hardware-level security functions, including key management, data encryption, integrity measurement, etc., and is widely used in secure boot, remote authentication, data protection and other fields.

[0072] However, in the related technologies, the comprehensive solution based on hardware Root of Trust (such as TPM) is still imperfect, and there is still a lack of effective mechanism to verify the integrity of firmware and software at all levels during the operating system startup process. As a result, the operating system is vulnerable to malicious tampering and attacks during the startup process, which in turn leads to security vulnerabilities in the operating system during the startup process.

[0073] In order to solve the technical problems existing in the related art, the embodiments of the present disclosure provide an operating system security verification method, device, system, electronic device and storage medium.

[0074] Before describing the embodiments of the present disclosure in detail, the technical terms involved in the present disclosure are explained below.

[0075] TPM is a dedicated secure cryptographic processor that performs cryptographic operations and provides hardware-level security features. TPM is mainly used to generate, store, and restrict the use of cryptographic keys to ensure the security of the platform. It complies with the TPM 2.0 specification developed by the Trusted Computing Group (TCG) and provides a range of security features, such as key generation and management, data encryption and decryption, and platform integrity measurement.

[0076] The Platform Configuration Register (PCR) is a set of registers inside the TPM that are used to store measurements (such as hash values) of system components. Each PCR can store an initial hash value of a fixed length (usually 256 bits). The initial hash value of the PCR is updated through a PCRExtend operation to ensure that any changes to system components are reflected in the PCR value, thereby achieving continuous monitoring and verification of the system status.

[0077] Serial Peripheral Interface (SPI) Flash memory is a non-volatile memory that communicates with the Central Processing Unit (CPU) via SPI. It is usually used to store system firmware, such as BIOS image and BOOTLOADER image.

[0078] BOOTLOADER is a small program that is responsible for loading and initializing the operating system kernel when the system starts. It is located in the system's boot chain and is usually stored in SPI Flash or the main storage device (Solid State Drive, SSD for short).

[0079] SHA-256 (Secure Hash Algorithm 256-bit) is a widely used cryptographic hash function that can convert input data of any length into a fixed-length 256-bit (32-byte) hash value. SHA-256 is one-way, collision-resistant, and tamper-resistant, ensuring the integrity and uniqueness of the input data.

[0080] PCRExtend is an operation provided by TPM, which is used to hash and superimpose the new measurement value with the existing PCR initial value to update the initial value of PCR.

[0081] The Baseboard Management Controller (BMC) is an independent microcontroller integrated on the operating system motherboard, responsible for monitoring and managing the physical status of the operating system. BMC usually communicates with external management systems through the Intelligent Platform Management Interface (IPMI) to provide remote management and monitoring functions.

[0082] The embodiments of the present disclosure will be described in detail below.

[0083] like Figure 1 As shown, an embodiment of the present disclosure provides an operating system security verification method, which is executed by a processor in the operating system, such as a CPU, and the method includes the following steps:

[0084] Step 101, executing an initial boot block code preset in a serial peripheral interface flash memory to read first image data of a basic input / output system image from the serial peripheral interface flash memory;

[0085] In one embodiment, after the operating system is powered on, the CPU starts to execute the initial boot block (IBB) code preset in the SPI Flash. The IBB is a read-only factory firmware that is pre-fixed by the motherboard manufacturer. The CPU performs minimal initialization of the system state at this stage, so that the CPU is able to access the SPI Flash and perform basic communication with the TPM. Therefore, after power-on initialization, the CPU can read the image data of the BIOS image, that is, the first image data, from the SPI Flash.

[0086] Step 102, performing a first security verification on the first mirror data to obtain a first security verification result;

[0087] In one embodiment, a Root of Trust principle based on TMP can be used to perform a first security verification on the first image data to obtain a first security verification result; wherein, the first security verification result includes a first security verification result of passing, or a first security verification result of failing; a first security verification result of passing indicates that the current BIOS image has not been maliciously tampered with and its credibility is confirmed, and a first security verification result of failing indicates that the current BIOS image may have been maliciously tampered with and its credibility cannot be confirmed.

[0088] Step 103, when the first security verification result is passed, executing the basic input and output system image to read the second image data of the boot loader image from the serial peripheral interface flash memory;

[0089] In one embodiment, the first security verification result is passed, which means that the current BIOS image has not been maliciously tampered with and its credibility is confirmed; at this time, the CPU jumps to execute the BIOS code, so that the BIOS obtains primary control of the system hardware and initializes the memory, peripheral devices and interrupt vectors to ensure that the subsequent loading and verification of the BOOTLOADER image is performed in a controlled environment. After the BIOS is initialized, the CPU can read the image data of the BOOTLOADER image from the SPI Flash through the BIOS, that is, the second image data.

[0090] Step 104, performing a second security verification on the second mirror data to obtain a second security verification result;

[0091] In one embodiment, similar to the first security verification, a second security verification can be performed on the second image data based on the Root of Trust principle based on TMP to obtain a second security verification result; wherein, the second security verification result includes a second security verification result of passing, or a second security verification result of failing; a second security verification result of passing indicates that the current BOOTLOADER image has not been maliciously tampered with, and the credibility is confirmed, and a first security verification result of failing indicates that the current BOOTLOADER image may have been maliciously tampered with, and the credibility cannot be confirmed.

[0092] Step 105, when the second security verification result is passed, executing the boot loader image to read the third image data of the operating system kernel image from the main storage device;

[0093] In one embodiment, the second security verification result is passed, which means that the current BOOTLOADER image has not been maliciously tampered with and its credibility is confirmed; at this time, the CPU jumps to execute the BOOTLOADER code, and at this time, the TPM is already in a trusted state after two levels of verification (BIOS and BOOTLOADER have passed security verification). Then the CPU can read the image data of the operating system kernel image from the SSD through BOOTLOADER, that is, the third image data.

[0094] Step 106, performing a third security verification on the third mirror data to obtain a third security verification result;

[0095] In one embodiment, similar to the first security verification and the second security verification, a third security verification can be performed on the third image data based on the Root of Trust principle of TMP to obtain a third security verification result; wherein, the third security verification result includes a third security verification result of passing, or a third security verification result of failing; a third security verification result of passing indicates that the current operating system kernel image has not been maliciously tampered with and its credibility is confirmed, and a third security verification result of failing indicates that the current operating system kernel image may have been maliciously tampered with and its credibility cannot be confirmed.

[0096] Step 107: If the third security verification result is passed, execute the operating system kernel image.

[0097] In one embodiment, after successfully verifying the security of the operating system kernel image, the CPU executes the operating system kernel image code. At this point, the kernel boot of the operating system is launched on a complete and trusted basic chain, completing the boot process of the operating system without security vulnerabilities.

[0098] In one embodiment, after the operating system is started, the operating system kernel may also choose to continue to perform security verification steps similar to step 102, step 104, or step 106 on dynamically loaded kernel modules or key service components while the operating system is running, so as to further strengthen the trusted environment of the entire operating system, thereby forming an extended trusted operating environment.

[0099] The present disclosure provides an operating system security verification method, comprising: executing an initial boot block code preset in the serial peripheral interface flash memory to read first image data of a basic input / output system image from the serial peripheral interface flash memory; performing a first security verification on the first image data to obtain a first security verification result; if the first security verification result is passed, executing the basic input / output system image to read second image data of a boot loader image from the serial peripheral interface flash memory; performing a second security verification on the second image data to obtain a second security verification result; if the second security verification result is passed, executing the boot loader image to read third image data of an operating system kernel image from a main storage device; performing a third security verification on the third image data to obtain a third security verification result; if the third security verification result is passed, executing the operating system kernel image.

[0100] According to the scheme of the present disclosure, by executing the initial boot block code preset in the serial peripheral interface flash memory, the processor can perform a minimum initialization on the system carried by the operating system, and then read the first image data of the basic input and output system image from the serial peripheral interface flash memory, and execute the basic input and output system image when the first image data security verification passes, so as to read the second image data of the boot loader image from the serial peripheral interface flash memory, and execute the boot loader image when the second image data security verification passes, so as to read the third image data of the operating system kernel image from the main storage device, and execute the operating system kernel image when the third security verification result passes, so as to complete the startup of the operating system. In the above-mentioned operating system startup process, the scheme provided by the present disclosure performs hierarchical security verification on the firmware and software in the operating system startup process, and executes the corresponding image code only when the previous firmware or software security verification passes, so as to prevent the firmware or software of the operating system from being maliciously tampered with during the startup process, thereby avoiding security vulnerabilities in the operating system during the startup process.

[0101] In one embodiment, if Figure 2 As shown, the above step 102 includes:

[0102] Step 201, performing hash calculation on the first image data to obtain a basic input and output system image measurement value of the basic input and output system image;

[0103] In one embodiment, the hash calculation performed on the first image data may adopt SHA-256 hash calculation to obtain the basic input and output system image measurement value M_BIOS of the BIOS image.

[0104] Step 202, performing an expansion operation on the BIOS image measurement value, and determining whether the BIOS image expansion value is consistent with the BIOS image reference value;

[0105] Specifically, performing an expansion operation on the basic input / output system mirror measurement value includes:

[0106] Sending the basic input and output system image measurement value to a trusted platform module;

[0107] Send a platform configuration register extension instruction to a first platform configuration register of a trusted platform module, so that the trusted platform module performs an extension operation on the basic input and output system image measurement value based on a first initial hash value in the first platform register, and updates the first initial hash value using the basic input and output system image measurement value.

[0108] In one embodiment, the CPU and TMP are connected via SPI / LPC protocol communication. The CPU can send a PCRExtend instruction to TMP to enable TMP to complete the extension operation on M_BIOS and update M_BIOS to the first platform register of TMP, that is, use M_BIOS to update the first initial hash value.

[0109] In one embodiment, the basic input and output system image reference value RM_BIOS can be stored in the non-volatile NV storage of the TPM, and the CPU obtains RM_BIOS by reading the NV storage of the TPM; further, the CPU determines whether M_BIOS and RM_BIOS are completely consistent by comparing M_BIOS and RM_BIOS byte by byte.

[0110] Step 203: If the judgment result is yes, the first security verification result is passed.

[0111] In one embodiment, if the M_BIOS is completely consistent with the RM_BIOS, the first security verification result is passed, indicating that the BIOS image has not been maliciously tampered with; on the contrary, if the M_BIOS is not completely consistent with the RM_BIOS, the first security verification result is failed, indicating that the BIOS image may have been maliciously tampered with. In this case, the boot program should be terminated immediately to prevent the occurrence of a security incident in which the BIOS image is maliciously tampered with.

[0112] In the above embodiment, the CPU can accurately determine whether the BIOS image may be maliciously tampered with by verifying the security of the BIOS image through TMP. When the BIOS image may be maliciously tampered with, the startup program can be terminated immediately to further ensure the security of the operating system during the startup process.

[0113] In one embodiment, if Figure 3 As shown, step 104 includes:

[0114] Step 301, performing hash calculation on the second image data to obtain a boot loader image measurement value of the boot loader image;

[0115] In one embodiment, the hash calculation performed on the second image data may adopt SHA-256 hash calculation to obtain the basic input and output system image measurement value M_BOOTLOADER of the BOOTLOADER image.

[0116] Step 302, performing an expansion operation on the boot loader image measurement value, and determining whether the boot loader image measurement value is consistent with a boot loader image reference value;

[0117] The step of performing an expansion operation on the bootloader image measurement value comprises:

[0118] sending the bootloader image measurement value to a trusted platform module;

[0119] Send a platform configuration register extension instruction to a second platform configuration register of the trusted platform module, so that the trusted platform module performs an extension operation on the boot loader image measurement value based on the second initial hash value in the second platform register, and updates the second initial hash value using the boot loader image measurement value.

[0120] In one embodiment, the CPU and TMP are connected via an SPI / LPC protocol communication, and the CPU can send a PCRExtend instruction to TMP to enable TMP to complete the extension operation of M_BOOTLOADER and update M_BOOTLOADER to the second platform register of TMP, that is, use M_BOOTLOADER to update the second initial hash value.

[0121] In one embodiment, the boot loader image reference value RM_BOOTLOADER may be stored in the non-volatile NV storage of the TPM, and the CPU obtains RM_BOOTLOADER by reading the NV storage of the TPM; further, the CPU compares M_BOOTLOADER with RM_BOOTLOADER byte by byte to determine whether M_BOOTLOADER is completely consistent with RM_BOOTLOADER.

[0122] Step 303: If the judgment result is yes, the second security verification result is passed.

[0123] In one embodiment, if M_BOOTLOADER is completely consistent with RM_BOOTLOADER, the second security verification result is passed, and the BOOTLOADER image has not been maliciously tampered with; on the contrary, if M_BOOTLOADER is not completely consistent with RM_BOOTLOADER, the second security verification result is failed, indicating that the BOOTLOADER image may have been maliciously tampered with. At this time, the boot program should be terminated immediately to prevent the occurrence of a security incident in which the BOOTLOADER image is maliciously tampered with.

[0124] In the above embodiment, the CPU can accurately determine whether the BOOTLOADER image may be maliciously tampered with by using TMP to perform security verification on the BOOTLOADER image. If the BOOTLOADER image may be maliciously tampered with, the boot program can be terminated immediately to further ensure the security of the operating system during the boot process. The security verification of the BOOTLOADER image is performed on the premise that the BIOS image is security verified and the security verification result is passed. Therefore, according to the boot process of the operating system, the hierarchical security verification method can be used to further ensure the security of the operating system during the boot process.

[0125] In one embodiment, if Figure 4 As shown, step 106 includes:

[0126] Step 401, performing hash calculation on the third image data to obtain an operating system kernel image measurement value of the operating system kernel image;

[0127] In one embodiment, the hash calculation performed on the third image data may adopt SHA-256 hash calculation to obtain the operating system kernel image measurement value M_BKERNEL of the operating system kernel image.

[0128] Step 402, performing an expansion operation on the operating system kernel image measurement value, and determining whether the operating system kernel image expansion value is consistent with the operating system kernel image reference value;

[0129] The step of performing an expansion operation on the operating system kernel image measurement value includes:

[0130] Sending the operating system kernel image measurement value to a trusted platform module;

[0131] Send a platform configuration register extension instruction to the third platform configuration register of the trusted platform module, so that the trusted platform module performs an extension operation on the operating system kernel image measurement value based on the third initial hash value in the third platform register, and updates the third initial hash value using the operating system kernel image measurement value.

[0132] In one embodiment, the CPU and TMP are connected via an SPI / LPC protocol communication, and the CPU can send a PCRExtend instruction to TMP to enable TMP to complete the extension operation of M_KERNEL and update M_KERNEL to the third platform register of TMP, that is, use M_KERNEL to update the third initial hash value.

[0133] In one embodiment, the operating system kernel image reference value RM_KERNEL may be stored in the non-volatile NV storage of the TPM, and the CPU obtains RM_KERNEL by reading the NV storage of the TPM; further, the CPU compares M_KERNEL with RM_KERNEL byte by byte to determine whether M_KERNEL is completely consistent with RM_KERNEL.

[0134] Step 403: If the judgment result is yes, the third security verification result is passed.

[0135] In the above embodiment, the CPU can accurately determine whether the operating system kernel image may be maliciously tampered with by performing security verification on the operating system kernel image through TMP. When the operating system kernel image may be maliciously tampered with, the boot program can be immediately terminated to further ensure the security of the operating system during the boot process. The security verification of the operating system kernel image is performed on the premise that the security verification of the BIOS image and the BOOTLOADER image is passed, so the security of the operating system during the boot process can be further ensured by using a hierarchical security verification method according to the system boot process.

[0136] In one embodiment, when the first security result is not passed, or, when the first security result is not passed, or when the third security result is passed, the operating system security verification method provided by the present disclosure further includes:

[0137] The startup program is terminated, and a notification of a security verification failure is sent to the baseboard management controller, so that the baseboard management controller records a corresponding security event.

[0138] In one embodiment, the baseboard management controller (Baseboard Management Controller, referred to as BMC) is also called the baseboard management controller. The BMC is connected to the CPU through the I2C protocol communication. The CPU can send a fault prompt instruction to the BMC through the I2C bus, and the fault prompt instruction is used to prompt that the corresponding security verification result is not passed, so that the BMC records the corresponding security event. In addition, the BMC can also send a corresponding fault prompt to the administrator Administrator through the management network Mgmt Network, so that the Administrator can find the fault in time and handle it.

[0139] The operating system security verification method provided by the present disclosure will be further described below using a specific example. Figure 5 As shown, the operating system security verification method provided by the application embodiment of the present disclosure includes the following steps:

[0140] Step 501, power on the operating system;

[0141] Step 502, the CPU executes the IBB code preset in the SPI Flash;

[0142] Step 503, the CPU reads the first image data of the BIOS image, and performs SHA-256 hash calculation on the first image data to obtain M_BIOS;

[0143] Step 504, the CPU performs PCR Extend operation on the M_BIOS through TMP;

[0144] Step 505, the CPU reads RM_BIOS from the NV of the TMP, and determines whether RM_BIOS is consistent with M_BIOS;

[0145] If the judgment result is yes, then go to step 506;

[0146] If the judgment result is no, then go to step 507;

[0147] Step 506, the CPU executes the verified BIOS code and proceeds to step 508;

[0148] Step 507, stop the startup program and alert the BMC;

[0149] Step 508, the CPU reads the second image data of the BOOTLOADER image through the BIOS, and performs SHA-256 hash calculation on the second image data to obtain M_BOOTLOADER;

[0150] Step 509, the CPU performs PCR Extend operation on M_BOOTLOADER through TMP;

[0151] Step 510, the CPU reads RM_BOOTLOADER from the NV of TMP, and determines whether RM_BOOTLOADER is consistent with M_BOOTLOADER;

[0152] If the judgment result is yes, then go to step 511;

[0153] If the judgment result is no, then go to step 507;

[0154] Step 511, the CPU executes the BOOTLOADER code that has passed the verification, and proceeds to step 512;

[0155] Step 512, the CPU reads the third image data of the operating system kernel image from the SSD through the BOOTLOADER, and performs SHA-256 hash calculation on the third image data to obtain M_KERNEL;

[0156] Step 513, the CPU performs PCR Extend operation on M_KERNEL through TMP;

[0157] Step 514, the CPU reads RM_KERNEL from the NV of TMP, and determines whether RM_KERNEL is consistent with M_KERNEL;

[0158] If the judgment result is yes, then go to step 511;

[0159] If the judgment result is no, then go to step 507;

[0160] Step 515: The CPU executes the verified operating system kernel code.

[0161] In order to implement the operating system security verification method provided by the embodiment of the present disclosure, the embodiment of the present disclosure also provides an operating system security verification device, such as Figure 6 As shown, the operating system security verification device 600 includes:

[0162] The first execution unit 601 is used to execute the initial boot block code preset in the serial peripheral interface flash memory to read the first image data of the basic input and output system image from the serial peripheral interface flash memory;

[0163] A first verification unit 602, configured to perform a first security verification on the first mirror data and obtain a first security verification result;

[0164] A second execution unit 603 is used to execute the basic input and output system image to read the second image data of the boot loader image from the serial peripheral interface flash memory when the first security verification result is passed;

[0165] A second verification unit 604, configured to perform a second security verification on the second mirror data and obtain a second security verification result;

[0166] A third execution unit 605 is used to execute the boot loader image to read the third image data of the operating system kernel image from the main storage device when the second security verification result is passed;

[0167] A third verification unit 606, configured to perform a third security verification on the third mirror data and obtain a third security verification result;

[0168] The fourth execution unit 607 is used to execute the operating system kernel image when the third security verification result is passed.

[0169] In one embodiment, the first verification unit 602 is specifically configured to:

[0170] Performing a hash calculation on the first image data to obtain a basic input / output system image measurement value of the basic input / output system image;

[0171] Performing an expansion operation on the basic input / output system image measurement value, and determining whether the basic input / output system image measurement value is consistent with a basic input / output system image reference value;

[0172] If the judgment result is yes, the first security verification result is passed.

[0173] In one embodiment, the first verification unit 602 is further specifically configured to:

[0174] Sending the basic input and output system image measurement value to a trusted platform module;

[0175] Send a platform configuration register extension instruction to a first platform configuration register of a trusted platform module, so that the trusted platform module performs an extension operation on the basic input and output system image measurement value based on a first initial hash value in the first platform register, and updates the first initial hash value using the basic input and output system image measurement value.

[0176] In one embodiment, the second verification unit 604 is specifically configured to:

[0177] Performing a hash calculation on the second image data to obtain a boot loader image measurement value of the boot loader image;

[0178] performing an expansion operation on the boot loader image measurement value, and determining whether the boot loader image measurement value is consistent with a boot loader image reference value;

[0179] If the judgment result is yes, then the second security verification result is passed.

[0180] In one embodiment, the second verification unit 604 is further specifically configured to:

[0181] sending the bootloader image measurement value to a trusted platform module;

[0182] Send a platform configuration register extension instruction to a second platform configuration register of the trusted platform module, so that the trusted platform module performs an extension operation on the boot loader image measurement value based on the second initial hash value in the second platform register, and updates the second initial hash value using the boot loader image measurement value.

[0183] In one embodiment, the third verification unit 606 is specifically configured to:

[0184] Performing hash calculation on the third image data to obtain an operating system kernel image measurement value of the operating system kernel image;

[0185] Performing an expansion operation on the operating system kernel image measurement value, and determining whether the operating system kernel image expansion value is consistent with the operating system kernel image reference value;

[0186] If the judgment result is yes, the third security verification result is passed.

[0187] In one embodiment, the third verification unit 606 is further specifically configured to:

[0188] Sending the operating system kernel image measurement value to a trusted platform module;

[0189] Send a platform configuration register extension instruction to the third platform configuration register of the trusted platform module, so that the trusted platform module performs an extension operation on the operating system kernel image measurement value based on the third initial hash value in the third platform register, and updates the third initial hash value using the operating system kernel image measurement value.

[0190] In one embodiment, the operating system security verification device provided by the present disclosure further includes an alarm unit, which is used to:

[0191] When the first security result is not passed, or when the first security result is not passed, or when the third security result is passed, the method further includes:

[0192] The startup program is terminated, and a notification of a security verification failure is sent to the baseboard management controller, so that the baseboard management controller records a corresponding security event.

[0193] It should be noted that: the operating system security verification device provided in the above embodiment only uses the division of the above program modules as an example when performing operating system security verification. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the operating system security verification device is divided into different program modules to complete all or part of the processing described above. In addition, the operating system security verification device provided in the above embodiment and the operating system security verification method embodiment provided in the embodiment of the present disclosure belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0194] The present disclosure also provides an operating system security verification system. Figure 7 As shown, the operating system security verification system 700 includes:

[0195] Processor 701, SPI flash memory 702 and main storage device 703;

[0196] The processor 701 is arranged on the operating system mainboard, and is used to execute the initial boot block code preset in the serial peripheral interface flash memory 702 to read the first image data of the basic input and output system image from the serial peripheral interface flash memory 702; perform a first security verification on the first image data to obtain a first security verification result; if the first security verification result is passed, execute the basic input and output system image to read the second image data of the boot loader image from the serial peripheral interface flash memory 702; perform a second security verification on the second image data to obtain a second security verification result; if the second security verification result is passed, execute the boot loader image to read the third image data of the operating system kernel image from the main storage device 703; perform a third security verification on the third image data to obtain a third security verification result; if the second security verification result is passed, execute the operating system kernel image;

[0197] The serial peripheral interface flash memory 702 is soldered on the operating system mainboard and is in communication connection with the processor 701, and is used to store the initial boot block code, the basic input and output system image and the boot loader image;

[0198] The main storage device 703 is in communication with the processor 701 and is used to store the operating system kernel image.

[0199] Specifically, the processor 701 and the serial peripheral interface flash memory 702 can be connected to each other through the SPI communication protocol, and the processor 701 and the main storage device 703 can be connected to each other through the PCLe / SATA communication protocol.

[0200] In one embodiment, the operating system security verification system 700 further includes a trusted platform module 704 communicatively connected to the processor 701;

[0201] The trusted platform module 704 includes a first platform configuration register, a second platform configuration register and a third platform configuration register; the first platform configuration register is used to store a first initial hash value required for a first security verification of the first image data, the second platform configuration register is used to store a second initial hash value required for a second security verification of the second image data, and the third platform configuration register is used to store a third initial hash value required for a third security verification of the third image data; the trusted platform module 704 is also used to store a basic input and output system image reference value required for a first security verification of the first image data, a boot loader image reference value required for a second security verification of the second image data, and an operating system kernel image reference value required for a third security verification of the third image data.

[0202] Specifically, the processor 701 and the trusted platform module 704 may be communicatively connected via an SPI / LPC communication protocol.

[0203] In one embodiment, the operating system security verification system 700 further includes a baseboard management controller 705 that is communicatively connected to the processor 701;

[0204] The baseboard management controller 705 is used to receive the notification of security verification failure sent by the processor 701, and record the corresponding security event.

[0205] Specifically, the processor 701 and the baseboard management controller 705 can be connected to each other through the I2C communication protocol. The baseboard management controller 705 also sends a fault prompt to the administrator 706 through the management network Mgmt Network.

[0206] Figure 8 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present disclosure is shown in FIG. Figure 8 As shown, the electronic device 800 includes at least one processor 802; and a memory 801 communicatively connected to the at least one processor 802; wherein the memory 801 stores instructions executable by the at least one processor 802, and the instructions are executed by the at least one processor 802 to implement the steps of the operating system security verification method described in the embodiment of the present disclosure.

[0207] Optionally, the electronic device may specifically be an operating system security verification device of an embodiment of the present application, and the electronic device may implement the corresponding processes implemented by the operating system security verification device in each method of the embodiment of the present application, which will not be described in detail here for the sake of brevity.

[0208] It is understood that the electronic device also includes a communication interface 803. The various components in the electronic device are coupled together through a bus system 804. It is understood that the bus system 804 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 804 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Figure 8 Various buses are labeled as bus system 804 .

[0209] It can be understood that the memory 801 can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external high-speed cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM).

[0210] Random Access Memory), Synchronous Static Random Access Memory (SSRAM, Synchronous Static

[0211] The memory 801 described in the embodiment of the present invention is intended to include but is not limited to these and any other suitable types of memory.

[0212] The method disclosed in the above embodiment of the present disclosure can be applied to the processor 802, or implemented by the processor 802. The processor 802 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 802 or the instruction in the form of software. The above processor 802 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The processor 802 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present invention, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in the memory 801, and the processor 802 reads the information in the memory 801 and completes the steps of the above method in combination with its hardware.

[0213] In an exemplary embodiment, the electronic device may be implemented by one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), FPGAs, general purpose processors, controllers, MCUs, microprocessors, or other electronic components to execute the aforementioned method.

[0214] The embodiment of the present disclosure also provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable the computer to implement the steps of the operating system security verification method described in the embodiment of the present disclosure when executed.

[0215] The embodiment of the present disclosure also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the operating system security verification method described in the embodiment of the present disclosure.

[0216] Optionally, the computer-readable storage medium can be applied to the operating system security verification device in the embodiments of the present application, and the computer instructions enable the computer to execute the corresponding processes implemented by the operating system security verification device in the various methods of the embodiments of the present application. For the sake of brevity, they will not be repeated here.

[0217] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.

[0218] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0219] In addition, all functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0220] A person of ordinary skill in the art can understand that: all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium, which, when executed, executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROM, RAM, disks or optical disks.

[0221] Alternatively, if the above-mentioned integrated unit of the present invention is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present invention can be essentially or partly reflected in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROM, RAM, magnetic disks or optical disks.

[0222] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.

Claims

1. A method for verifying the security of an operating system, applied to a processor in an operating system, characterized in that: The method includes: Executing an initial boot block code preset in a serial peripheral interface flash memory to read first image data of a basic input / output system image from the serial peripheral interface flash memory; Performing a first security verification on the first mirror data to obtain a first security verification result; In the case where the first security verification result is passed, executing the basic input and output system image to read the second image data of the boot loader image from the serial peripheral interface flash memory; Performing a second security verification on the second mirror data to obtain a second security verification result; If the second security verification result is passed, executing the boot loader image to read the third image data of the operating system kernel image from the main storage device; Performing a third security verification on the third mirror data to obtain a third security verification result; When the third security verification result is passed, the operating system kernel image is executed.

2. The method according to claim 1, characterized in that The performing a first security verification on the first mirror data to obtain a first security verification result includes: Performing a hash calculation on the first image data to obtain a basic input / output system image measurement value of the basic input / output system image; Performing an expansion operation on the basic input / output system image measurement value, and determining whether the basic input / output system image measurement value is consistent with a basic input / output system image reference value; If the judgment result is yes, the first security verification result is passed.

3. The method according to claim 2, characterized in that The step of performing an expansion operation on the basic input / output system mirror measurement value comprises: Sending the basic input and output system image measurement value to a trusted platform module; Send a platform configuration register extension instruction to a first platform configuration register of a trusted platform module, so that the trusted platform module performs an extension operation on the basic input and output system image measurement value based on a first initial hash value in the first platform register, and updates the first initial hash value using the basic input and output system image measurement value.

4. The method according to claim 1, characterized in that: The performing a second security verification on the second mirror data to obtain a second security verification result includes: Performing a hash calculation on the second image data to obtain a boot loader image measurement value of the boot loader image; performing an expansion operation on the boot loader image measurement value, and determining whether the boot loader image measurement value is consistent with a boot loader image reference value; If the judgment result is yes, then the second security verification result is passed.

5. The method according to claim 4, characterized in that The performing an extended operation on the bootloader image measurement value comprises: sending the bootloader image measurement value to a trusted platform module; Send a platform configuration register extension instruction to a second platform configuration register of the trusted platform module, so that the trusted platform module performs an extension operation on the boot loader image measurement value based on the second initial hash value in the second platform register, and updates the second initial hash value using the boot loader image measurement value.

6. The method according to claim 1, characterized in that The performing a third security verification on the third mirror data to obtain a third security verification result includes: Performing hash calculation on the third image data to obtain an operating system kernel image measurement value of the operating system kernel image; Performing an expansion operation on the operating system kernel image measurement value, and determining whether the operating system kernel image expansion value is consistent with the operating system kernel image reference value; If the judgment result is yes, the third security verification result is passed.

7. The method according to claim 6, characterized in that The performing an expansion operation on the operating system kernel image measurement value includes: Sending the operating system kernel image measurement value to a trusted platform module; Send a platform configuration register extension instruction to the third platform configuration register of the trusted platform module, so that the trusted platform module performs an extension operation on the operating system kernel image measurement value based on the third initial hash value in the third platform register, and updates the third initial hash value using the operating system kernel image measurement value.

8. The method according to claim 1, characterized in that When the first security result is not passed, or when the first security result is not passed, or when the third security result is passed, the method further includes: The startup program is terminated, and a notification of a security verification failure is sent to the baseboard management controller, so that the baseboard management controller records a corresponding security event.

9. An operating system security verification device, applied to a processor in an operating system, characterized in that: The device comprises: A first execution unit, configured to execute an initial boot block code preset in a serial peripheral interface flash memory to read first image data of a basic input / output system image from the serial peripheral interface flash memory; A first verification unit, configured to perform a first security verification on the first mirror data and obtain a first security verification result; a second execution unit, configured to execute the basic input / output system image to read second image data of the boot loader image from the serial peripheral interface flash memory if the first security verification result is passed; A second verification unit, configured to perform a second security verification on the second mirror data and obtain a second security verification result; a third execution unit, configured to execute the boot loader image to read third image data of the operating system kernel image from the primary storage device if the second security verification result is passed; A third verification unit, configured to perform a third security verification on the third mirror data and obtain a third security verification result; The fourth execution unit is used to execute the operating system kernel image when the third security verification result is passed.

10. An operating system security verification system, characterized in that: The system includes a processor, a serial peripheral interface flash memory and a main storage device; The processor is arranged on the operating system mainboard and is used to execute the initial boot block code preset in the serial peripheral interface flash memory to read the first image data of the basic input and output system image from the serial peripheral interface flash memory; Performing a first security verification on the first mirror data to obtain a first security verification result; In the case where the first security verification result is passed, executing the basic input and output system image to read the second image data of the boot loader image from the serial peripheral interface flash memory; Performing a second security verification on the second mirror data to obtain a second security verification result; If the second security verification result is passed, executing the boot loader image to read the third image data of the operating system kernel image from the main storage device; Performing a third security verification on the third mirror data to obtain a third security verification result; If the second security verification result is passed, executing the operating system kernel image; The serial peripheral interface flash memory is welded on the operating system mainboard and is communicatively connected with the processor, and is used to store the initial boot block code, the basic input and output system image and the boot loader image; The primary storage device is communicatively connected to the processor and is used to store the operating system kernel image.

11. The system according to claim 10, characterized in that The system further comprises a trusted platform module communicatively connected to the processor; The trusted platform module includes a first platform configuration register, a second platform configuration register and a third platform configuration register; the first platform configuration register is used to store a first initial hash value required for a first security verification of the first mirror data, the second platform configuration register is used to store a second initial hash value required for a second security verification of the second mirror data, and the third platform configuration register is used to store a third initial hash value required for a third security verification of the third mirror data; The trusted platform module is also used to store a basic input and output system image reference value required for a first security verification of the first image data, a boot loader image reference value required for a second security verification of the second image data, and an operating system kernel image reference value required for a third security verification of the third image data.

12. The system according to claim 10, characterized in that The system also includes a baseboard management controller communicatively connected to the processor; The baseboard management controller is used to receive the notification of the security verification result failure sent by the processor, and record the corresponding security event.

13. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 8.

14. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • OS secure startup method and device

    CN103927490A

  • Computer system, trusted function component and operation method

    CN114692159A

  • Processing method and device for safe and credible startup of computer

    CN114692160A

  • Method and apparatus for adding main memory in computer systems operating with mirrored main memory

    US20040153723A1

  • Secure execution of software modules on a computer

    US20160070914A1