Method, device and equipment for safely starting updating of digital certificate

By automatically updating the secure startup digital certificate in the host using the basic input and output system and the new digital certificate of the shared memory access management controller, the cumbersome update of the update process in the existing technology is solved, and the security and management efficiency of the equipment are improved.

CN119740239APending Publication Date: 2025-04-01INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202412000455.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

In the prior art, the process of updating the secure startup digital certificate is cumbersome, which leads to difficulty in managing and maintaining the equipment, which may lead to inability to update the security certificate in time, leading to security incidents such as device intrusion and data leakage.

Method used

Determine whether there is a new digital certificate in the shared memory by using the basic input and output system to load the locally stored original digital certificate and access the management controller's shared memory through the bus link when the host triggers a secure boot operation. If present, the new digital certificate is read from the shared memory through the basic input and output system and the original digital certificate is updated based on the new digital certificate for a secure startup operation.

Benefits of technology

It realizes efficient updates of securely start digital certificates, reduces manual operations, improves equipment security, and prevents security issues caused by certificate expiration or revocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119740239A_ABST
    Figure CN119740239A_ABST
Patent Text Reader

Abstract

The invention provides a secure startup digital certificate updating method, device and equipment, relates to the technical field of system secure startup, is applied to a host, and comprises the following steps: when the host triggers a secure startup operation, loading a locally stored original digital certificate through a basic input / output system, and accessing a shared memory of a management controller through a bus link, determining whether the new digital certificate exists in the shared memory; the shared memory is a preset memory shared by the host and the management controller; if the new digital certificate exists in the shared memory, the new digital certificate is read from the shared memory through the basic input and output system, and the locally stored original digital certificate is updated based on the new digital certificate, so that the safe starting operation of the host is executed according to the updated digital certificate. Therefore, the shared memory preset in the management controller can be accessed through the basic input and output system, the new digital certificate can be read, and manual labor and tedious operation can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of system secure booting, and in particular to a secure booting digital certificate updating method, device and equipment. Background Art

[0002] In system secure boot, the computer system checks the digital signatures of the operating system and other software loaded at boot time during the boot process. Only those digitally signed software can be loaded and executed, thus preventing unauthorized software and malicious code from being loaded and run. This helps protect computer systems from attacks by malware, viruses and other security threats. Currently, the secure boot digital certificates of servers and other computers are stored in the device's NVRAM (Non-Volatile Random Access Memory) by default in the form of UEFI variables (UEFI, Unified Extensible Firmware Interface). If the certificate key is leaked, it is necessary to manually upgrade the BIOS (Basic Input Output System) firmware or update and replace the security certificate, which has a great impact on the batch management and maintenance of the device, and may even cause the device to be invaded due to the failure to update the security certificate in time, resulting in data leakage losses or other security incidents.

[0003] It can be seen that how to achieve efficient update of secure boot digital certificates is a problem that needs to be solved by those skilled in the art. Summary of the invention

[0004] The purpose of the embodiments of the present invention is to provide a method, device and equipment for updating a secure boot digital certificate, which can solve the problem of cumbersome updating of a secure boot digital certificate.

[0005] In order to solve the above technical problems, in a first aspect, an embodiment of the present invention provides a secure boot digital certificate update method, which is applied to a host and includes:

[0006] When the host triggers a secure boot operation, the locally stored original digital certificate is loaded through the basic input and output system, and the shared memory of the management controller is accessed through the bus link to determine whether a new digital certificate exists in the shared memory; the shared memory is a pre-set memory shared by the host and the management controller;

[0007] If there is a new digital certificate in the shared memory, the new digital certificate is read from the shared memory through the basic input and output system, and the locally stored original digital certificate is updated based on the new digital certificate, so as to perform a secure boot operation of the host according to the updated digital certificate.

[0008] Optionally, determine whether a new digital certificate exists in the shared memory, including:

[0009] Determine whether the first byte data of the shared memory matches a preset mark through the basic input and output system; the preset mark includes a plurality of marks corresponding to a plurality of digital certificates respectively;

[0010] If the first byte of data matches the preset flag, it is determined that there is a new digital certificate in the shared memory.

[0011] Optionally, the preset flags include a first flag corresponding to the new platform key digital certificate, a second flag corresponding to the new key exchange key digital certificate, a third flag corresponding to the new signature database digital certificate, and a fourth flag corresponding to the new revoked signature database digital certificate;

[0012] Correspondingly, the original digital certificates include the original platform key digital certificate, the original key exchange key digital certificate, the original signature database digital certificate, and the original revoked signature database digital certificate.

[0013] Optionally, a new digital certificate is read from a shared memory through a basic input / output system, and an original digital certificate stored locally is updated based on the new digital certificate, including:

