This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Verifying Weak and Strong k-Step Opacity
in Discrete-Event Systems

Jiří Balun [email protected]    Tomáš Masopust [email protected] Faculty of Science, Palacky University Olomouc, Czechia
Abstract

Opacity is an important system-theoretic property expressing whether a system may reveal its secret to a passive observer (an intruder) who knows the structure of the system but has only limited observations of its behavior. Several notions of opacity have been discussed in the literature, including current-state opacity, kk-step opacity, and infinite-step opacity. We investigate weak and strong kk-step opacity, the notions that generalize both current-state opacity and infinite-step opacity, and ask whether the intruder is not able to decide, at any time instant, when respectively whether the system was in a secret state during the last kk observable steps. We design a new algorithm verifying weak kk-step opacity, the complexity of which is lower than the complexity of existing algorithms and does not depend on the parameter kk, and show how to use it to verify strong kk-step opacity by reducing strong kk-step opacity to weak kk-step opacity. The complexity of the resulting algorithm is again better than the complexity of existing algorithms and does not depend on the parameter kk.

keywords:
Discrete event systems, finite automata, opacity, verification, complexity, algorithms.
journal: ArXivthanks: This work is an extended version of Balun and Masopust (2022b) that was presented at WODES 2022. Supported by the Ministy of Education, Youths and Sports under the INTER-EXCELLENCE project LTAUSA19098 and by IGA PrF 2022 018 and 2023 026. Corresponding author: T. Masopust.

and

1 Introduction

Opacity is an information-flow property used to study security and privacy questions of discrete-event systems, communication protocols, and computer systems. Besides security and privacy, an interesting application of opacity is its ability to express other state-estimation properties. In particular, Lin (2011) has shown how to express and verify observability, diagnosability, and detectability in terms of opacity.

Opacity guarantees that a system prevents an intruder from revealing its secret. The intruder is a passive observer that knows the structure of the system but has only limited observations of system’s behavior. Intuitively, the intruder estimates the behavior of the system, and the system is opaque if for every secret behavior, there is a nonsecret behavior that looks the same to the intruder. The secret is modeled as a set of secret states or as a set of secret behaviors. Modeling the secret as a set of secret states results in state-based opacity, introduced by Bryans et al. (2005, 2008) for Petri nets and transition systems, and adapted to automata by Saboori and Hadjicostis (2007). Modeling the secret as a set of secret behaviors results in language-based opacity, introduced by Badouel et al. (2007) and Dubreil et al. (2008). See the overview by Jacob et al. (2016) for more details.

Many notions of opacity have been discussed in the literature, including initial-state opacity and current-state opacity. While initial-state opacity prevents the intruder from revealing, at any time instant, whether the system started in a secret state, current-state opacity prevents the intruder “only” from revealing whether the system is currently in a secret state. This, however, does not exclude the possibility that the intruder later realizes that the system was in a secret state at a former step of the computation. For instance, if the intruder estimates that the system is in one of two possible states and, in the next step, the system proceeds by an observable event enabled only in one of the states, then the intruder reveals the state in which the system was one step ago.

Saboori and Hadjicostis (2007, 2012) addressed this issue and introduce the notion of weak kk-step opacity. Weak kk-step opacity requires that the intruder is not able to ascertain the secret in the current state and kk subsequent observable steps. For k=0k=0 and k=k=\infty, weak kk-step opacity coincides with current-state opacity and infinite-step opacity, respectively. The notion of infinite-step opacity may be confusing in the context of finite automata, because an nn-state automaton is infinite-step opaque if and only if it is (2n2)(2^{n}-2)-step opaque, see Yin and Lafortune (2017).

The verification of weak kk-step opacity has been intensively studied in the literature, resulting in (at least) five different approaches: (1) the secret observer approach with complexity O(2n(k+3))O(\ell 2^{n(k+3)}), where nn is the number of states and \ell is the number of observable events, (2) the reverse comparison approach with complexity O((n+m)(k+1)3n)O((n+m)(k+1)3^{n}), where mn2m\leq\ell n^{2} is the number of transitions in an involved NFA, (3) the state estimator approach of Saboori and Hadjicostis (2011) with complexity O((+1)k2n)O(\ell(\ell+1)^{k}2^{n}), (4) the two-way observer approach of Yin and Lafortune (2017) with complexity O(min{n22n,nk2n})O(\min\{n2^{2n},n\ell^{k}2^{n}\}), already corrected by Lan et al. (2020), and (5) the projected automaton approach of Balun and Masopust (2021) of complexity O((k+1)2n(n+m2))O((k+1)2^{n}(n+m\ell^{2})); see also Wintenberg et al. (2022) for more details on the state complexity and an experimental comparison. The reader can see that the complexity of all the algorithms depends on the parameter kk. A partial exception is the two-way observer algorithm that does not depend on the parameter kk if k>2n\ell^{k}>2^{n}, that is, if kk is larger than the number of states divided by the logarithm of the number of observable events.

In this paper, we design a new algorithm verifying weak kk-step opacity, the complexity of which does not depend on the parameter kk. The state complexity of our algorithm is O(n2n)O(n2^{n}) and the time complexity is O((n+m)2n)O((n+m)2^{n}), where nn is the number of states of the input automaton and mn2m\leq\ell n^{2} is the number of transitions of the projected input automaton. Hence, our algorithm is faster than all the existing algorithms, with the exception of a very small parameter kk; namely, if kk is smaller than 2log(n)/log()2\log(n)/\log(\ell), where nn is the number of states of the input automaton and \ell is its number of observable events, then the algorithms based on the state estimator and on the two-way observer are, in the worst-case, faster than our algorithm.

However, Falcone and Marchand (2015) have later noticed that even weak kk-step opacity may not be as confidential as intuitively expected. In particular, the intruder may realize that the system was in a secret state, although it cannot deduce the exact time when this has happened (see an example in Section 4 or in Falcone and Marchand (2015) for more details). This problem motivated Falcone and Marchand (2015) to introduce strong kk-step opacity as the notion of kk-step opacity with a higher level of confidentiality. The idea is that whereas weak kk-step opacity prevents the intruder from revealing the exact time when the system was in a secret state during the last kk observable steps, strong kk-step opacity prevents the intruder from revealing that the system was in a secret state during the last kk observable steps.

Ma et al. (2021) pointed out without proofs that strong and weak kk-step opacity are incomparable in the sense that neither strong kk-step opacity implies weak kk-step opacity nor vice versa. In fact, under the assumption that there are no neutral states (states that are neither secret nor nonsecret), which is assumed in most of the literature, including this paper, strong kk-step opacity implies weak kk-step opacity (see Appendix A for more details).

However, the verification of one type of kk-step opacity cannot be directly used for the verification of the other. We show how to do it indirectly. Namely, we construct a polynomial-time transformation of strong kk-step opacity to weak kk-step opacity, which makes it possible to verify strong kk-step opacity by the algorithms for weak kk-step opacity. In addition, using our new algorithm verifying weak kk-step opacity results in a new algorithm to verify strong kk-step opacity with a lower complexity that does not depend on the parameter kk.

2 Preliminaries

We assume that the reader is familiar with discrete-event systems, see Cassandras and Lafortune (2021) for more details. For a set SS, |S||S| denotes the cardinality of SS, and 2S2^{S} denotes the power set of SS. An alphabet Σ\Sigma is a finite nonempty set of events. A string over Σ\Sigma is a sequence of events from Σ\Sigma; the empty string is denoted by ε\varepsilon. The set of all finite strings over Σ\Sigma is denoted by Σ\Sigma^{*}. A language LL over Σ\Sigma is a subset of Σ\Sigma^{*}. For a string uΣu\in\Sigma^{*}, |u||u| denotes the length of uu.

A nondeterministic finite automaton (NFA) over an alphabet Σ\Sigma is a structure G=(Q,Σ,δ,I,F)G=(Q,\Sigma,\delta,I,F), where QQ is a finite set of states, IQI\subseteq Q is a nonempty set of initial states, FQF\subseteq Q is a set of marked states, and δ:Q×Σ2Q\delta\colon Q\times\Sigma\to 2^{Q} is a transition function that can be extended to the domain 2Q×Σ2^{Q}\times\Sigma^{*} by induction; we often consider the transition function δ\delta as the corresponding relation δQ×Σ×Q\delta\subseteq Q\times\Sigma\times Q. In addition, for a set SΣS\subseteq\Sigma^{*}, we define δ(Q,S)=sSδ(Q,s)\delta(Q,S)=\cup_{s\in S}\,\delta(Q,s). For a set Q0QQ_{0}\subseteq Q, the set Lm(G,Q0)={wΣδ(Q0,w)F}L_{m}(G,Q_{0})=\{w\in\Sigma^{*}\mid\delta(Q_{0},w)\cap F\neq\emptyset\} is the language marked by GG from the states of Q0Q_{0}, and L(G,Q0)={wΣδ(Q0,w)}L(G,Q_{0})=\{w\in\Sigma^{*}\mid\delta(Q_{0},w)\neq\emptyset\} is the language generated by GG from the states of Q0Q_{0}. The languages marked and generated by GG are defined as Lm(G)=Lm(G,I)L_{m}(G)=L_{m}(G,I) and L(G)=L(G,I)L(G)=L(G,I), respectively. The NFA GG is deterministic (DFA) if |I|=1|I|=1 and |δ(q,a)|1|\delta(q,a)|\leq 1 for every qQq\in Q and aΣa\in\Sigma. In this case, we identify the singleton I={q0}I=\{q_{0}\} with its element q0q_{0}, and simply write G=(Q,Σ,δ,q0,F)G=(Q,\Sigma,\delta,q_{0},F) instead of G=(Q,Σ,δ,{q0},F)G=(Q,\Sigma,\delta,\{q_{0}\},F).

A discrete-event system (DES) GG over Σ\Sigma is an NFA over Σ\Sigma together with the partition of Σ\Sigma into Σo\Sigma_{o} and Σuo\Sigma_{uo} of observable and unobservable events, respectively. If we want to specify that the DES is modeled by a DFA, we talk about deterministic DES. If the marked states are irrelevant, we omit them and simply write G=(Q,Σ,δ,I)G=(Q,\Sigma,\delta,I).

The state estimation is modeled by projection P:ΣΣoP\colon\Sigma^{*}\to\Sigma_{o}^{*}, which is a morphism for concatenation defined by P(a)=εP(a)=\varepsilon if aΣuoa\in\Sigma_{uo}, and P(a)=aP(a)=a if aΣoa\in\Sigma_{o}. The action of PP on a string a1a2ana_{1}a_{2}\cdots a_{n} is to erase all unobservable events, that is, P(a1a2an)=P(a1)P(a2)P(an)P(a_{1}a_{2}\cdots a_{n})=P(a_{1})P(a_{2})\cdots P(a_{n}). The definition can be readily extended to languages.

Let GG be a DES over Σ\Sigma, and let P:ΣΣoP\colon\Sigma^{*}\to\Sigma_{o}^{*} be the corresponding projection. The projected automaton of GG is the NFA P(G)P(G) obtained from GG by replacing every transition (p,a,q)(p,a,q) by (p,P(a),q)(p,P(a),q), followed by the standard elimination of the ε\varepsilon-transitions. In particular, if δ\delta is the transition function of GG, then the transition function γ:Q×Σo2Q\gamma\colon Q\times\Sigma_{o}\to 2^{Q} of P(G)P(G) is defined as γ(q,a)=δ(q,P1(a))\gamma(q,a)=\delta(q,P^{-1}(a)). The projected automaton P(G)P(G) is an NFA over Σo\Sigma_{o} with the same states as GG that recognizes the language P(Lm(G))P(L_{m}(G)) and that can be constructed in polynomial time, see Hopcroft et al. (2006).

We call the DFA constructed from P(G)P(G) by the standard subset construction a full observer of GG. The accessible part of the full observer of GG is called an observer of GG, cf. Cassandras and Lafortune (2021). The full observer has exponentially many states compared with GG. In the worst case, the same holds for the observer as well, see Wong (1998); Jirásková and Masopust (2012) for more details.

For two DESs Gi=(Qi,Σ,δi,Ii)G_{i}=(Q_{i},\Sigma,\delta_{i},I_{i}), i=1,2i=1,2, over the common alphabet Σ\Sigma, the product automaton of G1G_{1} and G2G_{2} is defined as the DES G1×G2=(Q1×Q2,Σ,δ,I1×I2)G_{1}\times G_{2}=(Q_{1}\times Q_{2},\Sigma,\delta,I_{1}\times I_{2}), where δ((q1,q2),a)=δ1(q1,a)×δ2(q2,a)\delta((q_{1},q_{2}),a)=\delta_{1}(q_{1},a)\times\delta_{2}(q_{2},a), for every pair of states (q1,q2)Q1×Q2(q_{1},q_{2})\in Q_{1}\times Q_{2} and every event aΣa\in\Sigma. Notice that the definition does not restrict the state space of the product automaton to its reachable part.

3 Verification of Weak k-Step Opacity

