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.

106 CHAPTER 4. PROTOCOLS WITH VULNERABLE SIGNATURE SCHEMES<br />

no substitution is applied, <strong>and</strong> thus denoting C ′ the result <strong>of</strong> transformation, we<br />

have M(C ′ ) < M(C).<br />

Let us now consider the case <strong>of</strong> Apply rule, <strong>and</strong> let C ′ be the obtained modified<br />

I-constraint system. If the underlying intruder deduction rule is in LDEO,<br />

the fact that t is not a variable implies that the right-h<strong>and</strong> side <strong>of</strong> the rule will<br />

be instantiated by the strict maximal subterms t1, . . . , tk <strong>of</strong> t. we will thus have<br />

M(C ′ ) = M(C) ∪ {t1, . . . , tk} \ {t} <strong>and</strong> thus M(C ′ ) < M(C).<br />

It is now suffices to prove the Lemma for the rule in L”DEO \ LDEO:<br />

the applied rule is: f(P k(y), sig(x, Sk(y))), Sk”(P k(y), sig(x, Sk(y))) →<br />

sig(x, Sk(y)).<br />

The substitution σ is the most general unifier <strong>of</strong> the unification system<br />

�<br />

�<br />

t ? =∅ sig(x, Sk(y)), e1<br />

?<br />

=∅ f(P k(y), sig(x, Sk(y))), e2<br />

?<br />

=∅ Sk”(P k(y), sig(x, Sk(y)))<br />

for some e1, e2 ∈ E. since it is syntactic unification <strong>and</strong> since we can assume<br />

neither e1, neither e2 (by Lemma 9) nor t (by definition <strong>of</strong> the Apply rule) are<br />

variables, we must have t = sig(t1, t2), e1 = f(v1, v2), <strong>and</strong> e2 = Sk”(v3, v4).<br />

• If t2 ∈ X , we have σ(x) = t1, σ(t2) = Sk(y) <strong>and</strong> the unification system is<br />

then<br />

�<br />

transformed into:<br />

�<br />

?<br />

=∅ sig(t1, Sk(y)) .<br />

v1<br />

?<br />

=∅ P k(y), v2<br />

?<br />

=∅ sig(t1, Sk(y)), v3<br />

?<br />

=∅ P k(y), v4<br />

By the fact that t3 is replaced by y, x, y /∈ V ar(C), <strong>and</strong> the number <strong>of</strong> variables<br />

in σ is strictly less than the union <strong>of</strong> variables <strong>of</strong> the unification system,<br />

we deduce that nbv(C ′ ) < nbv(C).<br />

• If t2 /∈ X then t2 = Sk(t3). We have σ(x) = t1, σy = t3 <strong>and</strong> the unification<br />

system is then transformed into:<br />

�<br />

�<br />

?<br />

=∅ sig(t1, Sk(t3)) .<br />

v1<br />

?<br />

=∅ P k(t3), v2<br />

?<br />

=∅ sig(t1, Sk(t3)), v3<br />

?<br />

=∅ P k(t3), v4<br />

If the unification system is obvious, that is σ is the identity substitution,<br />

we have C ′ = C \ (E ⊲ t), <strong>and</strong> then M(C ′ ) = M(C) \ t which implies that<br />

M(C ′ ) < M(C). Else, we have nbv(C ′ ) < nbv(C).<br />

This concludes the pro<strong>of</strong>. �<br />

Lemma 38 If C = (E1 ⊲ t1, . . . , En ⊲ tn) is a modified I-constraint system satisfied<br />

by a substitution σ with respect to I” (σ |=I” C), then it can be transformed into a<br />

constraint system in solved form by the rules <strong>of</strong> Figure 4.2.<br />

PROOF.<br />

Let C = (E1 ⊲t1, . . . , En⊲tn) be a modified I-constraint system not in solved<br />

form <strong>and</strong> let i be the smallest integer such that ti /∈ X , then C = (Cα, Ei ⊲ ti, Cβ)<br />

where Cα is in solved form, <strong>and</strong> t /∈ X . Let σ be a substitution such that

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

Saved successfully!

Ooh no, something went wrong!