[0014] Read the new platform key digital certificate from the shared memory through the basic input and output system;

[0015] Comparing the timestamps of the original platform key digital certificate and the new platform key digital certificate to obtain a comparison result;

[0016] If the comparison result indicates that the timestamp of the new platform key digital certificate is later than the timestamp of the original platform key digital certificate, the new platform key digital certificate is used to replace the locally stored original platform key digital certificate, so that the new platform key digital certificate is stored locally to obtain an updated digital certificate.

[0017] Optionally, a new digital certificate is read from a shared memory through a basic input / output system, and an original digital certificate stored locally is updated based on the new digital certificate, including:

[0018] Read the new key exchange key digital certificate from the shared memory via the basic input and output system;

[0019] Using the locally stored new platform key digital certificate, perform signature verification on the new key exchange key digital certificate to obtain a first verification result;

[0020] If the first verification result indicates that the verification is passed, the original key exchange key digital certificate stored locally is replaced with the new key exchange key digital certificate to store the new key exchange key digital certificate locally to obtain an updated digital certificate.

[0021] Optionally, a new digital certificate is read from a shared memory through a basic input / output system, and an original digital certificate stored locally is updated based on the new digital certificate, including:

[0022] Reading a new signature database digital certificate or a new revoked signature database digital certificate from the shared memory through the basic input and output system;

[0023] Using the locally stored new key exchange key digital certificate, perform signature verification on the new signature database digital certificate or the new revoked signature database digital certificate to obtain a second verification result;

[0024] If the second verification result indicates that the verification is passed, the new signature database digital certificate or the new revoked signature database digital certificate is used to replace the original signature database digital certificate or the original revoked signature database digital certificate stored locally, so that the new signature database digital certificate or the new revoked signature database digital certificate is stored locally to obtain an updated digital certificate.

[0025] Optionally, perform secure boot operations on the host based on the updated digital certificate, including:

[0026] Verify the system image of the host by using the locally stored new signature database digital certificate and the new revoked signature database digital certificate to obtain a corresponding system image verification result;

[0027] If the system image verification result indicates that the system image matches the new signature database digital certificate and does not match the new revoked signature database digital certificate, the system image is booted to perform a secure boot operation on the host.

[0028] Optionally, after comparing the timestamps of the original platform key digital certificate and the new platform key digital certificate and obtaining the comparison result, the following further includes:

[0029] If the comparison result indicates that the timestamp of the new platform key digital certificate is not later than the timestamp of the original platform key digital certificate, it is prohibited to replace the locally stored original platform key digital certificate with the new platform key digital certificate.

[0030] In a second aspect, the present application provides a secure boot digital certificate update device, which is applied to a host, comprising:

[0031] A shared memory access module, used for loading the locally stored original digital certificate through the basic input and output system when the host triggers a secure boot operation, and accessing the shared memory of the management controller through the bus link to determine whether there is a new digital certificate in the shared memory; the shared memory is a pre-set memory shared by the host and the management controller;

[0032] The digital certificate update module is used to read the new digital certificate from the shared memory through the basic input and output system when there is a new digital certificate in the shared memory, and update the original digital certificate stored locally based on the new digital certificate, so as to perform the host's secure boot operation according to the updated digital certificate.

[0033] In a third aspect, the present application provides an electronic device, including:

[0034] Memory for storing computer programs;

[0035] The processor is used to execute a computer program to implement the steps of the above-mentioned secure boot digital certificate update method.

[0036] It can be seen from the above technical solution that when the host in the present application triggers a secure boot operation, it can load the locally stored original digital certificate through the basic input and output system, and access the shared memory of the management controller through the bus link to determine whether there is a new digital certificate in the shared memory; the shared memory is a pre-set memory shared by the host and the management controller; if there is a new digital certificate in the shared memory, the new digital certificate is read from the shared memory through the basic input and output system, and the locally stored original digital certificate is updated based on the new digital certificate, so as to perform the secure boot operation of the host according to the updated digital certificate. In this way, the present application can access the pre-set shared memory in the management controller through the basic input and output system, and read the new digital certificate in the shared memory that indicates that the locally stored original digital certificate needs to be updated; in this way, the update process of the digital certificate can be efficiently implemented through automated tools, reducing manual labor and cumbersome operations, and improving the security of the host. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0038] Figure 1 A flow chart of a secure boot digital certificate update method disclosed in this application;

[0039] Figure 2A schematic diagram of a specific shared memory writing certificate data disclosed in this application;

[0040] Figure 3 A flowchart of a specific secure boot digital certificate update method disclosed in this application;

