Logical Analysis and Verification of Cryptographic Protocols - Loria
Logical Analysis and Verification of Cryptographic Protocols - Loria
Logical Analysis and Verification of Cryptographic Protocols - Loria
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).