Symbolic models for security protocol verification were pioneered by Dolev and Yao in their seminal work. Since then, although inspired by the same ideas, many variants of the original model were developed. In particular, a common assumption is that the attacker has complete control over the network and can therefore intercept any message. This assumption has been interpreted in slightly different ways depending on the particular models: either any protocol output is directly routed to the adversary, or communications may be among any two participants, including the attacker – the scheduling between which exact parties the communication happens is left to the attacker. This difference may seem unimportant at first glance and, depending on the verification tools, either one or the other semantics is implemented. We show that, unsurprisingly, they indeed coincide for reachability properties. However, for indistinguishability properties, we prove that these two interpretations lead to incomparable semantics. We also introduce and study a new semantics, where internal communications are allowed but messages are always eavesdropped by the attacker. This new semantics yields strictly stronger equivalence relations. Moreover, we identify two subclasses of protocols for which the three semantics coincide. Finally, we implemented verification of trace equivalence for each of the three semantics in the DeepSec tool and compare their performances on several classical examples.
Automated, symbolic analysis of security protocols, based on the seminal ideas of Dolev and Yao, comes in many variants. All of these models however share a few fundamental ideas:
messages are represented as abstract terms,
adversaries are computationally unbounded, but may manipulate messages only according to pre-defined rules (this is sometimes referred to as the perfect cryptography assumption), and
the adversary completely controls the network.
In this paper we will revisit this last assumption. Looking more precisely at different models we observe that this assumption may actually slightly differ among the models. The fact that the adversary controls the network is supposed to represent a worst case assumption.
In some models this assumption translates to the fact that every protocol output is sent to the adversary, and every protocol input is provided by the adversary. This is the case in the original Dolev Yao model and also in the models underlying several tools, such as AVISPA [8], Scyther [20], Tamarin [27], Millen and Shmatikov’s constraint solver [24], and the model used in Paulson’s inductive approach [25]. We will refer to this choice of semantics as the private semantics, as internal communications are only allowed on private channels.
Some other models, such as those based on process algebras, e.g. work based on CSP [26], the Spi [3] and applied pi calculus [1], but also the strand space model [28], consider a slightly different communication model: any two agents may communicate. Scheduling whether communication happens among two honest participants, or a honest participant and the attacker is under the attacker’s control. We will refer to this choice of semantics as the classical semantics, as it corresponds to what is generally used in process calculi.
When considering reachability properties, these two communication models indeed coincide: intuitively, any internal communication could go through the adversary who acts as a relay and increases his knowledge by the transmitted message. However, when considering indistinguishability properties, typically modelled as process equivalences, these communication models diverge. Interestingly, when forbidding internal communication, i.e., forcing all communication to be relayed by the attacker, we may weaken the attacker’s distinguishing power. This observation may seem counter-intuitive at first. However, executing a (non-observable) internal communication may enable actions that are otherwise only available after an observable input. These actions may then provide additional capabilities for simulating the other process.
In many recent work privacy properties have been modelled using process equivalences, see for instance [6,21,22]. The number of tools able to verify such properties is also increasing [12–14,16,18,29]. For instance, the AKISS [13] and SAT-EQUIV [18] tools do not allow any direct communication on public channels, while the APTE [14] and DeepSec [16] tools allow for internal communications. One motivation for disallowing direct communication is that it allows for more efficient verification (as less actions need to be considered and the number of interleavings to be considered is smaller).
Our contributions. We have formalised three semantics in the applied pi calculus which differ by the way communication is handled:
the classical semantics (as in the original applied pi calculus) allows both internal communication among honest participants and communication with the adversary;
the private semantics allows internal communication only on private channels while all communication on public channels is routed through the adversary;
the eavesdropping semantics which allows internal communication, but as a side-effect adds the transmitted message to the adversary’s knowledge.
For each of the new semantics we define may-testing and observational equivalences. We also define corresponding labelled semantics and trace equivalence and bisimulation relations (which may serve as proof techniques).
We show that, as expected, the three semantics coincide for reachability properties. For equivalence properties we show that the classical and private semantics yield incomparable equivalences, while the eavesdropping semantics yields strictly stronger equivalence relations than both other semantics. The results are summarized in Fig. 4.
An interesting question is whether these semantics coincide for specific subclasses of processes. We note that the processes that witness the differences in the semantics do not use replication, private channels, nor terms other than names, and no equational theory. Moreover, all except one of these examples only use trivial else branches (of the form ); the use of a non-trivial else branch can even be avoided by allowing a single free symbol.
We first study different notions of determinate processes: in the context of the applied pi calculus, Cheval et al. [15] have for instance shown that observational, testing, trace equivalence and labelled bisimulation coincide for this class of processes (for the classic semantics). We will show that this is actually the case for all semantics and show, among others that the private and eavesdropping semantics do coincide on these equivalences, and imply them for the classic semantics. We consider several specific subclasses of determinate processes when we bound the number of sessions. In particular, we show that all equivalences and semantics coincide for the class of strong action determinate processes. This class is of practical importance as this condition is checked in the AKISS and DeepSec tools to enable partial order reduction optimizations [10]. These optimizations provide spectacular speed-ups, but they were designed and shown correct only in the private semantics. Showing that all three semantics coincide for strong action determinate processes lifts the benefit of these optimizations to the other semantics. The results on subclasses of determinate processes are summarized in Fig. 8.
We also identify a syntactic class of processes, that we call I/O-unambiguous. For this class we forbid communication on private channels, communication of channel names and an output may not be sequentially followed by an input on the same channel directly, or with only conditionals in between. Note however that I/O-unambiguous processes, unlike most determinate processes, do allow outputs and inputs on the same channel in parallel. We show that for this class the eavesdropping semantics (which is the most strict relation) coincides with the private one (which is the most efficient for verification).
Finally, we extended the DeepSec tool to support verification of trace equivalence for the three semantics. Verifying existing protocols in the DeepSec example repository we verified that the results, fortunately, coincided for each of the semantics. We also made slight changes to the encodings, renaming some channels, to make them I/O-unambiguous. Interestingly, using different channels, significantly increased the performance of the tool. Finally, we also observed that, as expected, the private semantics yields more efficient verification. The results of our experiments are summarized in Section 5.
A preliminary version of this work appeared in [9]. In contrast to [9], this work contains full proofs of all results, new results for several subclasses of processes, giving a detailed comparison of the different semantics and equivalences, as well as an implementation of all three semantics in the DeepSec tool, together with an experimental evaluation.
Outline. In Section 2 we define the three semantics we consider. In Section 3 we present our main results on comparing these semantics. We present subclasses for which (some) semantics coincide in Section 4 and compare the performances when verifying protocols for different semantics using DeepSec in Section 5, before concluding in Section 6.
Model
The applied pi calculus [1] is a variant of the pi calculus that is specialised for modelling cryptographic protocols. Participants in a protocol are modelled as processes and the communication between them is modelled by message passing on channels. In this section, we describe the syntax and semantics of the applied pi calculus as well as the two new variants that we study in this paper.
Syntax
We consider an infinite set of names of base type and an infinite set of names of channel type. We also consider an infinite set of variables of base type and channel type and a signature consisting of a finite set of function symbols. We rely on a sort system for terms. In particular, the sort base type differs from the sort channel type. Moreover, any function symbol can only be applied to and returns base type terms. We define terms as names, variables and function symbols applied to other terms. Given , and , we denote by the sets of terms built from X and N by applying function symbols from F. We denote the sets of variables occurring in t. We say that t is ground if . We describe the behaviour of cryptographic primitives by the means of an equational theory that is a relation on terms closed under substitutions of terms for variables and closed under one-to-one renaming. Given two terms u and v, we write when u and v are equal modulo the equational theory.
In the original syntax of the applied pi calculus, there is no distinction between an output (resp. input) from a protocol participant and from the environment, also called the attacker. In this paper however, we will make this distinction in order to concisely present our new variants of the semantics. Therefore, we consider two process tags and that respectively represent honest and attacker actions. The syntax of plain processes and extended processes is given in Fig. 1.
Syntax of processes.
The process represents the output by θ of the message u on the channel c. The process represents an input by θ on the channel c. The input message will instantiate the variable x. The process models the capability of the attacker to eavesdrop a communication on channel c. The process represents the replication of the process P, i.e. unbounded number of copies of P. The process represents the parallel composition of P and Q. The process (resp. ) is the restriction of the name n in P (resp. variable x in A). The process is the conditional branching under the equality test . The process records that a private channel c has been opened, i.e., it has been sent on a public or previously opened channel. Finally, the substitution is an active substitution that replaces the variable x with the term u of base type.
We say that a process P (resp. extended process A) is an honest process (resp. honest extended process) when all inputs and outputs in P (resp. A) are tagged with and when P (resp. A) does not contain eavesdropping processes and . We say that a process P (resp. extended process A) is an attacker process (resp. attacker extended process) when all inputs and outputs in P (resp. A) are tagged with .
As usual, names and variables have scopes which are delimited by restrictions, inputs and eavesdrops. We denote the sets of free variables, bound variables, free names and bound names respectively in A. Moreover, we denote by the sets of terms c of channel type opened in A, i.e. that occurs in a process . We say that an extended process A is closed when all variables in A are either bound or defined by an active substitution in A. We define an evaluation context as an extended process with a hole instead of an extended process. As for processes, we define an attacker evaluation context as an evaluation context where all outputs and inputs in the context are tagged with .
Note that our syntax without the eavesdropping process, opened channels and tags correspond exactly to the syntax of the original applied pi calculus.
Lastly, we consider the notion of frame that are extended processes built from 0, parallel composition, name and variable restrictions and active substitution. Given a frame φ, we consider the domain of φ, denoted , as the set of free variables in φ that are defined by an active substitution in φ. Given an extended process A, we define the frame of A, denoted , as the process A where we replace all plain processes by 0. Finally, we write as syntactic sugar for .
Operational semantics
In this section, we define the three semantics that we study in this paper, namely:
the classical semantics from the applied pi calculus, where internal communication can occur on both public and private channels;
the private semantics where internal communication can only occur on private channels; and
the eavesdropping semantics where the attacker is able to eavesdrop on a public channel.
We first define the structural equivalence between extended processes, denoted ≡, as the smallest equivalence relation on extended processes that is closed under renaming of names and variables, closed by application of evaluation contexts, that is associative and commutative w.r.t. ∣, and such that:
The three operational semantics of extended processes are defined by the structural equivalence and by three respective internal reductions, denoted , and . These three reductions are the smallest relations on extended processes that are closed under application of evaluation context, structural equivalence and such that:
We emphasise that the application of the rule is closed under application of arbitrary evaluation contexts. In particular the context may restrict channels, e.g. the rule C-Open may be used under the context resulting in a private channel c, but with the attacker input/output being in the scope of this restriction. It follows from the definition of evaluation contexts that the resulting processes are always well defined. We denote by the reflexive, transitive closure of for . We note that the classical semantics is independent of the tags , the eavesdrop actions and the processes.
Consider the process
where d is a channel name and t a term of base type. Suppose then we have that communication is only possible in the classical semantics (using twice the Comm rule):
while no transitions are available in the two other semantics. To enable communication in the eavesdropping semantics we need to explicitly add eavesdrop actions. Applying the rules C-OEav and C-Eav we have that
We note that the first transition adds the information to indicate that d is now available to the environment.
Finally, if we consider that then internal communication on a public channel is possible and, using rules C-Open and C-Env we obtain for that
Reachability and behavioural equivalences
We are going to compare the relation between the three semantics for the two general kind of security properties, namely reachability properties encoding security properties such as secrecy, authentication, and equivalence properties encoding properties such as anonymity, unlinkability, strong secrecy, and receipt freeness. Intuitively, reachability properties encode that a process cannot reach some bad state. Equivalences define the fact that no attacker can distinguish two processes. This was originally defined by the (may)-testing equivalence [3] in the spi-calculus. An alternate equivalence, which was considered in the applied pi calculus [1], is observational equivalence.
Reachability properties can simply be encoded by verifying the capability of a process to perform an output on a given channel. We define to hold when for some evaluation context C that does not bind c, some term t and some plain process P, and to hold when for some . For example the secrecy of s in the process can be encoded by checking whether for all attacker plain process I, we have that
where .
Authentication properties are generally expressed as correspondence properties between events annotating processes, see e.g. [11]. A correspondence property between two events and , denoted , requires that the event is preceded by the event on every trace. A possible encoding of this correspondence property consists in first replacing all instances of the events in A by outputs and where . This new process can then be put in parallel with a cell that reads on the channel and stores any new value unless the value is and the current stored value in the cell is not . In such a case, the cell will output on the channel . The correspondance property can therefore be encoded by checking whether for all attacker plain process I, we have that .
We say that an attacker evaluation context is -closing for an extended process A if . For , we say that is s-closing for A if it is -closing for A, variables and names are bound only once in and for all channels , if the scope of c includes then the scope of c also includes .
We next introduce the two main notions of behavioural equivalences: may testing and observational equivalence.
((May-)Testing equivalences , , ).
Let . Let A and B two closed honest extended processes such that . We say that if for all attacker evaluation contexts s-closing for A and B, for all channels c, we have that if and only if .
(Observational equivalences , , ).
Let . Let A and B two closed extended processes such that . We say that if is the largest equivalence relation such that:
implies ;
implies and for some ;
for all attacker evaluation contexts s-closing for A and B.
For each of the semantics we have the usual relation between these two notions: observational equivalence implies testing equivalence.
for.
Consider processes A and B of Fig. 2. Process A computes a value to be output on channel c, where denotes n applications of h and . The value is initially a and A may choose to either output the current value, or update the current value by applying the free symbol h. B may choose non-deterministically to either behave as A or output the fresh name s. (The non-deterministic choice is encoded by a communication on the private channel e which may be received by either the process behaving as A or the process outputting s.)
We have that . The two processes can indeed be distinguished by the context
Intuitively, when B outputs s the attacker context can iterate the application of h the same number of times as would have done process A. Comparing the value computed by the adversary () and the honestly computed value (either or s) the adversary distinguishes the two processes by outputting on the test channel .
However, we have that . Indeed, for any s-closing context and all public channel we have that if and only if . In particular for context defined above we have that both and for . Unlike observational equivalence, may testing does not require to “mimic” the other process stepwise and we cannot force a process into a particular branch.
Processes A and B such that , but and for .
Labelled semantics
The internal reduction semantics introduced in the previous section requires to reason about arbitrary contexts. Similar to the original applied pi calculus, we extend the three operational semantics by a labeled operational semantics which allows processes to directly interact with the (adversarial) environment: we define the relation , and where ℓ is part of the alphabet . The labeled rules are given in Fig. 3.
Labeled semantics.
Consider our alphabet of actions defined above. Given , and an extended process A, we say that when for some extended processes and . By convention, we say that where ϵ is the empty word. Given , we say that when there exists such that is the word w where we remove all τ actions and .
Coming back to Example 1, we saw that and no τ-actions in the other two semantics were available. Instead of explicitly adding eavesdrop actions, we can apply the rules Eav-OCh and Eav-T and obtain that
We can now define both reachability and different equivalence properties in terms of these labelled semantics and relate them to the internal reduction. To define reachability properties in the labelled semantics, we define to hold when , and does not bind c for some , term t and extended process .
The following proposition states that any reachability property modelled in terms of and universal quantification over processes, can also be expressed using without the need to quantify over processes.
For all closed honest plain processes A, for all,iff there exists an attacker plain processsuch that.
Next, we define equivalence relations using our labelled semantics that may serve as proof techniques for the may testing relation. First we need to define an indistinguishability relation on frames, called static equivalence [1].
(Static equivalence ∼).
Two terms u and v are equal in the frame ϕ, written , if there exists and a substitution σ such that , , and .
Two closed frames and are statically equivalent, written , when:
, and
for all terms we have that: if and only if .
Consider the equational theory generated by the equation . Then we have that
Intutively, the first equivalence confirms that encryption hides the plaintext when the decryption key is unknown. The second equivalence does not hold as the test holds on the left hand side, but not on the right hand side. Finally, the third equivalence again holds as two restricted names are indistinguishable.
Now we are ready to define two classical equivalences on processes, based on the labelled semantics: trace equivalence and labelled bisimulation.
(Trace equivalences , , ).
Let . Let A and B be two closed honest extended processes. We say that if for all such that , there exists such that and . We say that when and .
(Labeled bisimulations , , ).
Let . Let A and B two closed honest extended processes such that . We say that if is the largest equivalence relation such that:
implies and for some ,
and implies and for some .
We again have, as usual that labelled bisimulation implies trace equivalence.
for.
In [1] it is shown that . We conjecture that for the new semantics and this same equivalence holds as well. Re-showing these results is beyond the scope of this paper, and we will mainly focus on testing/trace equivalence. As shown in [15], for the classical semantics trace equivalence implies may testing, while the converse does not hold in general. The two relations do however coincide on image-finite processes.
Let A be a closed extended process. A is image-finite for the semantics if for each trace the set of equivalence classes is finite.
Note that any replication-free process is necessarily image-finite as there are only a finite number of possible traces for any given sequence of labels . The same relations among trace equivalence and may testing shown for the classical semantics hold also for the other semantics.
andon image-finite processes for.
The proof of this result (for the classical semantics) is given in [15] and is easily adapted to the other semantics. To see that the implication is strict, we continue Example 2 on processes A and B defined in Fig. 2. We already noted that , but will now show that (for ). All possible traces of A are of the form where for . We easily see that as for any n we have that , by testing . On the other hand, given an image-finite process, we can only have a finite number of different frames for a given trace, and therefore we can bound the context size that is necessary for distinguishing the processes.
Comparing the different semantics
In this section we state our results on comparing these semantics. Results on equivalence comparison are summarized in Fig. 4.
Overview of the results.
We first show that, as expected, all the semantics coincide for reachability properties.
For all ground, closed honest extended processes A, for all channels d, we have thatiffiff.
The next result is, in our opinion, more surprising. As the private semantics force the adversary to observe all information, one might expect that his distinguishing power increases over the classical one. This intuition is however wrong: the classical and private trace equivalences, testing equivalence and labelled bisimulations appear to be incomparable.
Processes A and B such that and .
andfor.
We show both statements separately.
. We first show that there exist A and B such that , but . Note that, as for these processes demonstrate both that , and .
Consider processes A and B defined in Fig. 5. In short, the result follows from the fact that if A performs an internal communication on channel c followed by an output on d (from ), B has no choice other then performing the output on d in . In the private semantics, however, the internal communication will be split in an output followed by an input: after the output on c, the input following the output becomes available. More precisely, to see that we first observe that if then and , and vice-versa. If then . As we have that . Finally, if we also have that as in particular . Therefore,
which allows us to conclude.
As A and B are image-finite, we have that if and only if . To see that we observe that A may perform the following transition sequence, starting with an internal communication on a public channel:
In order to mimic the behaviour of A, B must perform the same sequence of observable transitions:
We conclude as , but . This trace inequivalence has also been shown using DeepSec.
. To show that for we show that there exist processes A and B such that and . As in the first part of the proof, note that, as for these processes demonstrate that , and .
Consider the processes A and B defined in Fig. 6. The proof crucially relies on the fact that B may perform an internal communication in the classical semantics to mimic A, which becomes visible in the attacker in the private semantics. To see that we first observe that the only first possible action from A or B is an input. In particular, given a term t, there is a unique such that where . However, if then either or with . Therefore, to complete the proof, we only need to find such that and . Such a process can be obtained by applying an internal communication on , i.e.. Note that since s is bound, meaning that . Moreover, . This allows us to conlude that .
Again, as A and B are image-finite may and trace equivalence coincide. To see that we first observe that A may perform the following transition sequence:
We conclude as but . Violation of this trace equivalence has also been shown using the DeepSec tool. □
Processes A and B such that and .
One may also note that the counter-example witnessing that equivalences in the private semantics do not imply equivalences in the classical semantics is minimal: it does not use function symbols, equational reasoning, private channels, replication nor else branches. The second part of the proof relies on the use of else branches. We can however refine this result in the case of labeled bisimulation to processes without else branches, the counter-example being the same processes A and B described in the proof but where we replace each by 0. In the case of trace equivalence, we can also produce a counter-example without else branches witnessing that trace equivalences in the classical semantics do no imply trace equivalences in the private semantics but provided that we rely on a function symbol h. In the Appendix, we describe in more details these processes and give the proofs of them being counter-examples.
Next, we show that the eavesdropping semantics yields strictly stronger bisimulations, trace and may testing equivalences: the eavesdropping semantics is actually strictly included in the intersection of the classic and private semantics.
.
We show the result in 3 steps: we show that (1) , (2) , and (3) that the implication is strict, i.e., there exist such that , and .
We first prove that . Suppose that . We need to show that for any such that there exists such that . It follows from the definition of the semantics that whenever then we also have as . As , we have that there exists , such that and . As does not contain labels of the form nor and as no are possible (A and B are honest processes) we also have that . Hence .
We next prove that . Similar to Item 1 we suppose that and . From the semantics, we obtain that , where
, i.e., and the frames coincide on the common domain.
is constructed from by replacing any τ action resulting from the rule by an application of an eavesdrop rule (, , or ).
The proof is done by induction on the length of and the proof tree of each transition. As we also have that and . We show by the definition of the semantics that and (replacing each eavesdrop action by an internal communication). Due to the inclusions of the frames and we also have that .
Finally we show that the implication is strict, i.e., there exist A and B such that (which implies ), (which implies ) but .
Processes A and B such that , but .
Consider the processes A and B defined in Fig. 7. This example is a variant of the one given in Fig. 5. The difference is the addition of “” in processes and : this additional check is used to verify whether the adversary learned or not. The proofs that and follow the same lines as in Theorem 3. We just additionally observe that for .
The trace witnessing that is again similar to the one in Theorem 3, but starting with an eavesdrop transition which allows the attacker to learn , which in turn allows him to learn and distinguish from . These trace (in)equivalences have also been verified using DeepSec.
□
We note from the processes defined in Fig. 7 that the implications are strict even for processes that do not communicate on private channels, do not use replication, nor else branches and terms are simply names (no function symbols nor equational theories).
.
The proof is structured in 3 steps, as in the proof of Theorem 4.
We first show that . Suppose and let be the relation witnessing this equivalence. We will show that is also a labelled bisimulation in the private semantics. Suppose .
as , we have that .
if then, as , . As there exists such that and . As B is a honest process no transition is possible, and hence .
if and then we also have that (as and there exists such that and . As no are possible and ℓ is not of the form nor we have that .
We next show that . We will show that is also a labelled bisimulation in the classical semantics. The proof relies on similar arguments as in Item 2 of the proof of Theorem 4 and the facts that
implies ,
implies
The first property is needed when an internal communication of a term or public channel is replaced by an eavesdrop action and an input. The second property handles the case when we replace the internal communication of a private channel by an application of the Eav-OCh rule and an input.
To show that the implication is strict, we exhibit processes A and B such that , but (which implies ). The processes defined in Fig. 7 witness this fact (cf the discussion of these processes in the proof of Theorem 4).
□
Again we note that the implications are strict, even for processes containing only public channels.
.
The proof is structured in 3 parts, as for Theorems 5 and 4.
We first prove that . Suppose that . Suppose that . We need to show that for all channel c, for all attacker evaluation contexts -closing for A and B, is equivalent to . It follows from the definition of the private semantics that any process in has the same behaviour as the process 0. Hence, we generate a context by replacing in any instance of by 0, and thus obtaining and . Notice that the definition of semantics gives us . Hence, implies and implies . Furthermore, since we built to not contain any process of the form , we deduce that rules C-Eav and C-OEav can never be applied in a derivation of or . It implies that and . Thanks to , we know that and so we conclude that .
We next prove that . Similarly to Item 1, we consider a channel c and an attacker evaluation context that is -closing for A and B. The main difficulty of this proof is to match the application of the rule Comm in the classical semantics with the rules C-Eav and C-OEac. However, does not necessarily contain eavesdrop process . Moreover, as mentioned in Item 1, a process has the same behavior as 0 in the classical semantics but can have a completely different behaviour in the eavesdropping semantics if P is not 0. Thus, we remove from the eavesdrop processes, obtaining . Then, we define a new context based on where will add harmless eavesdrop process . We first add in parallel the processes for all free channels a in and B. Moreover, since private channels can be opened, we also replace any process , where are of channel type with and . By induction of the derivations, we can show that and . Since , we deduce that and so .
Finally we show that the implication is strict, i.e., there exist processes A and B such that , but . The processes defined in Fig. 7 witness this fact. They already were witness of the strict inclusion (see proof of Theorem 4) and since A and B are image finite, we know from Theorem 1 that may and trace equivalences between A and B coincide.
□
Subclasses of processes for which (some of) the semantics coincide
As illustrated in previous sections, the presence of internal communications between public channels is the main issue when comparing the different semantics. Thus, the most natural class of processes on which the semantics coincide are processes where no internal communication on a public channel is possible.
Let P be a closed honest process. P is internal communication free if and only for all , the τ action in is not the application of the rule Comm.
We denote by the set of internal communication free processes.
When restricted to,forand.
Immediate from the semantics. □
However, this class is very restrictive as it prevents any process of the form . Therefore, we study in the rest of this section alternate classes of processes. The class of processes we study are mainly related to the notion of determinism: we first study the class of determinate processes, denoted , and then mainly restrict our attention to the case when the number of sessions is bounded. This is motivated by the fact that most tools able to verify these equivalences are restricted to a bounded number of sessions. We study three increasingly restrictive classes: (i) bounded determinate processes (denoted ), (ii) action-determinate processes (denoted ), and (iii) strong action determinate processes (denoted ). As the definition of determinism depends on the semantics, we may add the semantics as a parameter, e.g., we write for the class of processes that are determinate in the eavesdrop semantics. Figure 8 provides an overview of the results of this section.
Finally, we also identify a new syntactic subclass of processes, called I/O-unambiguous and show relations among the equivalences for different semantics.
Summary of results for (bounded) determinate processes.
Determinate processes
Defining classes of determinate processes and their relations
In this section we define a subclass of determinate processes. These subclasses however depend on the semantics and therefore we also study the relations between these different subclasses. The notion of determinacy was defined in [15] for the classical semantics. It was shown that for determinate processes, observational and trace equivalence coincide. Intuitively, on determinate processes the attacker can determine, at each step of the execution, the position of the executed action in the process tree: this means that either the labels leading to the executed action differ, or, in case of two identical sequence of labels, the frames may be distinguished.
(Determinacy).
Let . Let ≅ be an equivalence relation on closed honest extended processes. A closed honest extended process A is ≅-s-determinate if whenever , and then .
We denote by the set of closed honest extended processes that are ≅-s-determinate.
It was shown in [15] that . We can show that this equality also holds in the private and eavesdrop semantics.
For all,.
The proof of [15, Lemma 2] literally holds for all semantics. □
Thanks to the previous lemma, we may simply consider the set of s-determinate processes, denoted , as the set of closed honest extended processes that are -s-determinate or -s-determinate coincide. It was also shown in [15] that when restricted to -determinate processes, we have that . Once again, this result directly extends to -determinate and -determinate processes.
When restricted to,for.
The proof of [15, Theorem 2] literally holds for all semantics. □
The notion of determinacy depends on equivalences. Therefore one might expect the relations between determinate processes for different semantics to follow similar result as for the equivalences. However, we show that the sets of determinate processes coincide for eavesdrop and private semantics, while they are incomparable to the classic semantics
,and.
We sketch the proof here. A more detailed version is available in Appendix F.
We start by showing that . Consider the process A displayed in Fig. 9a. since by the rule Comm and . Moreover, since for all , there is a unique such that . Hence .
We now show that . Consider the process B displayed in Fig. 9b. Intuitively, the use of the private channel s in B encodes a non determinist choice between the two processes P and Q. We can show that which allows us to deduce that . However, , and imply .
Let us show . Consider an honest closed process A such that . Let and . By definition of the semantics, implies , for . Since , we deduce . By applying Theorem 5, we obtain which concludes the proof of .
Finally, we need to show that . This part of the proof is detailed in Appendix F. □
Relations between semantics for determinate processes
We will now compare the equivalences when we restrict the processes to for a given semantics s. We start with the subclass (which coincides with ).
Examples differentiating classical and private semantics for determinate processes.
Next, we consider the subclass . We show that even for this subclass of processes, the equivalences for the classical semantics are not included in the other ones.
When restricted to, we haveforand.
In the proof of Theorem 7 we showed that the processes P and Q displayed in Fig. 9 satisfy the following properties: , and . Note that we also have . Hence P and Q allow us to prove that for and . □
Determinacy for bounded processes
As many verification tools [13,14,16,18,29] consider a bounded number of sessions we study in this section, notions of determinacy when restricted to processes without replication. We also consider the notion of action-determinate which was introduced in [10] as a subclass of determinate processes that enable partial order reductions that significantly speed-up verification. Finally, we discuss the notion of strong action-determinate processes: this class was introduced in several tools, as this property can easily be checked syntactically. Interestingly, for this class of action-determinate processes, all notions of equivalences and semantics coincide.
Bounded determinate processes
We investigate in this section whether additional relations hold between the semantics when restricted to bounded processes, i.e., processes without replication. In particular we show that when restricted to such bounded processes, a -determinate P cannot have internal communication. However, we also show that even when restricted to bounded processes, and do not coincide.
We denote by the set of bounded processes in for .
and.
Note that Lemma 4 directly gives us . Moreover, consider the process A displayed in Fig. 9a. We already showed in Lemma 4 that and . Since A does not contain a replication, we deduce that .
Let us now show that . Let . Assume by contradiction that where the transition is the application of the rule Comm. Hence and for some . Since , we deduce that . Consider the maximal trace of (the trace exists since A is bounded), i.e. . Since , the trace is also maximal for with . But . Since and , we deduce that for some and so is a trace of which contradicts the maximality of . Hence .
To see that the inclusion is strict, observe that for the process
we have that , but .
Finally, let us prove . Let , and . Note that implies , for . As , . As , and so . By Lemma 1, we obtain which allows us to conclude. □
In particular, as we directly have that all semantics coincide (Lemma 1), and by determinacy all equivalences coincide as well (Lemma 3).
When restricted to, we have thatforand.
but .
We next investigate the relations when processes are restricted to the subclass (which coincides with ).
Action-determinate. As mentioned above, the class of action determinate processes is of interest for verification tools since it supports partial order reduction techniques [10] which speed-up verification by several orders of magnitude. Such techniques have been implemented in several verification tools such as APTE, AKISS and DeepSec.
Let P be a closed honest process. We say that P is action-determinate if and for all , and for all .
We define to be the set of all action determinate processes.
Intuitively, a process is action determinate when there are never two similar available actions, i.e. two inputs or two outputs on the same channel. Note in particular that any (non-trivial) replicated process violates action-determinism.
We first show that the class of action determinate processes is strictly included in the class of determinate processes (for the private and, hence, eavesdropping semantics).
We can now show that the relations among equivalences that did hold for the subclass (Theorem 8) do also hold for the subclass .
When restricted to, we have thatfor.
Note that, while the equality and inclusion is a direct corollary of Theorem 8 and Lemma 7, the fact that the inclusion is strict needs to be shown. The proof is given in Appendix I.
Strong action determinate. In the context of automated verification, deciding whether a process is action-determinate is still rather costly as it basically requires to verify a reachability property. We therefore introduce a stronger and more syntactical notion of action determinate, which is actually implemented in the verification tools AKISS and DeepSec. Intuitively, while action determinate processes never reach a situation where two “similar” actions are available, strong action-determinate processes verify that such similar actions never appear in parallel, syntactically.
We first define the set of action skeletons.
(strong action determinate).
The set built on is the smallest set of honest processes such that for all and such that if and then
when
when
when
when
We define the set of strong action determinate process as .
As the name indicates, it is easy to see that any strong action determinate process is also an action determinate process.
.
The implication follows directly from the definition, as any strongly action determinate process forbids two identic skeletons in parallel. To see that the implication is strict we observe that, for
we have that , but . □
While for action determinate processes we have that , we can show that for strong action determinate processes we actually have .
This implies the following corollary stating that for strong action determinate processes, all semantics and equivalences coincide. This is particularly interesting as the AKISS and DeepSec tools check this condition. Moreover, it means that partial-order reduction optimizations, developed and shown correct for the private semantics [10], are correctly applied by these tools, regardless of the chosen semantics.
When restricted to, we have thatforand.
I/O-unambiguous processes
Restricting processes to action-determinate processes may sometimes be too restrictive. For instance, when verifying unlinkability and anonymity properties, two outputs by different parties should not be distinguishable due to the channel name. We therefore introduce another class of processes, that we call I/O-unambiguous for which we also show that the different semantics (although not the different equivalences) do coincide.
Intuitively, an io-unambiguous process forbids an output and input on the same public channel to follow each other directly (or possibly with only conditionals in between). For instance, we forbid processes of the form , as well as . We however allow inputs and outputs on the same channel in parallel.
We define an honest extended process A to be I/O-unambiguous when where
Note that an I/O-unambiguous process does not contain private channels and always input/output base-type terms. We also note that a simple way to enforce that processes are I/O-unambiguous is to use disjoint channel names for inputs and outputs (at least in the same parallel thread).
When restricted to I/O-unambiguous processes, we have thatbutfor.
From Theorems 5 and 4, we already know that and . Hence, we only need to show that and . The latter is easily shown by noticing that the processes A and B in Fig. 6 are I/O-unambiguous. Thus, we focus on .
We start by proving that for all I/O-unambiguous processes A, for all , we have that is I/O-unambiguous. Note that structural equivalence preserves I/O-unambiguity, i.e. for all extended processes , for all channel name c, implies . Hence, we assume w.l.o.g. that a name is bound at most once and the set of bound and free names are disjoint.
Second, we show that for all I/O-unambiguous processes A, for all , we have that . To prove this property, denoted , let us assume w.l.o.g. that . The transition indicates that and for some . Note that A is I/O-unambiguous, and hence .
As A is I/O-unambiguous implies that A does not contain private channels, we have that the rule applied in is either the rule Then or Else. Therefore, there exists and such that , , and . Hence, we deduce that there exists such that and . We conclude the proof of this property by noticing that we can first apply on A the reduction rules of , then apply the rule C-Eav and finally apply the rules of .
To prove , we assume that A, B are two closed honest extended processes such that . For all , it follows from the semantics that where is obtained by replacing in each by . Since , there exists such that and . Thanks to the property , we conclude that .
To prove , we assume that A, B are two closed honest extended processes such that and let be the relation witnessing this equivalence. We will show that is also a labelled bisimulation in the eavesdropping semantics. Suppose .
as , we have that .
if then, as A is honest, . As there exists such that and . As ,
if then, as A is I/O-unambiguous, where when else . As , there exists such that and . When , the definition of the semantics directly gives us . When , the property gives us .
□
Different semantics in practice
As we have seen, in general, the three proposed semantics may yield different results. A conservative approach would consist in verifying always the eavesdropping semantics which is stronger than the two other ones, as shown before. However, this semantics seems also to be the least efficient one to verify. Moreover, partial-order reduction techniques that provide tremendous speed-ups were only developed for the private semantics.
We have implemented the three different semantics in the DeepSec tool. This allowed us to investigate the difference in results and performance between the semantics. In our experiments we considered several examples from DeepSec’s example repository. We rely on the existing modelling and do not describe these protocols, as these details are not important for the observations we wish to make. All benchmarks, summarized in Table 1, were carried out on a machine with 20 Intel Xeon 3.10 GHz cores and 50 Gb of memory. The implementation and the specification files are available at [17].
Experimental results
Property/Protocol
#roles
Single channel
I/O unambiguous
Strong secrecy
Denning–Sacco
6
33 s
2 m 7 s
1 m 58 s
9 s
35 s
<1 s
NSL
4
29 s
1 m
43 s
3 s
6 s
<1 s
Wide Mouth Frog
9
12 m 16 s
34 m 43 s
20 m 1 s
24 s
58 s
<1 s
Yahalom–Lowe
6
2 h 46 m
11 h 11 m
5 h 17 m
4 m 5 s
13 m 47 s
<1 s
Anonymity
Passive Authentication
6
1 h 59 m
5 h 6 m
6 h 49 m
7 m 2 s
1 h 50 m
<1 s
Private Authentication
4
9 s
9 s
11 s
1 s
2 s
<1 s
Unlinkability
Passive Authentication
6
3 h 15 m
7 h 15 m
11 h 6 m
10 m 30 s
2 h 49 m
<1 s
AKA
4
13 m
26 m 9 s
17 m 13 s
18 s
49 s
<1 s
Vote privacy
Helios
10
10 m 9 s
19 m 10 s
14 m 50 s
–
–
–
Scytl
3
2 m 47 s
5 m 9 s
5 m 14 s
–
–
–
The specifications we used for these experiments include verification of
strong secrecy in several classical authentication protocols (Denning–Sacco, Needham–Schroeder–Lowe (NSL), Wide Mouth Frog, and Yahalom–Lowe protocols);
anonymity of the Private Authentication protocol proposed by Abadi and Fournet [2];
anonymity and unlinkability of the passive authentication protocol implemented in the European Passport protocol [5,23];
unlinkability of the AKA protocol, deployed in 3G mobile telephony [7];
vote privacy in the Helios e-voting protocol [4], and the e-voting protocol proposed by Scytl for elections in the Swiss Neuchâtel canton [19].
For all these examples we found that the results were unchanged, independent of the semantics. However, as expected, performance was generally better for the private semantics, and much better for strong action determinate processes, as this class allows for powerful partial-order reductions. The existing protocol encodings generally used a single public channel. To enforce membership in a particular subclass we had to use different channel names. Surprisingly, the use of distinct channels to enforce I/O-unambiguity, significantly enhances the tool’s performance. We could not make the voting protocols I/O unambiguous and action determinate, because the encodings use private channels. In the absence of private channels using different channel names to enhance efficiency is tempting. One must however be careful as changing channel names changes the attacker’s observation and may change the result. Typically, a single channel name models that the attacker does a priori not know which process sent a given message. Binding the channel name to the identity allows the attacker to know which host sent a message, but not necessarily which of the possibly multiple processes, e.g. sessions, on the given host. However, this modelling is typically not adequate when checking anonymity, or unlinkability, as it reveals the sender’s identity. For such properties, it may be possible to use different channel names for each session, modelling that the adversary can distinguish different sessions, but not necessarily whether the same host executed one or several sessions. This is the encoding we used for verifying anonymity and unlinkability properties to enforce strong action determinism in the AKA and Passive Authentication protocols.
Conclusion
In this paper we investigated two families of Dolev–Yao models, depending on how the hypothesis that the attacker controls the network is reflected. While the two semantics coincide for reachability properties, they yield incomparable notions of behavioral equivalences, which have recently been extensively used to model privacy properties. The fact that forcing all communication to be routed through the attacker may diminish his distinguishing power may at first seem counter-intuitive. We also propose a third semantics, where internal communication among honest participants is permitted but leaks the message to the attacker. This new communication semantics entails strictly stronger equivalences than the two classical ones. We also identify several subclasses of protocols for which (some) semantics coincide. Finally, we implemented the three semantics in the DeepSec tool. Our experiments showed that the three semantics provide the same result on the case studies in the DeepSec example repository. However, the private semantics is slightly more efficient, as less interleavings have to be considered. Our results illustrate that behavioral equivalences are much more subtle than reachability properties and the need to carefully choose the precise attacker model.
Footnotes
Acknowledgments
We would like to thank Catherine Meadows and Stéphanie Delaune for interesting discussions, as well as the anonymous reviewers for their comments. This work has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation program (grant agreement No 645865-SPOOC) and the ANR projects SEQUOIA ANR-14-CE28-0030-01 and TECAP ANR-17-CE39-0004-01.
Part of the work was carried out while the first author was a student at IIT Bombay during an internship at Inria Nancy Grand-Est.
Refining Theorem 3
We here give a more refined version of Theorem 3. In particular we show that the private and classical semantics are incomparable for trace equivalence and labelled bisimulation, even when restricted to processes that do not use else branches.
Proof of Proposition 2
Proof of Theorem 1
We start by restating the a proposition from [15] that was used to prove that trace equivalence implies may equivalence in the classical semantics. In order to prove the proposition for the semantics private and eavesdrop, we will first write exactly the proof of from [15] for the classical semantics and then highlight what changes are required to obtain the proofs for the private and eavesdropping semantics.
The previous lemma indicates that the trace equivalence are preserved by replacement of free names.
As for the previous proposition, the proof of Theorem 1 is taken from [15] for the classical semantics and we adapt it for the private and eavesdropping semantics.
andon image-finite processes for.
We first prove that for all , . Since we already proved in the body of the paper that there exists two closed honest extended processes such that but , we would thus obtain that .
Let be two closed extended processes such that . Let be an evaluation context s-closing for A and B, and c be a channel name. We assume w.l.o.g. that for some extended processes and for some sequences of names and variables , and . We assume w.l.o.g. that and .
Let and where is a sequence of fresh names and variables. Thanks to Lemma 10, we have that . Hence, by structural equivalence, there exists such that and .
Assume now that . This means that there exist a evaluation context that does not bind c, a term M, and a plain process P, such that . Applying Proposition 3 on , and , we know that there exist a closed extended process , an evaluation context s-closing for and such that , and , and for all closed extended process such that and , we have that . Moreover, we assume w.l.o.g. that .
Since , we can deduce from that the output comes from the process E when or from when . We distinguish these two cases:
Case: Since, we have that , we know that there exists such that and . Therefore, we have that . But by hypothesis, we know that the output comes from E and . Hence we have that , and since , we conclude that .
Case: Thus, we have that with . Thus, we have that where z is fresh (if M is a term of channel type, the transition is different but the proof can be done in a similar way.) Let and , we have that . Since we have that , we have that there exists such that and . Since internal reduction rules do not modify the frame (modulo structural equivalence), we can deduce w.l.o.g. that there exists such that . Therefore, we have that there exists a term N, an evaluation context and a process Q such that and c is not bind by . Furthermore, we have that which means that , and thus . Hence, we have that , and since , we conclude that .
This conclude the proof of . It remains to prove that on imagine-finite processes, for all . We first focus on .
Assume that . We assume w.l.o.g. that . In such a case, there exists a witness for the non equivalence. This means that there exists such that , and for all , implies . Moreover, we assume that no name in is bound twice (i.e.. cannot occur twice in ) and bound names in are distinct from free names that occur in A, B, and .
We build an evaluation context according to the trace and also the tests that witness the fact that static equivalence does not hold. Let . Since B is image-finite, we know that is finite. Let . Note that m can be equal to 0 if there is no such that .
We know that with:
for each , there exist two terms and such that , , and ; and
for each , there exist two terms and such that , , and .
Let be a fresh channel name that does not occur in A and B. Let be the plain processes defined as follows:
for , we define as follows:
Let be channel names that occur free in A, B, and . Let be a set of variables of channel type, and . Moreover, for all channel names that are bound in , we also associate fresh variables .
We define such that where and is defined by recurrence on as follows:
if then ;
if then ;
if and z is of base type then
it then where y is fresh variable of channel type; and
if and c is of channel type then where .
We use the conditional as a shortcut for
We can see that since and satisfies by definition all the tests that are tested in . However, by construction of , we have that .
This conclude the proof for the case . The proof for and are very similar. We only need to slightly modify the context . In fact since the possible labels in the private semantics are the same as in the original semantics, we have . However, for the eavesdropping semantics, we define such that where and is defined by recurrence on as follows:
if then ;
if then ;
if and z is of base type then
it then where y is fresh variable of channel type; and
if and c is of channel type then where .
if with c of channel-type then where y is fresh variable of channel type;
if and z is of base type then
if and c is of channel type then where .
□
Proof of Theorem 6
In this section, we want to prove that . In order to show that , we need to build a transformation of context that would allows us to go from the classic semantics to eavesdropping semantics, and vice versa.
Notice that in the definition of structural equivalence is not equivalence to even though they have the same behavior. In fact, for reachability, may equivalence, trace equivalence, observational equivalence and labeled bissimilar, using the structural equivalence coincides with using the structural equivalence augmented with the equality . As such in this section, we will consider the structural equivalence augmented with the equality .
In order to facilitate the readability of the proof, for a set S of names and variables, we will denote and . Moreover, we will consider that .
Hence, can now be written as .
Note that from the definition, we have that for all A closed honest extended process, if is -closing for A then is -closing for A for all S.
Let A be an extended process anda sequence of names and variables. We have.
Direct from the definition. □
Let A be an closed honest extended process. Letbe an attacker evaluation context-closing for A such that D is named-cleaned and eavesdrop-free. Let S be a set of channel names such that.
For all, there existclosed honest extended process,an attacker evaluation context-closing forsuch thatis name-cleaned and eavesdrop-free,and
For all, there existclosed honest extended process,an attacker evaluation context-closing forsuch thatis name-cleaned and eavesdrop-free,and
We first start by proving the first property. Notice that by structural equivalence, we can always assume that the bound names and variables in are only bound once and are distinct from the free names in S. Indeed, for all , , if only by renaming of bound names and variables then we obtain that .
We do a case analysis on the internal rule applied.
Case 1.a, ruleThenon D, i.e.and: In such a case we have and so . By Lemma 11, we obtain that . Let us denote and . Since , we obtain that and .
Case 1.b, ruleElseon D: Similar to Case 1.a.
Case 2.a, ruleThenon A, i.e.and: In such a case, let us denote and . Therefore, . Note that . Hence and . Thus the result holds.
Case 2.b, ruleElseon A: Similar to Case 2.a.
Case 3, ruleCommon A, i.e.and: Note that even though , we don’t necessarily have that . We have to do a case analysis on u and c:
Case 3.a, : In such a case, we know from A being an honest processes that . Thus we can apply rule C-Priv to obtain that . Hence, by denoting and , we obtain that , and so and . Therefore, the result holds.
Case 3.b, and u of base type: In such a case, by the rule C-Eav. Let us denote . Since , we obtain that and so . By noticing that c is either in or in and so in S, the structural equivalence gives us that . Hence the result holds with .
Case 3.c, and u of channel type: This case is very similar to Case 3.b. Indeed, by the rule C-OEav. Let us denote . Since , we obtain that and so . By noticing that c is either in or in and so in S, the structural equivalence gives us that . Hence the result holds with .
Case 4, ruleCommon D, i.e.and: Let us do a case analysis on u:
Case 4.a, u is of base type: In such a case, we have by the rule C-Env. Hence, . Let us denote . By Lemma 11, we obtain that . Hence, we deduce that . Let us denote and . We have and . Hence the result holds.
Case 4.b, u is of channel type and : In such a case, and we have by the rule C-Open. Since , we obtain that . Let us denote . By Lemma 11, we obtain that . Moreover, since then . Lastly, since and , we obtain that . Therefore, the result holds with and .
Case 4.c, u is of channel type and : This case is similar to Case 4.b. Since , we can apply the same reasoning and obtain where . Since and , we deduce that . Therefore, we obtain that and so the result holds with and .
Case 4.d, u is of channel type and : First of all, note that since , for some such that . Note that since u is bound, . Hence, by applying the same reasoning as in Case 4.b, we obtain that where . Since , we deduce that . First, notice that by Lemma 11. Second, since u does not appear in A, we deduce that . Hence, if we denote then . Therefore, by denoting and , we deduce . Thus the result holds.
Case 5, ruleCommbetween A (input) and D (output), i.e.,and: Note that . Let us do a case analysis on u:
Case 5.a, u is of base type: In such a case, let us split and in and respectively, such that and are of channel type, and and are of base type. Since u is of base type, we deduce that . Note that by the rule C-Env. Hence . Therefore, . But thanks to Lemma 11 and since we assume that bound names and variables are bound once and distinct from free names and variables. Moreover, . Therefore, let us denote , and . Notice that and being of base type implies that . Hence . Hence, the result holds with .
Case 5.b, u is of channel type and : Notice that in such a case . The rest of the proof follows a similar reasoning as in Case 4.b and the result will hold with , and .
Case 5.c, u is of channel type and : Notice that in such a case . The rest of the proof follows a similar reasoning as in Case 4.c and the result will hold with , and .
Case 5.d, u is of channel type and : Note that since , for some such that . Hence, . The rest of the proof follows a similar reasoning as in Case 4.d and the result will hold with , , and .
Case 6, ruleCommbetween A (output) and D (input), i.e.,and: Note that . Let us do a case analysis on u:
Case 6.a, u is of base type: In such a case, let us split and in and respectively, such that and are of channel type, and and are of base type. The rest of the proof follows a similar reasoning as in Case 5.a and the result holds with , , and .
Case 6.b, u is of channel type and : Notice that in such a case . The rest of the proof follows a similar reasoning as in Case 4.b and the result will hold with , and .
Case 6.c, u is of channel type and : Notice that in such a case . The rest of the proof follows a similar reasoning as in Case 4.c and the result will hold with , and .
Case 6.d, u is of channel type and : Note that since , for some such that . Hence, . The rest of the proof follows a similar reasoning as in Case 4.d and the result will hold with , , and .
This conclude the proof of the first property. The second property is in fact easy to prove: All rules in the eavesdropping semantics other than Then and Else will be mapped by the rule Comm in the classical semantics. One can notice that since we know that A and C do not contain eavesdrop processes and since the transformation from A to and to only adds processes of the form , the communication rules all becomes instances of the rule Comm. For instance, an application of rule C-Eav would result into the following
which is typically the rule Comm when we remove the transformation and so the process . Lastly, since any instance of has no impact on the classical semantics, every rules thus corresponds to the rule Comm once the transformation removed. □
Let A be an closed honest extended process. Letbe an attacker evaluation context-closing for A such that D is named-cleaned and eavesdrop-free. Let S be a set of channel names such that. For all channel c,iff.
.
Consider two closed honest extended process A and B. We assume . We first show that .
Let be an attacker evaluation context -closing for A and B. Notice that in the classical semantics, a process as the same behaviour as the process 0. Hence, there exists an attacker evaluation context eavesdrop-free and -closing for A and B such that for all c, and (1). Moreover, relying on the structural equivalence, we deduce that there exists attacker evaluation context eavesdrop-free and -closing for A and B such that D is named-cleaned, and . Lastly, by renaming through the structural equivalence, we deduce that there exist , two closed honest extended process and attacker evaluation context eavesdrop-free and -closing for A and B such that D is named-cleaned, and . Therefore, we have and . Lastly, let us denote , relying on Lemma 11 and Definition 13, one can note that there exists attacker evaluation context -closing for A and B such that and .
We can conclude the proof as follows: Let . For all channel c,
Let us now prove that . Let be an attacker evaluation context -closing for A and B. As for the classical semantics, notice that in the private semantics, a process as the same behaviour as the process 0. Hence, there exists an attacker evaluation context eavesdrop-free and -closing for A and B such that for all c, and . Moreover, notice that . Hence, for all c, implies and implies . Furthermore, since is eavesdrop-free and are both honest, we deduce that rules C-Eav and C-OEav can never be applied in a derivation of or . Hence, we obtain that for all c, and . Lastly, implies that for all channel c, . We can conclude the proof by combining all these statements as follows: for all channel c,
We have concluded the proof of . Therefore, it remains to show that this inclusion is not strict. In Fig. 7, we have provided two processes A and B such that , but . Notice that these processes do not contain replication and so are imagine-finite. Thus, by Theorem 1, implies . Moreover, by Proposition 3, and implies , . Once again by Theorem 1, we deduce that , . Hence, we conclude that . □
Proof of Theorem 2
Proof of Theorem 7
The following theorem now follows directly from Lemmas 4 and 13.
When restricted to, we havefor,.
Proof of Theorem 8
Proof of Lemma 7
Proof of Theorem 9
Proof of Theorem 10
Proof of Theorem 11
References
1.
M.Abadi and C.Fournet, Mobile values, new names, and secure communication, in: 28th Symposium on Principles of Programming Languages (POPL’01), H.R.Nielson, ed., ACM, London, UK, 2001, pp. 104–115.
M.Abadi and A.D.Gordon, A calculus for cryptographic protocols: The spi calculus, Inf. Comput.148(1) (1999), 1–70. doi:10.1006/inco.1998.2740.
4.
B.Adida, Helios: Web-based open-audit voting, in: 17th Conference on Security Symposium (SS’08), USENIX Association, 2008, pp. 335–348, http://dl.acm.org/citation.cfm?id=1496711.1496734.
5.
M.Arapinis, V.Cheval and S.Delaune, Verifying privacy-type properties in a modular way, in: Proceedings of the 25th IEEE Computer Security Foundations Symposium (CSF’12), V.Cortier and S.Zdancewic, eds, IEEE Computer Society Press, Cambridge Massachusetts, USA, 2012, pp. 95–109.
6.
M.Arapinis, T.Chothia, E.Ritter and M.Ryan, Analysing unlinkability and anonymity using the applied pi calculus, in: Proc. 23rd Computer Security Foundations Symposium (CSF’10), IEEE Computer Society Press, 2010, pp. 107–121.
7.
M.Arapinis, L.Mancini, E.Ritter, M.Ryan, N.Golde, K.Redon and R.Borgaonkar, New privacy issues in mobile telephony: Fix and verification, in: 19th Conference on Computer and Communications Security (CCS’12), ACM Press, 2012, pp. 205–216.
8.
A.Armando, D.A.Basin, Y.Boichut, Y.Chevalier, L.Compagna, J.Cuéllar, P.H.Drielsma, P.-C.Héam, O.Kouchnarenko, J.Mantovani, S.Mödersheim, D.von Oheimb, M.Rusinowitch, J.Santiago, M.Turuani, L.Viganò and L.Vigneron, The AVISPA tool for the automated validation of Internet security protocols and applications, in: Proc. 17th International Conference on Computer Aided Verification (CAV’05), Lecture Notes in Computer Science, Springer, 2005, pp. 281–285.
9.
K.Babel, V.Cheval and S.Kremer, On communication models when verifying equivalence properties, in: 6th International Conference on Principles of Security and Trust (POST’17), Lecture Notes in Computer Science, Vol. 10204, Springer, Uppsala, Sweden, 2017, pp. 141–163. doi:10.1007/978-3-662-54455-6.
10.
D.Baelde, S.Delaune and L.Hirschi, Partial order reduction for security protocols, in: Proceedings of the 26th International Conference on Concurrency Theory (CONCUR’15), L.Aceto and D.de Frutos-Escrig, eds, Leibniz International Proceedings in Informatics, Vol. 42, Leibniz-Zentrum für Informatik, Madrid, Spain, 2015, pp. 497–510, http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/BDH-concur15.pdf. doi:10.4230/LIPIcs.CONCUR.2015.497.
11.
B.Blanchet, Automatic verification of correspondences for security protocols, Journal of Computer Security17(4) (2009), 363–434. doi:10.3233/JCS-2009-0339.
12.
B.Blanchet, M.Abadi and C.Fournet, Automated verification of selected equivalences for security protocols, Journal of Logic and Algebraic Programming75(1) (2008), 3–51. doi:10.1016/j.jlap.2007.06.002.
13.
R.Chadha, V.Cheval, Ş.Ciobâcă and S.Kremer, Automated verification of equivalence properties of cryptographic protocol, ACM Transactions on Computational Logic17(4) (2016), 1–32. doi:10.1145/2926715.
14.
V.Cheval, H.Comon-Lundh and S.Delaune, Trace equivalence decision: Negative tests and non-determinism, in: Proc. 18th ACM Conference on Computer and Communications Security (CCS’11), ACM, 2011.
15.
V.Cheval, V.Cortier and S.Delaune, Deciding equivalence-based properties using constraint solving, Theoretical Computer Science492 (2013), 1–39. doi:10.1016/j.tcs.2013.04.016.
16.
V.Cheval, S.Kremer and I.Rakotonirina, DEEPSEC: Deciding equivalence properties in security protocols – theory and practice, in: Proceedings of the 39th IEEE Symposium on Security and Privacy (S&P’18), IEEE Computer Society Press, San Francisco, CA, USA, 2018, pp. 525–542. doi:10.1109/SP.2018.00033.
17.
V.Cheval, S.Kremer and I.Rakotonirina, DeepSec 1.1, 2019, https://github.com/DeepSec-prover/deepsec/tree/ae7a64e9023df242370b011dfa82a7586ac7a772.
18.
V.Cortier, S.Delaune and A.Dallon, SAT-Equiv: An efficient tool for equivalence properties, in: Proceedings of the 30th IEEE Computer Security Foundations Symposium (CSF’17), IEEE Computer Society Press, 2017, pp. 481–494. doi:10.1109/CSF.2017.15.
19.
V.Cortier, D.Galindo and M.Turuani, A formal analysis of the Neuchâtel e-voting protocol, in: IEEE European Symposium on Security and Privacy (EuroS&P), 2018.
20.
C.J.F.Cremers, The Scyther Tool: Verification, falsification, and analysis of security protocols, in: Proc. 20th International Conference on Computer Aided Verification (CAV’08), Lecture Notes in Computer Science, Vol. 5123, Springer, 2008, pp. 414–418. doi:10.1007/978-3-540-70545-1_38.
21.
S.Delaune, S.Kremer and M.D.Ryan, Verifying privacy-type properties of electronic voting protocols, Journal of Computer Security17(4) (2009), 435–487. doi:10.3233/JCS-2009-0340.
22.
N.Dong, H.Jonker and J.Pang, Analysis of a receipt-free auction protocol in the applied pi calculus, in: Proc. International Workshop on Formal Aspects in Security and Trust (FAST’10), S.Etalle and J.Guttman, eds, Pisa, Italy, 2010, To appear.
23.
P.T.Force, PKI for machine readable travel documents offering ICC read-only access, Technical Report, International Civil Aviation Organization, 2004.
24.
J.K.Millen and V.Shmatikov, Constraint solving for bounded-process cryptographic protocol analysis, in: Proc. 8th Conference on Computer and Communications Security, ACM Press, 2001, pp. 166–175.
25.
L.C.Paulson, The inductive approach to verifying cryptographic protocols, Journal of Computer Security6(1/2) (1998), 85–128. doi:10.3233/JCS-1998-61-205.
26.
P.Y.A.Ryan, S.A.Schneider, M.Goldsmith, G.Lowe and A.W.Roscoe, Modelling and Analysis of Security Protocols, Addison Wesley, 2000.
27.
B.Schmidt, S.Meier, C.Cremers and D.Basin, The TAMARIN prover for the symbolic analysis of security protocols, in: Proc. 25th International Conference on Computer Aided Verification (CAV’13), Lecture Notes in Computer Science, Vol. 8044, Springer, 2013, pp. 696–701.
28.
F.J.Thayer Fabrega, J.C.Herzog and J.D.Guttman, Strand spaces: Proving security protocols correct, Journal of Computer Security7(2/3) (1999), 191–230. doi:10.3233/JCS-1999-72-304.
29.
A.Tiu and J.E.Dawson, Automating open bisimulation checking for the spi calculus, in: Proc. 23rd Computer Security Foundations Symp. (CSF’10), IEEE Comp. Soc., 2010, pp. 307–321.