In this section, we recall the definition of weak kk-step opacity for DESs, and design a new algorithm to verify weak kk-step opacity. To this end, we denote by ={}\mathbb{N}_{\infty}=\mathbb{N}\cup\{\infty\} the set of all nonnegative integers together with their limit. For kk\in\mathbb{N}_{\infty}, weak kk-step opacity asks whether the intruder cannot reveal the secret of a system in the current and kk subsequent states.

Definition 1.

Given a DES G=(Q,Σ,δ,I)G=(Q,\Sigma,\delta,I) and kk\in\mathbb{N}_{\infty}. System GG is weakly kk-step opaque (kk-SO) with respect to the sets QSQ_{S} of secret and QNSQ_{NS} of nonsecret states and observation P:ΣΣoP\colon\Sigma^{*}\to\Sigma_{o}^{*} if for every string stL(G)st\in L(G) with |P(t)|k|P(t)|\leq k and δ(δ(I,s)QS,t)\delta(\delta(I,s)\cap Q_{S},t)\neq\emptyset, there exists a string stL(G)s^{\prime}t^{\prime}\in L(G) such that P(s)=P(s)P(s)=P(s^{\prime}), P(t)=P(t)P(t)=P(t^{\prime}), and δ(δ(I,s)QNS,t)\delta(\delta(I,s^{\prime})\cap Q_{NS},t^{\prime})\neq\emptyset.

{algorithm}

  Verification of weak kk-step opacity

 
1:A DES G=(Q,Σ,δ,I)G=(Q,\Sigma,\delta,I), QS,QNSQQ_{S},Q_{NS}\subseteq Q, ΣoΣ\Sigma_{o}\subseteq\Sigma, and kk\in\mathbb{N}_{\infty}.
2:true if and only if GG is weakly kk-step opaque with respect to QSQ_{S}, QNSQ_{NS}, and P:ΣΣoP\colon\Sigma^{*}\to\Sigma_{o}^{*}
3:Set Y:=Y:=\emptyset
4:Compute the observer GobsG^{obs} of GG
5:Compute the projected automaton P(G)P(G) of GG
6:for every state XX of GobsG^{obs} do
7:     for every state xXQSx\in X\cap Q_{S} do
8:         add state (x,XQNS)(x,X\cap Q_{NS}) to set YY
9:     end for
10:end for
11:Construct HH as the part of the full observer of GG accessible from the states of the second components of YY
12:Compute the product automaton 𝒞=P(G)×H\operatorname{\mathcal{C}}=P(G)\times H
13:Use the Breadth-First Search (BFS) of Algorithm 3 to mark all states of 𝒞\operatorname{\mathcal{C}} reachable from the states of YY in at most kk steps
14:if 𝒞\operatorname{\mathcal{C}} contains a marked state of the form (q,)(q,\emptyset) then
15:     return false
16:else
17:     return true
18:end if

 

Algorithm 3 describes our new algorithm verifying weak kk-step opacity. The idea of the algorithm is as follows. We first compute the observer of GG, denoted by GobsG^{obs}, and the projected automaton of GG, denoted by P(G)P(G). Then, for every reachable state XX of GobsG^{obs}, we add the pairs (x,XQNS)(x,X\cap Q_{NS}) to the set YY, where xx is a secret state of XX and XQNSX\cap Q_{NS} is the set of all nonsecret states of XX. Intuitively, in these states, the intruder estimates that GG may be in the secret state xx or in the nonsecret states of XQNSX\cap Q_{NS}. To verify that the intruder does not reveal the secret state, we need to check that every possible path of length up to kk starting in xx is accompanied by a path with the same observation starting in a nonsecret state of XQNSX\cap Q_{NS}. To this end, we construct the automaton HH as the part of the full observer of GG consisting only of states reachable from the states forming the second components of the pairs in YY, and the automaton 𝒞=P(G)×H\operatorname{\mathcal{C}}=P(G)\times H as the product automaton of the projected automaton of GG and HH. In 𝒞\operatorname{\mathcal{C}}, all transitions are observable, and every path from a secret state xx is synchronized with all the possible paths with the same observation starting in the states of XQNSX\cap Q_{NS}. Thus, if there is a path from the secret state xx of length up to kk that is not accompanied by a path with the same observation from a state of XQNSX\cap Q_{NS}, then this path from the state xx in P(G)P(G) ends up in a state, say, qq, whereas all paths in HH with the same observation from the state XQNSX\cap Q_{NS} end up in the state \emptyset. Here, XQNSX\cap Q_{NS} and \emptyset are understood as the states of the full observer of GG. Thus, if the DES GG is not weakly kk-step opaque, there is a state of YY from which a state of the from (q,)(q,\emptyset) is reachable in at most kk steps. Therefore, we search the automaton 𝒞\operatorname{\mathcal{C}} and mark all its states that are reachable from a state of YY in at most kk steps. If a state of the from (q,)(q,\emptyset) is marked, then GG is not weakly kk-step opaque; otherwise, it is.

We prove the correctness of Algorithm 3 and analyze its complexity in detail below. Intuitively, the correctness follows from the fact that the BFS visits all nodes at distance dd before visiting any nodes at distance d+1d+1. In other words, all states of 𝒞\operatorname{\mathcal{C}} reachable from the states of YY in at most kk steps are visited (and marked) before any state at distance k+1k+1. The implementation of the BFS is, however, the key step to obtain the claimed complexity. Namely, the classical BFS of Cormen et al. (2009) maintains an array to store the shortest distances (aka the number of hops) of every node to an initial node. Since storing a number less than or equal to kk requires log(k)\log(k) bits, using the classical BFS requires the space of size O(log(k)n2n)O(\log(k)n2^{n}) to store the shortest distance of every state of 𝒞\operatorname{\mathcal{C}} to a state of YY, because 𝒞\operatorname{\mathcal{C}} has O(n2n)O(n2^{n}) states.

For our purposes, we do not need to know the shortest distance of every state to a state of YY, but we rather need to keep track of the number of hops from the states of YY made so far.

We can achieve this by modifying the classical BFS so that we do not store the shortest distances for every state of 𝒞\operatorname{\mathcal{C}}, but only the current distance. We store the current distance in the queue used by the BFS, see Algorithm 3. In particular, we first push number 0 to the queue, followed by all the states of YY. Assuming that k>0k>0, number 0 is processed in such a way that it is dequeued from the queue, and number 1 is enqueued. After processing all the states of YY from the queue, that is, having number 1 at the head of the queue, we know that all the elements of the queue after number 1 are the states at distance one from the states of YY and not less. The algorithm proceeds this way until it has either visited all the states of 𝒞\operatorname{\mathcal{C}} or the number stored in the queue is kk. The algorithm marks all states of 𝒞\operatorname{\mathcal{C}} that it visits.

This approach requires to store only one log(k)\log(k)-bit number at a time rather than n2nn2^{n} such numbers, and hence the complexity of the algorithm then basically follows from the fact that the distance is bounded by the number of states of 𝒞\operatorname{\mathcal{C}}, and not by the parameter kk.

Since Algorithm 3 is a minor modification of the BFS of Cormen et al. (2009), very similar arguments show its correctness and complexity. For this reason, we do not further discuss the correctness and complexity of Algorithm 3.

{algorithm}

  The Breadth-First Search used in Algorithm 3

 
1:A DES G=(V,Σ,δ,I)G=(V,\Sigma,\delta,I), a set SVS\subseteq V, kk\in\mathbb{N}_{\infty}
2:GG with all states at distance at most kk from the states of YY marked
3:Initialize the queue Q:=Q:=\emptyset
4:Enqueue number 0 to QQ
5:Mark every node sSs\in S and enqueue it to QQ
6:Color every node uVSu\in V-S white
7:while QQ\neq\emptyset do
8:     u:=u:= Dequeue(Q)(Q)
9:     if uVu\notin V and u=ku=k then
10:         Terminate, states at distance k\leq k were visited
11:     else if uVu\notin V and u<ku<k then
12:         Enqueue u+1u+1 to QQ
13:     else if uVu\in V is a state of GG then
14:         for every state vv reachable in one step from uu do
15:              if the color of vv is white then
16:                  Mark state vv and enqueue it to QQ
17:              end if
18:         end for
19:         Color uu black
20:     end if
21:end while

 

Before we prove Theorem 2 below showing that GG is weakly kk-step opaque if and only if no state of the form (,)(\cdot,\emptyset) is marked in 𝒞\operatorname{\mathcal{C}}, we illustrate Algorithm 3 in the following two examples.

In the first example, we consider one-step opacity of the DES GG depicted in Figure 1(a) where all events are observable, state 22 is secret, and state 44 is nonsecret. The other states are neutral, meaning that they are neither secret nor nonsecret.111The meaning of neutral states is not yet clear in the literature. They are fundamental in language-based opacity, but questionable in state-based opacity. In any case, we cannot simply handle neutral states as nonsecret states. The observer GobsG^{obs} of GG is depicted in Figure 1(b).

Refer to caption
(a)
Refer to caption
(b)
Figure 1: A DES GG (a) and the observer GobsG^{obs} (b), the solid part. The automaton HH forming the relevant part of the full observer of GG is obtained from GobsG^{obs} by adding the dashed part; neither state \emptyset nor the missing transitions to it are depicted in GobsG^{obs} and HH.

Since GG has no unobservable events, the projected automaton P(G)=GP(G)=G. Now, only the state X={2,4}X=\{2,4\} of GobsG^{obs} contains a secret state, and hence intersecting it with QSQ_{S} results in the set Y={(2,{4})}Y=\{(2,\{4\})\}. Notice that state {4}\{4\} is not in the observer GobsG^{obs}, and therefore we need to add it to HH together with all the states that are reachable from state {4}\{4\} in the full observer of GG. The resulting automaton HH is depicted in Figure 1(b) and is formed by the observer GobsG^{obs} together with the dashed state {4}\{4\} and the dashed transition from {4}\{4\} to {5}\{5\}. Notice that, by the definition of the (full) observer, all the missing transitions in Figure 1(b) indeed lead to state \emptyset, for instance, δ({1},b)=δ({5},a)=\delta(\{1\},b)=\delta(\{5\},a)=\emptyset. However, to keep the figures simple, we do not depict state \emptyset and the transitions to state \emptyset. The marked part of the automaton 𝒞1=P(G)×H\operatorname{\mathcal{C}}_{1}=P(G)\times H reachable from the states of YY in at most one step is depicted in Figure 2. Since state (3,)(3,\emptyset) is marked in 𝒞1\operatorname{\mathcal{C}}_{1}, GG is not one-step opaque; indeed, observing the string abab, the intruder reveals that GG must have been in the secret state 22 one step ago.

Refer to caption
Figure 2: The reachable part of 𝒞1\operatorname{\mathcal{C}}_{1}, where the single state of YY is denoted by the little arrow.

To illustrate an affirmative case, we again consider the DES GG, but this time we assume that the event cc is unobservable. We denote by G~\tilde{G} the DES GG where events a,ba,b are observable, the event cc is unobservable, state 22 is secret, and state 44 is nonsecret. The projected automaton P(G~)P(\tilde{G}) and the observer G~obs\tilde{G}^{obs} are depicted in Figure 3. The only state of G~obs\tilde{G}^{obs} containing a secret state is the state X={2,4,5}X=\{2,4,5\}, which results in the set Y={(2,{4})}Y=\{(2,\{4\})\}. Again, state {4}\{4\} is not in G~obs\tilde{G}^{obs}, and hence we construct the relevant part H~\tilde{H} of the full observer of G~\tilde{G} by extending G~obs\tilde{G}^{obs} by state {4}\{4\} and all the reachable states from it. The result (without state \emptyset and the transitions to state \emptyset) is depicted in Figure 3(b), both the solid and the dashed part. The marked part of 𝒞2=P(G~)×H~\operatorname{\mathcal{C}}_{2}=P(\tilde{G})\times\tilde{H} is depicted in Figure 4. Since no state of the form (,)(\cdot,\emptyset) is marked in 𝒞2\operatorname{\mathcal{C}}_{2}, G~\tilde{G} is one-step opaque.

Refer to caption
(a)
Refer to caption
(b)
Figure 3: The automaton P(G~)P(\tilde{G}) (a) and the observer G~obs\tilde{G}^{obs} (b), the solid part. The automaton H~\tilde{H} forming the relevant part of the full observer of G~\tilde{G} is obtained from G~obs\tilde{G}^{obs} by adding the dashed part; neither state \emptyset nor the missing transitions to it are depicted in GobsG^{obs} and HH.
Refer to caption
Figure 4: The reachable part of 𝒞2\operatorname{\mathcal{C}}_{2}, where the single state of YY is denoted by the little arrow.

We now prove the correctness of our algorithm.

Theorem 2.

A DES GG is weakly kk-step opaque with respect to QSQ_{S}, QNSQ_{NS}, and PP if and only if Algorithm 3 returns true.

Proof 3.1.

