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.

122 CHAPTER 5. SATURATED DEDUCTION SYSTEMS<br />

PROOF.<br />

Let C 0 (respectively C) be a I1- (respectively I2-) constraint system <strong>and</strong><br />

assume that C is obtained from C 0 at then end <strong>of</strong> Step 1. This implies that<br />

C 0 = (E1 ⊢ v1, . . . , En ⊢ vn, U) <strong>and</strong> C = ((E1θ)↓ ⊲ (v1θ)↓, . . . , (Enθ)↓ ⊲ (vnθ)↓)<br />

while θ is a substitution in normal form (the construction <strong>of</strong> θ is shown in Definition<br />

28). Since C is I2-satisfiable there exists a normal substitution σ ′ such<br />

that (viθ)↓σ ′ ∈ (Eiθ)↓σ ′I2<br />

<strong>and</strong> thus (viθσ ′ )↓ ∈ (Eiθσ ′ )↓ I2<br />

, which implies that<br />

(viθσ ′ )↓ ∈ (Eiθσ ′ )↓ I1<br />

(Lemma 41). Let σ = (θσ ′ )↓, we have that (viσ)↓ ∈ (Eiσ)↓ I0<br />

,<br />

<strong>and</strong> by construction <strong>of</strong> θ, we have that θ |=I1 U, <strong>and</strong> hence σ |=I1 U which concludes<br />

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

Transformation in solved form<br />

In the rest <strong>of</strong> this chapter, we denote by lx, l1, . . . , ln → r a LI2-rule such that<br />

lx is a finite set <strong>of</strong> variables <strong>and</strong> {l1, . . . , ln} is a finite set <strong>of</strong> non-variable terms.<br />

Unless otherwise specified, I2 is the intruder deduction system implicit in all<br />

notations.<br />

In the rest <strong>of</strong> this section, we prove a progress property: If a satisfiable modified<br />

constraint system is not in solved form, then a rule <strong>of</strong> Fig. 5.3 can be applied<br />

on it to yield another satisfiable modified constraint system.<br />

Figure 5.3 System <strong>of</strong> transformation rules.<br />

Unif :<br />

Reduce 1 :<br />

Cα, E ⊲ t, Cβ<br />

(Cα, (E ⊲ y)y∈lx , Cβ)σ<br />

Reduce 2 :<br />

Cα, E ⊲ t, Cβ<br />

(Cα, (E ⊲ y)y∈lx , E ∪ r ⊲ t, C′ β )σ<br />

Cα, E ⊲ t, Cβ<br />

(Cα, Cβ)σ<br />

u ∈ E \ X , t /∈ X ,<br />

σ = mgu(u, t)<br />

lx, l1, . . . , ln → r ∈ LI2 inc �<br />

<strong>and</strong> t<br />

�<br />

/∈ X<br />

e1, . . . , en ∈ E \ X <strong>and</strong> σ = mgu(<br />

ei ? = ∅ li<br />

1≤i≤n , r ? = ∅ t)<br />

lx, l1, . . . , ln → r ∈ LI2 dec <strong>and</strong><br />

�<br />

t /∈ X<br />

e1, . . . , en ∈ E \ X <strong>and</strong> σ = mgu( ei ? �<br />

= ∅ li<br />

1≤i≤n )<br />

C ′ β is obtained from Cβ by<br />

adding r to left h<strong>and</strong> side <strong>of</strong> constraints<br />

Simplification step. Let C = (Cα, E ⊲ t, Cβ) be a modified constraint system<br />

such that Cα in solved form <strong>and</strong> t /∈ X . If we apply Reduce 1 (respectively<br />

Reduce 2) on C using a rule lx, l1, . . . , ln → r such that there is a variable x ∈<br />

lx \V ar({l1, . . . , ln, r}) then the constraint E ⊲x will be in the obtained modified

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

Saved successfully!

Ooh no, something went wrong!