[0041] Figure 4 A schematic diagram of the connection relationship between a host and a baseboard management controller disclosed in this application;

[0042] Figure 5 A schematic diagram of the structure of a secure boot digital certificate update device disclosed in this application;

[0043] Figure 6 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION

[0044] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0045] The terms "including" and "having" in the specification of the present invention and the above-mentioned drawings, as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device including a series of steps or units is not limited to the listed steps or units, but may include steps or units that are not listed.

[0046] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0047] like Figure 1 As shown, the embodiment of the present application discloses a secure boot digital certificate update method, which is applied to a host and includes:

[0048] Step S11, when the host triggers a secure boot operation, the locally stored original digital certificate is loaded through the basic input and output system, and the shared memory of the management controller is accessed through the bus link to determine whether there is a new digital certificate in the shared memory; the shared memory is a pre-set memory shared by the host and the management controller.

[0049] In the embodiment of the present application, the host (server) generally has a baseboard management controller (Baseboard Management Controller, BMC) as a management subsystem. The baseboard management controller includes a VGA (Video Graphics Array, display device) controller and an H2B Device (a hardware interface). A shared memory area Share Memory is pre-configured in the baseboard management controller. Both the host and the baseboard management controller can store or read data in the shared memory. Furthermore, when the host is powered on, the processor and the motherboard chipset need to be initialized first. When it is started to the early stage of PEI (Pre-EFI Initialization Phase, which is a stage in the UEFI startup process), the host can perform early initialization on certain PCIe (Peripheral Component Interconnect express, a high-speed serial computer expansion bus standard) devices (such as BMC H2B Device), and can directly access the MMIO (‌Memory-Mapped, memory mapping) area mapped by the PCIe device by allocating resource space. Specifically, the original digital certificate in the flash memory is loaded through BIOS startup, and the shared memory of the baseboard management controller can be accessed through the PCIe link to determine whether a new digital certificate that needs to be updated is written into the shared memory.

[0050] In a specific embodiment, determining whether there is a new digital certificate in the shared memory may include: judging whether the first byte data of the shared memory matches a preset flag through the basic input and output system; the preset flag includes several flags corresponding to several types of digital certificates; if the first byte data matches the preset flag, it is determined that there is a new digital certificate in the shared memory. Specifically, the first byte data in the shared memory can be set to indicate whether there is a new digital certificate that needs to be updated; the host can judge whether the first byte data in the shared memory matches several preset flags through the basic input and output system to determine whether there is a new digital certificate that needs to be updated in the shared memory; it is understandable that different digital certificates can correspond to different flags.

[0051] Further, in a specific embodiment, the preset flag includes a first flag corresponding to the new platform key digital certificate, a second flag corresponding to the new key exchange key digital certificate, a third flag corresponding to the new signature database digital certificate, and a fourth flag corresponding to the new revoked signature database digital certificate; accordingly, the original digital certificate includes the original platform key digital certificate, the original key exchange key digital certificate, the original signature database digital certificate, and the original revoked signature database digital certificate. It can be understood that the present application is to update the certificates involved in the host secure boot process, specifically including the platform key digital certificate (Platform Key, PK), the key exchange key digital certificate (Key Exchange Key, KEK), the signature database digital certificate (Signature Database, DB) and the revoked signature database digital certificate (Forbidden Signatures Database, DBX); therefore, it is necessary to pre-set several flags corresponding to these certificates. In addition, the digital certificate related to the secure boot stored locally on the host is the original digital certificate, and the new digital certificate that needs to be updated is written into the shared memory.

[0052] Step S12: If there is a new digital certificate in the shared memory, the new digital certificate is read from the shared memory through the basic input and output system, and the locally stored original digital certificate is updated based on the new digital certificate, so as to perform a secure boot operation of the host according to the updated digital certificate.

[0053] In an embodiment of the present application, if it is determined that there is a new digital certificate in the shared memory that needs to be updated, the new digital certificate can be read from the shared memory through the basic input and output system; by comparing the locally stored original digital certificate with the read new digital certificate, it can be determined whether the locally stored original digital certificate needs to be replaced and updated with the new digital certificate; then the host's secure boot operation can be executed based on the updated digital certificate.