If G=(Q,Σ,δ,I)G=(Q,\Sigma,\delta,I) is not weakly kk-step opaque, then there is stL(G)st\in L(G) such that |P(t)|k|P(t)|\leq k, δ(δ(I,s)QS,t)\delta(\delta(I,s)\cap Q_{S},t)\neq\emptyset, and δ(δ(I,P1P(s))QNS,P1P(t))=\delta(\delta(I,P^{-1}P(s))\cap Q_{NS},P^{-1}P(t))=\emptyset. We have two cases.

(i) If δ(I,P1P(s))QNS=\delta(I,P^{-1}P(s))\cap Q_{NS}=\emptyset, then GG is not weakly kk-step opaque. Algorithm 3 detects this case, because for the state X=δ(I,P1P(s))X=\delta(I,P^{-1}P(s)) of the observer of GG, we have that XQSδ(I,s)QSX\cap Q_{S}\supseteq\delta(I,s)\cap Q_{S}\neq\emptyset and XQNS=X\cap Q_{NS}=\emptyset, and hence there is qXQSq\in X\cap Q_{S} resulting in adding the pair (q,)(q,\emptyset) to the set YY in line 8.

(ii) If δ(I,P1P(s))QNS=Z\delta(I,P^{-1}P(s))\cap Q_{NS}=Z\neq\emptyset, then all pairs of the form (δ(I,P1P(s))QS)×{Z}(\delta(I,P^{-1}P(s))\cap Q_{S})\times\{Z\} are added to YY. Since δ(δ(I,s)QS,t)\delta(\delta(I,s)\cap Q_{S},t)\neq\emptyset, there is a pair (z,Z)Y(z,Z)\in Y such that generating the string P(t)P(t) in the automaton P(G)P(G) from state zz changes the state to a state qq. On the other hand, δ(Z,P1P(t))=\delta(Z,P^{-1}P(t))=\emptyset implies that generating P(t)P(t) in the full observer of GG from state ZZ changes the state to state \emptyset, and hence the pair (q,)(q,\emptyset) is reachable in 𝒞\operatorname{\mathcal{C}} from the state (z,Z)Y(z,Z)\in Y in at most |P(t)|k|P(t)|\leq k steps. In both cases, Algorithm 3 marks (q,)(q,\emptyset), and returns false.

On the other hand, if GG is weakly kk-step opaque, we show that no pair of the form (q,)(q,\emptyset) is reachable in 𝒞\operatorname{\mathcal{C}} from a state of YY in at most kk steps. For the sake of contradiction, we assume that a pair (q,)(q,\emptyset) is marked in 𝒞\operatorname{\mathcal{C}}. However, this means that, in GG, there is a string ss and a state zQz\in Q such that zδ(I,s)QSz\in\delta(I,s)\cap Q_{S}, the state of the observer of GG reached under the string P(s)P(s) is X=δ(I,P1P(s))X=\delta(I,P^{-1}P(s)), and, for Z=XQNSZ=X\cap Q_{NS}, the pair (q,)(q,\emptyset) is reachable in 𝒞\operatorname{\mathcal{C}} from the pair (z,Z)Y(z,Z)\in Y by a string wΣow\in\Sigma_{o}^{*} of length at most kk. In particular, there is a string tP1(w)t\in P^{-1}(w) such that when GG generates tt, it changes its state from zz to qq. Therefore, qδ(δ(I,s)QS,t)q\in\delta(\delta(I,s)\cap Q_{S},t)\neq\emptyset. However, δ(δ(I,P1P(s))QNS,P1(w))=δ(Z,P1(w))=\delta(\delta(I,P^{-1}P(s))\cap Q_{NS},P^{-1}(w))=\delta(Z,P^{-1}(w))=\emptyset, because generating ww in 𝒞\operatorname{\mathcal{C}} changes the pair (z,Z)(z,Z) to (q,)(q,\emptyset), and hence the full observer of GG changes its state from ZZ to \emptyset when generating ww. This shows that GG is not weakly kk-step opaque, which is a contradiction.

We now discuss the complexity of our algorithm.

Theorem 3.

The space and time complexity of Algorithm 3 is O(n2n)O(n2^{n}) and O((n+m)2n)O((n+m)2^{n}), respectively, where nn is the number of states of the input DES GG and mm is the number of transitions of P(G)P(G). In particular, mn2m\leq\ell n^{2}, where \ell is the number of observable events.

Proof 3.2.

Computing the observer and the projected NFA of GG, lines 4 and 5, takes time O(2n)O(\ell 2^{n}) and O(m+n)O(m+n), respectively. The cycle on lines 610 takes time O(n2n)O(n2^{n}). Constructing the part HH of the full observer of GG, line 11, takes time O(2n)O(\ell 2^{n}). Constructing 𝒞\operatorname{\mathcal{C}}, line 12, takes time O(n2n+m2n)O(n2^{n}+m2^{n}), where O(n2n)O(n2^{n}) is the number of states and O(m2n)O(m2^{n}) is the number of transitions of 𝒞\operatorname{\mathcal{C}}. The bounds come from the fact that we create at most 2n2^{n} copies of the automaton P(G)P(G). The BFS takes time linear in the size of 𝒞\operatorname{\mathcal{C}}, and the condition of line 13 can be processed during the BFS. Since mm\geq\ell, the proof is complete.

We now briefly review the complexity of existing algorithms verifying weak kk-step opacity. First, notice that the complexity of existing algorithms is exponential, which seems unavoidable because the problem is PSpace-complete, see Balun and Masopust (2021, 2022a) for more details.222It is a long-standing open problem of computer science whether PSpace-complete problems can be solved in polynomial time. In particular, Saboori and Hadjicostis (2011) designed an algorithm with complexity O((+1)k2n)O(\ell(\ell+1)^{k}2^{n}), where nn is the number of states and \ell is the number of observable events. Considering the verification of weak \infty-step opacity, Saboori and Hadjicostis (2012) designed an algorithm with complexity O(2n2+n)O(\ell 2^{n^{2}+n}). Yin and Lafortune (2017) introduced the notion of a two-way observer and applied it to the verification of weak kk-step opacity with complexity O(min{n22n,nk2n})O(\min\{n2^{2n},n\ell^{k}2^{n}\}), and to the verification of weak \infty-step opacity with complexity O(n22n)O(n2^{2n}); the formulae already include a correction by Lan et al. (2020). Balun and Masopust (2021) designed algorithms verifying weak kk-step opacity and weak \infty-step opacity with complexities O((k+1)2n(n+m2))O((k+1)2^{n}(n+m\ell^{2})) and O((n+m)2n)O((n+m\ell)2^{n}), respectively, where mn2m\leq\ell n^{2} is the number of transitions in the projected automaton. These algorithms outperform the two-way observer if kk is polynomial in nn or larger than 2n22^{n}-2, since weak (2n2)(2^{n}-2)-step opacity and weak \infty-step opacity coincide, see Yin and Lafortune (2017). Wintenberg et al. (2022) discussed and experimentally compared four approaches to the verification of weak kk-step opacity based on (i) the secret observer, (ii) the reverse comparison, (iii) the state estimator, and (iv) the two-way observer. Their respective state complexities are O(2n(k+3))O(2^{n(k+3)}), O(n(k+1)3n)O(n(k+1)3^{n}), O((+1)k2n)O((\ell+1)^{k}2^{n}), and O(min{2n,k}2n)O(\min\{2^{n},\ell^{k}\}2^{n}).333The state complexity of the two-way observer is correct. The correction of Lan et al. (2020) consists in adding a time bound to compute the intersection of two sets, and hence it does not influence the number of states.

Notice that these bounds are formulated only in the number of states of the constructed automata, disregarding the number of transitions and the time of the construction. Therefore, the time-complexity bounds differ from the state-complexity bounds at least by the factor of \ell, if the constructed automata are deterministic, or by a factor of mn2m\leq\ell n^{2} if the construction of the automaton involves an NFA, such as in the case of the reverse comparison. Namely, the time-complexity bounds are O(2n(k+3))O(\ell 2^{n(k+3)}) for the secret observer, where nn is the number of states and \ell is the number of observable events, O((n+m)(k+1)3n)O((n+m)(k+1)3^{n}) for the reverse comparison, where mn2m\leq\ell n^{2} is the number of transitions in an involved NFA, O((+1)k2n)O(\ell(\ell+1)^{k}2^{n}) for the state estimator, and O(min{n22n,nk2n})O(\min\{n2^{2n},n\ell^{k}2^{n}\}) for the two-way observer.

As the reader may notice, the above complexities depend on the parameter kk. A partial exception is the two-way observer that does not depend on kk if k2n\ell^{k}\geq 2^{n}, that is, if kk is larger than the number of states divided by the logarithm of the number of observable events.

Since the complexity of Algorithm 3 is O((n+m)2n)O((n+m)2^{n}), where nn is the number of states of the input DES GG and mn2m\leq\ell n^{2} is the number of transitions of the projected automaton of GG, it does not depend on the parameter kk and, in general, outperforms the existing algorithms. An exception is the case of a very small parameter kk. In particular, if k<2log(n)/log()k<2\log(n)/\log(\ell), the algorithms based on the state estimator and on the two-way observer are, in the worst-case, faster than our algorithm. Notice that this theoretical result agrees with the experimental results of Wintenberg et al. (2022).

4 Verification of Strong k-Step Opacity

Although weak kk-step opacity seems confidential enough, Falcone and Marchand (2015) have pointed out that it is actually not as confidential as intuitively expected. Namely, the intruder may realize that the system previously was in a secret state, though it is not able to deduce the exact time when that happened, see Falcone and Marchand (2015) for more details and examples. Consequently, they defined strong kk-step opacity as a variation of kk-step opacity with a higher level of confidentiality.

Before we recall the definition of strong kk-step opacity as formulated by Falcone and Marchand (2015), we illustrate the problem with weak kk-step opacity. To this end, we consider the system depicted in Figure 5, where state 22 is secret and the other states are nonsecret, and where the event aa is observable and the event uu is unobservable. Observing the string aaaa, the intruder realizes that the system must have been in the secret state 22, though it cannot say whether it was one or two steps ago. Actually, even observing the string aa already reveals that the system currently is or one step ago was in the secret state 22.

Refer to caption
Figure 5: A deterministic DES that is not confidential enough. The secret state is double circled.

In accordance with Falcone and Marchand (2015), we consider strong kk-step opacity only for deterministic DES where all states that are not secret are nonsecret, that is, QNS=QQSQ_{NS}=Q-Q_{S}. It means that every state has its own secret/nonsecret status and there are no neutral states.

Definition 4.

Given a deterministic DES G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}) and kk\in\mathbb{N}_{\infty}. System GG is strongly kk-step opaque (kk-SSO) with respect to the set QSQ_{S} of secret states and observation P:ΣΣoP\colon\Sigma^{*}\to\Sigma_{o}^{*} if for every string sL(G)s\in L(G), there exists a string wL(G)w\in L(G) such that P(s)=P(w)P(s)=P(w) and for every prefix ww^{\prime} of ww, if |P(w)||P(w)|k|P(w)|-|P(w^{\prime})|\leq k, then δ(q0,w)QS\delta(q_{0},w^{\prime})\notin Q_{S}.

Notice that whereas weak kk-step opacity prevents the intruder from revealing the exact time when the system was in a secret state during the last kk observable steps, strong kk-step opacity prevents the intruder from revealing that the system was in a secret state during the last kk observable steps.

For an illustration, we again consider the system depicted in Figure 5, where state 22 is secret and event uu is unobservable. The system is weakly one-step opaque, but not strongly one-step opaque, because for s=auas=aua, the only ww with the same observation as ss is w=auaw=aua, and hence the prefixes ww^{\prime} for which |P(w)||P(w)|1|P(w)|-|P(w^{\prime})|\leq 1 are the strings w=aw^{\prime}=a, w=auw^{\prime}=au, and w=auaw^{\prime}=aua. However, for w=aw^{\prime}=a, we obtain that δ(1,a)=2QS\delta(1,a)=2\in Q_{S}, which violates the definition of strong one-step opacity.

In fact, the system is neither strongly 0-step opaque, because for s=aus=au, the only ww with the same observation as ss are the strings auau and aa, and therefore the prefixes ww^{\prime} for which |P(w)||P(w)|0|P(w)|-|P(w^{\prime})|\leq 0 is either w=aw^{\prime}=a or w=auw^{\prime}=au. However, for w=aw^{\prime}=a, we obtain that δ(1,a)=2QS\delta(1,a)=2\in Q_{S}, which violates the definition of strong 0-step opacity. On the other hand, the system is obviously current-state opaque. Consequently, the notions of strong 0-step opacity and current-state opacity444Current-state opacity is a synonym for weak 0-step opacity. do not coincide.

We show in Theorem 8 below that unobservable transitions from secret states to nonsecret states, as in our example, are the only issues making the difference between strong 0-step opacity and weak 0-step (current-state) opacity. To this end, we define the notion of a normal DES.

4.1 Normalization

