Top Banner
Analyse formelle des protocoles cryptogra- phiques Larbaoui lotfi Protocoles cryptogra- phiques Repr´ esentation formelle : Message ; Protocole ; Attaquant erification des protocoles π-calcul appliqu´ e Example : handshake protocol ProVerif Analyse formelle des protocoles cryptographiques Larbaoui lotfi Universit´ e de M’sila Alg´ erie 10 janvier 2016
65

Analyse formelle des protocoles cryptographiques

Apr 14, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Analyse formelle des protocolescryptographiques

Larbaoui lotfi

Universite de M’sila Algerie

10 janvier 2016

Page 2: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

1 Protocoles cryptographiques

2 Representation formelle : Message ; Protocole ; Attaquant

3 Verification des protocoles

4 π-calcul applique

5 Example : handshake protocol

6 ProVerif

Page 3: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

1 Protocoles cryptographiques

2 Representation formelle : Message ; Protocole ; Attaquant

3 Verification des protocoles

4 π-calcul applique

5 Example : handshake protocol

6 ProVerif

Page 4: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Un protocole est une convention qui determine les messagesechanges entre plusieurs ordinateurs sur un reseau.

Un protocole cryptographique utilise des primitivescryptographiques (AES, RC4, RSA, DSA,etc) afin de garantirque les messages sont echanges de facon sure .

Bibliotheques de protocoles :• Clarck et Jacob :

www.csl.sri.com/users/millen/capsl/library.html

• SPORE :www.lsv.ens-cachan.fr/Software/spore/table.html

Page 5: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Un protocole est une convention qui determine les messagesechanges entre plusieurs ordinateurs sur un reseau.

Un protocole cryptographique utilise des primitivescryptographiques (AES, RC4, RSA, DSA,etc) afin de garantirque les messages sont echanges de facon sure .

Bibliotheques de protocoles :• Clarck et Jacob :

www.csl.sri.com/users/millen/capsl/library.html

• SPORE :www.lsv.ens-cachan.fr/Software/spore/table.html

Page 6: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Un protocole est une convention qui determine les messagesechanges entre plusieurs ordinateurs sur un reseau.

Un protocole cryptographique utilise des primitivescryptographiques (AES, RC4, RSA, DSA,etc) afin de garantirque les messages sont echanges de facon sure .

Bibliotheques de protocoles :• Clarck et Jacob :

www.csl.sri.com/users/millen/capsl/library.html

• SPORE :www.lsv.ens-cachan.fr/Software/spore/table.html

Page 7: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Domaines d’utilisation

Page 8: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Reseaux non surs

Page 9: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Reseaux non surs

Page 10: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Attaques

Page 11: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

1 Protocoles cryptographiques

2 Representation formelle : Message ; Protocole ; Attaquant

3 Verification des protocoles

4 π-calcul applique

5 Example : handshake protocol

6 ProVerif

Page 12: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

l’interet de l’analyse formelle

• La conception de protocoles cryptographiques estparticulierement delicate

• Nombreuses attaques dans des protocoles publies ouutilises en pratique.

• les failles de securite ne peuvent pas etre detectees par letest des protocoles

• car elles n’apparaissent qu’en presence d’un attaquant

• Des erreurs dans des protocoles peuvent avoir desconsequences graves

• pertes financieres dans le e-commerce

Page 13: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Modelisation des Messages

Abstraction par des termes :Exemple :Un {〈A,Na〉}K message est represente par :

Algebre 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

Page 14: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Modelisation des Protocoles

Un protocole est constitue en un ensemble fini de rolesR1, ...,Rm.Un role est une suite finie d’actions : emission,reception ougeneration d’une nonce .Un exemple de protocole dans π-calcul applique :P0 = (νskA)(νskB)let pkA = pk(skA) in let pkB = pk(skB) in c〈pkA〉.c〈pkB〉.( PA(pkA, skA) | PB(pkB , skB , pkA) )

” Creation les deux cles secretes (νskA)(νskB) ”” Calcule les cles publiques correspondantes pkA et pkB ”” Envoie ces cles sur le canal public c ”” Ensuite,il execute les processus PA et PA en parallele.

Page 15: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Modelisation des Protocoles

Un protocole est constitue en un ensemble fini de rolesR1, ...,Rm.Un role est une suite finie d’actions : emission,reception ougeneration d’une nonce .Un exemple de protocole dans π-calcul applique :P0 = (νskA)(νskB)let pkA = pk(skA) in let pkB = pk(skB) in c〈pkA〉.c〈pkB〉.( PA(pkA, skA) | PB(pkB , skB , pkA) )” Creation les deux cles secretes (νskA)(νskB) ”” Calcule les cles publiques correspondantes pkA et pkB ”” Envoie ces cles sur le canal public c ”” Ensuite,il execute les processus PA et PA en parallele.

Page 16: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Modele de Dolev-Yao (1981)

Dolev & Yao 81 ont propose un modele de deduction pourmodeliser l’intrus.

• Hypotheses :• Chiffrement parfait [C. Shannon]• l’intrus est le reseaux.

