2.1 The Dolev-Yao Model
The underlying assumption of the symbolic approach
is that all messages exchanged in the protocol will be
sent through public channels. These are assumed to
be controlled by an attacker that can
• obtain any message passing through the network
• is a legitimate user of the network and can interact
with other users
• will have an opportunity to be a receiver to any
user
Moreover, an attacker will also be able to modify,
delete and inject messages as well as use the user
defined cryptographic functions for manipulating the
obtained data (e.g. accessing the ith element in a tu-
ple, constructing a tuple, decrypting a message, etc.).
However, the attacker we are considering will not be
able to perform any sort of cryptoanalysis or any op-
eration that would break the cryptography properties
of the defined cryptographic functions (e.g. finding
an inverse of an one-way hash function used in the
protocol).
2.2 The Applied π-calculus
We use the applied π-calculus for modelling the cryp-
tographic protocols. The choice of using a process
calculus lends itself well to a protocol analysis that
uses the Dolev-Yao-assumptions; as pointed out by
Abadi and Gordon (Abadi and Gordon, 1999), we can
then view any attacker as a process that interacts with
the protocol that is the protocol itself. Our version
of the applied π-calculus is that of (Blanchet, 2002),
which is used in the ProVerif protocol analyzer de-
scribed in Section 2.4.
We consider an infinite set of names (channels) N
and an infinitive set of variables X . We let a, b and
c range over N and x, y and z range over X . We will
use the letters M and N for terms and the letters P, Q
and R for processes.
The syntax of processes is given in Table 1. The
process 0 is the inactive process. The output process
ahNi.P outputs the term N on channel a and contin-
ues as P. The input process a(x).P allows a term to be
input on the channel a and binds the term to x within
the continuation P. The process P | Q denotes the par-
allel execution of processes P and Q. The replication
process !P denotes an infinite supply of copies of the
process P. The match process if M = N then P com-
pares the terms M and N.
A name n occurring in a process P is called free if
it is not bound by a restriction or an input. The set of
free names in P is denoted by fn(P).
Table 1: Formation rules for terms and processes in the ap-
plied π-calculus.
M,N ::= x, y, z | a, b,c | f (M
1
,...,M
n
)
P,Q ::= 0 | ahNi.P | a(x).P | P | Q |!P | (νa)P
| if M = N then P | let x = g(M
1
,..., M
n
) in P
Table 2: Structural congruence rules.
P ≡ P P | 0 ≡ P
P | Q ≡ Q | P P | (Q | R) ≡ (P | Q) | R
(νa)(νb)P ≡ (νb)(νa)P (νa)0 ≡ 0
(νa)(P | Q) ≡ P | (νa)Q if a /∈ fn(P)
P → Q
P ≡ Q
P ≡ Q
Q ≡ P
P ≡ Q Q ≡ R
P ≡ R
P ≡ Q
P | R ≡ Q | R
P ≡ Q
(νa)P ≡ (νa)Q
In the original π-calculus, the only terms that can
be transmitted along channels are names, but since
the applied π-calculus is used for describing crypto-
graphic protocols, we here allow a richer set of data
terms. Terms are now built from a signature, a finite
set of function symbols Σ that represent the crypto-
graphic primitives. Some function symbols are con-
structors that are used for building terms (e.g. in en-
cryption), while others are destructors used for taking
terms apart (e.g. in decryption).
In Table 1, f represents a constructor, while g
represents a destructor ( f ,g ∈ Σ). The evaluation of
data terms is defined by a collection of term reduction
rules that are specific to a given signature. We write
M → M
0
if the term M evaluates to M
0
and M 9 if the
term M cannot be evaluated.
The notion of structural congruence is used to
identify processes that are identical up to structure.
The rules defining the relation are presented in Table
2.
The semantics of the π-calculus is given by a re-
duction relation, → defined inductively by a collec-
tion of reduction rules on closed processes, presented
in Table 3. We write P →
∗
P
0
if either P = P
0
or P
reduces to P
0
in 1 or more reduction steps.
To the reduction rules for the π-calculus we add
the reduction rules in Table 4; they describe how
terms are evaluated by applying destructors in let-
expressions. If a term g(M
1
,. .. ,M
n
) evaluates to M
0
,
the process continues as P{
M
0
/
x
}, otherwise, it termi-
nates.
ICISSP 2020 - 6th International Conference on Information Systems Security and Privacy
120