In what follows, we call the systems where there are no unobservable transitions from secret states to nonsecret states normal. For systems that are not normal, we provide a construction to normalize them, that is, we eliminate unobservable transitions from secret states to nonsecret states without affecting the property of being strongly kk-step opaque.

Construction 5.

Let G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}) be a deterministic DES, kk\in\mathbb{N}_{\infty}, QSQQ_{S}\subseteq Q be the set of secret states, and P:ΣΣoP\colon\Sigma^{*}\to\Sigma_{o}^{*} be the observations. We construct

Gnorm=(Qn,Σ,δn,q0)G_{norm}=(Q_{n},\Sigma,\delta_{n},q_{0})

where Qn=QQQ_{n}=Q\cup Q^{\prime} for Q={qqQ}Q^{\prime}=\{q^{\prime}\mid q\in Q\} being a disjoint copy of QQ, and the transition function δn\delta_{n} is defined as follows. We initialize δn:=δ\delta_{n}:=\delta and further modify it in the following four steps:

  1. 1.

    For every pQSp\in Q_{S}, qQNSq\in Q_{NS}, and uΣuou\in\Sigma_{uo}, we replace the transition (p,u,q)(p,u,q) by (p,u,q)(p,u,q^{\prime}) in δn\delta_{n}.

  2. 2.

    For every unobservable transition (p,u,q)(p,u,q) in δ\delta, that is, uΣuou\in\Sigma_{uo}, we add the transition (p,u,q)(p^{\prime},u,q^{\prime}) to δn\delta_{n}.

  3. 3.

    For every observable transition (q,a,r)(q,a,r) in δ\delta, that is, aΣoa\in\Sigma_{o}, we add the transition (q,a,r)(q^{\prime},a,r) to δn\delta_{n}.

  4. 4.

    We remove unreachable states and corresponding transitions.

The set of secret states of GnormG_{norm} is the set QnS=QSQQ_{n}^{S}=Q_{S}\cup Q^{\prime}. \diamond

In the sequel, we call GnormG_{norm} the normalization of GG. If GG and GnormG_{norm} coincide, we say that GG is normal.

To illustrate Construction 5, consider the system depicted in Figure 6 (left). Its normalization GnormG_{norm} is depicted in the same figure (right). States 22 and 33 of GG are secret, events aa and bb are observable, and uu is unobservable. The normalization GnormG_{norm} of GG initially contains five new secret states 11^{\prime}, 22^{\prime}, 33^{\prime}, 44^{\prime}, 55^{\prime}. Step (1) of Construction 5 replaces transitions (2,u,4)(2,u,4) and (3,u,4)(3,u,4) by (2,u,4)(2,u,4^{\prime}) and (3,u,4)(3,u,4^{\prime}), respectively, step (2) adds four unobservable transitions (1,u,2)(1^{\prime},u,2^{\prime}), (2,u,4)(2^{\prime},u,4^{\prime}), (3,u,4)(3^{\prime},u,4^{\prime}), and (4,u,5)(4^{\prime},u,5^{\prime}), and step (3) adds the observable transitions (1,a,3)(1^{\prime},a,3), (2,a,4)(2^{\prime},a,4), (4,a,5)(4^{\prime},a,5) and (5,b,5)(5^{\prime},b,5). Finally, step (4) eliminates unreachable states 11^{\prime}, 22^{\prime}, 33^{\prime}, and the corresponding transitions.

Refer to caption

\Rightarrow Refer to caption

Figure 6: A deterministic DES GG (left) and its normalization GnormG_{norm} (right). Secret states are double circled.

The following lemma compares the behaviors of GG and its normalization GnormG_{norm}.

Lemma 6.

Let G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}) be a deterministic DES, and let QSQQ_{S}\subseteq Q be the set of secret states. Let GnormG_{norm} be the normalization of GG obtained by Construction 5. Then, for every wΣw\in\Sigma^{*} and aΣa\in\Sigma, the following holds:

  1. 1.

    For aΣuoa\in\Sigma_{uo}, δ(q0,wa)=p\delta(q_{0},wa)=p if and only if δn(q0,wa){p,p}\delta_{n}(q_{0},wa)\in\{p,p^{\prime}\}, where pQp^{\prime}\in Q^{\prime} is a copy of pQp\in Q;

  2. 2.

    For aΣoa\in\Sigma_{o}, δ(q0,wa)=δn(q0,wa)\delta(q_{0},wa)=\delta_{n}(q_{0},wa);

  3. 3.

    L(G)=L(Gnorm)L(G)=L(G_{norm}).

Proof 4.1.

We prove (1) and (2) by induction on the length of ww. The induction hypothesis is that either δ(q0,w)=p=δn(q0,w)\delta(q_{0},w)=p=\delta_{n}(q_{0},w), or δ(q0,w)=p\delta(q_{0},w)=p and δn(q0,w)=p\delta_{n}(q_{0},w)=p^{\prime}.

To prove (1), let aa be unobservable. We first consider the case δ(q0,w)=δn(q0,w)=p\delta(q_{0},w)=\delta_{n}(q_{0},w)=p. First, if pp is nonsecret, Construction 5 adds every transition (p,a,q)δ(p,a,q)\in\delta to δn\delta_{n}. On the other hand, if pp is secret, δn\delta_{n} contains the transition (p,a,q)(p,a,q^{\prime}) for every transition (p,a,q)δ(p,a,q)\in\delta with qQNSq\in Q_{NS}, and the transition (p,a,q)(p,a,q) for every transition (p,a,q)δ(p,a,q)\in\delta with qQSq\in Q_{S}. In both cases, Construction 5 adds no other transition from state pp to δn\delta_{n}, and hence δ(q0,wa)=δ(p,a)=q\delta(q_{0},wa)=\delta(p,a)=q if and only if δn(q0,wa)=δn(p,a){q,q}\delta_{n}(q_{0},wa)=\delta_{n}(p,a)\in\{q,q^{\prime}\}. Notice that this case also covers the base case of the induction, since for w=εw=\varepsilon, δ(q0,w)=δn(q0,w)=q0\delta(q_{0},w)=\delta_{n}(q_{0},w)=q_{0}.

Now, we consider the case δn(q0,w)=p\delta_{n}(q_{0},w)=p^{\prime} and δ(q0,w)=p\delta(q_{0},w)=p. Since Construction 5 adds the transition (p,a,q)(p^{\prime},a,q^{\prime}) to δn\delta_{n} for every unobservable transition (p,a,q)δ(p,a,q)\in\delta, we have that δ(q0,wa)=δ(p,a)=q\delta(q_{0},wa)=\delta(p,a)=q if and only if δn(q0,wa)=δn(p,a)=q\delta_{n}(q_{0},wa)=\delta_{n}(p^{\prime},a)=q^{\prime}.

To prove (2), let aa be observable. We first consider the case δ(q0,w)=δn(q0,w)=p\delta(q_{0},w)=\delta_{n}(q_{0},w)=p. Then, from the state pp, Construction 5 adds to δn\delta_{n} all and only the observable transitions of δ\delta, and hence δ(p,a)=δn(p,a)\delta(p,a)=\delta_{n}(p,a).

Now, we consider the case δn(q0,w)=p\delta_{n}(q_{0},w)=p^{\prime} and δ(q0,w)=p\delta(q_{0},w)=p. Then, Construction 5 adds the transition (p,a,q)(p^{\prime},a,q) to δn\delta_{n} for every observable transition (p,a,q)δ(p,a,q)\in\delta, and therefore δ(q0,wa)=δ(p,a)=δn(p,a)=δn(q0,wa)\delta(q_{0},wa)=\delta(p,a)=\delta_{n}(p^{\prime},a)=\delta_{n}(q_{0},wa).

Finally, L(G)=L(Gnorm)L(G)=L(G_{norm}) of (3) follows from (1) and (2), since, for every wΣw\in\Sigma^{*}, δ(q0,w)\delta(q_{0},w) is undefined if and only if δn(q0,w)\delta_{n}(q_{0},w) is undefined.

The following lemma describes the meaning of normalization and states the main properties of a normalized DES.

Lemma 7.

For a deterministic DES G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}), kk\in\mathbb{N}_{\infty}, the set of secret states QSQ_{S}, and the observation P:ΣΣoP\colon\Sigma^{*}\to\Sigma_{o}^{*}, let GnormG_{norm} be the normalization of GG obtained by Construction 5. Then, the following holds true:

  1. 1.

    GnormG_{norm} is deterministic;

  2. 2.

    In GnormG_{norm}, there is no nonsecret state reachable from a secret state by a sequence of unobservable events, that is, δn(QnS,P1(ε))(QnQnS)=\delta_{n}(Q_{n}^{S},P^{-1}(\varepsilon))\cap(Q_{n}-Q_{n}^{S})=\emptyset;

  3. 3.

    GG is kk-SSO with respect to QSQ_{S} and PP if and only if GnormG_{norm} is kk-SSO with respect to QnSQ_{n}^{S} and PP.

Proof 4.2.

To prove (1)(1), we analyze the steps of Construction 5 creating δn\delta_{n}. First, δn\delta_{n} is defined as δ\delta, which is deterministic. Then, step (1) replaces some unobservable transitions, which is an operation that preserves determinism of δn\delta_{n}. Step (2) adds the transition (p,u,q)(p^{\prime},u,q^{\prime}) for every unobservable transition (p,u,q)(p,u,q) in GG. Similarly, step (3) adds the transition (q,a,p)(q^{\prime},a,p) for every observable transition (q,a,p)(q,a,p) in GG. Since GG is deterministic, steps (2) and (3) preserve determinism. Altogether, GnormG_{norm} is deterministic.

To prove (2)(2), step (1) of Construction 5 replaces all unobservable transitions from a secret state to a nonsecret state by transitions from a secret state to a new secret state. Step (2) adds unobservable transitions only between the new states, which are all secret. Since no unobservable transition is defined from the new states to the old states, there is no nonsecret state in GnormG_{norm} reachable from a secret state by a sequence of unobservable events.

To prove the first direction of (3)(3), we assume that GG is kk-SSO with respect to QSQ_{S} and PP, and show that then GnormG_{norm} is kk-SSO with respect to QnSQ_{n}^{S} and PP. To this end, we show that for every string sL(Gnorm)s\in L(G_{norm}), there exists a string wL(Gnorm)w\in L(G_{norm}) such that P(s)=P(w)P(s)=P(w) and, for every prefix ww^{\prime} of ww, if |P(w)||P(w)|k|P(w)|-|P(w^{\prime})|\leq k, then δn(q0,w)QnS\delta_{n}(q_{0},w^{\prime})\not\in Q_{n}^{S}. Thus, let sL(Gnorm)s\in L(G_{norm}) be an arbitrary string. Then, by Lemma 6, sL(Gnorm)=L(G)s\in L(G_{norm})=L(G), and since GG is kk-SSO with respect to QSQ_{S} and PP, there is a string w~L(G)\tilde{w}\in L(G) such that P(s)=P(w~)P(s)=P(\tilde{w}) and, for every prefix w~\tilde{w}^{\prime} of w~\tilde{w}, if |P(w~)||P(w~)|k|P(\tilde{w})|-|P(\tilde{w}^{\prime})|\leq k, then δ(q0,w~)QS\delta(q_{0},\tilde{w}^{\prime})\not\in Q_{S}. By defining w=w~w=\tilde{w}, we obtain that the string wL(G)=L(Gnorm)w\in L(G)=L(G_{norm}) and that P(s)=P(w)P(s)=P(w). It remains to show that for every prefix ww^{\prime} of ww, if |P(w)||P(w)|k|P(w)|-|P(w^{\prime})|\leq k, then δn(q0,w)QnS\delta_{n}(q_{0},w^{\prime})\not\in Q_{n}^{S}. To this end, let xy=wxy=w be the decomposition of ww, where xx is the shortest prefix of ww such that |P(w)||P(x)|k|P(w)|-|P(x)|\leq k. Then, xx is either empty or ends with an observable event. Hence, by Lemma 6, δ(q0,x)=δn(q0,x)=qQ\delta(q_{0},x)=\delta_{n}(q_{0},x)=q\in Q in GG. However, for every prefix yy^{\prime} of yy, the string xyxy^{\prime} is a prefix of w~\tilde{w} satisfying |P(w~)||P(xy)|k|P(\tilde{w})|-|P(xy^{\prime})|\leq k, and hence δ(q0,xy)QS\delta(q_{0},xy^{\prime})\notin Q_{S}. In other words, the computation of δ(q,y)\delta(q,y) in GG does not go through a secret state, and therefore the same sequence of transitions exists in GnormG_{norm}, that is, δ(q0,xy)=δn(q0,xy)QnS=QSQ\delta(q_{0},xy^{\prime})=\delta_{n}(q_{0},xy^{\prime})\notin Q_{n}^{S}=Q_{S}\cup Q^{\prime}. Since every prefix ww^{\prime} of ww satisfying |P(w)||P(w)|k|P(w)|-|P(w^{\prime})|\leq k is of the form w=xyw^{\prime}=xy^{\prime}, where yy^{\prime} is a prefix of yy, we have shown that δn(q0,w)QnS\delta_{n}(q_{0},w^{\prime})\notin Q_{n}^{S}, which was to be shown.

