Transforming opacity verification to nonblocking verification in modular systems

Sahar Mohajerani,Stephane Lafortune
DOI: https://doi.org/10.48550/arXiv.1904.06242
2019-05-13
Abstract:We consider the verification of current-state and K-step opacity for systems modeled as interacting non-deterministic finite-state automata. We describe a new methodology for compositional opacity verification that employs abstraction, in the form of a notion called opaque observation equivalence, and that leverages existing compositional nonblocking verification algorithms. The compositional approach is based on a transformation of the system, where the transformed system is nonblocking if and only if the original one is current-state opaque. Furthermore, we prove that $K$-step opacity can also be inferred if the transformed system is nonblocking. We provide experimental results where current-state opacity is verified efficiently for a large scaled-up system.
Logic in Computer Science,Formal Languages and Automata Theory
What problem does this paper attempt to address?
This paper attempts to solve the problem of verifying current - state and K - step opacity in modular systems. Specifically, the authors propose a new compositional method, which transforms the opacity verification problem into a non - blocking verification problem through abstraction and transformation techniques, so as to use the existing non - blocking verification algorithms to efficiently handle the opacity verification of large - scale systems. ### Detailed Explanation 1. **Research Background**: - Opacity is an important concept in the field of information security. It describes whether a system can prevent an external observer (called an intruder) from determining whether the system is in certain secret states. - This paper focuses on modular discrete event systems, in which the system consists of multiple interacting finite - state automata. 2. **Problem Description**: - **Current - State Opacity**: The system does not allow an intruder to know exactly whether the system is in a secret state at any time. - **K - Step Opacity**: Within the past K steps, an intruder cannot determine whether the system has entered a secret state. 3. **Existing Challenges**: - Traditional monolithic methods encounter the state - space explosion problem when verifying opacity, especially when dealing with large - scale systems. - Abstraction and modular methods can alleviate this problem, but it is necessary to find appropriate methods to maintain the opacity property. 4. **Solutions**: - **Abstraction Method**: A concept called "opaque observation equivalence" is introduced to reduce the number of states of system components while maintaining the opacity property. - **Transformation Method**: Transform the opacity verification problem into a non - blocking verification problem. Specifically, by adding special blocking events in states that violate opacity, and then use the well - developed non - blocking verification algorithms for verification. 5. **Experimental Results**: - The authors conducted experiments on a large - scale modular system with 4,000 automata using the Supremica tool, and successfully verified the current - state opacity within one minute on a standard laptop. ### Formula Summary - **Opaque Observation Equivalence**: \[ \text{For all } x_1, x_2\in Q \text{ such that } x_1\sim x_2: \begin{cases} \text{If } x_1 s\Rightarrow y_1 \text{ for some } s\in\Sigma^*, \text{ then there exists } y_2\in Q \text{ such that } x_2 s\Rightarrow y_2 \text{ and } y_1\sim y_2, \\ x_1\in Q_S \text{ if and only if } x_2\in Q_S. \end{cases} \] - **Current - State Opacity**: \[ G \text{ is current - state opaque if and only if for all } s\in L(G), \text{ having } \text{det}(G)s\rightarrow X \text{ implies } X\not\subseteq Q_S. \] - **K - Step Opacity**: \[ G \text{ is K - step opaque if and only if for all strings } s\in L(G,q^\circ) \text{ and } |t|\leq K, \text{ } \]