201. Strand spaces with choice via a process algebra semantics
- Author
-
José Meseguer, Catherine Meadows, Fan Yang, Santiago Escobar, and Sonia Santiago
- Subjects
Bisimulation ,Theoretical computer science ,Programming language ,Computer science ,Formal semantics (linguistics) ,Process calculus ,0102 computer and information sciences ,02 engineering and technology ,Cryptographic protocol ,computer.software_genre ,01 natural sciences ,Naturalness ,010201 computation theory & mathematics ,If and only if ,Taxonomy (general) ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,Rewriting ,computer - Abstract
Roles in cryptographic protocols do not always have a linear execution, but may include choice points causing the protocol to continue along different paths. In this paper we address the problem of representing choice in the strand space model of cryptographic protocols, particularly as it is used in the Maude-NPA cryptographic protocol analysis tool.To achieve this goal, we develop and give formal semantics to a process algebra for cryptographic protocols that supports a rich taxonomy of choice primitives for composing strand spaces. In our taxonomy, deterministic and non-deterministic choices are broken down further. Non-deterministic choice can be either explicit, i.e., one of two paths is chosen, or implicit, i.e. the value of a variable is chosen non-deterministically. Likewise, deterministic choice can be either an (explicit) if-then-else choice, i.e. one path is chosen if a predicate is satisfied, while the other is chosen if it is not, or implicit deterministic choice, i.e. execution continues only if a certain pattern is matched. We have identified a class of choices which includes finite branching and some cases of infinite branching, which we address in this paper.Our main theoretical results are two bisimulation results: one proving that the formal semantics of our process algebra is bisimilar to the forwards execution semantics of its associated strands, and another showing that it is also bisimilar with respect to the symbolic backwards semantics of the strands such as that supported by Maude-NPA. At the practical level, we present a prototype implementation of our process algebra in Maude-NPA, illustrate its expressive power and naturalness with various examples, and show how it can be effectively used in formal analysis.
- Published
- 2016
- Full Text
- View/download PDF