[0054] In a specific embodiment, reading a new digital certificate from a shared memory through a basic input / output system and updating a locally stored original digital certificate based on the new digital certificate may include: reading a new platform key digital certificate from a shared memory through a basic input / output system; comparing the timestamps of the original platform key digital certificate and the new platform key digital certificate to obtain a comparison result; if the comparison result indicates that the timestamp of the new platform key digital certificate is later than the timestamp of the original platform key digital certificate, replacing the locally stored original platform key digital certificate with the new platform key digital certificate, so as to store the new platform key digital certificate locally and obtain an updated digital certificate. Specifically, during the host startup process, the new digital certificate that needs to be updated and written into the shared memory should first be the new platform key digital certificate, that is, the host can read the new platform key digital certificate in the shared memory into the memory, and compare the timestamp with the original platform key digital certificate stored in the local flash memory chip; if the timestamp of the new platform key digital certificate is later than the timestamp of the original platform key digital certificate, that is, the version of the new platform key digital certificate in the shared memory is later than the version of the original platform key digital certificate, this update is an upgrade of the original platform key digital certificate; in this case, the new platform key digital certificate can be saved locally, and the original platform key digital certificate can be replaced to achieve the update of the digital certificate. For example, the BMC writes data 0x01 in the header of the Shared Memory area and appends the PK certificate data thereafter; this means that the PK certificate needs to be updated; otherwise 0x0 is written to the header of the area. Figure 2 To add certificate data and corresponding header flags in shared memory. The host can directly read the SDRAM (Synchronous Dynamic RandomAccess Memory) area in the UEFI firmware code. If 0x01 is read, the security certificate PK is obtained from the Shared Memory area and loaded into the system as the basis of the entire trusted chain. At the same time, the data 0x02 is written to the header of the Shared Memory area (indicating that PK has been loaded). Otherwise, 0x0 is written to the area header, and the UEFI firmware directly reads the built-in original PK certificate for security verification and secure boot.

[0055] In a specific embodiment, reading a new digital certificate from a shared memory through a basic input / output system, and updating the locally stored original digital certificate based on the new digital certificate, may include: reading a new key exchange key digital certificate from a shared memory through a basic input / output system; using a locally stored new platform key digital certificate to perform a signature verification on the new key exchange key digital certificate to obtain a first verification result; if the first verification result indicates that the verification is passed, then using the new key exchange key digital certificate to replace the locally stored original key exchange key digital certificate, so as to store the new key exchange key digital certificate locally, and obtain an updated digital certificate. Specifically, when the new digital certificate in the shared memory is a new key exchange key digital certificate that needs to be updated for secure booting, the host can read the new key exchange key digital certificate from the shared memory through the basic input / output system; thereafter, the locally stored platform key digital certificate needs to be used to perform a signature verification on the new key exchange key digital certificate; the local updated new platform key digital certificate is used for the signature verification of the new key exchange key digital certificate. If the signature verification is passed, it indicates that the new key exchange key digital certificate in the shared memory is issued by the new platform key digital certificate and is credible. In this case, the new key exchange key digital certificate can be saved locally, and the original key exchange key digital certificate can be replaced with the new key exchange key digital certificate to update the digital certificate. For example, the BMC can read the header data of the ShareMemory area. If the data is 0x02, the KEK certificate data is appended to it, and the header data is updated to 0x03. It means that the KEK certificate needs to be updated; otherwise, write 0. The host directly reads the SDRAM area in the BIOS code. If 0x03 is read, the security certificate KEK is obtained from the Share Memory area and loaded into the system as the basis of the entire trusted chain. At the same time, the data 0x04 (KEK has been loaded) is written to the header of the Share Memory area.

[0056] In a specific embodiment, reading a new digital certificate from a shared memory through a basic input / output system and updating a locally stored original digital certificate based on the new digital certificate may include: reading a new signature database digital certificate or a new revoked signature database digital certificate from a shared memory through a basic input / output system; performing signature verification on the new signature database digital certificate or the new revoked signature database digital certificate using a locally stored new key exchange key digital certificate to obtain a second verification result; if the second verification result indicates that the verification is passed, replacing the locally stored original signature database digital certificate or the original revoked signature database digital certificate using the new signature database digital certificate or the new revoked signature database digital certificate to store the new signature database digital certificate or the new revoked signature database digital certificate locally to obtain an updated digital certificate. Specifically, when the new signature database digital certificate or the new revoked signature database digital certificate related to secure boot is written into the shared memory, the host can read the related digital certificate from the shared memory through the basic input and output system; then the new signature database digital certificate or the new revoked signature database digital certificate is signed and verified using the locally stored updated key exchange key digital certificate; further, if the verification result indicates that the new signature database digital certificate or the new revoked signature database digital certificate has passed the verification, it indicates that the new signature database digital certificate or the new revoked signature database digital certificate is issued by the new key exchange key digital certificate and is credible. Then the new signature database digital certificate or the new revoked signature database digital certificate is saved locally, and the original signature database digital certificate or the original revoked signature database digital certificate is replaced to update the digital certificate. For example, the BMC can read the header data of the Shared Memory area. If the data is 0x04, the DBX certificate data is appended thereto, and the header data is updated and written to 0x05. Indicates that the DBX certificate needs to be updated; if you need to continue to add KEK certificates, continue to attach new KEK certificate data and update the header data to 0x03. Otherwise, write 0. The host directly reads the SDRAM area in the BIOS code. If 0x05 is read, the security certificate DBX is obtained from the Shared Memory area and loaded into the system as the basis of the entire trusted chain. At the same time, the data 0x06 (DBX has been loaded) is written to the header of the Shared Memory area. Further, the BMC can read the header data of the Shared Memory area. If the data is 0x06, and DB certificate data is attached to it, and the header data is updated to 0x07, it means that the DB certificate needs to be updated. If you need to continue to add DBX certificates, continue to attach new DBX certificate data and update the header data to 0x05. Otherwise, write 0.Correspondingly, the host directly reads the SDRAM area in the BIOS code. If 0x07 is read, the security certificate DB is obtained from the Shared Memory area and loaded into the system as the basis of the entire trusted chain. At the same time, the data 0x08 (DB has been loaded) is written to the header of the Shared Memory area.

