Verification of security protocols from confidentiality to privacy
Stéphanie Delaune
LSV, CNRS & ENS Cachan, France
Wednesday, August 26th, 2015
- S. Delaune (LSV)
Verification of security protocols 26th August 2015 1 / 54
Verification of security protocols from confidentiality to privacy - - PowerPoint PPT Presentation
Verification of security protocols from confidentiality to privacy Stphanie Delaune LSV, CNRS & ENS Cachan, France Wednesday, August 26th, 2015 S. Delaune (LSV) Verification of security protocols 26th August 2015 1 / 54 This talk:
Verification of security protocols 26th August 2015 1 / 54
Verification of security protocols 26th August 2015 2 / 54
1 Modelling cryptographic protocols and their security properties 2 Designing verification algorithms
Verification of security protocols 26th August 2015 2 / 54
Verification of security protocols 26th August 2015 3 / 54
Verification of security protocols 26th August 2015 4 / 54
Verification of security protocols 26th August 2015 4 / 54
Verification of security protocols 26th August 2015 4 / 54
Verification of security protocols 26th August 2015 4 / 54
Verification of security protocols 26th August 2015 4 / 54
Verification of security protocols 26th August 2015 4 / 54
Verification of security protocols 26th August 2015 5 / 54
Verification of security protocols 26th August 2015 5 / 54
Verification of security protocols 26th August 2015 5 / 54
Verification of security protocols 26th August 2015 5 / 54
Verification of security protocols 26th August 2015 5 / 54
Verification of security protocols 26th August 2015 6 / 54
1 trace-based security properties (e.g. secrecy, authentication, . . . ) 2 equivalence-based security properties (e.g. anonymity,
1 Needham-Schroeder protocol 2 BAC protocol used in the e-passport application
Verification of security protocols 26th August 2015 7 / 54
Verification of security protocols 26th August 2015 8 / 54
Verification of security protocols 26th August 2015 9 / 54
1 A symbolic exploration of all the possible traces
2 A decision procedure for deciding whether a constraint system has a
Verification of security protocols 26th August 2015 10 / 54
Verification of security protocols 26th August 2015 11 / 54
Verification of security protocols 26th August 2015 11 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 12 / 54
Verification of security protocols 26th August 2015 13 / 54
Verification of security protocols 26th August 2015 13 / 54
Verification of security protocols 26th August 2015 13 / 54
Verification of security protocols 26th August 2015 13 / 54
Verification of security protocols 26th August 2015 14 / 54
Verification of security protocols 26th August 2015 14 / 54
Verification of security protocols 26th August 2015 15 / 54
Verification of security protocols 26th August 2015 16 / 54
Verification of security protocols 26th August 2015 16 / 54
Verification of security protocols 26th August 2015 17 / 54
Verification of security protocols 26th August 2015 17 / 54
Verification of security protocols 26th August 2015 18 / 54
Verification of security protocols 26th August 2015 18 / 54
Verification of security protocols 26th August 2015 18 / 54
Verification of security protocols 26th August 2015 19 / 54
Verification of security protocols 26th August 2015 20 / 54
Verification of security protocols 26th August 2015 20 / 54
Verification of security protocols 26th August 2015 20 / 54
C = T0
?
⊢ u1 T0, v1
?
⊢ u2 . . . T0, v1, . . . , vn
?
⊢ s
Verification of security protocols 26th August 2015 21 / 54
Verification of security protocols 26th August 2015 22 / 54
1 disequality tests (protocol with else branches) 2 more primitives: asymmetric encryption, blind signature, exclusive-or,
Verification of security protocols 26th August 2015 22 / 54
Verification of security protocols 26th August 2015 23 / 54
Verification of security protocols 26th August 2015 24 / 54
Verification of security protocols 26th August 2015 25 / 54
Verification of security protocols 26th August 2015 25 / 54
Verification of security protocols 26th August 2015 26 / 54
get_challenge
Verification of security protocols 26th August 2015 26 / 54
get_challenge NP, KP NP
Verification of security protocols 26th August 2015 26 / 54
get_challenge NP, KP NP NR, KR {NR, NP, KR}KE , MACKM ({NR, NP, KR}KE )
Verification of security protocols 26th August 2015 26 / 54
get_challenge NP, KP NP NR, KR {NR, NP, KR}KE , MACKM ({NR, NP, KR}KE ) {NP, NR, KP }KE , MACKM ({NP, NR, KP}KE )
Verification of security protocols 26th August 2015 26 / 54
get_challenge NP, KP NP NR, KR {NR, NP, KR}KE , MACKM ({NR, NP, KR}KE ) {NP, NR, KP }KE , MACKM ({NP, NR, KP}KE ) Kseed = KP ⊕ KR Kseed = KP ⊕ KR
Verification of security protocols 26th August 2015 26 / 54
Verification of security protocols 26th August 2015 27 / 54
Verification of security protocols 26th August 2015 27 / 54
1 a situation where the same passport may be
2 a situation where each passport is used at
Verification of security protocols 26th August 2015 28 / 54
1 a situation where the same passport may be
2 a situation where each passport is used at
Verification of security protocols 26th August 2015 28 / 54
Verification of security protocols 26th August 2015 29 / 54
Verification of security protocols 26th August 2015 29 / 54
Verification of security protocols 26th August 2015 29 / 54
Verification of security protocols 26th August 2015 29 / 54
Verification of security protocols 26th August 2015 29 / 54
Verification of security protocols 26th August 2015 29 / 54
get_challenge NP, KP NP NR, KR {NR, NP, KR}KE , MACKM ({NR, NP, KR}KE )
Verification of security protocols 26th August 2015 30 / 54
get_challenge NP, KP NP NR, KR {NR, NP, KR}KE , MACKM ({NR, NP, KR}KE ) If MAC check fails mac_error
Verification of security protocols 26th August 2015 30 / 54
get_challenge NP, KP NP NR, KR {NR, NP, KR}KE , MACKM ({NR, NP, KR}KE ) If MAC check succeeds If nonce check fails nonce_error
Verification of security protocols 26th August 2015 30 / 54
Verification of security protocols 26th August 2015 31 / 54
Verification of security protocols 26th August 2015 31 / 54
Verification of security protocols 26th August 2015 32 / 54
get_challenge NP, KP NP NR, KR M = {NR, NP , KR}KE , MACKM ({NR, NP , KR}KE )
Verification of security protocols 26th August 2015 32 / 54
E ,K ′ M)
get_challenge N′
P, K′ P
N′
P
M = {NR, NP , KR}KE , MACKM ({NR, NP , KR}KE )
Verification of security protocols 26th August 2015 32 / 54
E ,K ′ M)
get_challenge N′
P, K′ P
N′
P
M = {NR, NP , KR}KE , MACKM ({NR, NP , KR}KE ) mac_error
Verification of security protocols 26th August 2015 32 / 54
E ,K ′ M)
get_challenge N′
P, K′ P
N′
P
M = {NR, NP , KR}KE , MACKM ({NR, NP , KR}KE ) nonce_error
Verification of security protocols 26th August 2015 32 / 54
Verification of security protocols 26th August 2015 33 / 54
Verification of security protocols 26th August 2015 33 / 54
Verification of security protocols 26th August 2015 33 / 54
Verification of security protocols 26th August 2015 34 / 54
Verification of security protocols 26th August 2015 35 / 54
Verification of security protocols 26th August 2015 35 / 54
Verification of security protocols 26th August 2015 36 / 54
Verification of security protocols 26th August 2015 36 / 54
1 A symbolic exploration of all the possible traces
2 A decision procedure for deciding (symbolic) equivalence between sets
Verification of security protocols 26th August 2015 37 / 54
Verification of security protocols 26th August 2015 38 / 54
1 soundness: If all leaves of the tree are labeled with (⊥, ⊥) or
2 completeness: if Σ0 ≈s Σ′
Verification of security protocols 26th August 2015 39 / 54
Verification of security protocols 26th August 2015 40 / 54
Verification of security protocols 26th August 2015 40 / 54
Verification of security protocols 26th August 2015 41 / 54
1 compression: we impose a simple strategy on the exploration of the
2 reduction: we avoid exploring some redundant traces taking into
Verification of security protocols 26th August 2015 41 / 54
Verification of security protocols 26th August 2015 42 / 54
Maximum number of parallel processes verifiable in 20 hours.
Verification of security protocols 26th August 2015 42 / 54
Verification of security protocols 26th August 2015 43 / 54
Verification of security protocols 26th August 2015 44 / 54
Verification of security protocols 26th August 2015 45 / 54
Verification of security protocols 26th August 2015 46 / 54
Verification of security protocols 26th August 2015 46 / 54
Verification of security protocols 26th August 2015 47 / 54
Verification of security protocols 26th August 2015 48 / 54
Verification of security protocols 26th August 2015 48 / 54
Verification of security protocols 26th August 2015 48 / 54
Verification of security protocols 26th August 2015 48 / 54
Verification of security protocols 26th August 2015 48 / 54
Verification of security protocols 26th August 2015 48 / 54
Verification of security protocols 26th August 2015 49 / 54
Verification of security protocols 26th August 2015 49 / 54
Verification of security protocols 26th August 2015 50 / 54
Verification of security protocols 26th August 2015 50 / 54
Verification of security protocols 26th August 2015 50 / 54
Verification of security protocols 26th August 2015 51 / 54
Verification of security protocols 26th August 2015 51 / 54
Verification of security protocols 26th August 2015 51 / 54
Verification of security protocols 26th August 2015 52 / 54
1 the algebraic properties of the primitives are abstracted away
2 only the specification is analysed and not the implementation
3 when the analysis is done for a bounded number of sessions, not all
Verification of security protocols 26th August 2015 53 / 54
Verification of security protocols 26th August 2015 54 / 54