Exploiting symmetries when proving equivalence properties for security protocols
Vincent Cheval, Steve Kremer, Itsaka Rakotonirina
Inria Nancy Grand-Est
Exploiting symmetries when proving equivalence properties for - - PowerPoint PPT Presentation
Exploiting symmetries when proving equivalence properties for security protocols Vincent Cheval, Steve Kremer, Itsaka Rakotonirina Inria Nancy Grand-Est Security protocols TLS Wifi @ PASS E-voting E-passport 2 24 Security protocols
Inria Nancy Grand-Est
2
24
PASS
2
24
PASS
3
24
3
24
(symmetric encryption)
4
24
Alice Bob
4
24
Alice Bob yes no no yes
4
24
Alice Bob yes no no yes Behavioural indistinguishability for all potential attackers
5
24
yes no no yes
5
24
yes no no yes
for a fixed number of participants
[S&P18] S. Kremer, V. Cheval, I. Rakotonirina. DEEPSEC: Deciding equivalence properties in security protocols — theory and practice
5
24
yes no no yes
for a fixed number of participants
[S&P18] S. Kremer, V. Cheval, I. Rakotonirina. DEEPSEC: Deciding equivalence properties in security protocols — theory and practice
6
24
for processes with structural similarities
for any process for this new equivalence
8 24
8 24
enc(0,k) enc(1,k)
8 24
enc(0,k) enc(1,k)
8 24
k k enc(0,k) enc(1,k)
| out(d, k)
8 24
k k enc(0,k) enc(1,k)
| out(d, k)
m1 m2
8 24
k k enc(0,k) enc(1,k)
| out(d, k)
m1 m2
9 24
t
9 24
t
algebra of finite concurrent processes
9 24
t
algebra of finite concurrent processes in(c,x). P P | Q
if u = v then P else Q
9 24
t
sequences of inputs/outputs in an active adversarial environment algebra of finite concurrent processes in(c,x). P P | Q
if u = v then P else Q
9 24
t
sequences of inputs/outputs in an active adversarial environment algebra of finite concurrent processes in(c,x). P P | Q
if u = v then P else Q in(c,x)
⇒ receives a term from the attacker
9 24
t
sequences of inputs/outputs in an active adversarial environment static indistinguishability of sequences of inputs/outputs algebra of finite concurrent processes in(c,x). P P | Q
if u = v then P else Q in(c,x)
⇒ receives a term from the attacker
11
24
actionn,p action1,1 action1,p … …
… actionn,1 … action’n,p action’1,1 action’1,p … …
… action’n,1 …
11
24
actionn,p action1,1 action1,p … …
… actionn,1 … action’n,p action’1,1 action’1,p … …
… action’n,1 … n sessions p actions per session
11
24
actionn,p action1,1 action1,p … …
… actionn,1 … action’n,p action’1,1 action’1,p … …
… action’n,1 … n sessions p actions per session
11
24
actionn,p action1,1 action1,p … …
… actionn,1 … action’n,p action’1,1 action’1,p … …
… action’n,1 … n sessions p actions per session
11
24
actionn,p action1,1 action1,p … …
… actionn,1 … action’n,p action’1,1 action’1,p … …
… action’n,1 … n sessions p actions per session
12
24
actionn,p action1,1 action1,p … …
… actionn,1 … action’n,p action’1,1 action’1,p … …
… action’n,1 …
12
24
actionn,p action1,1 action1,p … …
… actionn,1 … action’n,p action’1,1 action’1,p … …
… action’n,1 …
12
24
e.g. for an adversary observing ports dynamically allocated to each session actionn,p action1,1 action1,p … …
… actionn,1 … action’n,p action’1,1 action’1,p … …
… action’n,1 …
13
24
13
24
σ permutation of {1,…,n}
13
24
σ permutation of {1,…,n}
if P→P’ and Q→Q’ (in the single-process semantics) 훼 훼
13
24
σ permutation of {1,…,n}
if P→P’ and Q→Q’ (in the single-process semantics) 훼 훼
13
24
σ permutation of {1,…,n}
if P→P’ and Q→Q’ (in the single-process semantics) 훼 훼
15
24
[CONCUR15] D. Baelde, S. Delaune, L. Hirschi. Partial-order reductions for security protocols
15
24
[CONCUR15] D. Baelde, S. Delaune, L. Hirschi. Partial-order reductions for security protocols
15
24
[CONCUR15] D. Baelde, S. Delaune, L. Hirschi. Partial-order reductions for security protocols
reduce the number
15
24
[CONCUR15] D. Baelde, S. Delaune, L. Hirschi. Partial-order reductions for security protocols
reduce the number
15
24
[CONCUR15] D. Baelde, S. Delaune, L. Hirschi. Partial-order reductions for security protocols
reduce the number
Concurrent actions with no data flow
Concurrent actions with no data flow
16
24
reduce the number
Concurrent actions with no data flow
16
24
reduce the number
17
24
Concurrent actions with no explicit data flow
17
24
Concurrent actions with no explicit data flow
17
24
(because an input followed by a concurrent output are independent)
Concurrent actions with no explicit data flow
17
24
(because an input followed by a concurrent output are independent)
(because two concurrent outputs are always independent)
Concurrent actions with no explicit data flow
17
24
(because an input followed by a concurrent output are independent)
(because two concurrent outputs are always independent)
Concurrent actions with no explicit data flow
24 19
[CAV18] S. Kremer, V. Cheval, I. Rakotonirina. The DeepSec prover
P Q P1, P2, Q1 P3, P4 Q2 P5, P6 P7 Q3, Q4 P8, P9 Q5, Q6
24 19
[CAV18] S. Kremer, V. Cheval, I. Rakotonirina. The DeepSec prover
P Q P1, P2, Q1 P3, P4 Q2 P5, P6 P7 Q3, Q4 P8, P9 Q5, Q6
24 19
[CAV18] S. Kremer, V. Cheval, I. Rakotonirina. The DeepSec prover
P Q P1, P2, Q1 P3, P4 Q2 P5, P6 P7 Q3, Q4 P8, P9 Q5, Q6
24 19
[CAV18] S. Kremer, V. Cheval, I. Rakotonirina. The DeepSec prover
P Q P1, P2, Q1 P3, P4 Q2 P5, P6 P7 Q3, Q4 P8, P9 Q5, Q6
24 19
[CAV18] S. Kremer, V. Cheval, I. Rakotonirina. The DeepSec prover
20
24
P and Q trace equivalent? P and Q equivalent by session?
20
24
P and Q trace equivalent? yes no >12h P ≈ Q P ≈ Q
P and Q equivalent by session?
20
24
P and Q trace equivalent? yes no >12h P ≈ Q P ≈ Q
P and Q equivalent by session? yes P ≈ Q no
>12h
20
24
P and Q trace equivalent? yes no >12h P ≈ Q P ≈ Q
P and Q equivalent by session? yes P ≈ Q Does the attack trace violate trace equivalence? yes P ≈ Q no
no >12h
20
24
P and Q trace equivalent? yes no >12h P ≈ Q P ≈ Q
P and Q equivalent by session? yes P ≈ Q Does the attack trace violate trace equivalence? yes P ≈ Q no
no >12h
conclude in this case (currently: heuristic)
21
24
21
24
PASS PASS PASS PASS
2 identical passports readers 2 different passports readers
21
24
PASS PASS PASS PASS
2 identical passports readers 2 different passports readers Scenario baseline structure-guided 2 identical <1s <1s 2 identical + 1 fresh >12h 2s 3 identical + 1 fresh >12h 3s 2 identical + 2 fresh >12h 1min20 2 identical + 3 fresh >12h 11h06 property disproved property proved
22
24
Scenario baseline structure-guided no revote <1s <1s A x 2 + B x 1 2h41 1min2 A x 3 + B x 2 >12h 7min40 A x 4 + B x 2 >12h 16min36 A x 7 + B x 3 >12h 3h53 yes no ? no yes ? property disproved property proved
24
24