[0057] In a specific embodiment, executing a secure boot operation of the host according to the updated digital certificate may include: verifying the system image of the host using the locally stored new signature database digital certificate and the new revoked signature database digital certificate to obtain a corresponding system image verification result; if the system image verification result indicates that the system image matches the new signature database digital certificate and does not match the new revoked signature database digital certificate, then guiding the system image to execute the secure boot operation of the host. Specifically, after the locally stored original digital certificate is updated based on the new digital certificate in the shared memory, the locally stored updated new signature database digital certificate and the new revoked signature database digital certificate may be used to verify the system image related to the host boot, where the new signature database digital certificate and the new revoked signature database digital certificate may be understood as a whitelist and a blacklist, and if the system image related to the secure boot exists in the whitelist but not in the blacklist, it indicates that the system image is credible and the system image may be guided to perform a secure boot on the host. For example, after the host updates the local digital certificate through shared memory, the BIOS can continue to boot and use the updated DBX and DB to verify the system OS (Operating System) to boot the image and kernel. If the image signature is not in the DBX list but in the DB list, the verification is successful and the OS is started normally. If the verification fails, it means that the OS image is already in an unsafe state and security measures need to be taken.

[0058] In another specific embodiment, after comparing the timestamps of the original platform key digital certificate and the new platform key digital certificate and obtaining the comparison result, it may also include: if the comparison result indicates that the timestamp of the new platform key digital certificate is not later than the timestamp of the original platform key digital certificate, then it is prohibited to use the new platform key digital certificate to replace the locally stored original platform key digital certificate. Specifically, when comparing the timestamp of the new platform key digital certificate read from the shared memory with the timestamp of the locally stored original platform key digital certificate, if the timestamp of the original platform key digital certificate is later than the timestamp of the new platform key digital certificate, it means that the new platform key digital certificate is an earlier version, and the locally stored original platform key digital certificate is the newer version. At this time, the digital certificate update operation is unsafe. In order to avoid the risk of certificate rollback attack, it is prohibited to use the new platform key digital certificate with an earlier version to replace the locally stored newer original platform key digital certificate, and retain the original platform key digital certificate.

[0059] It can be seen that the present application can access the shared memory pre-set in the management controller through the basic input and output system, and read the new digital certificate in the shared memory that represents the need to update the original digital certificate stored locally; in this way, the digital certificate update process can be efficiently implemented through automated tools, reducing manual labor and tedious operations, ensuring the security of the system, and preventing security issues caused by certificate expiration or revocation.

[0060] like Figure 3 As shown, the embodiment of the present application discloses a secure boot digital certificate update method, in which the host and the baseboard management controller implement the update of the digital certificate through a shared memory, specifically including:

[0061] It is understandable that by default, the server stores the secure boot digital certificate in the bios flash chip. During the boot process, the BIOS firmware will load the PK certificate in the flash chip for signature verification, then use the PK certificate to verify the KEK, verify the DB and DBX through the KEK, and then use the DBX and DB certificates to verify the boot image.

