group (a), the protocol must be secure against
guessing attacks on P (b), leader’s encryption key
must remain known only by the group members (c),
the nonces S
1
, S
2
, …,S
n
must remain secret (d)
because they are used to compute the final session
key, the leader must authenticate itself to the
members in the group (e) and also each member of
the group must authenticate to the leader, because
only legitimate nodes must be included in a protocol
run (f). We give below the formal expression of
these properties, using a Casper like syntax. The
secrecy properties are expressed through a Secret(A,
v,[B]) specification which states that A thinks that v
is a secret that can be known to only himself and B.
(a) Secret(Mn,P,[M1,...,Mn-1])
(c) Secret(Mn,Si,[M1,...,Mn-1])
(d) Secret(Mn,E,[M1,...,Mn-1])
The agreement properties are formalized through
Agreement(A,B,[v]) authentication specifications: if
responder B completes a protocol run apparently
with A, using the data value v, then the same agent
A has previously been running the protocol
apparently with B, using the same value. And
further, each such run of B corresponds to a unique
run of A.
(e) Agreement(Mn,Mi,[S1,...,Sn])
(f) Agreement(Mi,Mn,[S1,...,Sn])
If the guessing attack needs to be verified, it is
formally specified by using the reserved word
“Guessable”.
(b) Guessable = P
4 FORMAL VERIFICATION
We started the formal verification of G-PAKE with
the formal verification of EKE protocol and of the
modified version of EKE that the authors proposed
in order to be easily transformed into a contributory
multi-party protocol. We will not present here the
details of these two verifications (the Casper model
of these two protocols), because EKE protocol was
already verified and proved safe by Lowe. Based on
the Casper model provided by Lowe (Lowe, 2001),
the modeling of the modified version of EKE is
straightforward.
G-PAKE is a multi-party protocol. Casper/FDR2
cannot be used to model and to verify a protocol
with an unspecified number of participants. That is
why we reduced the protocol to exactly three
entities: a leader and other two members. The
message exchange between the leader and each of
the members is formally the same. If the number of
members is higher than two, the only difference will
be the corresponding growth of the number of
nonces transmitted in steps 3 and 4. There is no
reason for which the number of elements in a
message will influence its security properties. In
conclusion, if the security properties of the protocol
will be proved valid on this reduced system, it
means that they are valid for a system with any
number of members. If the properties will be
invalidated by the verification, they wouldn’t be
valid neither for the general protocol. We conclude
by saying that this reduction does not affect the
generality of the results.
In Figure 4 the Casper formal specification of
original G-PAKE protocol is given. The free
variables represent: N – the leader of the group, A
and B – the other two members, P – the shared
secret, Ra and Rb – the secret keys of the member
nodes, sa, sb, sn – the generated nonces, H – a hash
function and F – a one-way function for computing
the final session key. The F function is defined as
“symbolic”, which means that the output is not
important; the important thing is the fact that its
input is the three values generated by the three
nodes. For more details about modeling a protocol
with Casper, see Lowe, 2001.
Figure 4: Casper model of original G-PAKE.
After analyzing the above model, FDR2 concluded
that the secrecy specifications (the particularization
for this case of the properties presented in section 3)
are all valid: P, sa, sb, sn and PK cannot be found by
a potential intruder. Also P cannot be guessed. These
results confirm the observations given without proof
by Asokan and Ginzboorg: the intruder, not knowing
and being unable to guess P cannot be part of the
protocol, and not knowing sn, sa, sb it cannot
generate the final session key.
But the agreement specifications failed. By
analyzing the output provided by FDR2 (messages
and counterexamples) after they were translated by
Casper, we concluded that besides authentication,
the contributively nature of the final key is also not
achieved. From FDR2 counterexample we saw that
the intruder can act like a sort of “man-in-the-
middle” between the leader N and the members.
Even if the intruder cannot decrypt the messages (we
FORMAL VERIFICATION OF G-PAKE USING CASPER/FDR2 - Securing a Group PAKE Protocol Using Casper/FDR2
301