A trusted dcs controller secure boot metric verification method and related device

By measuring and verifying each object during the startup phase of the trusted DCS controller and configuring the startup strategy, the verification method was solved, and secure startup of the DCS controller during the startup phase was achieved. This solved the verification technical problem and improved the controller's trust functionality and robustness.

CN117008556BActive Publication Date: 2026-02-10XIAN THERMAL POWER RES INST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311118227.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-31
Publication Date
2026-02-10
Estimated Expiration
2043-08-31

AI Technical Summary

Technical Problem

Existing technologies are insufficient to effectively verify and ensure the secure startup of trusted DCS controllers, resulting in security risks during the system startup phase.

Method used

A trusted DCS controller secure startup measurement and verification method is adopted. By measuring and verifying each object during the startup phase, the controller is judged to start securely based on the verification results, and a blocking or non-blocking startup strategy is configured to ensure trusted startup.

Benefits of technology

It enables the detection of problems during the startup phase and provides timely information to prevent equipment from becoming unrecoverable, thereby enhancing the controller's reliability and robustness during the startup phase.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117008556B_ABST
    Figure CN117008556B_ABST
Patent Text Reader

Abstract

The application discloses a kind of trusted DCS controller security start-up measurement verification method and related device, after power-on, the measurement object of each start-up phase is measured in turn, whether it is judged to be safely started according to verification result, wherein the start-up phase includes the CPU start-up phase, Uboot start-up phase and OS start-up phase started in turn;The verification result includes: if the measurement object of current start-up phase is not passed and start-up strategy is configured to non-blocking mode, then set the measurement object untrusted flag, and enter next start-up phase;If the measurement object of current start-up phase is not passed and start-up strategy is configured to blocking mode, then set the measurement object blocking flag, do not enter next start-up phase, stop starting and wait for repair;If the measurement object of current start-up phase is passed, then set the measurement object trusted flag, and enter next start-up phase;Until the measurement object of each start-up phase is all passed, trusted DCS controller realizes security start-up.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of distributed control system technology, and specifically to a reliable DCS controller safe startup measurement and verification method and related apparatus. Background Technology

[0002] Currently, Distributed Control Systems (DCS) are the most commonly used automation control systems. These systems primarily consist of multiple computers controlling various control loops in the production process, enabling centralized data acquisition, management, and control. With the rapid development of information technology in industrial control, the physical isolation of control systems has been broken down. While this openness brings convenience, it also expands security exposure, leading to increasing security risks.

[0003] Traditional patching-based antivirus and detection methods are insufficient to guarantee the long-term secure operation of a system. To improve the proactive network security capabilities of DCS (Distributed Control System), trusted computing-based DCS has emerged as a solution for building embedded proactive defense capabilities. A trusted computing-based DCS controller employs a CPU with trusted boot functionality combined with an external trusted computing engine to achieve basic trusted boot functionality. The trusted CPU is responsible for the trusted boot of the controller firmware program U-boot. After the U-boot program successfully boots, the trusted computing engine takes over the subsequent trusted boot functions to minimize the power consumption load on the controller. Therefore, the secure boot of the trusted DCS controller is crucial for the subsequent secure and stable operation of the entire system.

[0004] Therefore, how to measure and verify whether a trusted DCS controller starts up safely has become an urgent problem to be solved. Summary of the Invention

[0005] The purpose of this invention is to provide a reliable DCS controller secure startup measurement and verification method and related apparatus to overcome the defects of the existing technology. This invention can realize the reliable startup of the DCS controller, and can detect problems during the startup phase and provide corresponding information in a timely manner, thereby enhancing the reliable function of the DCS controller and improving the robustness of the DCS controller during the startup phase.

[0006] To achieve the above objectives, the present invention adopts the following technical solution:

[0007] The trusted DCS controller secure startup metric verification method includes the following steps:

[0008] After the trusted DCS controller is powered on, it sequentially measures and verifies the measurement objects of each startup stage, and determines whether the trusted DCS controller has started safely based on the verification results. The startup stages include the CPU startup stage, Uboot startup stage and OS startup stage started sequentially.

[0009] The verification results include:

[0010] If the verification of the measurement object fails in the current startup phase and the startup strategy is configured to be non-blocking, then the measurement object is marked as untrusted and the process proceeds to the next startup phase.

