5. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
Un protocole est une convention qui d´etermine les messages
´echang´es entre plusieurs ordinateurs sur un r´eseau.
Un protocole cryptographique utilise des primitives
cryptographiques (AES, RC4, RSA, DSA,etc) afin de garantir
que les messages sont ´echang´es de fa¸con sˆure .
6. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
Un protocole est une convention qui d´etermine les messages
´echang´es entre plusieurs ordinateurs sur un r´eseau.
Un protocole cryptographique utilise des primitives
cryptographiques (AES, RC4, RSA, DSA,etc) afin de garantir
que les messages sont ´echang´es de fa¸con sˆure .
Biblioth`eques de protocoles :
• Clarck et Jacob :
www.csl.sri.com/users/millen/capsl/library.html
• SPORE :
www.lsv.ens-cachan.fr/Software/spore/table.html
12. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
l’int´erˆet de l’analyse formelle
• La conception de protocoles cryptographiques est
particuli`erement d´elicate
• Nombreuses attaques dans des protocoles publi´es ou
utilis´es en pratique.
• les failles de s´ecurit´e ne peuvent pas ˆetre d´etect´ees par le
test des protocoles
• car elles n’apparaissent qu’en pr´esence d’un attaquant
• Des erreurs dans des protocoles peuvent avoir des
cons´equences graves
• pertes financi`eres dans le e-commerce
13. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
Mod´elisation des Messages
Abstraction par des termes :
Exemple :
Un { A, Na }K message est r´epr´esente par :
Alg`ebre des messages :
L’ensemble des T termes est construit selon la grammaire :
t ::= n (nombre) | id (identificateur) | x (variable)
| (t, t) couple|{t}t cryptage
14. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
Mod´elisation des Protocoles
Un protocole est constitu´e en un ensemble fini de rˆoles
R1, ..., Rm.
Un rˆole est une suite finie d’actions : ´emission,r´eception ou
g´en´eration d’une nonce .
Un exemple de protocole dans π-calcul appliqu´e :
P0 = (νskA)(νskB)
let pkA = pk(skA) in let pkB = pk(skB) in ¯c pkA .¯c pkB .
( PA(pkA, skA) | PB(pkB, skB, pkA) )
15. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
Mod´elisation des Protocoles
Un protocole est constitu´e en un ensemble fini de rˆoles
R1, ..., Rm.
Un rˆole est une suite finie d’actions : ´emission,r´eception ou
g´en´eration d’une nonce .
Un exemple de protocole dans π-calcul appliqu´e :
P0 = (νskA)(νskB)
let pkA = pk(skA) in let pkB = pk(skB) in ¯c pkA .¯c pkB .
( PA(pkA, skA) | PB(pkB, skB, pkA) )
” Cr´eation les deux cl´es secr`etes (νskA)(νskB) ”
” Calcule les cl´es publiques correspondantes pkA et pkB ”
” Envoie ces cl´es sur le canal public c ”
” Ensuite,il ex´ecute les processus PA et PA en parall`ele.
16. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
Mod`ele de Dolev-Yao (1981)
Dolev & Yao 81 ont propos´e un mod`ele de d´eduction pour
mod´eliser l’intrus.
• Hypoth`eses :
• Chiffrement parfait [C. Shannon]
• l’intrus est le r´eseaux.
• Formalisation logique :
• Soit I (Connaissance initiale)
C (Connaissances courantes)
u (terme)
• La notation : C u
( l’intrus `a partir de C peut d´eduire u )
22. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
V´erification des protocoles
Propri´et´es de s´ecurit´e
Le secret sp´ecifie qu’une donn´ee ne doit jamais ˆetre connue
par l’attaquant.
Le secret
On dit que le protocole P ne pr´eserve pas le secret s si :
∃{αi }i , P
α1
−→ ...
αn
−→ 0 : α1, ..., αn s
o`u {αi } sont les sorties du protocole lors des transitions .
Une sortie αi = τ
23. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
V´erification des protocoles
Propri´et´es de s´ecurit´e
Authentification est interpr´et´ee de plusieurs fa¸cons
diff´erentes :
1 Authentifications de message
Un message est authentifi´e s’il est bien tel que l’exp´editeur
l’a envoy´e.
2 Authentifications des agents
consiste `a s’assurer qu’un agent correspond bien avec
l’agent avec lequel il est communiquer.
24. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
V´erification des protocoles
Propri´et´es de s´ecurit´e
Authentification est interpr´et´ee de plusieurs fa¸cons
diff´erentes :
1 Authentifications de message
Un message est authentifi´e s’il est bien tel que l’exp´editeur
l’a envoy´e.
2 Authentifications des agents
consiste `a s’assurer qu’un agent correspond bien avec
l’agent avec lequel il est communiquer.
Propri´et´es de correspondance
injective : e1 =⇒ e2
non-injective : ∀e1 ∃e2 e1 =⇒ e2
26. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
π-calcul appliqu´e
Ses origines
• π-calcul [Robin Milner,Joachim Parrow et Davide Walker
1990]
est une alg`ebre de processus communicants,concurrents et
labiles.
• Spi-calcul [Martin Abadi, Andrew Gordon. 1997]
Extension du π-calcul pour mettre primitives
cryptographiques.
• π-calcul appliqu´e [Martin Abadi, C´edric Fournet. 2001]
Extension du Spi-calcul dans laquelle la bisimulation est
d´efinie.
34. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
π-calcul appliqu´e
La notion d’´equivalence
Le test d’´equivalence entre deux processus P et Q :
Toutes ses ex´ecution est indistinguable par R
Pour un canal n :
P|R peuvent ´emettre m sur n
ssi
Q|R peuvent ´emettre m sur n
→ R r´epr´esente une attaquant
35. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
π-calcul appliqu´e
La notion d’´equivalence
Le test d’´equivalence entre deux processus P et Q :
Toutes ses ex´ecution est indistinguable par R
Pour un canal n :
P|R peuvent ´emettre m sur n
ssi
Q|R peuvent ´emettre m sur n
→ R r´epr´esente une attaquant
Exemple : ( ! !)
36. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
π-calcul appliqu´e
La notion d’´equivalence
Le test d’´equivalence entre deux processus P et Q :
Toutes ses ex´ecution est indistinguable par R
Pour un canal n :
P|R peuvent ´emettre m sur n
ssi
Q|R peuvent ´emettre m sur n
→ R r´epr´esente une attaquant
Exemple : ( ! !)
(vk).¯c encrypt(k, 0) (vk).¯c encrypt(k, 1)
59. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
A Propos de ProVerif
ProVerif est un outil de v´erification automatique de protocoles
cryptographiques d´evelopp´e par Bruno Blanchet `a l’ENS Ulm .
http ://prosecco.gforge.inria.fr/personal/bblanche/proverif/
Ces principales fonctionnalit´e sont les suivantes :
• Il peut manipuler diff´erents primitives cryptographiques
• Il manipule un nombre non limit´e de sessions du protocole
et une taille de message non limit´e .
65. Analyse
formelle des
protocoles
cryptogra-
phiques
Larbaoui lotfi
Protocoles
cryptogra-
phiques
Repr´esentation
formelle :
Message ;
Protocole ;
Attaquant
V´erification
des protocoles
π-calcul
appliqu´e
Example :
handshake
protocol
ProVerif
Bibliographie
Bruno Blanchet
V´erification automatique de protocoles cryptographiques :
mod`ele formel et mod`ele calculatoire
CNRS, Ecole Normale Sup´erieure, INRIA
Martin Abadi
Security Protocols : Principles and Calculi Tutorial Notes
Microsoft Research and University of California, Santa Cruz
V´eronique Cortier & Steve Kremer
Formal Models and Techniques for Analyzing Security
Protocols : A Tutorial
Foundations and Trends R
in Programming Languages