A method and system for real-time verification of system security of discrete event systems
Through the Time Labeled Petri Nets model and the integer linear planning model, the insufficient information security verification caused by time information leakage in discrete event systems is solved, real-time security and accuracy verification of the system is realized, and the risk of system attacks is reduced.
Patent Information
- Application Number
- CN202411343588.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-25
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2044-09-25
AI Technical Summary
The prior art fails to effectively consider the impact of time information leakage on information security in discrete event systems, resulting in insufficient system information security verification.
The Time Labeled Petri Nets model is used to combine real-time observation and initial secret state to construct an integer linear programming mathematical problem model, and by verifying the time and label information of the discrete event system, the real-time security of the system is judged.
It improves the accuracy and real-time information security verification of discrete event systems, can promptly detect and respond to potential security threats, reduce the risk of system attacks, and ensure the normal operation of the system in complex environments.
Smart Images

Figure CN119272284B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of discrete event systems, and in particular relates to a system security real-time verification method and system for discrete event systems. Background Art
[0002] Discrete event systems (DES) are a class of systems driven by discrete events and are widely used in fields such as industrial control, traffic management, and computer networks. These systems incorporate technologies such as formal modeling, control theory, and optimization algorithms. As people's needs grow, the pursuit of more automated and intelligent discrete event systems is underway. These technologies provide powerful tools for system analysis. By incorporating information security techniques such as opacity, DES plays a vital role in ensuring system privacy and security. In the future, as technology advances, DES will be applied and promoted in even more fields.
[0003] System events in discrete event systems are typically instantaneous and occur at specific points in time. When these events occur, system information transmitted through communication hardware such as sensors inevitably faces the risk of leakage. Therefore, it is essential to consider the information security of discrete event systems. Information security technologies can provide information security assurance for discrete event systems, mitigating the risk of confidential information leakage. Verifying whether certain events can cause confidential information leakage in discrete event systems is gaining increasing attention. Real-time verification of discrete event system security typically assumes the known system model, confidential initial state information, and real-time information, including label information and corresponding time information.
[0004] Numerous studies have been conducted on verifying the information security of discrete event systems using precisely known system models, primarily focusing on state-based opacity and language-based opacity. However, these opaque techniques primarily consider events without considering their corresponding time. However, events in real discrete event systems often contain temporal information, and the leakage of this information can also, to a certain extent, lead to the leakage of information about the events themselves. Therefore, current research on verifying the information security of discrete event systems faces the problem of failing to consider the leakage of temporal information. Summary of the Invention
[0005] The purpose of the present invention is to overcome the problem that the prior art still lacks time information leakage of discrete event systems, and proposes a system security real-time verification method and system for discrete event systems.
[0006] In order to achieve the above object, the present invention adopts the following technical solutions:
[0007] A method for real-time verification of system safety of a discrete event system comprises the following steps:
[0008] A Time Labeled Petri Nets model of a discrete event system is established based on the discrete event system information, which includes events, labels and time information;
[0009] The Time Labeled Petri Nets model of the discrete event system is used to obtain the real-time observation expression of the discrete event system and the initial secret state expression of the discrete event system;
[0010] Construct an integer linear programming mathematical problem model based on the constraints of real-time safety verification of discrete event systems;
[0011] The real-time observation of the discrete event system and the initial secret state of the discrete event system are brought into the integer linear programming model to solve and verify the security of the integer linear programming model.
[0012] The security of the discrete event system is judged based on the verification results.
[0013] Furthermore, the Time Labeled Petri Nets model of the discrete event system is as follows:
[0014] G=(N,M o , I, E, l)
[0015] Where N represents the Petri net model, N = (P, T, Pre, Post), P and T are the place set and transition set respectively, and They represent the forward correlation function and the backward correlation function, respectively, and specify the connection mode of directed arcs in the network;
[0016] C represents the overall correlation matrix of the network structure;
[0017] A place p in the Petri net model i ∈P represents a state of the discrete event system, and the state represents different conditions of the discrete event system;
[0018] A Transition of the Petri Net Model i ∈T represents an event of a discrete event system, and an event represents the behavior of a discrete event system transitioning from one state to another;
[0019] M0 represents the initial state identifier of the discrete event system;
[0020] I represents a time function, is a positive rational number, each transition t i∈T is associated with a static closed time interval, I(t) = [a, b], 0≤a≤b, a≠∞, when a transition t is enabled, t cannot be triggered before a time units have passed, and t must be triggered before b time units, unless another transition t′ is triggered before a transition t and disables t;
[0021] E represents a set of labels;
[0022] l represents a function, l: T→E∪{ε}, each transition t i ∈T assigns a label in E or an empty word ε;
[0023] Divide the set E into two disjoint sets E=E o ∪E uo ,
[0024] Among them, E o Represents the set of labels for observable events, E uo A collection of tags representing unobservable events;
[0025] Divide the transition set T into two disjoint sets
[0026] Among them, T o represents the set of observable transitions, T u represents the set of unobservable transitions;
[0027] T o ={t∈T|l(t)∈E o}, T u ={t∈T|l(t)=ε};
[0028] The logical transition sequence of the trace of a discrete event system is lts(σ t )=t1t2…t k ,
[0029] Generalize the function l to the sequence l:T * →E * ,
[0030] T * Indicates that all elements in the T set can form a sequence of any length;
[0031] E * Represents a sequence of any length that can be constructed from all elements in the E set;
[0032] l(σt)=l(σ)l(t),σ∈T * , t∈T.
[0033] Furthermore, the expression of real-time observation of discrete event system is as follows:
[0034] O=(ρ,τ)
[0035] Where ρ is the time label observation, e i ∈E,e i is the label of the observable event, log(ρ)=e1e2…e k , log(ρ) is the ρ logical label sequence, τ is a time instant, τ≥t f (ρ), t f (ρ) is the time of the last sequence of the ρ logical label sequence, τ i (i=1, 2, ..., k), Indicates E and The closure operation of the Cartesian product;
[0036] The expression of the initial secret state of the discrete event system is as follows:
[0037]
[0038] Q s ={M s}
[0039] Among them, Q s (ρ, τ) represents the initial secret state of the discrete event system, Q s represents the initial secret state set without time; P -1 (O) represents the set of transition time series that meet the observation and the observation time is consistent with the real-time observation O; M s Represents the secret state of the system;
[0040] (M s , Φ s ) is a secret initial state element in the secret initial state set without time;
[0041] σ t is the trace of the discrete event system and is expressed as follows:
[0042] σ t =(t1, τ1)(t2, τ2)…(t k , τ k ), τ i It is a transition i The feasible transmission time of (i=1, 2, ..., k), and τ1≤τ2≤...≤τ k ;
[0043] R t (G) is the set of discrete event system states that can be reached from the initial state marker M0 of the discrete event system. The expression is as follows:
[0044]
[0045] (M k , Φ k ) is the state identifier of the discrete event system, M k is the identifier reachable from M0, Indicates that in M k The number of transitions that are logically allowed to be triggered, Indicates transition t i Only in After time units have passed and Time units before the transition is triggered, unless another enabled transition t i ' has been triggered, disable transition t i , Indicates T and The closure operation of the Cartesian product;
[0046] (M0,Φ0)[σ t >(M k , Φ k ) means (M k , Φ k ) is (M0, Φ0) at τ i Always stimulate change i The status indicator of arrival.
[0047] Furthermore, the sequence of transitions of observable labels and their timing consistent with real-time observations is as follows:
[0048]
[0049] Among them, P -1 (O) is the set of observable labels and their transition sequences whose time is consistent with real-time observations, σ t It is the trace of a discrete event system. The trace of a discrete event system is a sequence of changes in observable labels and their times that are consistent with real-time observations. Indicates T and The closure operation of the Cartesian product;
[0050] M is the system state identifier, R(N, M0) is the set of all state identifiers that can be reached from the initial state identifier of the discrete event system;
[0051] P(σ t ) represents the trace σ of the discrete event system t The time label observations generated below;
[0052] is σ t The trigger time of the final transition in tf (σ t ) is the feasible excitation time of the last transition, b i is the upper bound of the unobservable transition at M, En(M) represents the transition that can be enabled in state M, T uo represents a set of unobservable transitions.
[0053] Furthermore, the objective function of the integer linear programming mathematical problem model is to minimize the total time spent on satisfying the constraints;
[0054] The constraints for verifying real-time safety of discrete event systems include the first constraint, the second constraint, the third constraint and the fourth constraint;
[0055] The first constraint is the correctness of the operation of the system state identifier M.
[0056] The second constraint is the transition σ t Adhere to time constraints;
[0057] The third constraint is that the observable labels and their times are consistent with real-time observations;
[0058] The fourth constraint is that the observable labels of real-time observations are consistent with σ t The initial state of is inconsistent with the initial secret state.
[0059] Furthermore, the first constraint is as follows:
[0060]
[0061] Among them, M ui With M oi They are the unobservable identity of discrete event systems and the observable identity of discrete event systems, and is the state transition formula, Represents the 01 vector corresponding to a set of transition sequences, Indicates the 01 vector corresponding to another set of transition sequences, marked M ui Indicates the previous mark M oi-1 pass Reachable logo, M oi Indicates the previous mark M ui-1 pass The reachable mark, t is the transition, Indicates m o A matrix of dimension, Indicates m u A matrix of dimension, h is a constant, indicating and Maximum number of excitations; T o represents the set of observable transitions, Tu represents a set of unobservable transitions;
[0062] The second constraint is as follows:
[0063]
[0064]
[0065] Equations (2-1) to (2-8) are used to find the transitions that are still enabled before and after the i-th excitation of the discrete event system;
[0066] Equations (2-9) to (2-18) are used to constrain the time of transitions that are still enabled before and after excitation;
[0067] Equations (2-9) to (2-10) are used to constrain the instantaneous moment of transition excitation each time a transition is excited;
[0068] Formulas (2-11) to (2-18) are used to represent the update of schedule I after each excitation;
[0069] Formulas (2-15) to (2-18) are used to reset the schedule of the transition triggered at the i-th time and the transitions that cannot be enabled before the i-th trigger to the initial schedule I0;
[0070] in, and is an integer variable, Indicates the number of transitions in each place in the state identifier before the i-th transition is triggered, in addition to the transitions before the i-th transition is triggered;
[0071] Indicates the number of transitions in each place in the state identifier after the i-th transition is triggered, in addition to the transitions before the i-th transition;
[0072] Bold and is the 01 variable, represents the excitable state of the transitions before the i-th excitation, except for the transitions of the i-th excitation;
[0073] It represents the excitable state of the transition after the i-th excitation, except for the transition of the i-th excitation;
[0074] T m Indicates a set of transitions with multiple preceding places;
[0075] θ i is an integer variable, indicating the instant of the i-th excitation transition; θ iGreater than or equal to the maximum value between time 0 and the shortest excitation time and less than or equal to the minimum value of the latest excitation time of all simultaneously excitable transitions;
[0076] schedule is an integer variable, Represents a 2i-dimensional matrix, I0 represents the initial schedule, Indicates the shortest initial excitation time of each transition, Indicates the latest excitation time of each initial transition, I 2i When the subscript 2i is an odd number, it means the shortest activation time of each transition after the schedule I is updated after the i-th activation transition, I 2i When the subscript 2i is an even number, it represents the latest activation time of each transition after the i-th activation transition and the update of schedule I, H represents a maximum constant, ∈ is a minimum constant, j is the number of cycles, and m represents the total number of transitions;
[0077] The third constraint is as follows:
[0078]
[0079] in, represents the cumulative time of triggering observable tags in sequence, τ i represents the instantaneous moment of the sequential label, and τi in the real-time observation represents the instantaneous moment of the global clock;
[0080] Equation (3-1) indicates that the instantaneous moment of the observable tag is the same as the real-time observation O = (ρ, τ);
[0081] Formula (3-2) indicates that the trigger time of the observable tag is less than the global clock τ in the real-time observation, t f (σ t )≤τ,t f (σ t ) is the feasible activation time of the last transition;
[0082] Formula (3-3) represents the constraint on the observable label. The observable label is the same as the real-time observed label. log(σ t )=log(ρ), log(ρ) is the ρ logical label sequence, log(σ t ) is σ t A logical label sequence of
[0083] The fourth constraint is as follows:
[0084] y·M sa -y·M0+z sq H≥1, M sq ∈Q s (4-1)
[0085] y·M sq -y·M0-Z′ sq H≤-1, M sq ∈Q s (4-2)
[0086] y=[1,2,...,n] (4-3)
[0087] z sq +Z′ sq =1z sq , z′ sq ∈{0,1} (4-4)
[0088] Formulas (4-1) to (4-4) are used to constrain the initial state to be inconsistent with the initial secret state, and at least one initial state is inconsistent with the initial secret state;
[0089] Among them, M sq is the secret initial state, M0 is the non-secret initial state, y is an n×1 dimensional vector, n is the number of places in the Time Labeled Petri Nets model of the discrete event system, z sq and z′ sq is the 01 variable, M sq ∈Q s Express Q s Each initial secret state in is listed in equations (4-1) to (4-4).
[0090] According to the real-time system security verification method of a discrete event system according to claim 1, judging the security of the discrete event system based on the verification result specifically comprises: comparing the verification result with the secret initial state, solving the initial state identifier of the discrete event system obtained by the verification result and the secret initial state; if the initial state identifier is inconsistent with the secret initial state, it indicates that the discrete event system is initially opaque in this secret state, and the discrete event system is secure.
[0091] A system security real-time verification system for a discrete event system includes a system model building module for building a Time Labeled Petri Nets model of the discrete event system based on discrete event system information, wherein the discrete event system information includes event, label and time information;
[0092] The real-time observation and initial secret state acquisition module is used to obtain the real-time observation and initial secret state of the discrete event system using the real-time observation expression and the initial secret state expression of the discrete event system for the Time Labeled PetriNets model of the discrete event system;
[0093] A problem model building module is used to build an integer linear programming mathematical problem model based on the constraints of real-time safety verification of discrete event systems;
[0094] A verification result acquisition module is used to bring the real-time observation of the discrete event system and the initial secret state of the discrete event system into the integer linear programming model to solve and verify the security of the integer linear programming model to obtain a verification result;
[0095] The safety judgment module is used to judge the safety of the discrete event system according to the verification results.
[0096] An electronic device comprises a memory, a processor and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method for real-time verification of system security of a discrete event system is implemented.
[0097] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method for real-time verification of system security of a discrete event system is implemented.
[0098] Compared with the prior art, the present invention has the following beneficial technical effects:
[0099] The present invention proposes a real-time system security verification method for discrete event systems. This method addresses the real-time information security verification problem of discrete event systems by establishing a Time Labeled Petri Nets (TLPN) model based on discrete event system information. This model is then used to perform real-time security verification in conjunction with real-time observations and an initial secret state. TLPN adds time labels to traditional Petri nets, enabling the model to describe the dynamic behavior of system states over time, facilitating the analysis of time sensitivity in discrete event systems. TLPN can naturally represent parallel and concurrent activities in a system, and the temporal relationships and logical dependencies between activities can be clearly described using the TLPN model. By modeling the discrete event system as a Time Labeled Petri Net system and performing integer linear programming on the Time Labeled Petri Net system based on constraint requirements, the integer linear programming mathematical problem is solved, and the real-time information security of the system is verified based on the solution.
[0100] Furthermore, integer linear programming constructs a series of linear inequalities that incorporate global constraints, including time constraints, label constraints, and state-difference constraints. By observing the system state in real time and combining it with the TLPN model for dynamic analysis, potential security threats can be promptly detected and responded to. The initial secret state serves as the starting point for security verification. Combined with the time information and system state changes in the TLPN model, this allows for a more accurate assessment of the system's security status at different points in time, helping to reduce false positives and false negatives. The TLPN model supports complex logical relationships and time constraints, enabling the system to implement more sophisticated and complex security policies. Through real-time observation and dynamic analysis using the TLPN model, the system can promptly detect potential security threats and take appropriate countermeasures, helping to reduce the risk of system attacks and protect critical data and resources. Real-time security verification ensures the system's normal operation under various complex environments and conditions. By promptly discovering and remediating security vulnerabilities, system outages and data loss due to security issues can be avoided. BRIEF DESCRIPTION OF THE DRAWINGS
[0101] The drawings described herein are for illustrative purposes only and are not intended to limit the scope of the present invention in any way. In addition, the shapes and proportional dimensions of the components in the drawings are only schematic and are used to help understand the present invention, and are not intended to specifically limit the shapes and proportional dimensions of the components of the present invention. In the drawings:
[0102] Figure 1 The present invention is a flowchart of a method for real-time verification of system security of a discrete event system.
[0103] Figure 2 This is a structural diagram of a system security real-time verification system for a discrete event system of the present invention.
[0104] Figure 3 This is a diagram of an electronic device for a method for real-time verification of system security of a discrete event system according to the present invention.
[0105] Figure 4 This is a flow chart of a method for real-time verification of system security of a discrete event system according to the present invention.
[0106] Figure 5 Schematic diagram of a discrete event system in an embodiment of the present invention.
[0107] Figure 6 FIG. N is a Time Labeled Petir net model diagram of a discrete event system in an embodiment of the present invention.
[0108] Figure 7 1 is a graph showing the integer linear programming solution result in an embodiment of the present invention. DETAILED DESCRIPTION
[0109] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described 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 making creative efforts should fall within the scope of protection of the present invention.
[0110] Example 1
[0111] See also Figure 1 A method for real-time verification of system security of a discrete event system comprises the following steps:
[0112] A Time Labeled Petri Nets model of a discrete event system is established based on the discrete event system information, which includes events, labels and time information;
[0113] The Time Labeled Petri Nets model of the discrete event system is used to obtain the real-time observation expression of the discrete event system and the initial secret state expression of the discrete event system;
[0114] Construct an integer linear programming mathematical problem model based on the constraints of real-time safety verification of discrete event systems;
[0115] The real-time observation of the discrete event system and the initial secret state of the discrete event system are brought into the integer linear programming model to solve and verify the security of the integer linear programming model.
[0116] The security of the discrete event system is judged based on the verification results.
[0117] This embodiment provides a systematic and automated solution for real-time information security verification of discrete event systems through precise modeling and efficient solution. It not only improves the accuracy and efficiency of verification, but also reduces the risk of human error, providing strong support for the security verification of complex systems. Establishing a TLPN model based on discrete event system information and combining real-time observations and initial secret states for real-time security verification has multiple benefits, such as improving the real-time and accuracy of security verification and supporting the implementation of complex security policies. It helps to ensure the safe and stable operation of the system, reduce maintenance costs and improve overall efficiency. TLPN uses a graphical method to represent the system, making the system status, events and the relationship between them clear at a glance, which helps to quickly understand the system structure and working principles.
[0118] Example 2
[0119] A method for real-time verification of system security of a discrete event system, the main steps of which include:
[0120] Step 1: Establish the corresponding Time Labelled Petri Nets model based on the discrete event system information;
[0121] Step 2: Construct the corresponding integer linear programming mathematical problem model according to the constraints;
[0122] Step 3: Combine the real-time observation O = (ρ, τ) with the initial secret state M sq ∈Q s Bring in the integer linear programming model to solve and verify its security;
[0123] Step 4: Determine the security of the system based on the verification results;
[0124] The step 1 is specifically as follows:
[0125] The discrete event system is established as the corresponding Time Labelled Petri Nets model to obtain its event, label, and time information. The system model is established as G = (N, M o , I, E, l). Among them, N = (P, T, Pre, Post) represents the corresponding Petri net model, where P and T are the place set and transition set respectively. Each place p i ∈P, each transition t i ∈T, and They represent the forward correlation function and the backward correlation function, which specify the connection mode of the directed arcs in the network and the overall correlation matrix of the network structure. M0 represents the initial state identifier of the discrete event system; is a time function that associates each transition with a static closed time interval I(t) = [a, b], where is a positive rational number, 0≤a≤b, a≠∞. Specifically, when a transition t is enabled, it cannot be triggered before a time units have passed, and it must be triggered before b time units, unless another transition t′ is triggered before t and disables t; E is a set of labels, l:T→E∪{ε} is a function that, for each transition t i ∈T assigns a label in E or an empty word ε.
[0126] A discrete event system can be represented by a set of states X and a set of events Y. The states represent different conditions of the system, and the events represent the behavior of the system from one state to another. Each state of the discrete event system is represented by a library p i ∈P, each event is represented by transition ti ∈T indicates that for the Time Labeled Petri Nets model, the state identifier of the discrete event system can be expressed as C k =(M k , Φ k ), where M k is the identifier reachable from M0, is a set of inequalities where Indicates that in M k The number of transitions that are logically allowed to be excited in the set Φ k In the inequality Means transition t i Only in After time units have passed and Time units before the transition is triggered, unless another enabled transition has already triggered, making the transition t i is disabled. The trace of the system is defined as a transition time series σ t =(t1, τ1)(t2, τ2)…(t k , τ k ), where τ i It is a transition i The feasible transmission time of (i=1, 2, ..., k), and τ1≤τ2≤...≤τ k . Symbol (M k , Φ k )[(t i , τ i )>(M′ k , Φ k ′) represents the state mark (M′ k , Φ k ′) is the state identifier (M k , Φ k ) in τ i Always stimulate change i Arrived, can be further written as (M k , Φ k )[σ t >(M′ k , Φ k ′), use lts(σ t )=t1t2…t k Represents σ t The logical transition sequence is defined as t f (σ t ).
[0127] The set of discrete event system states reachable from M0 is Divide the set E into two disjoint sets E=E o ∪Euo , where E o is the label set of observable events, the corresponding E uo The label set represents the unobservable event. Similarly, the transition set T is divided into observable and unobservable transition sets T o With T uo , Where T o ={t∈τ|l(t)∈E o}, T uo ={t∈T|l(t)=ε}. The labeling function l can be generalized to the sequence l:T * →E * , that is, l(σt)=l(σ)l(t), where σ∈T * , t∈T.
[0128] Define a real-time observation O = (ρ, τ),
[0129] in is a time-labeled observation, where any e i ∈E is the label of the observable event, τ i (i=1,2,...,k) is a time instant, log(ρ)=e1e2…e k is a logical label sequence ρ, τ is also a time instant and τ ≥ t f (ρ), in discrete mathematics: E×Q represents the Cartesian product of E and Q, represents all possible ordered pairs (e, t) of E×Q, and ()* represents the closure operation of this Cartesian product, that is, a sequence of (e, t) of any length. Then the time series with consistent observations is:
[0130]
[0131] ,in is σ t The trigger time of the final transition in b i is the upper bound of the unobservable transition at M, i.e., t i ∈En(M)∩T uo , R(N, M0) is the set of all state identifiers that can be reached from the initial state identifier. The initial state set is defined as Note that in this sense, (M k , Φ k ) is the observed initial state of the evolution, not the initial state identifier (M0, Φ0). Given the initial secret state of the discrete event system is The corresponding initial secret state set without time is Q s Indicates that Q s ={M s};P -1 (O) represents the set of transition time series that meet the observation and the observation time is consistent with the real-time observation O; M s Represents the secret state of the system.
[0132] The step 2 is specifically as follows:
[0133] The objective function of the integer linear programming mathematical problem model is to minimize the total time required to satisfy the following constraints:
[0134]
[0135] The constraints for verifying real-time safety of discrete event systems are:
[0136] Constraint 1) requires ensuring the correctness of the system state identifier M. An integer linear programming model is established for this constraint as follows:
[0137]
[0138] Among them, M ui With M oi They are the unobservable and observable identification of the system, and the state transition formula Represents a set of 01 vectors corresponding to a transition sequence, identified by M ui (M oi ) is the previous identifier M oi-1 (M ui-1 )pass The reachable identifier, h is a constant, indicating and Maximum number of excitations.
[0139] Constraint 2) needs to ensure that the transition σ t Following the time constraint, the corresponding integer linear programming constraints are as follows:
[0140]
[0141]
[0142] in, and Is an integer variable, indicating the number of tokens in each place in the state identifier before and after the i-th token trigger (excluding the token before the i-th trigger transition). and All of them are 01 variables, representing the excitable states before and after the i-th excitation (except the transitions during the i-th excitation). The purpose of formulas (2-1) to (2-8) is to find the transitions that can be enabled before and after the i-th excitation of the system, because the transitions that can be enabled before and after the excitation need to be further constrained in time. Specifically, they are formulas (2-9) to (2-18). Note that T here m It represents a set of transitions with multiple preceding places. i is an integer variable, indicating the instantaneous moment of the i-th excitation transition. Equations (2-9)-(2-10) are constraints on the instantaneous moment of the excitation transition for each excitation transition. i It needs to satisfy the maximum value between the time 0 and the shortest excitation time (Formula (2-9)), and the minimum value between the latest excitation time of all simultaneously excitable transitions (Formula (2-10)). Formulas (2-11)-(2-18) represent the update of schedule I after each excitation. is an integer variable, I0 represents the initial schedule, Indicates the shortest initial excitation time of each transition, It represents the latest excitation time of each initial transition. Further extension, when the subscript is an odd (even) number, it represents the shortest (latest) excitation time of each transition after the schedule I is updated after the i-th excitation transition. Formulas (2-15)-(2-18) reset the i-th triggered transition and the schedule of the transition that cannot be enabled before the i-th trigger to the initial schedule I0. m represents the total number of transitions, and j can be regarded as the number of loops required in a certain algorithm. Because the elements in all formulas are basically matrix operations, if you need to be specific to a certain row, you need a number j to refer to the row.
[0143] Constraint 3) The observable labels and their corresponding times are consistent with the real-time observation O = (ρ, τ), and the corresponding integer linear programming constraints are as follows:
[0144]
[0145] in represents the cumulative time of triggering observable tags in sequence, τ i represents the instantaneous moment of the sequential label. Equation (3-1) indicates that the instantaneous moment of the observable label is the same as the real-time observation O = (ρ, τ). Note that τ in the real-time observation is i represents the instantaneous moment of the global clock, and θ i represents the instantaneous moment of the excitation transition; Equation (3-2) indicates that the trigger time of the observable tag must be less than the global clock τ in the real-time observation, that is, t f (σ t)≤τ; Formula (3-3) constrains the observable label so that the observable label is the same as the real-time observed label log(σ t )=log(ρ).
[0146] Constraint 4) requires σ to be consistent with the observable label of real-time observation t The initial state of is inconsistent with the initial secret state, and the corresponding integer linear programming constraints are as follows:
[0147] y·M sq -y·M0+z sq H≥1, M sq ∈Q s (4-1)
[0148] y·M sq -y·M0-Z′ sq H≤-1, M sq ∈Q s (4-2)
[0149] y=[1,2,...,n] (4-3)
[0150] z sq +Z′ sq =1 z sq , z′ sq ∈{0,1} (4-4)
[0151] Formulas (4-1)-(4-4) are used to constrain two initial states (a secret M sq A non-secret M0) is inconsistent, that is, it is guaranteed that there is at least one initial state that is inconsistent with the initial secret state, which also ensures the security of the system's initial secret state information, where y is an n×1-dimensional vector, n is the number of places after the system is modeled, z sq , z′ sq is the 01 variable, M sq ∈Q s refers to Q s Each initial secret state in must list equations (4-1)-(4-4).
[0152] Example 3
[0153] See also Figure 2 , a system security real-time verification system for a discrete event system, comprising a system model building module for building a Time Labeled Petri Nets model of the discrete event system according to discrete event system information, the discrete event system information including event, label and time information;
[0154] The real-time observation and initial secret state acquisition module is used to obtain the real-time observation and initial secret state of the discrete event system using the real-time observation expression and the initial secret state expression of the discrete event system for the Time Labeled PetriNets model of the discrete event system;
[0155] A problem model building module is used to build an integer linear programming mathematical problem model based on the constraints of real-time safety verification of discrete event systems;
[0156] A verification result acquisition module is used to bring the real-time observation of the discrete event system and the initial secret state of the discrete event system into the integer linear programming model to solve and verify the security of the integer linear programming model to obtain a verification result;
[0157] The safety judgment module is used to judge the safety of the discrete event system according to the verification results.
[0158] Example 4
[0159] See also Figure 3 , an electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the system security real-time verification method for a discrete event system described in Example 2 is implemented.
[0160] Example 5
[0161] A computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the method for real-time verification of system security of a discrete event system according to embodiment 2.
[0162] Example 6
[0163] like Figure 4 As shown in Figure 1, a real-time verification method for discrete event system security is presented. Taking a military system as an example, the specific steps are as follows:
[0164] Step 1: Establish the corresponding Time Labeled Petri Nets model based on the discrete event system information;
[0165] In this example, the discrete event system is a military system. The commander issues commands from a military command vehicle. To protect the commander's life, the military command vehicle is equipped with a signal jammer. The specific system is as follows: Figure 5As shown. The military command vehicle where the commander is located is very important (that is, it is in an initial secret state). The commander issues orders to the infantry team, tank team, and air force team, and each team can also communicate with each other. The corresponding Time Labeled Petri Nets model of this discrete event system is constructed as follows: Figure 6 As shown, there are warehouses p1-p6 representing various camps and teams respectively. The commander can shuttle back and forth between p1-p3 through the military command vehicle. The time required for the journey is 3min-10min. The movement during this period is represented by transitions t1t4, t 17 , t 18 They are represented respectively. In particular, in this example, the commander in the middle military command vehicle issues instructions using the warehouse p1, and the air force is represented by the warehouse p4. The commander issues instructions to the air force and the air force prepares accordingly, which is represented by t7. The required time is 5min-10min, and the observable signal is c. The air force completes the relevant instructions and feedbacks them to the commander, which is represented by t B The required time is 10-20 minutes, and the observable signal is c; the tank team is represented by the warehouse p5, and the commander issues an order to the tank team and the tank team makes corresponding preparations is represented by t 13 It means that the time required is 10-15 minutes, the observable signal is b, and the tank team completes the relevant instructions and feeds back to the commander with t 14 The time required is 15-20 minutes, and the observable signal is b. The infantry battalion is represented by the warehouse p6. The commander issues an order to the infantry battalion and the infantry battalion makes corresponding preparations, which is represented by t5. The time required is 3-8 minutes, and the observable signal is a. The infantry battalion completes the relevant order and feeds back to the commander, which is represented by t6. The time required is 5-10 minutes, and the observable signal is a. The observable signal of communication between each battalion is d. The communication between battalions is represented by transition t9-t 11 , t 15 , t 16 The Air Force team's ability to receive signals is slightly slower than the other two teams due to environmental factors, with communication times of 3-5 minutes and 5-10 minutes respectively.
[0166] Step 2: Construct the corresponding integer linear programming mathematical problem model according to the constraints;
[0167] The constructed integer linear programming mathematical problem model is as follows:
[0168] Objective function: Constraints:
[0169]
[0170] y·Msq -y·M0+z sq H≥1, M sq ∈Q s
[0171] y·M sq -y·M0-z′ sq H≤-1, M sq ∈Q s
[0172] z sq +z′ sq =1z sq , Z′ sq ∈{0, 1}
[0173] y=[1, 2,...,n], j=1, 2,..., m, i=1, 2,..., h
[0174] Step 3: Combine the real-time observation O = (ρ, τ) with the initial secret state M sq ∈Q s Bring in the integer linear programming model to solve and verify its security;
[0175] The initial secret state requirement of the known embodiment is that there is only one Q s (ρ, τ) = {(M s , Φ s )}, where M s =p1,
[0176]
[0177] Assume that there is an intruder who observes the system's signals (with the ability to only observe observable signals). The intruder's real-time observation O = (ρ, τ) is ρ = (a, 3) (c, 8) (a, 10) (b, 12) (d, 15), τ = 20. Based on this initial secret state and real-time observation, the integer linear programming problem model in step 2 is introduced and solved using the Gurobi solver. The solution is: t2t5t7t6t 13 t 15 , specifically Figure 4 shown.
[0178] Step 4: Determine the security of the system based on the verification results;
[0179] Compare the result obtained with the secret initial state and solve the result to get M0=p2. With the secret initial state M s =p1,
[0180]
[0181] If they are inconsistent, then the system is initially opaque in this secret state, that is, the discrete event system is secure.
[0182] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0183] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0184] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0185] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that the specific implementations of the present invention can still be modified or replaced by equivalents. Any modification or equivalent replacement that does not depart from the spirit and scope of the present invention should be included within the scope of protection of the claims of the present invention.
Claims
1. A method for real-time verification of system security of discrete event systems, characterized in that: The following steps are involved: A Time Labeled Petri Nets model of a discrete event system is established based on the discrete event system information, which includes events, labels and time information; The Time Labeled Petri Nets model of the discrete event system is used to obtain the real-time observation expression of the discrete event system and the initial secret state expression of the discrete event system; An integer linear programming mathematical problem model is constructed based on the constraints of real-time safety verification of discrete event systems; the objective function of the integer linear programming mathematical problem model is to minimize the total time spent on ensuring that the constraints are met; The constraints for verifying real-time safety of discrete event systems include the first constraint, the second constraint, the third constraint and the fourth constraint; The first constraint is the correctness of the operation of the system state identifier M; The second constraint is the transition σ t Adhere to time constraints; The third constraint is that the observable labels and their times are consistent with real-time observations; The fourth constraint is that the observable labels of real-time observations are consistent with σ t The initial state of is inconsistent with the initial secret state; The real-time observation of the discrete event system and the initial secret state of the discrete event system are brought into the integer linear programming model to solve and verify the security of the integer linear programming model. The security of the discrete event system is judged based on the verification results.
2. A method for real-time verification of system security of a discrete event system according to claim 1, characterized in that: The Time Labeled Petri Nets model of a discrete event system is shown below: G=(N,M0,I,E,l) Where N represents the Petri net model, N = (P, T, Pre, Post), P and T are the place set and transition set respectively, and They represent the forward correlation function and the backward correlation function, respectively, and specify the connection mode of directed arcs in the network; C represents the overall correlation matrix of the network structure; A place p in the Petri net model i ∈P represents a state of the discrete event system, and the state represents different conditions of the discrete event system; A Transition of the Petri Net Model i ∈T represents an event of a discrete event system, and an event represents the behavior of a discrete event system transitioning from one state to another; M0 represents the initial state identifier of the discrete event system; I represents a time function, is a positive rational number, each transition t i ∈T is associated with a static closed time interval, I(t) = [a, b], 0≤a≤b, a≠∞, when a transition t is enabled, t cannot be triggered before a time units have passed, and t must be triggered before b time units, unless another transition t′ is triggered before a transition t and disables t; E represents a set of labels; l represents a function, l: T→E∪{ε}, each transition t i ∈T assigns a label in E or an empty word ε; Divide the set E into two disjoint sets E=E o ∪E uo , Among them, E o Represents the set of labels for observable events, E uo A collection of tags representing unobservable events; Divide the transition set T into two disjoint sets Among them, T o represents the set of observable transitions, T u represents the set of unobservable transitions; T o ={t∈T|l(t)∈E o },T u ={t∈T|l(t)=ε}; The logical transition sequence of the trace of a discrete event system is lts(σ t )=t1t2…t k , Generalize the function l to the sequence l:T * →E * , T * Indicates that all elements in the T set can form a sequence of any length; E * Represents a sequence of any length that can be constructed from all elements in the E set; l(σt)=l(σ)l(t),σ∈T * ,t∈T.
3. The method for real-time security verification of a discrete event system according to claim 2, characterized in that: The expression of real-time observation of discrete event system is as follows: O=(ρ,τ) Where ρ is the time label observation, e i ∈E,e i is the label of the observable event, log(ρ)=e1e2…e k , log(ρ) is the ρ logical label sequence, τ is a time instant, τ≥t f (ρ), t f (ρ) is the time of the last sequence of the ρ logical label sequence, τ i (i=1, 2, ..., k), Indicates E and The closure operation of the Cartesian product; The expression of the initial secret state of the discrete event system is as follows: Q s ={M s } Among them, Q s (ρ, τ) represents the initial secret state of the discrete event system, Q s represents the initial secret state set without time; P -1 (O) represents the set of transition sequences that satisfy the observable label and the observation time consistent with the real-time observation O; M s Represents the secret state of the system; (M s ,Φ s ) is a secret initial state element in the secret initial state set without time; σ t is the trace of the discrete event system and is expressed as follows: σ t =(t1,τ1)(t2,τ2)…(t k ,τ k ), τ i It is a transition i The feasible transmission time of (i=1,2,...,k), and τ1≤τ2≤...≤τ k ; R t (G) is the set of discrete event system states that can be reached from the initial state marker M0 of the discrete event system. The expression is as follows: (M k , Φ k ) is the state identifier of the discrete event system, M k It is from M o accessible identification, Indicates that in M k The number of transitions that are logically allowed to be triggered, Indicates transition t i Only in After time units have passed and Time units before the transition is triggered, unless another enabled transition t i ' has been triggered, disable transition t i , Indicates T and The closure operation of the Cartesian product; (M0, Ф0)[σ t >(M k , Ф k ) means (M k , Ф k ) is (M0, Ф0) in τ i Always stimulate change i The status indicator of arrival.
4. The method for real-time security verification of a discrete event system according to claim 3, characterized in that: The sequence of observable labels and their transitions that are time-aligned with real-time observations is as follows: Among them, P -1 (O) is the set of transition sequences whose observable labels and observation times are consistent with the real-time observation O, σ t It is the trace of a discrete event system. The trace of a discrete event system is a sequence of changes in observable labels and their times that are consistent with real-time observations. Indicates T and The closure operation of the Cartesian product; M is the system state identifier, R(N, M0) is the set of all state identifiers that can be reached from the initial state identifier of the discrete event system; P(σ t ) represents the trace σ of the discrete event system t The time label observations generated below; is σ t The trigger time of the final transition in t f (σ t ) is the feasible excitation time of the last transition, b i is the upper bound of the unobservable transition at M, En(M) represents the transition that can be enabled in state M, T uo represents a set of unobservable transitions.
5. The method for real-time security verification of a discrete event system according to claim 1, characterized in that: The first constraint is as follows: Among them, M ui With M oi They are the unobservable identity of discrete event systems and the observable identity of discrete event systems, and is the state transition formula, Represents the 01 vector corresponding to a set of transition sequences, Indicates the 01 vector corresponding to another set of transition sequences, marked M ui Indicates the previous mark M oi-1 pass Reachable logo, M oi Indicates the previous mark M ui-1 pass The reachable mark, t is the transition, represents a matrix of dimension mo, Represents a matrix of mu dimensions, h is a constant, indicating and Maximum number of excitations; T o represents the set of observable transitions, T u represents the set of unobservable transitions; The second constraint is as follows: j=1,2,...,m Equations (2-1) to (2-8) are used to find the transitions that are still enabled before and after the i-th excitation of the discrete event system; Equations (2-9) to (2-18) are used to constrain the time of transitions that are still enabled before and after excitation; Equations (2-9) to (2-10) are used to constrain the instantaneous moment of transition excitation each time a transition is excited; Formulas (2-11) to (2-18) are used to represent the update of schedule I after each excitation; Formulas (2-15) to (2-18) are used to reset the schedule of the transition triggered at the i-th time and the transitions that cannot be enabled before the i-th trigger to the initial schedule I0; in, and is an integer variable, Indicates the number of transitions in each place in the state identifier before the i-th transition is triggered, in addition to the transitions before the i-th transition is triggered; Indicates the number of transitions in each place in the state identifier after the i-th transition is triggered, in addition to the transitions before the i-th transition; Bold and is the 01 variable, represents the excitable state of the transitions before the i-th excitation, except for the transitions of the i-th excitation; It represents the excitable state of the transition after the i-th excitation, except for the transition of the i-th excitation; T m Indicates a set of transitions with multiple preceding places; θ i is an integer variable, indicating the instant of the i-th excitation transition; θ i Greater than or equal to the maximum value between time 0 and the shortest excitation time and less than or equal to the minimum value of the latest excitation time of all simultaneously excitable transitions; schedule is an integer variable, Represents a 2i-dimensional matrix, I0 represents the initial schedule, Indicates the shortest initial excitation time of each transition, Indicates the latest excitation time of each initial transition, I 2i When the subscript 2i is an odd number, it means the shortest activation time of each transition after the schedule I is updated after the i-th activation transition, I 2i When the subscript 2i is an even number, it represents the latest activation time of each transition after the i-th activation transition and the update of schedule I, H represents a maximum constant, ∈ is a minimum constant, j is the number of cycles, and m represents the total number of transitions; The third constraint is as follows: in, represents the cumulative time of triggering observable tags in sequence, τ i represents the instantaneous moment of the sequential label, τ in real-time observation i Represents the instantaneous moment of the global clock; Equation (3-1) indicates that the instantaneous moment of the observable tag is the same as the real-time observation O = (ρ, τ); Formula (3-2) indicates that the trigger time of the observable tag is less than the global clock τ in the real-time observation, t f (σ t )≤τ,t f (σ t ) is the feasible activation time of the last transition; Formula (3-3) represents the constraint on the observable label. The observable label is the same as the real-time observed label. log(σ t )=log(ρ),log(ρ) is the ρ logical label sequence, log(σ t ) is σ t A logical label sequence of The fourth constraint is as follows: y·M sq -y·M0+z sq ·H≥1,M sq ∈Q s (4-1) y·M sq -y·M0-z′ sq ·H≤-1,M sq ∈Q s (4-2) t=[1,2,...,n] (4-3) from sq +z′ sq =1z sq , from sq ∈{0,1} (4-4) Formulas (4-1) to (4-4) are used to constrain the initial state to be inconsistent with the initial secret state, and at least one initial state is inconsistent with the initial secret state; Among them, M sq is the secret initial state, M0 is the non-secret initial state, y is an n×1 dimensional vector, n is the number of places in the Time Labeled Petri Nets model of the discrete event system, z sq and z′ sq is the 01 variable, M sq ∈Q s Express Q s Each initial secret state in is listed in equations (4-1) to (4-4).
6. The method for real-time security verification of a discrete event system according to claim 1, characterized in that: The security of the discrete event system is judged based on the verification results as follows: the verification results are compared with the secret initial state, and the initial state identifier of the discrete event system obtained by solving the verification results and the secret initial state are obtained. If the initial state identifier is inconsistent with the secret initial state, it means that the discrete event system is initially opaque in this secret state, and the discrete event system is secure.
7. A system security real-time verification system for discrete event systems, characterized in that: It includes a system model building module for building a Time Labeled Petri Nets model of a discrete event system based on discrete event system information, where the discrete event system information includes event, label and time information; A real-time observation and initial secret state acquisition module is used to obtain the real-time observation and initial secret state of the discrete event system using the real-time observation expression and the initial secret state expression of the discrete event system for the Time Laebled PetriNets model of the discrete event system; A problem model building module is used to build an integer linear programming mathematical problem model based on the constraints of real-time safety verification of a discrete event system; the objective function of the integer linear programming mathematical problem model is to minimize the total time spent on ensuring that the constraints are met; The constraints for verifying real-time safety of discrete event systems include the first constraint, the second constraint, the third constraint and the fourth constraint; The first constraint is the correctness of the operation of the system state identifier M; The second constraint is the transition σ t Adhere to time constraints; The third constraint is that the observable labels and their times are consistent with real-time observations; The fourth constraint is that the observable labels of real-time observations are consistent with σ t The initial state of is inconsistent with the initial secret state; A verification result acquisition module is used to bring the real-time observation of the discrete event system and the initial secret state of the discrete event system into the integer linear programming model to solve and verify the security of the integer linear programming model to obtain a verification result; The safety judgment module is used to judge the safety of the discrete event system according to the verification results.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method for real-time verification of system security of a discrete event system as claimed in any one of claims 1 to 6 is implemented.
9. A computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the method for real-time verification of system security of a discrete event system according to any one of claims 1 to 6.
Citation Information
Patent Citations
Fault diagnosis method for partially observable tag time Petri network
CN114167836A
Design method for tag Petri network monitor of discrete event system
CN117572850A