[0062] Specifically, Figure 4The connection relationship between the host and the baseboard management controller is shown in Figure 1. When the BIOS of the host 1 starts to load the original PK certificate in the flash, the host accesses the shared memory space of the BMC H2Bdevice of the PCIe architecture part 3 of the BMC module through the PCIe link 2. If the original PK certificate needs to be updated, the new PK certificate data is written to the shared memory space of the BMC H2B device through the BMC system, and the first byte data of the shared space is marked as 0x01, indicating that the PK certificate data has been updated. At this time, the BIOS code reads the 0x01 state, reads the PK certificate data of the shared space into the memory, and compares it with the timestamp of the original PK certificate stored in the flash chip. If the certificate time in the shared space is updated, the certificate with the updated timestamp is used (to prevent certificate rollback attacks), and the Header flag is set to 0x02. The BMC detects that the flag is set to 0x02, indicating that the PK certificate has been synchronized, and starts to update the KEK certificate data to the same position in the shared space, and sets the Header flag to 0x03. At this time, the BIOS code reads the 0x03 status, reads the KEK certificate data of the shared space into the memory, and uses the updated PK certificate to verify the KEK certificate. If the verification passes, it proves that the new KEK certificate is issued by the new PK certificate and is credible, and the Header flag is set to 0x04. BMC detects that the flag is set to 0x04, indicating that the KEK certificate has been synchronized, and starts to update the DBX certificate data to the same position in the shared space, and sets the Header flag to 0x05. If there are other KEK certificates that need to be imported, continue to update the KEK certificate data to the same position in the shared space, and the Header flag can be set to 0x03. If the BIOS reads the 0x03 flag, it continues to use the new PK certificate to verify the signature of the other KEK. After verification, the flag is set to 0x04. If the 0x05 flag is read, the new KEK certificate is used to verify the signature of DBX. After verification, the flag is set to 0x06. BMC detects that the flag is set to 0x06, indicating that the DBX certificate has been synchronized, and starts to update the DB certificate data to the same location in the shared space, and sets the Header flag to 0x07. If there are other DBX certificates that need to be imported, continue to update the DBX certificate data to the same location in the shared space, and set the Header flag to 0x05. If the BIOS reads the 0x05 flag, it continues to use the new KEK certificate to verify the signature of the other DBX. After the verification is passed, the flag is set to 0x06. If the 0x07 flag is read, the new KEK certificate is used to verify the signature of the DB. After the verification is passed, the flag is set to 0x08. After completing the DBX and DB certificate updates, the BIOS boots the OS image stage, and uses the updated DBX and DB certificates to perform a security check on the OS boot image. If it passes, it means that the OS is secure and trustworthy.If it fails, it means that the OS has been listed as an untrusted OS image by the updated certificate, thus achieving the purpose of blocking newly added unsafe OS images. It should be pointed out that after the security certificate is updated, the new certificate is updated to the original certificate storage area of ​​the flash. If the certificate is updated at the next startup, it is no longer necessary to update it again from the BMC's H2B device shared memory area.

[0063] It can be seen that the present application can access the pre-set shared memory in the management controller through the basic input and output system, and read the new digital certificate in the shared memory that represents the need to update the original digital certificate stored locally; and by setting a flag in the shared memory to confirm the data type and update status that need to be interacted, the relevant digital certificates can be updated in time; after the host reads the digital certificate that needs to be updated from the shared memory, it can further verify the read certificate, and perform signature verification through timestamp comparison or previously updated certificates, which can improve the data security of the certificate update process. In this way, the update process of the digital certificate can be efficiently implemented through automated tools, reducing manual labor and cumbersome operations, and can improve the security of the host.

[0064] like Figure 5 As shown, the embodiment of the present application discloses a secure boot digital certificate update device, which is applied to a host and includes:

[0065] A shared memory access module 11 is used to load the locally stored original digital certificate through the basic input and output system when the host triggers a secure boot operation, and access the shared memory of the management controller through the bus link to determine whether there is a new digital certificate in the shared memory; the shared memory is a pre-set memory shared by the host and the management controller;

[0066] The digital certificate update module 12 is used to read the new digital certificate from the shared memory through the basic input and output system when there is a new digital certificate in the shared memory, and update the original digital certificate stored locally based on the new digital certificate, so as to perform a secure boot operation of the host according to the updated digital certificate.

[0067] It can be seen that the present application can access the shared memory pre-set in the management controller through the basic input and output system, and read the new digital certificate in the shared memory that represents the need to update the original digital certificate stored locally; in this way, the digital certificate update process can be efficiently implemented through automated tools, reducing manual labor and tedious operations, and can improve the security of the host.

[0068] In a specific embodiment, the shared memory access module 11 may include:

[0069] A judgment unit, used for judging whether the first byte data of the shared memory matches a preset mark through a basic input and output system; the preset mark includes a plurality of marks corresponding to a plurality of digital certificates respectively;

[0070] The determination unit is used for determining that a new digital certificate exists in the shared memory when the first byte data matches a preset mark.

[0071] In a specific embodiment, the digital certificate updating module 12 may include:

