38 CHAPTER 2. PROTOCOL ANALYSIS USING CONSTRAINT SOLVING Intruder deduction system with implicit destructors The definitions we give below were introduced in [72]. Definition 17 (Intruder deduction rule with implicit destructors) An intruder deduction rule is a tuple <strong>of</strong> terms in T (F, X ) (t1, . . . , tn, t), denoted by t1, . . . , tn → t. Definition 18 (Intruder deduction system with implicit destructors) An intruder deduction system I, also called an intruder system, is a tuple I = 〈F, LI, H〉 where F is a signature, LI is a set <strong>of</strong> deduction rules <strong>of</strong> the form t1, . . . , tn → t, <strong>and</strong> H is an equational theory over T (F, X ). Example 6 Assume F = {encs }, <strong>and</strong> F = Fpub. The intruder deduction system I = 〈F, LI, H〉 where: � s x, y → enc (x, y) • LI = encs (x, y), y → x • <strong>and</strong> H = ∅. Intruder derivations Given an intruder system I (with explicit or implicit destructors) such that LI is the corresponding set <strong>of</strong> deduction rules, given two finite sets <strong>of</strong> terms E <strong>and</strong> F , we have E →I F if <strong>and</strong> only if there is an intruder deduction rule ˜l → r ∈ LI (where ˜l is a set <strong>of</strong> terms <strong>and</strong> r is a term), <strong>and</strong> a substitution σ, such that ˜lσ =H ˜ l ′ , rσ =H r ′ , ˜ l ′ ⊆ E <strong>and</strong> F = E ∪ {r ′ }. We denote by → ∗ I the transitive closure <strong>of</strong> →I. It is easy to see that for sets <strong>of</strong> terms E, E ′ , F <strong>and</strong> F ′ such that E =H E ′ <strong>and</strong> F =H F ′ , we have E →I F if <strong>and</strong> only if E ′ →I F ′ . We simply denote by → the relation →I when there is no ambiguity about I. An I-derivation D <strong>of</strong> length n, n ≥ 0, is a sequence <strong>of</strong> the form E0 →I E0, t1 →I · · · →I En with finite sets <strong>of</strong> terms E0, . . . , En, <strong>and</strong> terms t1, . . . , tn, such that Ei = Ei−1 ∪ {ti} for every i ∈ {1, . . . , n}. The term tn is called the goal <strong>of</strong> the derivation. Given a set <strong>of</strong> terms E, we define ĒI to be equal to the set <strong>of</strong> terms that can be derived from E with respect to I, the set Ē I = {t such that ∃F with E→I ∗ F, <strong>and</strong> t ∈ F }. If E <strong>and</strong> t are respectively a set <strong>of</strong> terms in normal form <strong>and</strong> a term in normal form, it is easy to see that if t ∈ ĒI then there exists a I-derivation starting from E <strong>of</strong> goal t, D : E →I E, t1 →I E, t1, t2 →I . . . →I E, t1, . . . , tn, t, where t1, . . . , tn are in normal form, that is in each step E, t1, . . . , ti →I E, t1, . . . , ti+1 where ˜ l → r is the applied rule, we have that ( ˜ lσ) ↓⊆ E, t1, . . . , ti <strong>and</strong> ti+1 = (rσ) ↓. From now on, we consider that in each derivation starting from E <strong>of</strong> goal t, E →I E, t1 →I E, t1, . . . , tn, t, with E <strong>and</strong> t are respectively a set <strong>of</strong> terms in normal form <strong>and</strong> a term in normal form, every term ti (1 ≤ i ≤ n) added in each step in the derivation is in normal
2.1. PRELIMINARIES 39 form. If there is no ambiguity on the intruder deduction system I we write Ē instead <strong>of</strong> ĒI . Example 7 (The Dolev-Yao deduction system with implicit destructors) We present here the Dolev-Yao deduction system with implicit destructors. Let < −, − > (concatenation), enc s (symmetric encryption), enc p (public encryption) <strong>and</strong> −1 (the inverse key) be the cryptographic primitives. The rules L are defined as follows: The rules Lencs are defined as follows: The rules Lencp are defined as follows: x, y →< x, y > (2.1) < x, y >→ x (2.2) < x, y >→ y (2.3) x, y → enc s (x, y) (2.4) enc s (x, y), y → x (2.5) x, y → enc p (x, y) (2.6) enc p (x, y), y −1 → x (2.7) enc p (x, y −1 ), y → x (2.8) The Dolev-Yao deduction system with implicit destructors is given by where • FDY = {< −, − >, enc s , enc p , −1 }, • LDY = L ∪ Lencs ∪ Lencp. I i DY = 〈FDY , LDY , ∅〉 Example 8 (The Dolev-Yao deduction system with explicit destructors) We present here the Dolev-Yao deduction system with explicit destructors. Let < −, − > (concatenation), enc s (symmetric encryption), dec s (symmetric decryption), enc p (public encryption), dec p (public decryption), <strong>and</strong> −1 (the inverse key) be cryptographic primitives. The rules L are defined as follows: x, y →< x, y > (2.9) x → π1(x) (2.10) x → π2(x) (2.11)