• Formalisation logique :• Soit I (Connaissance initiale)

C (Connaissances courantes)u (terme)

• La notation : C ` u( l’intrus a partir de C peut deduire u )

Page 17: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Modele de Dolev-Yao (1981)

• Formalisation logique : (suite.)

Les regles de deduction de l’intrus :

u ∈ C

C ` u

C ` 〈u, v〉C ` u

C ` 〈u, v〉C ` v

C ` u C ` v

C ` 〈u, v〉

C ` u C ` k

C ` enc(u, k)

C ` dec(u, k) C ` u

C ` k

Page 18: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Modele de Dolev-Yao (1981)

Pour montrer qu’un message s est secret, il faut demontrerque :

I 0 sExemple :

Bob〈Bob,k〉−−−−→ Alice

Bob〈Alice,enc(s,k)〉←−−−−−−−−− Alice

〈Alice,enc(s,k)〉enc(s,k)

〈Bob,k)〉k

s

Page 19: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Modele de Dolev-Yao (1981)

Pour montrer qu’un message s est secret, il faut demontrerque :

I 0 sExemple :

Bob〈Bob,k〉−−−−→ Alice

Bob〈Alice,enc(s,k)〉←−−−−−−−−− Alice

〈Alice,enc(s,k)〉enc(s,k)

〈Bob,k)〉k

s

Page 20: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

1 Protocoles cryptographiques

2 Representation formelle : Message ; Protocole ; Attaquant

3 Verification des protocoles

4 π-calcul applique

5 Example : handshake protocol

6 ProVerif

Page 21: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Verification des protocolesProprietes de securite

Le secret specifie qu’une donnee ne doit jamais etre connuepar l’attaquant.

Le secret

On dit que le protocole P ne preserve pas le secret s si :∃{αi}i ,P

α1−→ ...αn−→ 0 : α1, ..., αn ` s

ou {αi} sont les sorties du protocole lors des transitions .Une sortie αi 6= τ

Page 22: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Verification des protocolesProprietes de securite

Le secret specifie qu’une donnee ne doit jamais etre connuepar l’attaquant.

Le secret

On dit que le protocole P ne preserve pas le secret s si :∃{αi}i ,P