[0011] If the verification of the measurement object fails in the current startup phase and the startup strategy is configured as blocking mode, then the measurement object blocking flag is set, the startup phase is not entered, startup is stopped and waits for repair.

[0012] If the verification of the measurement object passes in the current startup phase, the trusted flag of the measurement object is set, and the process proceeds to the next startup phase.

[0013] The trusted DCS controller achieves secure startup only after all the measurement objects in each startup phase have passed verification and the measurement verification is completed.

[0014] Furthermore, the measurement object of the CPU startup phase is the Uboot program in the startup storage medium.

[0015] Furthermore, the default startup strategy for the CPU startup phase is non-blocking.

[0016] Furthermore, the measurement objects of the Uboot boot phase are the Uboot memory image, the OS image, and the OS boot parameters.

[0017] Furthermore, the boot strategy during the Uboot boot phase is configured as either blocking or non-blocking.

[0018] Furthermore, the measurement object in the OS startup phase is the application in the DCS controller.

[0019] Furthermore, the startup strategy during the OS startup phase is configured as either blocking or non-blocking.

[0020] A trusted DCS controller secure startup measurement and verification system includes:

[0021] The measurement and verification module is used to measure and verify the measurement objects of each startup stage in sequence after the trusted DCS controller is powered on, and to determine whether the trusted DCS controller has started safely based on the verification results. The startup stages include the CPU startup stage, Uboot startup stage and OS startup stage started in sequence.

[0022] If the verification of the measurement object fails in the current startup phase and the startup strategy is configured to be non-blocking, then the measurement object is marked as untrusted and the process proceeds to the next startup phase.

[0023] If the verification of the measurement object fails in the current startup phase and the startup strategy is configured as blocking mode, then the measurement object blocking flag is set, the startup phase is not entered, startup is stopped and waits for repair.

[0024] If the verification of the measurement object passes in the current startup phase, the trusted flag of the measurement object is set, and the process proceeds to the next startup phase.

[0025] Loop module: Used to ensure safe startup of the trusted DCS controller until all measurement objects in each startup phase have passed the verification.

[0026] A computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the trusted DCS controller secure startup metric verification method.

[0027] A computer storage medium storing a computer program, which, when executed by a processor, implements the steps of the trusted DCS controller secure startup measurement verification method.

[0028] Compared with the prior art, the present invention has the following beneficial technical effects:

[0029] This invention designs a trusted DCS controller secure startup measurement and verification method. The trusted computing-based DCS controller employs a CPU with trusted startup functionality combined with an external trusted computing engine to achieve basic trusted startup capabilities, minimizing the controller's power consumption load. This invention defines all trusted measurement objects and their verification methods during the startup phase of the trusted DCS controller. Through configurable startup strategies and the establishment of a complete trusted startup trust chain, the DCS controller can flexibly achieve trusted startup according to the configurable startup strategy. Furthermore, it can promptly provide corresponding information after problems are detected during the startup phase, preventing device unrecoverable issues caused by failed trusted signature verification during startup. This enhances the controller's trusted functionality and improves its robustness during the startup phase. Attached Figure Description

[0030] The accompanying drawings are provided to further understand the invention and constitute a part of this invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an improper limitation of the invention.

[0031] Figure 1 This is a flowchart of the data verification process for the trusted DCS controller secure startup metric of the present invention.

[0032] Figure 2 This diagram illustrates the measurement objects and startup strategies for each startup stage of the trusted DCS controller of this invention. Detailed Implementation

[0033] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0034] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0035] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0036] Example 1

[0037] This invention provides a method for verifying the secure startup metrics of a trusted DCS controller, comprising the following steps:

[0038] After the trusted DCS controller is powered on, it sequentially measures and verifies the measurement objects of each startup stage, and determines whether the trusted DCS controller has started safely based on the verification results. The startup stages include the CPU startup stage, Uboot startup stage and OS startup stage started sequentially.

[0039] If the verification of the measurement object fails in the current startup phase and the startup strategy is configured to be non-blocking, then the measurement object is marked as untrusted and the process proceeds to the next startup phase.

[0040] If the verification of the measurement object fails in the current startup phase and the startup strategy is configured as blocking mode, then the measurement object blocking flag is set, the startup phase is not entered, startup is stopped and waits for repair.

[0041] If the verification of the measurement object passes in the current startup phase, the trusted flag of the measurement object is set, and the process proceeds to the next startup phase.

