30.01.2013 Views

Logical Analysis and Verification of Cryptographic Protocols - Loria

Logical Analysis and Verification of Cryptographic Protocols - Loria

Logical Analysis and Verification of Cryptographic Protocols - Loria

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

160 CHAPTER 6. ON THE GROUND ENTAILMENT PROBLEMS<br />

Again, by induction, we conclude that CE ∪ CI |= I(m) for any length <strong>of</strong> the<br />

derivation d, <strong>and</strong> then, we conclude the pro<strong>of</strong>. �<br />

Insecurity problem <strong>of</strong> cryptographic protocols<br />

We are concerned here with secrecy property <strong>of</strong> cryptographic protocols. We<br />

show in this Section how secrecy property <strong>of</strong> cryptographic protocols can be<br />

encoded as Horn clauses. As we see in the Section 6.4.1, the behaviour <strong>of</strong> the<br />

intruder represented in Chapter 2 by a set <strong>of</strong> deduction rules can be modeled by<br />

a set <strong>of</strong> Horn clauses. The initial knowledge <strong>of</strong> the intruder IK usually given<br />

by a set <strong>of</strong> ground terms can be modeled by a set <strong>of</strong> clauses CIK. We show in<br />

Chapter 2 that the insecurity problem <strong>of</strong> a protocol is reduced to a reachability<br />

problem, <strong>and</strong> thus by constructing a constraint system for each execution <strong>of</strong><br />

the protocol <strong>and</strong> reducing the insecurity problem <strong>of</strong> the execution to the satisfiability<br />

problem <strong>of</strong> its correspondant constraint system, <strong>and</strong> hence to a reachability<br />

problem. Now, we will show how to reduce the satisfiability problem<br />

<strong>of</strong> a ground constraint system to a ground entailment problem in the first order<br />

logic. Let the ground constraint system C = (E1 ⊲ t1, . . . , En ⊲ tn), for each<br />

constraint Ei ⊲ ti ∈ C, we associate the following Horn clause CEi<br />

→ I(ti).<br />

For example, the clause I(a), I(b) → I(< a, b >) corresponds to the constraint<br />

{a, b} ⊲ < a, b >. The constraint system C will then be associated to the set <strong>of</strong><br />

ground Horn clauses CC = {CE1 → I(t1), . . . , CEn → I(tn)}, <strong>and</strong> we have that C<br />

is satisfiable if <strong>and</strong> only if CC is entailed from CI. Thus, an execution exec does<br />

not preserve the secrecy <strong>of</strong> a message s if <strong>and</strong> only if the set <strong>of</strong> Horn clauses<br />

CC ′ exec is entailed from the set <strong>of</strong> Horn clauses CI, where C ′ exec is the extended<br />

ground constraint system representing the execution exec. The construction <strong>of</strong><br />

the extended constraint system C ′ exec from an execution exec is given in Chapter<br />

2.<br />

A set S1 <strong>of</strong> Horn clauses is entailed from a set S2 <strong>of</strong> Horn clauses if each clause C<br />

is S1 is entailed from S2. For example, S |= {C1, C2} if S |= C1 <strong>and</strong> S |= C2, S is a<br />

set <strong>of</strong> clauses <strong>and</strong> C1, C2 are two clauses. Thus, assuming that the protocol runs<br />

correctly (i.e. runs in presence <strong>of</strong> a passive intruder), each protocol execution is<br />

associated to a ground constraint system, <strong>and</strong> then, the insecurity problem <strong>of</strong><br />

a protocol execution <strong>and</strong> hence <strong>of</strong> a cryptographic protocol under a bounded<br />

number <strong>of</strong> sessions is reduced to the ground entailment problem for CI.<br />

Example 24 Needham-Schroeder public key protocol.<br />

Presentation <strong>of</strong> the protocol We consider the Needham-Schroeder symmetric key protocol<br />

[163] as an example. This protocol intends to permit Alice to establish a shared<br />

key (session key) with Bob <strong>and</strong> to obtain mutual conviction <strong>of</strong> the possession <strong>of</strong> the key<br />

by each other. The session key is created by a trusted server which shares a secret key

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!