α1−→ ...αn−→ 0 : α1, ..., αn ` s

ou {αi} sont les sorties du protocole lors des transitions .Une sortie αi 6= τ

Page 23: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Verification des protocolesProprietes de securite

Authentification est interpretee de plusieurs faconsdifferentes :

1 Authentifications de messageUn message est authentifie s’il est bien tel que l’expediteurl’a envoye.

2 Authentifications des agentsconsiste a s’assurer qu’un agent correspond bien avecl’agent avec lequel il est communiquer.

Proprietes de correspondance

injective : e1 =⇒ e2

non-injective : ∀e1 ∃e2 e1 =⇒ e2

Page 24: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Verification des protocolesProprietes de securite

Authentification est interpretee de plusieurs faconsdifferentes :

1 Authentifications de messageUn message est authentifie s’il est bien tel que l’expediteurl’a envoye.

2 Authentifications des agentsconsiste a s’assurer qu’un agent correspond bien avecl’agent avec lequel il est communiquer.

Proprietes de correspondance

injective : e1 =⇒ e2

non-injective : ∀e1 ∃e2 e1 =⇒ e2

Page 25: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

1 Protocoles cryptographiques

2 Representation formelle : Message ; Protocole ; Attaquant

3 Verification des protocoles

4 π-calcul applique

5 Example : handshake protocol

6 ProVerif

Page 26: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueSes origines

• π-calcul [Robin Milner,Joachim Parrow et Davide Walker1990]est une algebre de processus communicants,concurrents etlabiles.

• Spi-calcul [Martin Abadi, Andrew Gordon. 1997]Extension du π-calcul pour mettre primitivescryptographiques.

• π-calcul applique [Martin Abadi, Cedric Fournet. 2001]Extension du Spi-calcul dans laquelle la bisimulation estdefinie.

Page 27: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueSa syntaxe

M,N ::= termes

| x variable

| n nom

| f (M1, ...,Mk) application de constructeur

Page 28: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueSa syntaxe

P,Q ::= processus

| 0 processus nul

| n nom

| M〈N〉.P emission

| M〈x〉.P reception

| (νn).P restriction

| P|Q composition parallele

| !P replication

| if M = N then P else Q conditionnelle

Page 29: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueTheories equationnelles

Chiffrement symetrique :

decrypt(encrypt(x , y), x) = y (1)

Chiffrement asymetrique :

adecrypt(sk(x), aencrypt(pk(x), y)) = y (2)

D’autre exemples : Signatures , fonctions de hachage ,etc.

Page 30: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueTheories equationnelles

Chiffrement symetrique :

decrypt(encrypt(x , y), x) = y (1)

Chiffrement asymetrique :

adecrypt(sk(x), aencrypt(pk(x), y)) = y (2)

D’autre exemples : Signatures , fonctions de hachage ,etc.

Page 31: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueTheories equationnelles

Chiffrement symetrique :

decrypt(encrypt(x , y), x) = y (1)

Chiffrement asymetrique :

adecrypt(sk(x), aencrypt(pk(x), y)) = y (2)

D’autre exemples : Signatures , fonctions de hachage ,etc.

Page 32: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueSa semantique

Les relations binaires de reduction :

c〈M〉.P | c(x).Q −→ P|Q[M/x ]

if M = M then P else Q −→ Pif M = N then P else Q −→ Q

Page 33: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueLa notion d’equivalence

Le test d’equivalence entre deux processus P et Q :Toutes ses execution est indistinguable par RPour un canal n :

P|R peuvent emettre m sur nssi

Q|R peuvent emettre m sur n

↪→ R represente une attaquantExemple : ( ! !)(vk).c〈encrypt(k , 0)〉 (vk).c〈encrypt(k, 1)〉

Page 34: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueLa notion d’equivalence

Le test d’equivalence entre deux processus P et Q :Toutes ses execution est indistinguable par RPour un canal n :

P|R peuvent emettre m sur nssi

Q|R peuvent emettre m sur n

↪→ R represente une attaquant

Exemple : ( ! !)(vk).c〈encrypt(k , 0)〉 (vk).c〈encrypt(k, 1)〉

Page 35: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueLa notion d’equivalence

Le test d’equivalence entre deux processus P et Q :Toutes ses execution est indistinguable par RPour un canal n :

P|R peuvent emettre m sur nssi

Q|R peuvent emettre m sur n

↪→ R represente une attaquantExemple : ( ! !)

(vk).c〈encrypt(k , 0)〉 (vk).c〈encrypt(k, 1)〉

Page 36: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

π-calcul appliqueLa notion d’equivalence

Le test d’equivalence entre deux processus P et Q :Toutes ses execution est indistinguable par RPour un canal n :

P|R peuvent emettre m sur nssi

Q|R peuvent emettre m sur n

↪→ R represente une attaquantExemple : ( ! !)(vk).c〈encrypt(k , 0)〉 (vk).c〈encrypt(k, 1)〉

Page 37: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

1 Protocoles cryptographiques

2 Representation formelle : Message ; Protocole ; Attaquant

3 Verification des protocoles

4 π-calcul applique

5 Example : handshake protocol

6 ProVerif

Page 38: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

handshake protocol

Un protocole qui permet a deux utilisateurs de verifiermutuellement des proprietes et, en cas de correspondance

simultanee, de partager une cle pour securiser lescommunications.

Page 39: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Handshake naive

Page 40: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Handshake naive

Page 41: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Handshake naive

Page 42: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Handshake naive

Page 43: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Handshake naive

Page 44: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Handshake naive

Page 45: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Handshake naive

Page 46: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Attaque Man-in-the-midlle

Page 47: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Attaque Man-in-the-midlle

Page 48: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Attaque Man-in-the-midlle

Page 49: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Attaque Man-in-the-midlle

Page 50: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Attaque Man-in-the-midlle

Page 51: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Attaque Man-in-the-midlle

Page 52: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Protocole de handshake corrige

Page 53: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Protocole de handshake corrige

Page 54: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Protocole de handshake corrige

Page 55: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Protocole de handshake corrige

Page 56: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Protocole de handshake corrige

Page 57: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Protocole de handshake corrige

Page 58: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

1 Protocoles cryptographiques

2 Representation formelle : Message ; Protocole ; Attaquant

3 Verification des protocoles

4 π-calcul applique

5 Example : handshake protocol

6 ProVerif

Page 59: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

A Propos de ProVerif

ProVerif est un outil de verification automatique de protocolescryptographiques developpe par Bruno Blanchet a l’ENS Ulm .

http ://prosecco.gforge.inria.fr/personal/bblanche/proverif/

Ces principales fonctionnalite sont les suivantes :• Il peut manipuler differents primitives cryptographiques

• Il manipule un nombre non limite de sessions du protocoleet une taille de message non limite .

Page 60: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

ProVerif

Page 61: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Comment fonctionne Proverif ?Horn de clause

Une clause de Horn est une clause comportant au plus unlitteral positif.

H1 ∧ ... ∧ Hn → C

Page 62: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

ProVerif demo

Page 63: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Applications de ProVerif

Page 64: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Applications de ProVerif

Page 65: Analyse formelle des protocoles cryptographiques

Analyseformelle desprotocolescryptogra-

phiques

Larbaoui lotfi

Protocolescryptogra-phiques

Representationformelle :Message ;Protocole ;Attaquant

Verificationdes protocoles

π-calculapplique

Example :handshakeprotocol

ProVerif

Bibliographie

Bruno BlanchetVerification automatique de protocoles cryptographiques :modele formel et modele calculatoireCNRS, Ecole Normale Superieure, INRIA

Martin AbadiSecurity Protocols : Principles and Calculi Tutorial NotesMicrosoft Research and University of California, Santa Cruz

Veronique Cortier & Steve KremerFormal Models and Techniques for Analyzing SecurityProtocols : A TutorialFoundations and Trends R©in Programming Languages