[0042] The trusted DCS controller achieves secure startup only after all the measurement objects in each startup phase have passed verification and the measurement verification is completed.

[0043] Specifically, such as Figure 1 As shown, after the trusted DCS controller is powered on, it first enters the CPU startup phase. Specifically, the measurement object of the CPU startup phase is the Uboot program in the boot storage medium. The trusted CPU performs a trusted measurement of the Uboot program in the boot storage medium. The default startup strategy of the CPU startup phase is non-blocking mode.

[0044] If the Uboot program passes the signature verification, the Uboot program trust flag is set. After completing the trust measurement and signature verification of the Uboot program, the Uboot program is guided to work and enters the Uboot stage of the controller startup process.

[0045] If the signature verification of the Uboot program fails, the Uboot untrusted flag is set on the DCS controller. In order to enable the device to return to a trusted state, the CPU startup phase does not block the Uboot startup.

[0046] After the CPU boot phase is completed, the U-Boot boot phase begins. The U-Boot boot phase first checks if the CPU boot phase has an untrusted flag. If it has, subsequent trusted boot processes are stopped, and the process awaits repair. If the trusted flag has been set, the trusted computing engine is initialized. After initializing the trusted computing engine, the U-Boot boot phase begins.

[0047] Specifically, the measurement objects during the U-Boot boot phase are the U-Boot memory image, the OS image, and the OS boot parameters. The trusted computing engine will perform trusted measurement and trusted signature verification on the U-Boot memory image, OS boot parameters, and OS image.

[0048] If the signature verification passes, the Uboot program will boot the OS system normally and enter the OS boot phase. If the signature verification fails and the boot policy is non-blocking, the DCS controller will set the OS system untrusted flag and enter the OS boot phase. If the signature verification fails and the boot policy is blocking, the controller will set the OS system blocking flag and will not enter the OS boot phase.

[0049] After the U-Boot boot phase is completed, the OS boot phase begins. The OS boot phase first verifies the trust signature result from the U-Boot boot phase. If the U-Boot trust signature result is untrusted, the OS system is marked as blocked, halting other boot actions in the OS boot phase and awaiting user repair. If the U-Boot trust signature result for the OS system is trustworthy, the trusted computing engine and corresponding trusted management software within the OS system are started, thus entering the OS boot phase.

[0050] Specifically, the measurement target during the OS startup phase is the application in the controller. Measurement begins with verifying the application's signature. If the signature verification passes, the application in the controller starts normally, completing the entire trusted startup process and achieving secure controller startup. If the signature verification fails and the application's startup policy is configured for non-blocking startup, the application starts normally, and corresponding alarm information is recorded and sent to the management platform. If the signature verification fails and the application's startup policy is configured for blocking startup, the blocker starts normally, similarly recording alarm information and sending it to the management platform, synchronously setting the application's blocking flag in the controller, awaiting user intervention.

[0051] like Figure 2 As shown, the entire boot process includes the CPU boot phase, the U-Boot boot phase, and the OS boot phase. The CPU boot phase measures the U-Boot program on the boot storage medium, and its default boot policy is non-blocking. The U-Boot boot phase measures the U-Boot memory image, the OS image (storage medium), and the OS boot parameters (storage medium), and its boot policy can be configured to be blocking or non-blocking. The OS boot phase measures applications in the controller, and its boot policy can also be configured to be blocking or non-blocking. The boot policies for both the U-Boot and OS boot phases can be configured through trusted management software after the OS system boots.

[0052] This invention, based on trusted computing, utilizes a CPU with trusted boot functionality combined with an external trusted computing engine to achieve basic trusted boot capabilities in a DCS controller. The trusted CPU is responsible for the trusted boot of the controller firmware program, Uboot. After successful boot of Uboot, the trusted computing engine handles subsequent trusted boot functions to minimize the controller's power consumption load. This invention defines all trusted measurement objects and their verification methods during the boot phase of the trusted DCS controller. Specific measurement objects include: the Uboot program, Uboot memory image, OS image, OS boot parameters, and various applications within the controller. Verification methods include configuring the boot strategy for the measurement objects.

[0053] The present invention discloses a DCS controller secure startup measurement and verification method. Through the establishment of a configurable startup strategy and a complete trusted startup trust chain, the DCS controller can flexibly achieve trusted startup according to the configurable startup strategy. It can also provide corresponding information in a timely manner after a problem is found during the startup phase, preventing the device from being unable to recover due to the failure of trusted signature verification during the startup phase. This enhances the trusted function of the controller and improves the robustness of the controller during the startup phase.

