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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.4. OUR CONTRIBUTION 159<br />

I is<br />

CI<br />

def<br />

= {I(u1), . . . , I(un) → I(v) such that u1, . . . , un → v ∈ LI}<br />

Example 23 The Dolev-Yao rules presented in Chapter 2, in Example 8, more exactly<br />

the rules without explicit destructors are represented by the following set <strong>of</strong> Horn<br />

clauses:<br />

⎧<br />

I(x), I(y) → I(< x, y >)<br />

I(x), I(y) → I({x}<br />

⎪⎨<br />

CDY =<br />

⎪⎩<br />

s y)<br />

I(x), I(y) → I({x} p y)<br />

I(< x, y >) → x<br />

I(< x, y >) → I(y)<br />

I({x} s y), I(y) → I(x)<br />

I({x} p y), I(y−1 ) → I(x)<br />

I({x} p<br />

y−1), I(y) → I(x)<br />

Given a set <strong>of</strong> terms E, we define CE<br />

def<br />

= {I(u) such that u ∈ E}.<br />

Lemma 56 Let CI be the set <strong>of</strong> clauses associated with the intruder I, E a set <strong>of</strong> ground<br />

terms <strong>and</strong> m a ground term. If m ∈ ĒI then CE ∪ CI |= I(m).<br />

PROOF.<br />

Let E <strong>and</strong> m be respectively a set <strong>of</strong> ground terms <strong>and</strong> a ground term, <strong>and</strong><br />

assume that m ∈ ĒI . This implies that there is a derivation d starting from E <strong>of</strong><br />

goal m, d = E →I E1 →I . . . →I En−1, m, where Ei = Ei−1 ∪ mi, E0 = E <strong>and</strong><br />

mn = m. We reason by induction on the lenghth <strong>of</strong> the derivation d.<br />

• lenghth(d) = 0: then m ∈ E <strong>and</strong> thus I(m) ∈ CE which implies that<br />

CE |= I(m) <strong>and</strong> then CE ∪ CI |= I(m).<br />

• lenghth(d) = 1: let u1, . . . , un → v be the intruder deduction rule applied<br />

on E in the derivation d, we have {uiσ}1≤i≤n ⊆ E <strong>and</strong> m = vσ for a ground<br />

substitution σ. Hence, for all i ∈ {1, . . . , n}, I(ui)σ ∈ CE which implies that<br />

CE |= I(ui)σ. Consider an arbitrary model Int <strong>of</strong> CE ∪ CI, Int satisfies all<br />

I(ui)σ. Let us prove that I(m) which is equal to I(v)σ is true in Int by contradiction.<br />

If I(v)σ is false in Int then the clause I(u1)σ, . . . , I(un)σ → I(v)σ<br />

is not satisfied by Int, <strong>and</strong> hence neither the clause I(u1), . . . , I(un) → I(v)<br />

which belong to CI. But this contradicts Int being a model <strong>of</strong> CE ∪ CI.<br />

Thus, I(m) = I(v)σ is true in Int. We conclude that CE ∪ CI |= I(m).<br />

• Assume that CE ∪ CI |= I(m) for any length k <strong>of</strong> the derivation d, k ≤<br />

n <strong>and</strong> n ≥ 0, <strong>and</strong> let us prove it for lenghth(d) = n + 1. Assume that<br />

u1, . . . , un → v be the last applied rule in the derivation d. Then all uiσ<br />

are in En <strong>and</strong> vσ = m for a ground substitution σ. By induction we have<br />

CE ∪ CI |= I(ui)σ for all i. By the same reasoning as above, we deduce that<br />

CE ∪ CI |= I(v)σ, <strong>and</strong> thus CE ∪ CI |= I(m).

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

Saved successfully!

Ooh no, something went wrong!