To prove the other direction, we assume that GG is not kk-SSO with respect to QSQ_{S} and PP, and show that neither the GnormG_{norm} is kk-SSO with respect to QnSQ_{n}^{S} and PP. To this end, let sL(G)s\in L(G) be a string violating kk-SSO in GG; that is, for every wL(G)w\in L(G) such that P(s)=P(w)P(s)=P(w), there exists a prefix ww^{\prime} of ww such that |P(w)||P(w)|k|P(w)|-|P(w^{\prime})|\leq k and δ(q0,w)=qwQS\delta(q_{0},w^{\prime})=q_{w}\in Q_{S}. However, by Lemma 6, wL(Gnorm)=L(G)w\in L(G_{norm})=L(G) and δn(q0,w){qw,qw}\delta_{n}(q_{0},w^{\prime})\in\{q_{w},q_{w}^{\prime}\}. Since both states qw,qwQnS=QSQq_{w},q_{w}^{\prime}\in Q_{n}^{S}=Q_{S}\cup Q^{\prime} are secret in GnormG_{norm}, we conclude that GnormG_{norm} is not kk-SSO with respect to QnSQ_{n}^{S} and PP.

4.2 Weak versus Strong 0-Step Opacity

In this section, we discuss the relationship between strong 0-step opacity and weak 0-step (current-state) opacity for normal deterministic DES. The following result characterizes the relationship between these two notions and fixes the claim of Ma et al. (2021) stating that strong 0-step opacity reduces to current-state opacity, which is not the case as shown in the example of Figure 5.

Theorem 8.

A normal deterministic DES G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}) is strongly 0-step opaque with respect to QSQ_{S} and PP if and only if GG is weakly 0-step opaque with respect to QSQ_{S}, QNS=QQSQ_{NS}=Q-Q_{S}, and PP.

Proof 4.3.

We first assume that G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}) is 0-SSO with respect to QSQ_{S} and PP. To show that GG is 0-SO with respect to QSQ_{S} and PP, let stL(G)st\in L(G) be such that |P(t)|0|P(t)|\leq 0 and δ(q0,s)QS\delta(q_{0},s)\in Q_{S}. Since stL(G)st\in L(G) and GG is deterministic, δ(q0,st)\delta(q_{0},st) is defined. Therefore, we need to show that there is a string stL(G)s^{\prime}t^{\prime}\in L(G) such that P(s)=P(s)P(s)=P(s^{\prime}), P(t)=P(t)P(t)=P(t^{\prime}), and δ(q0,s)QNS=QQS\delta(q_{0},s^{\prime})\in Q_{NS}=Q-Q_{S}. However, since GG is kk-SSO with respect to QSQ_{S} and PP, there is a string wL(G)w\in L(G) such that P(w)=P(st)P(w)=P(st) and, for every prefix ww^{\prime} of ww with |P(w)||P(w)|=0|P(w)|-|P(w^{\prime})|=0, δ(q0,w)QQS\delta(q_{0},w^{\prime})\in Q-Q_{S}. Let ww^{\prime} be any, but fixed, such prefix of ww. We set s=ws^{\prime}=w^{\prime} and st=ws^{\prime}t^{\prime}=w. Then, P(s)=P(w)=P(w)=P(st)=P(s)P(s^{\prime})=P(w^{\prime})=P(w)=P(st)=P(s), P(t)=ε=P(t)P(t^{\prime})=\varepsilon=P(t), and δ(q0,s)=δ(q0,w)QQS=QNS\delta(q_{0},s^{\prime})=\delta(q_{0},w^{\prime})\in Q-Q_{S}=Q_{NS}. Thus, we have shown that GG is 0-SO with respect to QSQ_{S} and PP.555Notice that the proof does not hold if we admit neutral states, that is, QNSQQSQ_{NS}\neq Q-Q_{S}. However, it is not the case in this paper.

For the other direction, we assume that GG is not 0-SSO with respect to QSQ_{S} and PP. To show that GG is neither 0-SO with respect to QSQ_{S} and PP, we need to find a string stL(G)st\in L(G) with |P(t)|0|P(t)|\leq 0 and δ(q0,s)QS\delta(q_{0},s)\in Q_{S} such that, for every string stL(G)s^{\prime}t^{\prime}\in L(G) with P(s)=P(s)P(s)=P(s^{\prime}) and P(t)=P(t)P(t)=P(t^{\prime}), the state δ(q0,s)QS\delta(q_{0},s^{\prime})\in Q_{S}. However, from the assumption that GG is not 0-SSO with respect to QSQ_{S} and PP, we have a string stL(G)st\in L(G) such that δ(q0,s)QS\delta(q_{0},s)\in Q_{S}, |P(t)|0|P(t)|\leq 0, and, for every string wL(G)w\in L(G) with P(st)=P(w)P(st)=P(w), there is a prefix ww^{\prime} of ww such that |P(w)||P(w)|=0|P(w)|-|P(w^{\prime})|=0 and δ(q0,w)QS\delta(q_{0},w^{\prime})\in Q_{S}. To complete the proof, we show that for every stL(G)s^{\prime}t^{\prime}\in L(G) with P(s)=P(s)P(s)=P(s^{\prime}) and P(t)=P(t)P(t)=P(t^{\prime}), the state δ(q0,s)\delta(q_{0},s^{\prime}) is secret. To this end, let xy=stxy=s^{\prime}t^{\prime} be the decomposition of sts^{\prime}t^{\prime} such that yy is the longest suffix of sts^{\prime}t^{\prime} consisting only of unobservable events. Notice that xx is a prefix of ss^{\prime}, because P(t)=P(t)=εP(t^{\prime})=P(t)=\varepsilon. Since P(st)=P(x)P(st)=P(x), there must be a prefix xx^{\prime} of xx such that |P(x)||P(x)|=0|P(x)|-|P(x^{\prime})|=0 and δ(q0,x)QS\delta(q_{0},x^{\prime})\in Q_{S}. However, the last event of xx is observable, and hence the only prefix xx^{\prime} of xx for which |P(x)||P(x)|=0|P(x)|-|P(x^{\prime})|=0 is x=xx^{\prime}=x, and therefore δ(q0,x)=δ(q0,x)QS\delta(q_{0},x)=\delta(q_{0},x^{\prime})\in Q_{S}. Since GG is normal, there are no nonsecret states reachable from the secret state δ(q0,x)\delta(q_{0},x) under a sequence of unobservable events. In particular, δ(q0,s)=δ(q0,xy)QS\delta(q_{0},s^{\prime})=\delta(q_{0},xy^{\prime})\in Q_{S}, where yy^{\prime} is a prefix of yy for which s=xys^{\prime}=xy^{\prime}; recall that yy is the longest suffix of sts^{\prime}t^{\prime} consisting only of unobservable events. Thus, we have shown that GG is not 0-SO.

4.3 Weak versus Strong k-Step Opacity

In this section, we show how to reduce strong kk-step opacity to weak kk-step opacity. In the construction, we assume that GG is a normal deterministic DES. By Lemma 7, this assumption is without loss of generality, because if GG is not normal, then we can consider GnormG_{norm} instead.

Construction 9.

Let G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}) be a normal deterministic DES, P:ΣΣoP\colon\Sigma^{*}\to\Sigma_{o}^{*} be the observation projection, and QSQ_{S} be the set of secret states. We construct

G=(QQNS,Σ{u},δ,q0)G^{\prime}=(Q\cup Q_{NS}^{\prime},\Sigma\cup\{u\},\delta^{\prime},q_{0})

as a disjoint union of GG and Gns=(QNS,Σ,δns,q0)G_{ns}=(Q_{NS}^{\prime},\Sigma,\delta_{ns},q_{0}^{\prime}), where GnsG_{ns} is obtained from GG by removing all secret states and corresponding transitions, and QNS={qqQNS}Q_{NS}^{\prime}=\{q^{\prime}\mid q\in Q_{NS}\} is a copy of QNSQ_{NS} disjoint from QQ. We use a new unobservable event uu to connect GnsG_{ns} to GG so that we initialize δ:=δδns\delta^{\prime}:=\delta\cup\delta_{ns} and extend δ\delta^{\prime} by additional transitions (q,u,q)(q,u,q^{\prime}) for every qQNSq\in Q_{NS}, cf. Figure 7 for an illustration. The states of QNSQ_{NS}^{\prime} are the only nonsecret states of GG^{\prime}, that is, the set of secret states of GG^{\prime} is the set QS=QQ_{S}^{\prime}=Q. Finally, we define the projection P:(Σ{u})ΣoP^{\prime}\colon(\Sigma\cup\{u\})^{*}\to\Sigma_{o}^{*}. \diamond

Refer to caption

\Longrightarrow Refer to caption

Figure 7: An illustration of Construction 9 transforming strong kk-step opacity to weak kk-step opacity.

The following theorem describes the relationship between strong kk-step opacity and weak kk-step opacity, and justifies the correctness of Algorithm 4.4 below.

Theorem 10.

Let G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}) be a normal deterministic DES, and let GG^{\prime} be the DES obtained from GG by Construction 9. Then, GG is strongly kk-step opaque with respect to QSQ_{S} and PP if and only if GG^{\prime} is weakly kk-step opaque with respect to QSQ_{S}^{\prime}, QNSQ_{NS}^{\prime}, and PP^{\prime}, where QSQ_{S}^{\prime}, QNSQ_{NS}^{\prime}, and PP^{\prime} are defined in Construction 9.

Proof 4.4.

For the first implication, we assume that GG is kk-SSO with respect to QSQ_{S} and PP, and we show that GG^{\prime} is kk-SO with respect to QSQ_{S}^{\prime}, QNSQ_{NS}^{\prime}, and PP^{\prime}. To this end, let stL(G)st\in L(G^{\prime}) be such that |P(t)|k|P^{\prime}(t)|\leq k and δ(q0,s)QS\delta^{\prime}(q_{0},s)\in Q_{S}^{\prime}. We need to show that there is a string stL(G)s^{\prime}t^{\prime}\in L(G^{\prime}) such that P(s)=P(s)P^{\prime}(s)=P^{\prime}(s^{\prime}), P(t)=P(t)P^{\prime}(t)=P^{\prime}(t^{\prime}), and δ(q0,s)QNS\delta^{\prime}(q_{0},s^{\prime})\in Q_{NS}^{\prime}.

Let PuP_{u} denote the projection that removes every occurrence of event uu, that is, Pu(a)=aP_{u}(a)=a for aΣa\in\Sigma, and Pu(u)=εP_{u}(u)=\varepsilon. We first show that Pu(st)L(G)P_{u}(st)\in L(G). Indeed, if stst does not contain uu, then Pu(st)=stL(G)P_{u}(st)=st\in L(G). If stst contains uu, then, by the construction of GG^{\prime}, any string of L(G)L(G^{\prime}) contains at most one occurrence of uu. Since δ(q0,s)QS\delta^{\prime}(q_{0},s)\in Q_{S}^{\prime}, we have that uu occurs in tt. Let st=st1ut2st=st_{1}ut_{2}. Then, there are states p,rQp,r\in Q in GG^{\prime} such that δ(q0,st1)=p\delta^{\prime}(q_{0},st_{1})=p, δ(p,u)=p\delta^{\prime}(p,u)=p^{\prime}, and δ(p,t2)=r\delta^{\prime}(p^{\prime},t_{2})=r^{\prime}. However, by the construction, this means that δ(q0,st1)=p\delta(q_{0},st_{1})=p and δ(p,t2)=r\delta(p,t_{2})=r in GG, and hence Pu(st)=st1t2L(G)P_{u}(st)=st_{1}t_{2}\in L(G).

Since GG is kk-SSO with respect to QSQ_{S} and PP, there exists a string wL(G)w\in L(G) such that P(Pu(st))=P(w)P(P_{u}(st))=P(w) and, for every prefix ww^{\prime} of ww, if |P(w)||P(w)|k|P(w)|-|P(w^{\prime})|\leq k, then δ(q0,w)QS\delta(q_{0},w^{\prime})\notin Q_{S}. Since P(st)=P(Pu(st))=P(w)P^{\prime}(st)=P(P_{u}(st))=P(w), we define xy=wxy=w to be a (fixed) decomposition of ww such that P(s)=P(x)P^{\prime}(s)=P(x) and P(t)=P(y)P^{\prime}(t)=P(y). Then, |P(w)||P(x)|=|P(st)||P(s)|=|P(t)|k|P(w)|-|P(x)|=|P^{\prime}(st)|-|P^{\prime}(s)|=|P^{\prime}(t)|\leq k, which implies that δ(q0,x)=δ(q0,x)=q\delta(q_{0},x)=\delta^{\prime}(q_{0},x)=q for some state qq that is not secret in GG. Therefore, the transition (q,u,q)δ(q,u,q^{\prime})\in\delta^{\prime}, and hence δ(q0,xu)=qQNS\delta^{\prime}(q_{0},xu)=q^{\prime}\in Q_{NS}^{\prime}. Since the state δ(q0,xy)QS\delta(q_{0},xy^{\prime})\notin Q_{S} for every prefix yy^{\prime} of yy, because xyxy^{\prime} is a prefix of ww with |P(w)||P(xy)|k|P(w)|-|P(xy^{\prime})|\leq k, the computation of δ(q,y)\delta(q,y) in GG does not go through a secret state. Therefore, the same sequence of transitions is enabled in GG^{\prime} from state qq^{\prime}. Setting now s=xus^{\prime}=xu and t=yt^{\prime}=y implies that P(s)=P(s)P^{\prime}(s)=P^{\prime}(s^{\prime}), P(t)=P(t)P^{\prime}(t)=P^{\prime}(t^{\prime}), δ(q0,s)QNS\delta^{\prime}(q_{0},s^{\prime})\in Q_{NS}^{\prime}, and δ(q0,st)\delta^{\prime}(q_{0},s^{\prime}t^{\prime}) is defined, which proves that GG^{\prime} is weakly kk-step opaque.