[0054] The main startup steps of the DCS controller secure startup measurement and verification method described in this invention include the CPU startup stage, the Uboot startup stage, and the OS startup stage.

[0055] The specific implementation steps for each startup phase are as follows:

[0056] 1. CPU startup phase

[0057] 1.1 The trusted CPU performs a trust measurement and signature verification on the Uboot program in the boot storage medium. If the signature verification passes, proceed to step 1.3; if the signature verification fails, proceed to step 1.2.

[0058] 1.2 Set the Uboot program to an untrusted flag on the controller panel, then proceed to step 1.3;

[0059] 1.3. The Uboot program is then started, and the Uboot boot process begins.

[0060] 2Uboot boot phase

[0061] 2.1. Confirm whether the untrusted flag is set during the CPU startup phase. If the untrusted flag is set, proceed to step 2.2. If the trusted flag is set, proceed to step 2.3.

[0062] 2.2. Stop subsequent trusted boot processes and wait for repair;

[0063] 2.3 Initialize the trusted computing engine in the DCS controller;

[0064] 2.4. Use the trusted computing engine to perform trusted measurement and trusted signature verification on the Uboot memory image, OS boot parameters, and OS image. If the signature verification passes, proceed to step 2.7. If the signature verification fails and the boot strategy is non-blocking, proceed to step 2.5. If the signature verification fails and the boot strategy is blocking, proceed to step 2.6.

[0065] 2.5 The controller sets the Uboot program to an untrusted flag and jumps to step 2.7;

[0066] 2.6 The controller sets the Uboot program to the blocking flag and jumps to step 2.2;

[0067] 2.7 The Uboot program normally boots the OS system and enters the OS boot phase.

[0068] 3OS boot phase

[0069] 3.1 Confirm the result of the trusted signature verification during the U-boot boot phase. If the trusted signature verification result during the U-boot boot phase is trusted, proceed to step 3.3. If the trusted signature verification result during the U-boot boot phase is not trusted, proceed to step 3.2.

[0070] 3.2 Set the OS system in the DCS controller to a blocked state, report the OS system blocking alarm information to the management platform, stop the startup process, and wait for repair.

[0071] 3.3. Start the trusted computing engine and the corresponding trusted management software in the OS system;

[0072] 3.4. Measuring and verifying the application in the DCS controller. If the application fails the verification and the application's startup policy is non-blocking startup, proceed to step 3.5. If the application fails the verification and the application's startup policy is blocking startup, proceed to step 3.6. If the application passes the verification, proceed to step 3.7.

[0073] 3.5 Record the alarm information for failed signature verification and send it to the management platform;

[0074] 3.6 Set the application in the DCS controller to a blocked flag, report the application blocking alarm information, stop the startup process, and wait for repair;

[0075] 3.7 Start the application normally to complete the entire trusted startup process.

[0076] Example 2

[0077] This invention provides a DCS controller safe startup measurement and verification system, comprising:

[0078] The measurement and verification module is used to measure and verify the measurement objects of each startup stage in sequence after the trusted DCS controller is powered on, and to determine whether the trusted DCS controller has started safely based on the verification results. The startup stages include the CPU startup stage, Uboot startup stage and OS startup stage started in sequence.

[0079] If the verification of the measurement object fails in the current startup phase and the startup strategy is configured to be non-blocking, then the measurement object is marked as untrusted and the process proceeds to the next startup phase.

[0080] If the verification of the measurement object fails in the current startup phase and the startup strategy is configured as blocking mode, then the measurement object blocking flag is set, the startup phase is not entered, startup is stopped and waits for repair.

[0081] If the verification of the measurement object passes in the current startup phase, the trusted flag of the measurement object is set, and the process proceeds to the next startup phase.

[0082] The loop module is used to complete the measurement verification until all measurement objects in each startup phase have passed the signature verification, thus enabling the trusted DCS controller to achieve safe startup.

[0083] Example 3

[0084] A computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the trusted DCS controller secure startup metric verification method.

[0085] Example 4

[0086] A computer storage medium storing a computer program, characterized in that, when the computer program is executed by a processor, it implements the steps of the trusted DCS controller secure startup measurement verification method.