[0072] A first certificate reading unit, used for reading a new platform key digital certificate from a shared memory through a basic input and output system;

[0073] A timestamp comparison unit, used for comparing the timestamps of the original platform key digital certificate and the new platform key digital certificate to obtain a comparison result;

[0074] The first certificate updating unit is used to replace the locally stored original platform key digital certificate with the new platform key digital certificate when the comparison result indicates that the timestamp of the new platform key digital certificate is later than the timestamp of the original platform key digital certificate, so as to store the new platform key digital certificate locally and obtain an updated digital certificate.

[0075] In a specific embodiment, the digital certificate updating module 12 may include:

[0076] A second certificate reading unit, used for reading a new key exchange key digital certificate from a shared memory through a basic input and output system;

[0077] A first signature verification unit, configured to perform signature verification on the new key exchange key digital certificate using the locally stored new platform key digital certificate to obtain a first verification result;

[0078] The second certificate updating unit is used to replace the original key exchange key digital certificate stored locally with the new key exchange key digital certificate when the first verification result indicates that the verification is passed, so as to store the new key exchange key digital certificate locally and obtain an updated digital certificate.

[0079] In a specific embodiment, the digital certificate updating module 12 may include:

[0080] A third certificate reading unit is used to read a new signature database digital certificate or a new revoked signature database digital certificate from the shared memory through a basic input and output system;

[0081] A second signature verification unit is used to perform signature verification on the new signature database digital certificate or the new revoked signature database digital certificate using the locally stored new key exchange key digital certificate to obtain a second verification result;

[0082] The third certificate updating unit is used to replace the original signature database digital certificate or the original revoked signature database digital certificate stored locally with the new signature database digital certificate or the new revoked signature database digital certificate when the second verification result indicates that the verification is passed, so as to store the new signature database digital certificate or the new revoked signature database digital certificate locally to obtain an updated digital certificate.

[0083] In a specific embodiment, the digital certificate updating module 12 may include:

[0084] The system verification unit is used to verify the system image of the host by using the locally stored new signature database digital certificate and the new revoked signature database digital certificate to obtain a corresponding system image verification result;

[0085] The secure boot unit is used to guide the system image to perform a secure boot operation of the host if the system image verification result indicates that the system image matches the new signature database digital certificate and does not match the new revoked signature database digital certificate.

[0086] In a specific embodiment, the device of the present application may further include:

[0087] The replacement prohibition module is used to prohibit the use of the new platform key digital certificate to replace the original platform key digital certificate stored locally when the comparison result indicates that the timestamp of the new platform key digital certificate is not later than the timestamp of the original platform key digital certificate.

[0088] Furthermore, the present application also discloses an electronic device. Figure 6 It is a structural diagram of an electronic device according to an exemplary embodiment, and the content in the figure cannot be regarded as any limitation on the scope of use of this application. The electronic device may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. Among them, the memory 22 is used to store a computer program, and the computer program is loaded and executed by the processor 21 to implement the relevant steps in the secure boot digital certificate update method disclosed in any of the aforementioned embodiments. In addition, the electronic device in this embodiment may specifically be an electronic computer.

[0089] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device; the communication interface 24 can create a data transmission channel between the electronic device and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0090] In addition, the memory 22, as a carrier for storing resources, can be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon can include an operating system 221, a computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0091] The operating system 221 is used to manage and control various hardware devices on the electronic device and the computer program 222, which can be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program that can be used to complete the secure boot digital certificate update method performed by the electronic device disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks.

[0092] Furthermore, the present application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the secure boot digital certificate update method disclosed above is implemented. The specific steps of the method can refer to the corresponding contents disclosed in the above embodiments, and will not be repeated here.

[0093] In addition, the present application also discloses a computer program product, including a computer program / instruction, which implements the steps of the aforementioned secure boot digital certificate update method when executed by a processor.

[0094] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0095] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0096] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0097] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0098] The technical solution provided by the present application is introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for general technicians in this field, according to the idea of ​​the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A secure boot digital certificate update method, characterized in that: Applied to the host, including: When the host triggers a secure boot operation, the locally stored original digital certificate is loaded through the basic input and output system, and the shared memory of the management controller is accessed through the bus link to determine whether there is a new digital certificate in the shared memory; the shared memory is a pre-set memory shared by the host and the management controller; If the new digital certificate exists in the shared memory, the new digital certificate is read from the shared memory through the basic input and output system, and the locally stored original digital certificate is updated based on the new digital certificate, so as to perform the secure boot operation of the host according to the updated digital certificate.