To prove the other direction, we assume that GG is not kk-SSO with respect to QSQ_{S} and PP, and we show that GG^{\prime} is not kk-SO with respect to QSQ_{S}^{\prime}, QNSQ_{NS}^{\prime}, and PP^{\prime}. To this end, we need to show that there is a string stL(G)st\in L(G^{\prime}) such that |P(t)|k|P^{\prime}(t)|\leq k, δ(q0,s)QS\delta^{\prime}(q_{0},s)\in Q_{S}^{\prime}, and for every stL(G)s^{\prime}t^{\prime}\in L(G^{\prime}) such that P(s)=P(s)P^{\prime}(s)=P^{\prime}(s^{\prime}) and P(t)=P(t)P^{\prime}(t)=P^{\prime}(t^{\prime}), the state δ(q0,s)QNS\delta^{\prime}(q_{0},s^{\prime})\notin Q_{NS}^{\prime}.

However, since GG is not kk-SSO with respect to QSQ_{S} and PP, there exists a string vL(G)v\in L(G) such that, for every string wL(G)w\in L(G) with P(w)=P(v)P(w)=P(v), there is a prefix ww^{\prime} of ww such that |P(w)||P(w)|k|P(w)|-|P(w^{\prime})|\leq k and δ(q0,w)QS\delta(q_{0},w^{\prime})\in Q_{S}. In particular, there is a prefix vv^{\prime} of vv such that |P(v)||P(v)|k|P(v)|-|P(v^{\prime})|\leq k and δ(q0,v)QS\delta(q_{0},v^{\prime})\in Q_{S}.

Let xy=vxy=v be the decomposition of vv such that yy is the longest suffix of vv containing at most kk observable events. We set s=xs=x and t=yt=y, for which we have that |P(t)|k|P(t)|\leq k, δ(q0,st)\delta^{\prime}(q_{0},st) is defined, and, since neither ss nor tt contains the event uu, the state δ(q0,s)QS\delta^{\prime}(q_{0},s)\in Q_{S}^{\prime}. It remains to show that for every string stL(G)s^{\prime}t^{\prime}\in L(G^{\prime}) with P(s)=P(s)P^{\prime}(s^{\prime})=P^{\prime}(s) and P(t)=P(t)P^{\prime}(t^{\prime})=P^{\prime}(t), the state δ(q0,s)QNS\delta^{\prime}(q_{0},s^{\prime})\notin Q_{NS}^{\prime}. We distinguish two cases.

In the first case, we assume that δ(q0,P1P(s))QNS=\delta(q_{0},P^{-1}P(s))\cap Q_{NS}=\emptyset, and we consider any string stL(G)s^{\prime}t^{\prime}\in L(G^{\prime}) such that P(s)=P(s)P^{\prime}(s^{\prime})=P^{\prime}(s) and P(t)=P(t)P^{\prime}(t^{\prime})=P^{\prime}(t). If ss^{\prime} does not contain the event uu, then sP1P(s)s^{\prime}\in P^{-1}P(s), and therefore δ(q0,s)=δ(q0,s)QSQS\delta^{\prime}(q_{0},s^{\prime})=\delta(q_{0},s^{\prime})\in Q_{S}\subseteq Q_{S}^{\prime}. If, on the other hand, ss^{\prime} contains the event uu, then s=s1us2s^{\prime}=s_{1}us_{2} where neither s1s_{1} nor s2s_{2} contains the event uu. But then δ(q0,s)=r\delta^{\prime}(q_{0},s^{\prime})=r^{\prime}, where rr^{\prime} is a copy of r=δ(q0,s1s2)r=\delta(q_{0},s_{1}s_{2}). Since s1s2P1P(s)s_{1}s_{2}\in P^{-1}P(s), the state r=δ(q0,s1s2)QSr=\delta(q_{0},s_{1}s_{2})\in Q_{S}, and hence rQNSr^{\prime}\notin Q_{NS}^{\prime} by construction. In both cases, δ(q0,s)QNS\delta^{\prime}(q_{0},s^{\prime})\notin Q_{NS}^{\prime}, which was to be shown.

In the second case, let δ(q0,P1P(s))QNS=Z\delta(q_{0},P^{-1}P(s))\cap Q_{NS}=Z\neq\emptyset, and consider any string stL(G)s^{\prime}t^{\prime}\in L(G^{\prime}) with P(s)=P(s)P^{\prime}(s^{\prime})=P^{\prime}(s) and P(t)=P(t)P^{\prime}(t^{\prime})=P^{\prime}(t). Using the projection PuP_{u} removing the event uu, we set z:=Pu(st)L(G)z:=P_{u}(s^{\prime}t^{\prime})\in L(G). Recall that the string stst does not contain the event uu, that is, P(st)=P(st)P^{\prime}(st)=P(st), and therefore P(z)=P(Pu(st))=P(st)=P(st)=P(st)=P(v)P(z)=P(P_{u}(s^{\prime}t^{\prime}))=P^{\prime}(s^{\prime}t^{\prime})=P^{\prime}(st)=P(st)=P(v). Since GG is not kk-SSO with respect to QSQ_{S} and PP, there is a prefix zz^{\prime} of zz such that |P(z)||P(z)|k|P(z)|-|P(z^{\prime})|\leq k and qs:=δ(q0,z)QSq_{s}:=\delta(q_{0},z^{\prime})\in Q_{S}. In particular, by the choice of ss, we have that |P(s)||P(z)||P(s)|\leq|P(z^{\prime})|. Furthermore, GG is normal, and hence there is no nonsecret state reachable from the secret state qsq_{s} by a sequence of unobservable events.

In particular, the prefix Pu(s)P_{u}(s^{\prime}) of the string z=Pu(s)Pu(t)z=P_{u}(s^{\prime})P_{u}(t^{\prime}) satisfies P(Pu(s))=P(s)=P(s)=P(s)P(P_{u}(s^{\prime}))=P^{\prime}(s^{\prime})=P^{\prime}(s)=P(s), where the last equality comes from the fact that ss does not contain the event uu. Then Pu(s)P1P(s)P_{u}(s^{\prime})\in P^{-1}P(s), and hence if δ(q0,Pu(s))QNS\delta(q_{0},P_{u}(s^{\prime}))\in Q_{NS}, then δ(q0,Pu(s))QNSZ\delta(q_{0},P_{u}(s^{\prime}))\in Q_{NS}\cap Z. Thus, assume that δ(q0,Pu(s))QNSZ\delta(q_{0},P_{u}(s^{\prime}))\in Q_{NS}\cap Z. Then, the string Pu(s)P_{u}(s^{\prime}) is a strict prefix of zz^{\prime}; otherwise, if zz^{\prime} was a strict prefix of Pu(s)P_{u}(s^{\prime}), then we would have that |P(z)||P(Pu(s))|=|P(s)||P(z^{\prime})|\leq|P(P_{u}(s^{\prime}))|=|P(s)|, which, together with |P(s)||P(z)||P(s)|\leq|P(z^{\prime})|, would give that |P(z)|=|P(Pu(s))|=|P(s)||P(z^{\prime})|=|P(P_{u}(s^{\prime}))|=|P(s)|, and hence the nonsecret state qns=δ(q0,Pu(s))q_{ns}=\delta(q_{0},P_{u}(s^{\prime})) would be reachable from the secret state qsq_{s} by a sequence of unobservable events, which is a contradiction with the normality of GG. Consequently, generating the string Pu(t)P_{u}(t^{\prime}) from the state qnsq_{ns}, GG must go through the secret state qsq_{s}. In other words, qsq_{s} is reachable from the state qnsq_{ns} by a prefix of Pu(t)P_{u}(t^{\prime}).

Thus, in GG^{\prime}, state δ(q0,s){qns,qns}\delta^{\prime}(q_{0},s^{\prime})\in\{q_{ns},q_{ns}^{\prime}\}, where qnsZ={qqZ}QNSq_{ns}^{\prime}\in Z^{\prime}=\{q^{\prime}\mid q\in Z\}\subseteq Q_{NS}^{\prime}. If δ(q0,s)=qnsQS\delta^{\prime}(q_{0},s^{\prime})=q_{ns}\in Q_{S}^{\prime}, we are done. If δ(q0,s)=qnsQNS\delta^{\prime}(q_{0},s^{\prime})=q_{ns}^{\prime}\in Q_{NS}^{\prime}, we show that δ(qns,t)\delta^{\prime}(q_{ns}^{\prime},t^{\prime}) is undefined, which contradicts the assumption that stL(G)s^{\prime}t^{\prime}\in L(G^{\prime}), and hence δ(q0,s)=qnsQNS\delta^{\prime}(q_{0},s^{\prime})=q_{ns}^{\prime}\in Q_{NS}^{\prime} cannot happen. Indeed, if δ(q0,s)QNS\delta^{\prime}(q_{0},s^{\prime})\in Q_{NS}^{\prime}, then Pu(t)=tP_{u}(t^{\prime})=t^{\prime}. Since the computation of δ(qns,t)=δ(qns,Pu(t))\delta(q_{ns},t^{\prime})=\delta(q_{ns},P_{u}(t^{\prime})) in GG goes through the secret state qsq_{s}, the computation of δ(qns,t)\delta^{\prime}(q_{ns}^{\prime},t^{\prime}) in GG^{\prime} has to go through the state qsq_{s}^{\prime}, which is the primed copy of the state qsq_{s}. But the computation δ(qns,t)\delta^{\prime}(q_{ns}^{\prime},t^{\prime}) is performed in the automaton GnsG_{ns}, which is obtained from GG by removing all secret states and corresponding transitions. Since qsq_{s}^{\prime} is a copy of a secret state, it does not exist in GnsG_{ns}, and hence it does not belong to QNSQ_{NS}^{\prime}. Therefore, δ(qns,t)\delta^{\prime}(q_{ns}^{\prime},t^{\prime}) is undefined.

We have thus shown that GG^{\prime} is not kk-step opaque.

Both Construction 5 and Construction 9 are polynomial and preserve the number of observable events. Therefore, Theorem 10 and the existing results (Balun and Masopust, 2021, Table 1) immediately imply the following result.

Theorem 11.

Deciding whether a given deterministic DES GG is strongly kk-step opaque is (i) coNP-complete if GG has only a single observable event, and (ii) PSpace-complete if GG has at least two observable events.

The motivation to consider the case of a single observable event comes from the timed discrete-event systems framework of Brandin and Wonham (1994), where the only observable event is the tick of the global clock.

4.4 Verifying Strong k-Step Opacity

Theorem 10 gives us a clue how to verify strong kk-step opacity of a given deterministic DES with the help of the verification algorithm for weak kk-step opacity from Section 3. This idea is formulated as Algorithm 4.4. Before analyzing the complexity of Algorithm 4.4 and comparing it with the existing algorithms, we illustrate it by two examples.

{algorithm}

  Verification of strong kk-step opacity

 
1:A deterministic DES G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}), QSQQ_{S}\subseteq Q, ΣoΣ\Sigma_{o}\subseteq\Sigma, and kk\in\mathbb{N}_{\infty}.
2:true if and only if GG is strongly kk-step opaque with respect to QSQ_{S} and P:ΣΣoP\colon\Sigma^{*}\to\Sigma_{o}^{*}
3:Let GnormG_{norm} be the normalization of GG by Construction 5
4:Transform GnormG_{norm} to GG^{\prime} by Construction 9
5:Use Algorithm 3 on GG^{\prime} with the set of secret states QSQ_{S}^{\prime}, the set of nonsecret states QNSQ_{NS}^{\prime}, observable events Σo\Sigma_{o}, and kk
6:return the answer of Algorithm 3

 

Refer to caption

\Longrightarrow Refer to caption

Figure 8: A DES GG (left) and GG^{\prime} (right), which is the result of Construction 9.

