Automatic Verification of Cryptographic Protocols in the Formal Model Automatic Verifier ProVerif
Bruno Blanchet
INRIA, ´ Ecole Normale Sup´ erieure, CNRS blanchet@di.ens.fr
September 2011
Bruno Blanchet (INRIA) ProVerif September 2011 1 / 125
Automatic Verification of Cryptographic Protocols in the Formal - - PowerPoint PPT Presentation
Automatic Verification of Cryptographic Protocols in the Formal Model Automatic Verifier ProVerif Bruno Blanchet INRIA, Ecole Normale Sup erieure, CNRS blanchet@di.ens.fr September 2011 Bruno Blanchet (INRIA) ProVerif September 2011
Bruno Blanchet (INRIA) ProVerif September 2011 1 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 2 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 3 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 4 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 5 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 6 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 7 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 8 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 9 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 10 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 11 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 12 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 13 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 14 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 15 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 16 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 17 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 18 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 19 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 20 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 21 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 22 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 23 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 24 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 25 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 26 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 27 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 28 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 29 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 30 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 31 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 32 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 32 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 33 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 33 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 34 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 34 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 35 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 35 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 36 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 36 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 37 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 37 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 38 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 38 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 39 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 39 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 40 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 40 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 41 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 41 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 42 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 42 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 43 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 44 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 45 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 46 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 47 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 48 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 49 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 50 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 51 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 52 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 53 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 54 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 55 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 56 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 57 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 58 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 59 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 60 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 61 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 62 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 63 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 64 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 65 / 125
1 Its nodes (except the root) are labeled by clauses R ∈ R. 2 Its edges are labeled by closed facts. (Edges go from a node to each
3 If the tree contains a node labeled by R with one incoming edge
4 The root has one outgoing edge, labeled by F. The unique son of the
Bruno Blanchet (INRIA) ProVerif September 2011 66 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 67 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 68 / 125
1 For all R ∈ R0, there exists R′ ∈ R1 such that R′ ⊒ R; 2 Let R = H ⇒ C, R′ = H′ ⇒ C ′ ∈ R1. Assume that sel(R) = C,
1 A clause is removed only when it is subsumed by another one. 2 The fixpoint is reached. Bruno Blanchet (INRIA) ProVerif September 2011 69 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 70 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 71 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 72 / 125
1 Add the clause F ⇒ bad: R′
2 Let derivR0(F) be true if and only if saturate(R′
Bruno Blanchet (INRIA) ProVerif September 2011 73 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 74 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 75 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 76 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 77 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 78 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 79 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 80 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 81 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 82 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 83 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 84 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 85 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 86 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 86 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 86 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 86 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 86 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 87 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 88 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 89 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 90 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 91 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 92 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 93 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 94 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 95 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 96 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 97 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 98 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 99 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 100 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 101 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 102 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 103 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 104 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 105 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 106 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 107 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 108 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 109 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 110 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 111 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 112 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 113 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 114 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 115 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 116 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 116 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 116 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 117 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 117 / 125
0,S.
0,S ∪ Fm-event. Bruno Blanchet (INRIA) ProVerif September 2011 118 / 125
0,S ∪ Fm-event if and only if it can be derived
0,S) ∪ Fm-event. Bruno Blanchet (INRIA) ProVerif September 2011 119 / 125
0,S.
0,S) and a substitution σ
Bruno Blanchet (INRIA) ProVerif September 2011 120 / 125
0,S) that concludes event(eB(. . .)) is:
Bruno Blanchet (INRIA) ProVerif September 2011 121 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 122 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 123 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 124 / 125
Bruno Blanchet (INRIA) ProVerif September 2011 125 / 125