Introduction on security protocols Formal models Unbounded number of sessions
Verification of Security Protocols Part I
V´ eronique Cortier1 September, 2010
Fosad 2010
1LORIA, CNRS 1/65 V´ eronique Cortier Verification of Security Protocols
Verification of Security Protocols Part I eronique Cortier 1 V - - PowerPoint PPT Presentation
Introduction on security protocols Formal models Unbounded number of sessions Verification of Security Protocols Part I eronique Cortier 1 V September, 2010 Fosad 2010 1 LORIA, CNRS 1/65 V eronique Cortier Verification of Security
Introduction on security protocols Formal models Unbounded number of sessions
1LORIA, CNRS 1/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions
1 Analysis of security protocols with symbolic models 2 More guarantees : Analysis of security protocols with
2/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
3/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
4/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
5/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
6/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
7/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
8/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
9/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
10/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
10/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
11/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
12/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
B ,
13/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
B 14/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
B
14/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
B
14/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
15/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
15/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
B
16/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
B
16/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
B
16/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
B
B
16/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
17/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
18/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
kbob
18/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
kbob
18/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
kbob
18/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
kbob
kintruder
18/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
19/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
20/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
21/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
21/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
21/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
21/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
21/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
22/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
22/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
22/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
22/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Context Security Protocols : how does it work ? Commutative encryption (RSA) Needham-Schroeder Example
23/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
24/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
25/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
START VALIDATE CONNECTED LOG ERROR DELAY login name restart pw correct pw wrong log pw wrong restart
26/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
27/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
K
A Na
28/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
29/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
29/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
29/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
30/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
30/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
30/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
31/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
31/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
32/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
32/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
33/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
33/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
34/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
34/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
34/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
35/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
36/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
36/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
36/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
C = 8 > > < > > : T0 u1 T0, v1 u2 ... T0, v1, .., vn un+1
SOLVED
⊥ ⊥ C1 C2 C3 C4
37/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
38/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
39/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
39/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
40/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
1 Example : k, enc(enc(x, k′), k) enc(a, k′)
41/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
1 Example : k, enc(enc(x, k′), k) enc(a, k′)
2 Example : enc(s, a, x), enc(y, b, k), k s
41/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
42/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
42/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
43/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
43/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
C = 8 > > < > > : T0 u1 T0, v1 u2 ... T0, v1, .., vn un+1
SOLVED
⊥ ⊥ C1 C2 C3 C4
44/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Messages Intruder Protocol Solving constraint systems
45/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
46/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
46/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
47/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
47/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
47/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
48/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
48/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
49/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
50/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
51/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
52/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
52/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
53/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
54/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
55/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
55/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
55/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
56/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
57/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
58/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
59/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
59/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
60/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
1 depth(P(t1, . . . , tn)) ≤ depth(Q(u1, . . . , uk)) 2 For any variable x,
61/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
1 depth(P(t1, . . . , tn)) ≤ depth(Q(u1, . . . , uk)) 2 For any variable x,
61/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
1 depth(P(t1, . . . , tn)) ≤ depth(Q(u1, . . . , uk)) 2 For any variable x,
61/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
62/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
62/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
63/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
64/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
65/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
65/65 V´ eronique Cortier Verification of Security Protocols
Introduction on security protocols Formal models Unbounded number of sessions Undecidability Horn clauses
65/65 V´ eronique Cortier Verification of Security Protocols