As the first example, we adopt the DES GG from Falcone and Marchand (2015) depicted in Figure 8 (left), where events aa, bb, cc are observable, event u1u_{1} is unobservable, and states 44 and 66 are secret. Falcone and Marchand (2015) claimed that GG is strongly one-step opaque. However, it is not the case, as we show by using our transformation to weak kk-step opacity.

Since GG is normal, Algorithm 4.4 proceeds directly to the application of Construction 9, which results in the DES GG^{\prime} depicted in Figure 8 (right). Namely, GG^{\prime} was constructed from GG by adding six new nonsecret states and one new unobservable event u2u_{2}, and by making states 11 through 88 secret, that is, QS={1,2,3,4,5,6,7,8}Q_{S}^{\prime}=\{1,2,3,4,5,6,7,8\} and QNS={1,2,3,5,7,8}Q_{NS}^{\prime}=\{1^{\prime},2^{\prime},3^{\prime},5^{\prime},7^{\prime},8^{\prime}\}. Applying Algorithm 3 to GG^{\prime}, QSQ_{S}^{\prime}, QNSQ_{NS}^{\prime}, Σo={a,b,c}\Sigma_{o}=\{a,b,c\}, and k=1k=1 results in the observer GobsG^{\prime obs} of GG^{\prime} and the automaton HH depicted in Figure 9.

Refer to caption
Figure 9: The observer GobsG^{\prime obs} of GG^{\prime}, the solid part. The automaton HH forming the relevant part of the full observer of GG^{\prime} is obtained from GobsG^{\prime obs} by adding the dashed part; state \emptyset and the transitions to it are not depicted.

The set YY and the part of 𝒞1=P(G)×H\operatorname{\mathcal{C}}_{1}=P(G^{\prime})\times H reachable from the states of YY in one step are depicted in Figure 10. Since, e.g., state (2,)(2,\emptyset) is reachable in 𝒞1\operatorname{\mathcal{C}}_{1} in one step from the state (4,{8})Y(4,\{8^{\prime}\})\in Y, GG^{\prime} is not weakly one-step opaque. By Theorem 10, GG is not strongly one-step opaque. Indeed, observing the string abacabac in GG, the intruder reveals that GG is either in the secret state 66 at that time instant or must have been in the secret state 44 one step ago.

Refer to caption
Figure 10: The part of C1C_{1} consisting of states reachable from the states of YY in one step. The states of YY are denoted by little arrows.

As the second example, we consider the DES G~\tilde{G} obtained from GG by replacing the transitions (4,c,2)(4,c,2) and (8,c,6)(8,c,6) by the transitions (4,c,3)(4,c,3) and (8,c,7)(8,c,7), respectively, see Figure 11.

Refer to caption

\Longrightarrow Refer to caption

Figure 11: A DES G~\tilde{G} (left) and the DES G~\tilde{G}^{\prime} obtained by Construction 9 (right).

Then, Construction 9 results in the DES G~\tilde{G}^{\prime} with Q~S={1,2,3,4,5,6,7,8}\tilde{Q}_{S}^{\prime}=\{1,2,3,4,5,6,7,8\} and Q~NS={1,2,3,5,7,8}\tilde{Q}_{NS}^{\prime}=\{1^{\prime},2^{\prime},3^{\prime},5^{\prime},7^{\prime},8^{\prime}\}. Applying Algorithm 3 to G~\tilde{G}^{\prime}, Q~S\tilde{Q}_{S}^{\prime}, Q~NS\tilde{Q}_{NS}^{\prime}, Σo={a,b,c}\Sigma_{o}=\{a,b,c\}, and k=1k=1 results in the observer G~obs\tilde{G}^{\prime obs} of G~\tilde{G}^{\prime} and the automaton H~\tilde{H} depicted in Figure 12. The set Y~\tilde{Y} and the part of 𝒞2=P(G~)×H~\operatorname{\mathcal{C}}_{2}=P(\tilde{G}^{\prime})\times\tilde{H} reachable from the states of YY in one step are depicted in Figure 13. Since no state of the form (q,)(q,\emptyset) is reachable from a state of Y~\tilde{Y} in one step, G~\tilde{G}^{\prime} is weakly one-step opaque. By Theorem 10, G~\tilde{G} is strongly one-step opaque.

Refer to caption
Figure 12: The observer G~obs\tilde{G}^{\prime obs} of G~\tilde{G}^{\prime}, the solid part. The automaton H~\tilde{H} forming the relevant part of the full observer of G~\tilde{G}^{\prime} is obtained from G~obs\tilde{G}^{\prime obs} by adding the dashed part; state \emptyset and the transitions to it are not depicted.
Refer to caption
Figure 13: The part of C2C_{2} consisting of states reachable from the states of Y~\tilde{Y} in one step. The states of Y~\tilde{Y} are denoted by little arrows.

4.5 Complexity Analysis of Algorithm 4.4

Algorithms verifying strong kk-step opacity have been investigated in the literature. In particular, Falcone and Marchand (2015) designed an algorithm based on a kk-delay trajectory estimation, but they did not analyze its complexity. The complexity analyses in the literature are inconsistent. While Ma et al. (2021) state that the complexity is O(2n2+n)O(\ell 2^{n^{2}+n}), where nn is the number of states and \ell is the number of observable events of the verified deterministic DES, Wintenberg et al. (2022) state that the state complexity is O((+1)k2n)O((\ell+1)^{k}2^{n}). According to (Falcone and Marchand, 2015, Definition 7), however, the kk-delay trajectory estimator has O(2nk+12k)O(2^{n^{k+1}\cdot 2^{k}}) states.

Recently, Ma et al. (2021) designed another algorithm with complexity O(2(k+2)n)O(\ell 2^{(k+2)n}), and even more recently, Wintenberg et al. (2022) discussed and experimentally compared algorithms based on (i) the secret observer with complexity O((k+3)n)O(\ell(k+3)^{n}), on (ii) the reverse comparison with complexity O((n+m)(k+1)2n)O((n+m)(k+1)2^{n}), where mn2m\leq\ell n^{2} is the number of transitions in the involved projected NFA, and on (iii) the construction of the kk-delay trajectory estimator of Falcone and Marchand (2015), which they claim to be of complexity O((+1)k2n)O(\ell(\ell+1)^{k}2^{n}).

We now analyze the complexity of Algorithm 4.4 and show that its worst-case complexity is better than the complexity of existing algorithms. Namely, we show that the space and time complexity of Algorithm 4.4 is O(n2n)O(n2^{n}) and O((n+m)2n)O((n+m)2^{n}), respectively, where nn is the number of states of GG and mm is the number of transitions of P(G)P(G). Notice that the complexity does not depend on the parameter kk.

Before we prove this result, notice that mn2m\leq\ell n^{2}, where \ell is the number of observable events. Since n2\ell n^{2} is the maximum number of transitions in an nn-state NFA with \ell events, mm is often significantly smaller than n2\ell n^{2}.

For a deterministic DES with nn states, Construction 5 results in a normalized DES with up to 2n2n states, and hence it may seem that the observer of the normalized DES could have up to 22n2^{2n} states. The following lemma shows that the observer of the normalized DES has in fact at most 2n2^{n} states.

Lemma 12.

Let GG be an nn-state deterministic DES, and let GnormG_{norm} be its normalization obtained by Construction 5. Then, the observer of GnormG_{norm} has at most 2n2^{n} states.

Proof 4.5.

Let G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}) be a deterministic DES with nn states, and let Σuo\Sigma_{uo} be the set of unobservable events. The application of Construction 5 on GG results in the deterministic DES Gnorm=(Qn,Σ,δn,q0)G_{norm}=(Q_{n},\Sigma,\delta_{n},q_{0}), where QnQQQ_{n}\subseteq Q\cup Q^{\prime} and Q={qqQ}Q^{\prime}=\{q^{\prime}\mid q\in Q\} is a disjoint copy of QQ. All states of QnQ_{n} are reachable in GnormG_{norm} by construction. The observer Gnormobs=(Xobs,Σo,δobs,x0)G_{norm}^{obs}=(X_{obs},\Sigma_{o},\delta_{obs},x_{0}) of GnormG_{norm} is defined as follows. The set of states is the subset of the power set of QnQ_{n}, namely, Xobs2QnX_{obs}\subseteq 2^{Q_{n}}. The initial state is the unobservable reach (UR) of the initial state of the automaton GnormG_{norm}, that is, x0:=UR(q0)=δn(q0,Σuo)x_{0}:=UR(q_{0})=\delta_{n}(q_{0},\Sigma_{uo}^{*}). The transition function δobs\delta_{obs} is defined for every XXobsX\in X_{obs} and every observable event aΣoa\in\Sigma_{o} as the unobservable reach of the states reachable in GnormG_{norm} from the states of XX by the event aa, that is,

δobs(X,a):=UR(δn(X,a))\delta_{obs}(X,a):=UR(\delta_{n}(X,a))

where, for every YQnY\subseteq Q_{n}, UR(Y)=δn(Y,Σuo)UR(Y)=\delta_{n}(Y,\Sigma_{uo}^{*}). By item (2) of Lemma 6,

δn(X,a)Q,\delta_{n}(X,a)\subseteq Q\,,

and hence every state of the observer of GnormG_{norm} is uniquely determined by a subset of QQ. In particular, we define an injective mapping f:Xobs2Qf\colon X_{obs}\to 2^{Q} assigning subsets of QQ to the states of the observer of GnormG_{norm} as follows: f(x0)={q0}f(x_{0})=\{q_{0}\}, and for every state Yx0Y\neq x_{0} of the observer of GnormG_{norm}, we pick and fix a state XXobsX\in X_{obs} such that δobs(X,a)=Y\delta_{obs}(X,a)=Y, for some observable event aΣoa\in\Sigma_{o}, and we define f(Y)=δn(X,a)f(Y)=\delta_{n}(X,a). Such a state XX exists because every state of the observer is reachable. Then, Y=δobs(X,a)=UR(δn(X,a))=UR(f(Y))Y=\delta_{obs}(X,a)=UR(\delta_{n}(X,a))=UR(f(Y)), and we have that if f(Y1)=f(Y2)f(Y_{1})=f(Y_{2}), then Y1=UR(f(Y1))=UR(f(Y2))=Y2Y_{1}=UR(f(Y_{1}))=UR(f(Y_{2}))=Y_{2}, which shows that the mapping ff is injective. Consequently, the number of states of the observer of GnormG_{norm} is bounded by the number of subsets of the set QQ, which is 2n2^{n}.

Notice that Lemma 12 does not claim that the number of states of the observer of GG and of the observer of its normalization GnormG_{norm} coincide. It only provides an upper bound on the worst-case complexity.

Similarly, for a normal deterministic DES GG with nn states, Construction 9 results in a deterministic DES GG^{\prime} with up to 2n2n states. The second lemma shows that the observer of GG^{\prime} has as many states as the observer of GG.

Lemma 13.

Let GG be a normal deterministic DES with nn states, and let GG^{\prime} be obtained from GG by Construction 9. Then, the numbers of states of the observer of GG^{\prime} and of the observer of GG coincide.

Proof 4.6.

Let G=(Q,Σ,δ,q0)G=(Q,\Sigma,\delta,q_{0}) be a normal deterministic DES, and let G=(QQNS,Σ{u},δ,q0)G^{\prime}=(Q\cup Q_{NS}^{\prime},\Sigma\cup\{u\},\delta^{\prime},q_{0}) be the DES obtained from GG by Construction 9. Recall that GG^{\prime} is obtained as a disjoint union of GG and GnsG_{ns}, where GnsG_{ns} is a copy of GG without the secret states and the corresponding transitions, QNS={qqQNS}Q_{NS}^{\prime}=\{q^{\prime}\mid q\in Q_{NS}\} is a copy of QNSQ_{NS} disjoint from QQ, and the event uu is unobservable. For every reachable state SS of the observer of GG^{\prime}, we show that SS contains a state pQNSp^{\prime}\in Q_{NS}^{\prime} if and only if SS contains the corresponding state pQNSp\in Q_{NS}. Consequently, the observer of GG^{\prime} and the observer of GG have the same number of states.

To prove one direction, let SS be a reachable state of the observer of GG^{\prime}. If SS contains a state pQNSp\in Q_{NS}, then the unobservable transition (p,u,p)(p,u,p^{\prime}) of GG^{\prime} implies that SS also contains the state pQNSp^{\prime}\in Q_{NS}^{\prime}.