2. The secure boot digital certificate updating method according to claim 1, characterized in that: The determining whether there is a new digital certificate in the shared memory comprises: Determining whether the first byte data of the shared memory matches a preset mark through the basic input and output system; the preset mark includes a plurality of marks corresponding to a plurality of digital certificates respectively; If the first byte data matches the preset flag, it is determined that there is a new digital certificate in the shared memory.

3. The secure boot digital certificate updating method according to claim 2, characterized in that: The preset flags include a first flag corresponding to the new platform key digital certificate, a second flag corresponding to the new key exchange key digital certificate, a third flag corresponding to the new signature database digital certificate, and a fourth flag corresponding to the new revoked signature database digital certificate; Correspondingly, the original digital certificate includes the original platform key digital certificate, the original key exchange key digital certificate, the original signature database digital certificate and the original revoked signature database digital certificate.

4. The secure boot digital certificate updating method according to claim 3, characterized in that: The step of reading the new digital certificate from the shared memory through the basic input and output system and updating the locally stored original digital certificate based on the new digital certificate comprises: Reading a new platform key digital certificate from the shared memory through the basic input and output system; Comparing the timestamps of the original platform key digital certificate and the new platform key digital certificate to obtain a comparison result; If the comparison result indicates that the timestamp of the new platform key digital certificate is later than the timestamp of the original platform key digital certificate, the original platform key digital certificate stored locally is replaced with the new platform key digital certificate to store the new platform key digital certificate locally and obtain an updated digital certificate.

5. The secure boot digital certificate updating method according to claim 4, characterized in that: The step of reading the new digital certificate from the shared memory through the basic input and output system and updating the locally stored original digital certificate based on the new digital certificate comprises: Reading a new key exchange key digital certificate from the shared memory via the basic input and output system; Using the locally stored new platform key digital certificate, perform signature verification on the new key exchange key digital certificate to obtain a first verification result; If the first verification result indicates that the verification is passed, the original key exchange key digital certificate stored locally is replaced with the new key exchange key digital certificate, so that the new key exchange key digital certificate is stored locally to obtain an updated digital certificate.

6. The secure boot digital certificate updating method according to claim 5, characterized in that: The step of reading the new digital certificate from the shared memory through the basic input and output system and updating the locally stored original digital certificate based on the new digital certificate comprises: Reading a new signature database digital certificate or a new revoked signature database digital certificate from the shared memory through the basic input and output system; Using the locally stored new key exchange key digital certificate, perform signature verification on the new signature database digital certificate or the new revoked signature database digital certificate to obtain a second verification result; If the second verification result indicates that the verification is passed, the new signature database digital certificate or the new revoked signature database digital certificate is used to replace the original signature database digital certificate or the original revoked signature database digital certificate stored locally, so that the new signature database digital certificate or the new revoked signature database digital certificate is stored locally to obtain an updated digital certificate.

7. The secure boot digital certificate updating method according to claim 6, characterized in that: The performing a secure boot operation of the host according to the updated digital certificate comprises: Verifying the system image of the host by using the locally stored new signature database digital certificate and the new revoked signature database digital certificate to obtain a corresponding system image verification result; If the system image verification result indicates that the system image matches the new signature database digital certificate and does not match the new revoked signature database digital certificate, the system image is guided to perform a secure boot operation of the host.

8. The secure boot digital certificate updating method according to any one of claims 4 to 7, characterized in that: After comparing the timestamps of the original platform key digital certificate and the new platform key digital certificate to obtain a comparison result, the method further includes: If the comparison result indicates that the timestamp of the new platform key digital certificate is not later than the timestamp of the original platform key digital certificate, then it is prohibited to use the new platform key digital certificate to replace the locally stored original platform key digital certificate.

9. A secure boot digital certificate update device, characterized in that: Applied to the host, including: A shared memory access module, used for loading the locally stored original digital certificate through the basic input and output system when the host triggers a secure boot operation, and accessing the shared memory of the management controller through the bus link to determine whether there is a new digital certificate in the shared memory; the shared memory is a pre-set memory shared by the host and the management controller; A digital certificate update module is used to read the new digital certificate from the shared memory through the basic input and output system when the new digital certificate exists in the shared memory, and to update the original digital certificate stored locally based on the new digital certificate, so as to perform a secure boot operation of the host according to the updated digital certificate.

10. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to execute the computer program to implement the steps of the secure boot digital certificate update method as claimed in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Secure embedded equipment starting method and device, equipment and medium

    CN107609403A

  • Digital certificate expiration early warning method, device, system, equipment and medium

    CN117318959A

  • Linux-based system security starting method, electronic equipment and storage medium

    CN118193070A

  • Shared memory data calling method, device and equipment and readable storage medium

    CN119200968A

  • Modifiable policy action secure boot violation system

    US11086998B2