[0087] The trusted DCS controller secure boot measurement and verification method of the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. If the trusted DCS controller secure boot measurement and verification method of the present invention is implemented as a software functional unit and sold or used as a standalone product, it can be stored in a computer-readable storage medium.

[0088] Based on this understanding, in an exemplary embodiment, a computer-readable storage medium is also provided. The present invention implements all or part of the processes in the methods of the above embodiments, or it can be implemented by a computer program instructing related hardware. The computer program can be stored in the computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. It should be noted that the content contained in the computer-readable medium can be appropriately added or subtracted according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals. The computer storage medium can be any available medium or data storage device that a computer can access, including but not limited to magnetic storage (e.g., floppy disk, hard disk, magnetic tape, magneto-optical disk (MO)), optical storage (e.g., CD, DVD, BD, HVD), and semiconductor storage (e.g., ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid-state drive (SSD)).

[0089] In an exemplary embodiment, a computer device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the trusted DCS controller secure startup metric verification method. The processor may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), off-the-shelf programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.

[0090] The above content is only for illustrating the technical concept of the present invention and should not be construed as limiting the scope of protection of the present invention. Any modifications made to the technical solution based on the technical concept proposed in this invention shall fall within the scope of protection of the claims of this invention.

Claims

1. A method for verifying the secure startup metrics of a trusted DCS controller, characterized in that, Includes the following steps: After the trusted DCS controller is powered on, it sequentially measures and verifies the measurement objects of each startup stage, and determines whether the trusted DCS controller has started safely based on the verification results. The startup stages include the CPU startup stage, Uboot startup stage and OS startup stage started sequentially. The verification results include: If the verification of the measurement object fails in the current startup phase and the startup strategy is configured to be non-blocking, then the measurement object is marked as untrusted and the process proceeds to the next startup phase. If the verification of the measurement object fails in the current startup phase and the startup strategy is configured as blocking mode, then the measurement object blocking flag is set, the startup phase is not entered, startup is stopped and waits for repair. If the verification of the measurement object passes in the current startup phase, the trusted flag of the measurement object is set, and the process proceeds to the next startup phase. The trusted DCS controller achieves secure startup only after all the measurement objects in each startup phase have passed verification and the measurement verification is completed.

2. The trusted DCS controller secure startup measurement verification method according to claim 1, characterized in that, The measurement object of the CPU startup phase is the Uboot program in the startup storage medium.

3. The trusted DCS controller secure startup measurement verification method according to claim 1, characterized in that, The default startup strategy for the CPU startup phase is non-blocking.

4. The trusted DCS controller secure startup measurement verification method according to claim 1, characterized in that, The metrics for the Uboot boot phase are the Uboot memory image, the OS image, and the OS boot parameters.

5. The trusted DCS controller secure startup measurement verification method according to claim 1, characterized in that, The boot strategy during the U-boot boot phase is configured as either blocking or non-blocking.

6. The trusted DCS controller secure startup measurement verification method according to claim 1, characterized in that, The measurement object during the OS startup phase is the application in the DCS controller.

7. The trusted DCS controller secure startup measurement verification method according to claim 1, characterized in that, The startup strategy during the OS startup phase is configured as either blocking or non-blocking.

8. A trusted DCS controller secure startup measurement and verification system, characterized in that, include: The measurement and verification module is used to measure and verify the measurement objects of each startup stage in sequence after the trusted DCS controller is powered on, and to determine whether the trusted DCS controller has started safely based on the verification results. The startup stages include the CPU startup stage, Uboot startup stage and OS startup stage started in sequence. If the verification of the measurement object fails in the current startup phase and the startup strategy is configured to be non-blocking, then the measurement object is marked as untrusted and the process proceeds to the next startup phase. If the verification of the measurement object fails in the current startup phase and the startup strategy is configured as blocking mode, then the measurement object blocking flag is set, the startup phase is not entered, startup is stopped and waits for repair. If the verification of the measurement object passes in the current startup phase, the trusted flag of the measurement object is set, and the process proceeds to the next startup phase. Loop module: Used to ensure safe startup of the trusted DCS controller until all measurement objects in each startup phase have passed the verification.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the trusted DCS controller secure startup metric verification method as described in any one of claims 1 to 7.

10. A computer storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the trusted DCS controller secure startup metric verification method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Creditability detection method of computer

    CN102214278A

  • Method and device for monitoring blockage of main thread

    CN107590015A