To prove the other direction, let SS be a reachable state of the observer of GG^{\prime}, and assume that a state pQNSp^{\prime}\in Q_{NS}^{\prime} belongs to SS. Then, for every string wP(L(G))w\in P^{\prime}(L(G^{\prime})) under which the state SS is reachable from the initial state {q0}\{q_{0}\} in the observer of GG^{\prime}, there exists a string wL(G)w^{\prime}\in L(G^{\prime}) such that P(w)=wP^{\prime}(w^{\prime})=w and δ(q0,w)=p\delta^{\prime}(q_{0},w^{\prime})=p^{\prime}. Since q0Qq_{0}\in Q, pQNSp^{\prime}\in Q_{NS}^{\prime}, and every string of L(G)L(G^{\prime}) contains at most one occurrence of the event uu, we can partition the string w=w1uw2w^{\prime}=w_{1}uw_{2} so that δ(q0,w1)=r\delta^{\prime}(q_{0},w_{1})=r, δ(r,u)=r\delta^{\prime}(r,u)=r^{\prime}, and δ(r,w2)=p\delta^{\prime}(r^{\prime},w_{2})=p^{\prime}, for some state rQr\in Q. However, δ(r,w2)=p\delta^{\prime}(r^{\prime},w_{2})=p^{\prime} is executed in GnsG_{ns}, which is obtained from GG by removing all secret states. Therefore, δ(r,w2)=p\delta(r,w_{2})=p must be defined in GG. Altogether, we have shown that δ(q0,w1w2)=p\delta(q_{0},w_{1}w_{2})=p is defined in GG, and hence the string w1w2L(G)w_{1}w_{2}\in L(G). Since w=P(w)=P(w1w2)w=P^{\prime}(w^{\prime})=P^{\prime}(w_{1}w_{2}), we have shown that pSp\in S.

We can now prove the following result analyzing the complexity of Algorithm 4.4.

Theorem 14.

The space and time complexity of Algorithm 4.4 is O(n2n)O(n2^{n}) and O((n+m)2n)O((n+m)2^{n}), respectively, where nn is the number of states of GG and mm is the number of transitions of P(G)P(G), that is, mn2m\leq\ell n^{2}, where \ell is the number of observable events.

Proof 4.7.

Let GG be an nn-state deterministic DES. In the first step, we construct the normalization GnormG_{norm} of GG with at most 2n2n states, the observer of which has at most 2n2^{n} states by Lemma 12. Then, we apply Algorithm 3 to GG^{\prime} obtained from GnormG_{norm} by Construction 9. In particular, by Lemma 13, we compute the observer GobsG^{\prime obs} of GG^{\prime} with at most 2n2^{n} states, and the projected automaton P(G)P(G^{\prime}) with at most 4n4n states. Then, for every reachable state XX of GobsG^{\prime obs}, and for every xXQSx\in X\cap Q_{S}^{\prime}, we add the pair (x,XQNS)(x,X\cap Q_{NS}^{\prime}) to the set YY. This computation takes time O(n2n)O(n2^{n}). Afterwards, we construct the automaton HH as the part of the full observer of GG^{\prime} that is accessible from the states of the second components of YY. Since HH consists only of the subsets of QNSQ_{NS}^{\prime}, of which there is at most 2n2^{n}, the automaton HH has O(2n)O(2^{n}) states. The automaton 𝒞=P(G)×H\operatorname{\mathcal{C}}=P(G^{\prime})\times H thus has O(n2n)O(n2^{n}) states and O(m2n)O(m2^{n}) transitions, the sum of which is the time complexity of the BFS applied to mark states of 𝒞\operatorname{\mathcal{C}} reachable from the states of YY in at most kk steps. Therefore, the state complexity of Algorithm 4.4 is O(n2n)O(n2^{n}) and the time complexity is O(n2n+(n+m)2n)=O((n+m)2n)O(n2^{n}+(n+m)2^{n})=O((n+m)2^{n}).

Comparing the complexity O((n+m)2n)O((n+m)2^{n}) of Algorithm 4.4 with the complexity of the existing algorithms, the reader may see that (1) the complexity of Algorithm 4.4 does not depend on the parameter kk, and (2) it is better than the complexity of the existing algorithms, because the minimum of the worst-case complexities O(2nk+12k)O(\ell 2^{n^{k+1}\cdot 2^{k}}), O(2(k+2)n)O(\ell 2^{(k+2)n}), O((k+3)n)O(\ell(k+3)^{n}), and O((n+m)(k+1)2n)O((n+m)(k+1)2^{n}) of the existing algorithms discussed at the beginning of this subsection is O((n+m)2n)O((n+m)2^{n}) for k=1k=1, and O((n+m)(k+1)2n)=O((n+m)22n)O((n+m)(k+1)2^{n})=O((n+m)2^{2n}) for kO(2n)k\in O(2^{n}). Notice that the minimum worst-case complexity for large kk is significantly higher than the complexity O((n+m)2n)O((n+m)2^{n}) of Algorithm 4.4. In fact, the complexity of Algorithm 4.4, and the minimum worst-case complexity of the existing algorithms for very small kk, coincide. However, while the existing algorithms can handle only inputs with a very small kk with this complexity, our algorithm can handle inputs with kk of arbitrary value with this complexity. Consequently, our algorithm improves the complexity of the verification of strong kk-step opacity.

5 Conclusions

We investigated and discussed the relationship between the notions of weak and strong kk-step opacity. We designed an algorithm verifying weak kk-step opacity that, compared with the existing algorithms, does not depend on the parameter kk, and has a lower worst-case complexity than the existing algorithms. We further discussed strong kk-step opacity and transformed it to weak kk-step opacity in linear time, obtaining thus an algorithm to verify strong kk-step opacity. Again, this algorithm does not depend on the parameter kk, and has a lower worst-case complexity than the existing algorithms.

Finally, we point out that the complexity of our algorithms may be further optimized. For instance, rather than eliminating ε\varepsilon-transitions in P(G)P(G), we may suitably redefine the product of two NFAs for NFAs with ε\varepsilon-transitions. In this case, the parameter mm in the complexity formula would be bounded by n\ell n rather than n2\ell n^{2}. We leave these and further optimizations for the future work.

{ack}

We gratefully acknowledge suggestions and comments of the anonymous referees.

Appendix A Relation between Strong and Weak kk-Step Opacity

As already mentioned in the introduction, Ma et al. (2021) pointed out that strong kk-step opacity and weak kk-step opacity are incomparable in the sense that neither strong kk-step opacity implies weak kk-step opacity nor the other way round.

We now show that under the assumption that the set of states is partitioned into secret and nonsecret states, disregarding neutral states, which is a common assumption in the literature (Saboori and Hadjicostis, 2011; Yin and Lafortune, 2017), including this paper, the two notions are comparable. This fact was also recently pointed out by Wintenberg et al. (2022).

Theorem 15.

Let G=(Q,Σ,δ,i)G=(Q,\Sigma,\delta,i) be a deterministic DES, and let kk\in\mathbb{N}_{\infty}. If GG is kk-SSO with respect to QSQ_{S} and PP, then GG is kk-SO with respect to QSQ_{S}, QQSQ-Q_{S}, and PP.

Proof A.1.

Assume that GG is kk-SSO with respect to QSQ_{S} and PP. We show that GG is kk-SO with respect to QSQ_{S}, QNS=QQSQ_{NS}=Q-Q_{S}, and PP. To this end, we consider any string stL(G)st\in L(G) with |P(t)|k|P(t)|\leq k such that δ(i,s)=qsQS\delta(i,s)=q_{s}\in Q_{S}; since stL(G)st\in L(G), we have δ(qs,t)\delta(q_{s},t) is defined. Since GG is kk-SSO, there is a string wL(G)w\in L(G) such that P(st)=P(w)P(st)=P(w) and for every prefix ww^{\prime} of ww, if |P(w)||P(w)|k|P(w)|-|P(w^{\prime})|\leq k, then δ(i,w)QS\delta(i,w^{\prime})\notin Q_{S}. Because P(st)=P(w)P(st)=P(w), the string ww can be written as w=stw=s^{\prime}t^{\prime}, where P(s)=P(s)P(s)=P(s^{\prime}) and P(t)=P(t)P(t)=P(t^{\prime}). Since ss^{\prime} is a prefix of w=stw=s^{\prime}t^{\prime}, and |P(st)||P(s)|=|P(t)|=|P(t)|k|P(s^{\prime}t^{\prime})|-|P(s^{\prime})|=|P(t^{\prime})|=|P(t)|\leq k, we have δ(i,s)QS\delta(i,s^{\prime})\notin Q_{S}, that is, δ(i,s)QNS\delta(i,s^{\prime})\in Q_{NS}. But then the string stL(G)s^{\prime}t^{\prime}\in L(G) is such that P(s)=P(s)P(s)=P(s^{\prime}), P(t)=P(t)P(t)=P(t^{\prime}), δ(i,s)=qnsQNS\delta(i,s^{\prime})=q_{ns}\in Q_{NS}, and δ(qns,t)\delta(q_{ns},t^{\prime}) is defined, because st=wL(G)s^{\prime}t^{\prime}=w\in L(G); therefore, GG is kk-SO with respect to QSQ_{S}, QQSQ-Q_{S}, and PP.

It can be seen in the previous proof that if there are neutral states, then the implication does not hold in general.

References

  • Badouel et al. (2007) Badouel, E., Bednarczyk, M., Borzyszkowski, A., Caillaud, B., Darondeau, P., 2007. Concurrent secrets. Discrete Event Dynamic Systems 17, 425–446.
  • Balun and Masopust (2021) Balun, J., Masopust, T., 2021. Comparing the notions of opacity for discrete-event systems. Discrete Event Dynamic Systems 31, 553–582.
  • Balun and Masopust (2022a) Balun, J., Masopust, T., 2022a. On transformations among opacity notions, in: IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp. 3012–3017.
  • Balun and Masopust (2022b) Balun, J., Masopust, T., 2022b. On verification of weak and strong k-step opacity for discrete-event systems. IFAC PapersOnLine 55, 108–113.
  • Brandin and Wonham (1994) Brandin, B., Wonham, W., 1994. Supervisory control of timed discrete-event systems. IEEE Transactions on Automatic Control 39, 329–342.
  • Bryans et al. (2008) Bryans, J.W., Koutny, M., Mazaré, L., Ryan, P.Y.A., 2008. Opacity generalised to transition systems. International Journal of Information Security 7, 421–435.
  • Bryans et al. (2005) Bryans, J.W., Koutny, M., Ryan, P.Y., 2005. Modelling opacity using Petri nets. Electronic Notes in Theoretical Computer Science 121, 101–115.
  • Cassandras and Lafortune (2021) Cassandras, C.G., Lafortune, S. (Eds.), 2021. Introduction to Discrete Event Systems. 3rd ed., Springer.
  • Cormen et al. (2009) Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C., 2009. Introduction to Algorithms. MIT Press.
  • Dubreil et al. (2008) Dubreil, J., Darondeau, P., Marchand, H., 2008. Opacity enforcing control synthesis, in: Workshop on Discrete Event Systems (WODES), pp. 28–35.
  • Falcone and Marchand (2015) Falcone, Y., Marchand, H., 2015. Enforcement and validation (at runtime) of various notions of opacity. Discrete Event Dynamic Systems 25, 531–570.
  • Hopcroft et al. (2006) Hopcroft, J.E., Motwani, R., Ullman, J.D., 2006. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley.
  • Jacob et al. (2016) Jacob, R., Lesage, J.J., Faure, J.M., 2016. Overview of discrete event systems opacity: Models, validation, and quantification. Annual Reviews in Control 41, 135–146.
  • Jirásková and Masopust (2012) Jirásková, G., Masopust, T., 2012. On a structural property in the state complexity of projected regular languages. Theoretical Computer Science 449, 93–105.
  • Lan et al. (2020) Lan, H., Tong, Y., Guo, J., Giua, A., 2020. Comments on “A new approach for the verification of infinite-step and K-step opacity using two-way observers” [Automatica 80 (2017) 162–171]. Automatica 122, 109290.
  • Lin (2011) Lin, F., 2011. Opacity of discrete event systems and its applications. Automatica 47, 496–503.
  • Ma et al. (2021) Ma, Z., Yin, X., Li, Z., 2021. Verification and enforcement of strong infinite- and k-step opacity using state recognizers. Automatica 133, 109838.
  • Saboori and Hadjicostis (2007) Saboori, A., Hadjicostis, C.N., 2007. Notions of security and opacity in discrete event systems, in: IEEE Conference on Decision and Control, pp. 5056–5061.
  • Saboori and Hadjicostis (2011) Saboori, A., Hadjicostis, C.N., 2011. Verification of KK-step opacity and analysis of its complexity. IEEE Transactions on Automation Science and Engineering 8, 549–559.
  • Saboori and Hadjicostis (2012) Saboori, A., Hadjicostis, C.N., 2012. Verification of infinite-step opacity and complexity considerations. IEEE Transactions on Automatic Control 57, 1265–1269.
  • Wintenberg et al. (2022) Wintenberg, A., Blischke, M., Lafortune, S., Ozay, N., 2022. A general language-based framework for specifying and verifying notions of opacity. Discrete Event Dynamic Systems 32, 253–289.
  • Wong (1998) Wong, K., 1998. On the complexity of projections of discrete-event systems, in: Workshop on Discrete Event Systems (WODES), pp. 201–206.
  • Yin and Lafortune (2017) Yin, X., Lafortune, S., 2017. A new approach for the verification of infinite-step and K-step opacity using two-way observers. Automatica 80, 162–171.