Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf ·...

376
Introduction aux protocoles cryptographiques Thomas Genet [email protected] http://www.irisa.fr/celtique/genet/Crypt/ T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 1 / 83

Transcript of Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf ·...

Page 1: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Introduction aux protocoles cryptographiques

Thomas Genet

[email protected]

http://www.irisa.fr/celtique/genet/Crypt/

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 1 / 83

Page 2: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Plan

Bibliographie

Partie I : protocoles crypto, mecanismes et proprietesI Trois mots de cryptographieI Proprietes de securite

F associees aux fonctions cryptographiquesF associees aux protocoles

I Principes de base des protocolesI Protocoles d’echange de clesI Protocoles d’authentificationI Protocole d’accord non-repudiableI Paiement electronique

F SET/CSET de VISA et MasterCardF � Monnaie electronique � : Bitcoin

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 2 / 83

Page 3: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Plan (suite)

Partie II : protocoles crypto, attaques et verificationI Mises en garde

I Le paiement avec une carte bancaire a puce

I Les failles

I Construction des hypotheses de verification des protocolescryptographiques

I Le modele de Dolev-Yao

I Deux mots de verification

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 3 / 83

Page 4: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Bibliographie

S. Goldwasser and M. Bellare. Lecture Notes on Cryptography.http://www.cs.ucsd.edu/users/mihir/papers/gb.html

J. Clark and J. Jacob. A survey of Authentication ProtocolLitterature. 1997.

http://www.cs.york.ac.uk/%7Ejac/PublishedPapers/reviewV1_1997.pdf

Jean-Paul Delahaye. Bitcoin, la cryptomonnaie.http://www.lifl.fr/~delahaye/pls/2013/241.pdf. 2013.

Veronique Cortier. Verification automatique des protocolescryptographiques. These de doctorat de l’Ecole Normale Superieurede Cachan 2003.http://www.loria.fr/~cortier/Papiers/Cortier-these.pdf

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 4 / 83

Page 5: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Soient :

m,m1,m2 des messages

K une cle

A et B des agents

On note :

m1,m2 le message constitue de m1 et m2

{m}K le message m chiffre avec K .

A ↪→ B : m l’envoi par A d’un message m a B.

I (A) ↪→ B : m l’envoi d’un message m par I se faisant passer pour A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 5 / 83

Page 6: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Soient :

m,m1,m2 des messages

K une cle

A et B des agents

On note :

m1,m2 le message constitue de m1 et m2

{m}K le message m chiffre avec K .

A ↪→ B : m l’envoi par A d’un message m a B.

I (A) ↪→ B : m l’envoi d’un message m par I se faisant passer pour A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 5 / 83

Page 7: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Soient :

m,m1,m2 des messages

K une cle

A et B des agents

On note :

m1,m2 le message constitue de m1 et m2

{m}K le message m chiffre avec K .

A ↪→ B : m l’envoi par A d’un message m a B.

I (A) ↪→ B : m l’envoi d’un message m par I se faisant passer pour A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 5 / 83

Page 8: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Soient :

m,m1,m2 des messages

K une cle

A et B des agents

On note :

m1,m2 le message constitue de m1 et m2

{m}K le message m chiffre avec K .

A ↪→ B : m l’envoi par A d’un message m a B.

I (A) ↪→ B : m l’envoi d’un message m par I se faisant passer pour A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 5 / 83

Page 9: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Soient :

m,m1,m2 des messages

K une cle

A et B des agents

On note :

m1,m2 le message constitue de m1 et m2

{m}K le message m chiffre avec K .

A ↪→ B : m l’envoi par A d’un message m a B.

I (A) ↪→ B : m l’envoi d’un message m par I se faisant passer pour A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 5 / 83

Page 10: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seulI {{m}KA

}K−1A

= m = {{m}K−1A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 11: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seulI {{m}KA

}K−1A

= m = {{m}K−1A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 12: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteurs

I la cle privee (K−1A ) connue de A seul

I {{m}KA}K−1

A= m = {{m}K−1

A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 13: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seul

I {{m}KA}K−1

A= m = {{m}K−1

A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 14: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seulI {{m}KA

}K−1A

= m = {{m}K−1A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 15: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seulI {{m}KA

}K−1A

= m = {{m}K−1A}KA

I inutilisable pour chiffrer de gros volumes de donnees

I deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 16: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seulI {{m}KA

}K−1A

= m = {{m}K−1A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 17: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seulI {{m}KA

}K−1A

= m = {{m}K−1A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 18: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seulI {{m}KA

}K−1A

= m = {{m}K−1A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 19: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seulI {{m}KA

}K−1A

= m = {{m}K−1A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 20: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Chiffrement a cle asymetrique (Ex. RSA, PGP, . . . ) :

I la cle publique (KA) donnee a tous les acteursI la cle privee (K−1

A ) connue de A seulI {{m}KA

}K−1A

= m = {{m}K−1A}KA

I inutilisable pour chiffrer de gros volumes de donneesI deux cles par acteur

Chiffrement a cle symetrique (Ex. DES) :

I KAB ≡ K−1AB

I bon rapport volume de donnees a chiffrertemps de chiffrement

I une cle par couple d’acteurs (C 2n cles)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 6 / 83

Page 21: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Fonctions de hachage (Ex. SHA, MD4, MD5, . . . )

I | hash(d) | << | d |

et statistiquement :

I ∀d1, d2 : hash(d1) 6= hash(d2) si d1 6= d2

I non inversible : hash−1 difficile a calculer

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 7 / 83

Page 22: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Fonctions de hachage (Ex. SHA, MD4, MD5, . . . )

I | hash(d) | << | d |

et statistiquement :

I ∀d1, d2 : hash(d1) 6= hash(d2) si d1 6= d2

I non inversible : hash−1 difficile a calculer

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 7 / 83

Page 23: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Fonctions de hachage (Ex. SHA, MD4, MD5, . . . )

I | hash(d) | << | d |

et statistiquement :

I ∀d1, d2 : hash(d1) 6= hash(d2) si d1 6= d2

I non inversible : hash−1 difficile a calculer

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 7 / 83

Page 24: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Fonctions de hachage (Ex. SHA, MD4, MD5, . . . )

I | hash(d) | << | d |

et statistiquement :

I ∀d1, d2 : hash(d1) 6= hash(d2) si d1 6= d2

I non inversible : hash−1 difficile a calculer

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 7 / 83

Page 25: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Trois mots de cryptographie

Fonctions de hachage (Ex. SHA, MD4, MD5, . . . )

I | hash(d) | << | d |

et statistiquement :

I ∀d1, d2 : hash(d1) 6= hash(d2) si d1 6= d2

I non inversible : hash−1 difficile a calculer

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 7 / 83

Page 26: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Interlude : RSA pour les nuls

KB = (e = 1367, n = 8633)

K−1B = (e−1 = 5735)

m = 8000

Chiffrement{m}KB

= me mod n= 80001367 mod 8633= 7633

Dechiffrement

{{m}KB}K−1

B= (me)e

−1mod n

= 76335735 mod 8633= 8000

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 8 / 83

Page 27: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Interlude : RSA pour les nuls

KB = (e = 1367, n = 8633)

K−1B = (e−1 = 5735)

m = 8000

Chiffrement{m}KB

= me mod n= 80001367 mod 8633= 7633

Dechiffrement

{{m}KB}K−1

B= (me)e

−1mod n

= 76335735 mod 8633= 8000

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 8 / 83

Page 28: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Interlude : RSA pour les nuls

KB = (e = 1367, n = 8633)

K−1B = (e−1 = 5735)

m = 8000

Chiffrement{m}KB

= me mod n= 80001367 mod 8633= 7633

Dechiffrement

{{m}KB}K−1

B= (me)e

−1mod n

= 76335735 mod 8633= 8000

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 8 / 83

Page 29: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Proprietes associees a la cryptographie

ConfidentialiteI {“4976 0974 2373 7788”}KB

I {recette teurgoule.ps}KAB

Authentification de message (Signature electronique)

I “[email protected]”, { “[email protected]” }K−1genet

I toto.gif, { hash(toto.gif) }K−1genet

IntegriteI Le contenu m d’un message chiffre {m}K ne peut etre modifie sans K

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 9 / 83

Page 30: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Proprietes associees a la cryptographie

ConfidentialiteI {“4976 0974 2373 7788”}KB

I {recette teurgoule.ps}KAB

Authentification de message (Signature electronique)

I “[email protected]”, { “[email protected]” }K−1genet

I toto.gif, { hash(toto.gif) }K−1genet

IntegriteI Le contenu m d’un message chiffre {m}K ne peut etre modifie sans K

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 9 / 83

Page 31: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Proprietes associees a la cryptographie

ConfidentialiteI {“4976 0974 2373 7788”}KB

I {recette teurgoule.ps}KAB

Authentification de message (Signature electronique)

I “[email protected]”, { “[email protected]” }K−1genet

I toto.gif, { hash(toto.gif) }K−1genet

IntegriteI Le contenu m d’un message chiffre {m}K ne peut etre modifie sans K

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 9 / 83

Page 32: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Proprietes associees a la cryptographie

ConfidentialiteI {“4976 0974 2373 7788”}KB

I {recette teurgoule.ps}KAB

Authentification de message (Signature electronique)

I “[email protected]”, { “[email protected]” }K−1genet

I toto.gif, { hash(toto.gif) }K−1genet

IntegriteI Le contenu m d’un message chiffre {m}K ne peut etre modifie sans K

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 9 / 83

Page 33: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Proprietes des protocoles crypto

Les principales proprietes sont

Secret

Authentification d’un message (ou d’une entite)

Fraıcheur/anti-rejeu

Accord non repudiable

Equite

Anonymat

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 10 / 83

Page 34: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Applications des protocoles crypto

Quelques applications :

Communication secrete (Ex : SSL de https, SSH, GSM)

Authentification d’agents (Ex : login, CAS/SSO, GSM)

Signature de contrats electroniques

Paiement bancaire par carte a puce

Paiement bancaire en ligne (transactions electroniques)

Paiement bancaire hors ligne (monnaie electronique)

Chaınes de television payantes

Vote electronique

. . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 11 / 83

Page 35: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Applications des protocoles crypto

Quelques applications :

Communication secrete (Ex : SSL de https, SSH, GSM)

Authentification d’agents (Ex : login, CAS/SSO, GSM)

Signature de contrats electroniques

Paiement bancaire par carte a puce

Paiement bancaire en ligne (transactions electroniques)

Paiement bancaire hors ligne (monnaie electronique)

Chaınes de television payantes

Vote electronique

. . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 11 / 83

Page 36: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Applications des protocoles crypto

Quelques applications :

Communication secrete (Ex : SSL de https, SSH, GSM)

Authentification d’agents (Ex : login, CAS/SSO, GSM)

Signature de contrats electroniques

Paiement bancaire par carte a puce

Paiement bancaire en ligne (transactions electroniques)

Paiement bancaire hors ligne (monnaie electronique)

Chaınes de television payantes

Vote electronique

. . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 11 / 83

Page 37: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Applications des protocoles crypto

Quelques applications :

Communication secrete (Ex : SSL de https, SSH, GSM)

Authentification d’agents (Ex : login, CAS/SSO, GSM)

Signature de contrats electroniques

Paiement bancaire par carte a puce

Paiement bancaire en ligne (transactions electroniques)

Paiement bancaire hors ligne (monnaie electronique)

Chaınes de television payantes

Vote electronique

. . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 11 / 83

Page 38: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Applications des protocoles crypto

Quelques applications :

Communication secrete (Ex : SSL de https, SSH, GSM)

Authentification d’agents (Ex : login, CAS/SSO, GSM)

Signature de contrats electroniques

Paiement bancaire par carte a puce

Paiement bancaire en ligne (transactions electroniques)

Paiement bancaire hors ligne (monnaie electronique)

Chaınes de television payantes

Vote electronique

. . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 11 / 83

Page 39: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Applications des protocoles crypto

Quelques applications :

Communication secrete (Ex : SSL de https, SSH, GSM)

Authentification d’agents (Ex : login, CAS/SSO, GSM)

Signature de contrats electroniques

Paiement bancaire par carte a puce

Paiement bancaire en ligne (transactions electroniques)

Paiement bancaire hors ligne (monnaie electronique)

Chaınes de television payantes

Vote electronique

. . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 11 / 83

Page 40: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Applications des protocoles crypto

Quelques applications :

Communication secrete (Ex : SSL de https, SSH, GSM)

Authentification d’agents (Ex : login, CAS/SSO, GSM)

Signature de contrats electroniques

Paiement bancaire par carte a puce

Paiement bancaire en ligne (transactions electroniques)

Paiement bancaire hors ligne (monnaie electronique)

Chaınes de television payantes

Vote electronique

. . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 11 / 83

Page 41: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Applications des protocoles crypto

Quelques applications :

Communication secrete (Ex : SSL de https, SSH, GSM)

Authentification d’agents (Ex : login, CAS/SSO, GSM)

Signature de contrats electroniques

Paiement bancaire par carte a puce

Paiement bancaire en ligne (transactions electroniques)

Paiement bancaire hors ligne (monnaie electronique)

Chaınes de television payantes

Vote electronique

. . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 11 / 83

Page 42: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Definitions

Definition (Secret) Un protocole assure le secret d’une donnee s si unintrus ne peut pas deduire s.

(s’il peut choisir s ca n’est pas une attaque sur le secret)

Definition (Authentification de message) Un protocole permet a un agentA d’authentifier un message m si A peut connaıtre de facon surel’emetteur de m.

Definition (Authentification d’entite) Un protocole permet a un agent Ad’authentifier un agent B si a la fin d’une session reussie, A a la garantiequ’il a bien realise le protocole avec B.

Definition (Fraıcheur) Pendant une session de protocole, une donnee estfraıche si l’on peut garantir qu’elle a ete emise specifiquement pour cettesession par un des acteurs.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 12 / 83

Page 43: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Definitions

Definition (Secret) Un protocole assure le secret d’une donnee s si unintrus ne peut pas deduire s.

(s’il peut choisir s ca n’est pas une attaque sur le secret)

Definition (Authentification de message) Un protocole permet a un agentA d’authentifier un message m si A peut connaıtre de facon surel’emetteur de m.

Definition (Authentification d’entite) Un protocole permet a un agent Ad’authentifier un agent B si a la fin d’une session reussie, A a la garantiequ’il a bien realise le protocole avec B.

Definition (Fraıcheur) Pendant une session de protocole, une donnee estfraıche si l’on peut garantir qu’elle a ete emise specifiquement pour cettesession par un des acteurs.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 12 / 83

Page 44: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Definitions

Definition (Secret) Un protocole assure le secret d’une donnee s si unintrus ne peut pas deduire s.

(s’il peut choisir s ca n’est pas une attaque sur le secret)

Definition (Authentification de message) Un protocole permet a un agentA d’authentifier un message m si A peut connaıtre de facon surel’emetteur de m.

Definition (Authentification d’entite) Un protocole permet a un agent Ad’authentifier un agent B si a la fin d’une session reussie, A a la garantiequ’il a bien realise le protocole avec B.

Definition (Fraıcheur) Pendant une session de protocole, une donnee estfraıche si l’on peut garantir qu’elle a ete emise specifiquement pour cettesession par un des acteurs.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 12 / 83

Page 45: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Definitions

Definition (Secret) Un protocole assure le secret d’une donnee s si unintrus ne peut pas deduire s.

(s’il peut choisir s ca n’est pas une attaque sur le secret)

Definition (Authentification de message) Un protocole permet a un agentA d’authentifier un message m si A peut connaıtre de facon surel’emetteur de m.

Definition (Authentification d’entite) Un protocole permet a un agent Ad’authentifier un agent B si a la fin d’une session reussie, A a la garantiequ’il a bien realise le protocole avec B.

Definition (Fraıcheur) Pendant une session de protocole, une donnee estfraıche si l’on peut garantir qu’elle a ete emise specifiquement pour cettesession par un des acteurs.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 12 / 83

Page 46: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Definitions

Definition (Secret) Un protocole assure le secret d’une donnee s si unintrus ne peut pas deduire s.

(s’il peut choisir s ca n’est pas une attaque sur le secret)

Definition (Authentification de message) Un protocole permet a un agentA d’authentifier un message m si A peut connaıtre de facon surel’emetteur de m.

Definition (Authentification d’entite) Un protocole permet a un agent Ad’authentifier un agent B si a la fin d’une session reussie, A a la garantiequ’il a bien realise le protocole avec B.

Definition (Fraıcheur) Pendant une session de protocole, une donnee estfraıche si l’on peut garantir qu’elle a ete emise specifiquement pour cettesession par un des acteurs.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 12 / 83

Page 47: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Premier essai

1. B ↪→ A : {s}KA

si la cle KA et {}KAsont robustes, seul A peut lire s.

Mais de qui vient le secret s ?

Deuxieme essai (avec tentative d’authentification)1. B ↪→ A : {B, s}KA

Facile a detourner par un intrus :1. I (B) ↪→ A : {B, sI}KA

sI est connu de I et accepte par A comme venant de B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 13 / 83

Page 48: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Premier essai

1. B ↪→ A : {s}KA

si la cle KA et {}KAsont robustes, seul A peut lire s.

Mais de qui vient le secret s ?

Deuxieme essai (avec tentative d’authentification)1. B ↪→ A : {B, s}KA

Facile a detourner par un intrus :1. I (B) ↪→ A : {B, sI}KA

sI est connu de I et accepte par A comme venant de B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 13 / 83

Page 49: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Premier essai

1. B ↪→ A : {s}KA

si la cle KA et {}KAsont robustes, seul A peut lire s.

Mais de qui vient le secret s ?

Deuxieme essai (avec tentative d’authentification)1. B ↪→ A : {B, s}KA

Facile a detourner par un intrus :1. I (B) ↪→ A : {B, sI}KA

sI est connu de I et accepte par A comme venant de B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 13 / 83

Page 50: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Premier essai

1. B ↪→ A : {s}KA

si la cle KA et {}KAsont robustes, seul A peut lire s.

Mais de qui vient le secret s ?

Deuxieme essai (avec tentative d’authentification)1. B ↪→ A : {B, s}KA

Facile a detourner par un intrus :1. I (B) ↪→ A : {B, sI}KA

sI est connu de I et accepte par A comme venant de B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 13 / 83

Page 51: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Premier essai

1. B ↪→ A : {s}KA

si la cle KA et {}KAsont robustes, seul A peut lire s.

Mais de qui vient le secret s ?

Deuxieme essai (avec tentative d’authentification)1. B ↪→ A : {B, s}KA

Facile a detourner par un intrus :1. I (B) ↪→ A : {B, sI}KA

sI est connu de I et accepte par A comme venant de B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 13 / 83

Page 52: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Troisieme essai (authentification par signature)

1. B ↪→ A : {B, s, {s}K−1B}KA

Rmq : solution avec des cles symetriques (canal chiffre)1. B ↪→ A : {B, s}KAB

si KAB partagee par A et BProprietes attendues :

s secret

A authentifie s comme etant emis par B

Mais I peut faire accepter de nouveau s (par rejeu) :

Cles asymetriques Cles symetriques1. B ↪→ A : {B, s, {s}K−1

B}KA

2. I (B) ↪→ A : {B, s, {s}K−1B}KA

1. B ↪→ A : {B, s}KAB

2. I (B) ↪→ A : {B, s}KAB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 14 / 83

Page 53: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Troisieme essai (authentification par signature)1. B ↪→ A : {B, s, {s}K−1

B}KA

Rmq : solution avec des cles symetriques (canal chiffre)1. B ↪→ A : {B, s}KAB

si KAB partagee par A et BProprietes attendues :

s secret

A authentifie s comme etant emis par B

Mais I peut faire accepter de nouveau s (par rejeu) :

Cles asymetriques Cles symetriques1. B ↪→ A : {B, s, {s}K−1

B}KA

2. I (B) ↪→ A : {B, s, {s}K−1B}KA

1. B ↪→ A : {B, s}KAB

2. I (B) ↪→ A : {B, s}KAB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 14 / 83

Page 54: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Troisieme essai (authentification par signature)1. B ↪→ A : {B, s, {s}K−1

B}KA

Rmq : solution avec des cles symetriques (canal chiffre)1. B ↪→ A : {B, s}KAB

si KAB partagee par A et B

Proprietes attendues :

s secret

A authentifie s comme etant emis par B

Mais I peut faire accepter de nouveau s (par rejeu) :

Cles asymetriques Cles symetriques1. B ↪→ A : {B, s, {s}K−1

B}KA

2. I (B) ↪→ A : {B, s, {s}K−1B}KA

1. B ↪→ A : {B, s}KAB

2. I (B) ↪→ A : {B, s}KAB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 14 / 83

Page 55: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Troisieme essai (authentification par signature)1. B ↪→ A : {B, s, {s}K−1

B}KA

Rmq : solution avec des cles symetriques (canal chiffre)1. B ↪→ A : {B, s}KAB

si KAB partagee par A et BProprietes attendues :

s secret

A authentifie s comme etant emis par B

Mais I peut faire accepter de nouveau s (par rejeu) :

Cles asymetriques Cles symetriques1. B ↪→ A : {B, s, {s}K−1

B}KA

2. I (B) ↪→ A : {B, s, {s}K−1B}KA

1. B ↪→ A : {B, s}KAB

2. I (B) ↪→ A : {B, s}KAB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 14 / 83

Page 56: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Troisieme essai (authentification par signature)1. B ↪→ A : {B, s, {s}K−1

B}KA

Rmq : solution avec des cles symetriques (canal chiffre)1. B ↪→ A : {B, s}KAB

si KAB partagee par A et BProprietes attendues :

s secret

A authentifie s comme etant emis par B

Mais I peut faire accepter de nouveau s (par rejeu) :

Cles asymetriques Cles symetriques1. B ↪→ A : {B, s, {s}K−1

B}KA

2. I (B) ↪→ A : {B, s, {s}K−1B}KA

1. B ↪→ A : {B, s}KAB

2. I (B) ↪→ A : {B, s}KAB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 14 / 83

Page 57: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Quatrieme essai (secret, authentification et fraıcheur) :

On utilise un nombre aleatoire frais : un nonce NA

1. A ↪→ B : {A,B,NA}KB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KAReponse de B au challenge

Proprietes attendues :

s secret

NA frais et donc {A,B,NA, s}KAfrais

A authentifie s comme etant emis par B

A authentifie B lors de la session.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 15 / 83

Page 58: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Quatrieme essai (secret, authentification et fraıcheur) :

On utilise un nombre aleatoire frais : un nonce NA

1. A ↪→ B : {A,B,NA}KB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KAReponse de B au challenge

Proprietes attendues :

s secret

NA frais et donc {A,B,NA, s}KAfrais

A authentifie s comme etant emis par B

A authentifie B lors de la session.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 15 / 83

Page 59: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Quatrieme essai (secret, authentification et fraıcheur) :

On utilise un nombre aleatoire frais : un nonce NA

1. A ↪→ B : {A,B,NA}KB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KAReponse de B au challenge

Proprietes attendues :

s secret

NA frais et donc {A,B,NA, s}KAfrais

A authentifie s comme etant emis par B

A authentifie B lors de la session.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 15 / 83

Page 60: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Quatrieme essai (secret, authentification et fraıcheur) :

On utilise un nombre aleatoire frais : un nonce NA

1. A ↪→ B : {A,B,NA}KB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KAReponse de B au challenge

Proprietes attendues :

s secret

NA frais et donc {A,B,NA, s}KAfrais

A authentifie s comme etant emis par B

A authentifie B lors de la session.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 15 / 83

Page 61: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Quatrieme essai (secret, authentification et fraıcheur) :

On utilise un nombre aleatoire frais : un nonce NA

1. A ↪→ B : {A,B,NA}KB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KAReponse de B au challenge

Proprietes attendues :

s secret

NA frais et donc {A,B,NA, s}KAfrais

A authentifie s comme etant emis par B

A authentifie B lors de la session.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 15 / 83

Page 62: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Quatrieme essai (secret, authentification et fraıcheur) :

On utilise un nombre aleatoire frais : un nonce NA

1. A ↪→ B : {A,B,NA}KB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KAReponse de B au challenge

Proprietes attendues :

s secret

NA frais et donc {A,B,NA, s}KAfrais

A authentifie s comme etant emis par B

A authentifie B lors de la session.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 15 / 83

Page 63: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Quatrieme essai (secret, authentification et fraıcheur) :

On utilise un nombre aleatoire frais : un nonce NA

1. A ↪→ B : {A,B,NA}KB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KAReponse de B au challenge

Proprietes attendues :

s secret

NA frais et donc {A,B,NA, s}KAfrais

A authentifie s comme etant emis par B

A authentifie B lors de la session.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 15 / 83

Page 64: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Quatrieme essai (secret, authentification et fraıcheur) :

On utilise un nombre aleatoire frais : un nonce NA

1. A ↪→ B : {A,B,NA}KB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KAReponse de B au challenge

Proprietes attendues :

s secret

NA frais et donc {A,B,NA, s}KAfrais

A authentifie s comme etant emis par B

A authentifie B lors de la session.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 15 / 83

Page 65: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Quatrieme essai (secret, authentification et fraıcheur) :

On utilise un nombre aleatoire frais : un nonce NA

1. A ↪→ B : {A,B,NA}KB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KAReponse de B au challenge

Proprietes attendues :

s secret

NA frais et donc {A,B,NA, s}KAfrais

A authentifie s comme etant emis par B

A authentifie B lors de la session.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 15 / 83

Page 66: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Solution similaire avec des cles symetriques :

1. A ↪→ B : {A,B,NA}KAB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KABReponse de B au challenge

Qu’il s’agisse de cles symetriques (KAB) ou asymetriques (KA,KB) :

un echange de cles prealable est necessaire !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 16 / 83

Page 67: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Principes de base des protocoles

Envoi d’un secret de B a A

Solution similaire avec des cles symetriques :

1. A ↪→ B : {A,B,NA}KAB“Challenge” de A pour B

2. B ↪→ A : {A,B,NA, s}KABReponse de B au challenge

Qu’il s’agisse de cles symetriques (KAB) ou asymetriques (KA,KB) :

un echange de cles prealable est necessaire !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 16 / 83

Page 68: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange d’une cle symetrique avec un tiers de confiance S

(Extrait de Needham-Schroeder Symmetric Key Protocol)

1. A ↪→ S : A,B,NA

2. S ↪→ A : {NA,B,KAB , {KAB ,A}KBS}KAS

3. A ↪→ B : {KAB ,A}KBS

Proprietes attendues :

secret de KAB , partage entre S , A et B

fraıcheur de KAB (pour A mais pas pour B)

authentification des messages emis par S pour A et B

A authentifie S

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 17 / 83

Page 69: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange d’une cle symetrique avec un tiers de confiance S

(Extrait de Needham-Schroeder Symmetric Key Protocol)

1. A ↪→ S : A,B,NA

2. S ↪→ A : {NA,B,KAB , {KAB ,A}KBS}KAS

3. A ↪→ B : {KAB ,A}KBS

Proprietes attendues :

secret de KAB , partage entre S , A et B

fraıcheur de KAB (pour A mais pas pour B)

authentification des messages emis par S pour A et B

A authentifie S

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 17 / 83

Page 70: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange d’une cle symetrique avec un tiers de confiance S

(Extrait de Needham-Schroeder Symmetric Key Protocol)

1. A ↪→ S : A,B,NA

2. S ↪→ A : {NA,B,KAB , {KAB ,A}KBS}KAS

3. A ↪→ B : {KAB ,A}KBS

Proprietes attendues :

secret de KAB , partage entre S , A et B

fraıcheur de KAB (pour A mais pas pour B)

authentification des messages emis par S pour A et B

A authentifie S

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 17 / 83

Page 71: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange d’une cle symetrique avec un tiers de confiance S

(Extrait de Needham-Schroeder Symmetric Key Protocol)

1. A ↪→ S : A,B,NA

2. S ↪→ A : {NA,B,KAB , {KAB ,A}KBS}KAS

3. A ↪→ B : {KAB ,A}KBS

Proprietes attendues :

secret de KAB , partage entre S , A et B

fraıcheur de KAB (pour A mais pas pour B)

authentification des messages emis par S pour A et B

A authentifie S

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 17 / 83

Page 72: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange d’une cle symetrique avec un tiers de confiance S

(Extrait de Needham-Schroeder Symmetric Key Protocol)

1. A ↪→ S : A,B,NA

2. S ↪→ A : {NA,B,KAB , {KAB ,A}KBS}KAS

3. A ↪→ B : {KAB ,A}KBS

Proprietes attendues :

secret de KAB , partage entre S , A et B

fraıcheur de KAB (pour A mais pas pour B)

authentification des messages emis par S pour A et B

A authentifie S

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 17 / 83

Page 73: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange d’une cle symetrique avec un tiers de confiance S

(Extrait de Needham-Schroeder Symmetric Key Protocol)

1. A ↪→ S : A,B,NA

2. S ↪→ A : {NA,B,KAB , {KAB ,A}KBS}KAS

3. A ↪→ B : {KAB ,A}KBS

Proprietes attendues :

secret de KAB , partage entre S , A et B

fraıcheur de KAB (pour A mais pas pour B)

authentification des messages emis par S pour A et B

A authentifie S

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 17 / 83

Page 74: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange d’une cle symetrique avec un tiers de confiance S

(Extrait de Needham-Schroeder Symmetric Key Protocol)

1. A ↪→ S : A,B,NA

2. S ↪→ A : {NA,B,KAB , {KAB ,A}KBS}KAS

3. A ↪→ B : {KAB ,A}KBS

Proprietes attendues :

secret de KAB , partage entre S , A et B

fraıcheur de KAB (pour A mais pas pour B)

authentification des messages emis par S pour A et B

A authentifie S

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 17 / 83

Page 75: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange d’une cle symetrique avec un tiers de confiance S

(Extrait de Needham-Schroeder Symmetric Key Protocol)

1. A ↪→ S : A,B,NA

2. S ↪→ A : {NA,B,KAB , {KAB ,A}KBS}KAS

3. A ↪→ B : {KAB ,A}KBS

Proprietes attendues :

secret de KAB , partage entre S , A et B

fraıcheur de KAB (pour A mais pas pour B)

authentification des messages emis par S pour A et B

A authentifie S

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 17 / 83

Page 76: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange de cles assymmetriques avec un tiers de confiance S

(Extrait de Needham-Schroeder Public Key Protocol)

1. A ↪→ S : A,B2. S ↪→ A : {KB ,B}K−1

S

3. S ↪→ B : {KA,A}K−1S

Proprietes attendues :

authentification des cles publiques KA et KB

Mais

pas de secret (pas necessaire)

pas de fraıcheur (pas necessaire ( ?))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 18 / 83

Page 77: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange de cles assymmetriques avec un tiers de confiance S

(Extrait de Needham-Schroeder Public Key Protocol)

1. A ↪→ S : A,B

2. S ↪→ A : {KB ,B}K−1S

3. S ↪→ B : {KA,A}K−1S

Proprietes attendues :

authentification des cles publiques KA et KB

Mais

pas de secret (pas necessaire)

pas de fraıcheur (pas necessaire ( ?))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 18 / 83

Page 78: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange de cles assymmetriques avec un tiers de confiance S

(Extrait de Needham-Schroeder Public Key Protocol)

1. A ↪→ S : A,B2. S ↪→ A : {KB ,B}K−1

S

3. S ↪→ B : {KA,A}K−1S

Proprietes attendues :

authentification des cles publiques KA et KB

Mais

pas de secret (pas necessaire)

pas de fraıcheur (pas necessaire ( ?))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 18 / 83

Page 79: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange de cles assymmetriques avec un tiers de confiance S

(Extrait de Needham-Schroeder Public Key Protocol)

1. A ↪→ S : A,B2. S ↪→ A : {KB ,B}K−1

S

3. S ↪→ B : {KA,A}K−1S

Proprietes attendues :

authentification des cles publiques KA et KB

Mais

pas de secret (pas necessaire)

pas de fraıcheur (pas necessaire ( ?))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 18 / 83

Page 80: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange de cles assymmetriques avec un tiers de confiance S

(Extrait de Needham-Schroeder Public Key Protocol)

1. A ↪→ S : A,B2. S ↪→ A : {KB ,B}K−1

S

3. S ↪→ B : {KA,A}K−1S

Proprietes attendues :

authentification des cles publiques KA et KB

Mais

pas de secret (pas necessaire)

pas de fraıcheur (pas necessaire ( ?))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 18 / 83

Page 81: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange de cles assymmetriques avec un tiers de confiance S

(Extrait de Needham-Schroeder Public Key Protocol)

1. A ↪→ S : A,B2. S ↪→ A : {KB ,B}K−1

S

3. S ↪→ B : {KA,A}K−1S

Proprietes attendues :

authentification des cles publiques KA et KB

Mais

pas de secret (pas necessaire)

pas de fraıcheur (pas necessaire ( ?))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 18 / 83

Page 82: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Echange de cles assymmetriques avec un tiers de confiance S

(Extrait de Needham-Schroeder Public Key Protocol)

1. A ↪→ S : A,B2. S ↪→ A : {KB ,B}K−1

S

3. S ↪→ B : {KA,A}K−1S

Proprietes attendues :

authentification des cles publiques KA et KB

Mais

pas de secret (pas necessaire)

pas de fraıcheur (pas necessaire ( ?))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 18 / 83

Page 83: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Negociation d’une cle symetrique sans tiers de confiance

Protocole Diffie-Hellman : utilise dans SSH mode degrade

Entiers p et g publics et g generateur de Z ∗p

A choisit un secret x ∈ Z et B choisit un secret y ∈ Z

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

A construit Y x mod p et B construit X y mod pet l’on a KAB = X y mod p = Y x mod p

car (g y )x mod p = (g x)y mod p = g (xy) mod p

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 19 / 83

Page 84: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Negociation d’une cle symetrique sans tiers de confiance

Protocole Diffie-Hellman : utilise dans SSH mode degrade

Entiers p et g publics et g generateur de Z ∗p

A choisit un secret x ∈ Z et B choisit un secret y ∈ Z

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

A construit Y x mod p et B construit X y mod pet l’on a KAB = X y mod p = Y x mod p

car (g y )x mod p = (g x)y mod p = g (xy) mod p

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 19 / 83

Page 85: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Negociation d’une cle symetrique sans tiers de confiance

Protocole Diffie-Hellman : utilise dans SSH mode degrade

Entiers p et g publics et g generateur de Z ∗p

A choisit un secret x ∈ Z et B choisit un secret y ∈ Z

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

A construit Y x mod p et B construit X y mod pet l’on a KAB = X y mod p = Y x mod p

car (g y )x mod p = (g x)y mod p = g (xy) mod p

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 19 / 83

Page 86: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Negociation d’une cle symetrique sans tiers de confiance

Protocole Diffie-Hellman : utilise dans SSH mode degrade

Entiers p et g publics et g generateur de Z ∗p

A choisit un secret x ∈ Z et B choisit un secret y ∈ Z

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

A construit Y x mod p et B construit X y mod pet l’on a KAB = X y mod p = Y x mod p

car (g y )x mod p = (g x)y mod p = g (xy) mod p

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 19 / 83

Page 87: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Negociation d’une cle symetrique sans tiers de confiance

Protocole Diffie-Hellman : utilise dans SSH mode degrade

Entiers p et g publics et g generateur de Z ∗p

A choisit un secret x ∈ Z et B choisit un secret y ∈ Z

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

A construit Y x mod p et B construit X y mod pet l’on a KAB = X y mod p = Y x mod p

car (g y )x mod p = (g x)y mod p = g (xy) mod p

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 19 / 83

Page 88: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Negociation d’une cle symetrique sans tiers de confiance

Protocole Diffie-Hellman : utilise dans SSH mode degrade

Entiers p et g publics et g generateur de Z ∗p

A choisit un secret x ∈ Z et B choisit un secret y ∈ Z

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

A construit Y x mod p et B construit X y mod p

et l’on a KAB = X y mod p = Y x mod p

car (g y )x mod p = (g x)y mod p = g (xy) mod p

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 19 / 83

Page 89: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Negociation d’une cle symetrique sans tiers de confiance

Protocole Diffie-Hellman : utilise dans SSH mode degrade

Entiers p et g publics et g generateur de Z ∗p

A choisit un secret x ∈ Z et B choisit un secret y ∈ Z

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

A construit Y x mod p et B construit X y mod pet l’on a KAB = X y mod p = Y x mod p

car (g y )x mod p = (g x)y mod p = g (xy) mod p

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 19 / 83

Page 90: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Negociation d’une cle symetrique sans tiers de confiance

Protocole Diffie-Hellman : utilise dans SSH mode degrade

Entiers p et g publics et g generateur de Z ∗p

A choisit un secret x ∈ Z et B choisit un secret y ∈ Z

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

A construit Y x mod p et B construit X y mod pet l’on a KAB = X y mod p = Y x mod p

car (g y )x mod p = (g x)y mod p = g (xy) mod p

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 19 / 83

Page 91: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Protocole Diffie-Hellman (suite)

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

KAB = X y mod p = Y x mod p

Proprietes attendues :

secret de KAB , partage entre A et B

fraıcheur de KAB

Mais

pas d’authentification des entites !

⇒ pas de reelle authentification de KAB par A et B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 20 / 83

Page 92: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Protocole Diffie-Hellman (suite)

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

KAB = X y mod p = Y x mod p

Proprietes attendues :

secret de KAB , partage entre A et B

fraıcheur de KAB

Mais

pas d’authentification des entites !

⇒ pas de reelle authentification de KAB par A et B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 20 / 83

Page 93: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Protocole Diffie-Hellman (suite)

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

KAB = X y mod p = Y x mod p

Proprietes attendues :

secret de KAB , partage entre A et B

fraıcheur de KAB

Mais

pas d’authentification des entites !

⇒ pas de reelle authentification de KAB par A et B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 20 / 83

Page 94: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Protocole Diffie-Hellman (suite)

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

KAB = X y mod p = Y x mod p

Proprietes attendues :

secret de KAB , partage entre A et B

fraıcheur de KAB

Mais

pas d’authentification des entites !

⇒ pas de reelle authentification de KAB par A et B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 20 / 83

Page 95: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Protocole Diffie-Hellman (suite)

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

KAB = X y mod p = Y x mod p

Proprietes attendues :

secret de KAB , partage entre A et B

fraıcheur de KAB

Mais

pas d’authentification des entites !

⇒ pas de reelle authentification de KAB par A et B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 20 / 83

Page 96: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Protocole Diffie-Hellman (suite)

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

KAB = X y mod p = Y x mod p

Proprietes attendues :

secret de KAB , partage entre A et B

fraıcheur de KAB

Mais

pas d’authentification des entites !

⇒ pas de reelle authentification de KAB par A et B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 20 / 83

Page 97: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’echange de cles

Protocole Diffie-Hellman (suite)

1. A ↪→ B : X = g x mod p2. B ↪→ A : Y = g y mod p

KAB = X y mod p = Y x mod p

Proprietes attendues :

secret de KAB , partage entre A et B

fraıcheur de KAB

Mais

pas d’authentification des entites !

⇒ pas de reelle authentification de KAB par A et B !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 20 / 83

Page 98: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login UNIX

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : ‘‘login:’’2. A ↪→ M : A3. M ↪→ A : ‘‘passwd:’’4. A ↪→ M : P

Puis M calcule hash(P) et compare dans /etc/passwd

⇒ suppose que la communication de A vers M est sure

Sinon, proprietes attendues (telnet) : aucune !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 21 / 83

Page 99: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login UNIX

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : ‘‘login:’’2. A ↪→ M : A3. M ↪→ A : ‘‘passwd:’’4. A ↪→ M : P

Puis M calcule hash(P) et compare dans /etc/passwd

⇒ suppose que la communication de A vers M est sure

Sinon, proprietes attendues (telnet) : aucune !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 21 / 83

Page 100: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login UNIX

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : ‘‘login:’’2. A ↪→ M : A3. M ↪→ A : ‘‘passwd:’’4. A ↪→ M : P

Puis M calcule hash(P) et compare dans /etc/passwd

⇒ suppose que la communication de A vers M est sure

Sinon, proprietes attendues (telnet) : aucune !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 21 / 83

Page 101: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login UNIX

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : ‘‘login:’’2. A ↪→ M : A3. M ↪→ A : ‘‘passwd:’’4. A ↪→ M : P

Puis M calcule hash(P) et compare dans /etc/passwd

⇒ suppose que la communication de A vers M est sure

Sinon, proprietes attendues (telnet) : aucune !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 21 / 83

Page 102: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login UNIX

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : ‘‘login:’’2. A ↪→ M : A3. M ↪→ A : ‘‘passwd:’’4. A ↪→ M : P

Puis M calcule hash(P) et compare dans /etc/passwd

⇒ suppose que la communication de A vers M est sure

Sinon, proprietes attendues (telnet) :

aucune !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 21 / 83

Page 103: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login UNIX

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : ‘‘login:’’2. A ↪→ M : A3. M ↪→ A : ‘‘passwd:’’4. A ↪→ M : P

Puis M calcule hash(P) et compare dans /etc/passwd

⇒ suppose que la communication de A vers M est sure

Sinon, proprietes attendues (telnet) : aucune !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 21 / 83

Page 104: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login SSH (1)

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : KM

2. A ↪→ M : {KAM}KM

3. M ↪→ A : {‘‘login:’’}KAM

4. A ↪→ M : {A}KAM

5. M ↪→ A : {‘‘passwd:’’}KAM

6. A ↪→ M : {P}KAM

Proprietes attendues :

KAM , A, P secrets partages entre A et M

M authentifie A, mais A n’authentifie pas M

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 22 / 83

Page 105: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login SSH (1)

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : KM

2. A ↪→ M : {KAM}KM

3. M ↪→ A : {‘‘login:’’}KAM

4. A ↪→ M : {A}KAM

5. M ↪→ A : {‘‘passwd:’’}KAM

6. A ↪→ M : {P}KAM

Proprietes attendues :

KAM , A, P secrets partages entre A et M

M authentifie A, mais A n’authentifie pas M

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 22 / 83

Page 106: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login SSH (1)

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : KM

2. A ↪→ M : {KAM}KM

3. M ↪→ A : {‘‘login:’’}KAM

4. A ↪→ M : {A}KAM

5. M ↪→ A : {‘‘passwd:’’}KAM

6. A ↪→ M : {P}KAM

Proprietes attendues :

KAM , A, P secrets partages entre A et M

M authentifie A, mais A n’authentifie pas M

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 22 / 83

Page 107: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login SSH (1)

Hypotheses :

A connait P (son mot de passe)

M connait A et hash(P) (dans /etc/passwd)

1. M ↪→ A : KM

2. A ↪→ M : {KAM}KM

3. M ↪→ A : {‘‘login:’’}KAM

4. A ↪→ M : {A}KAM

5. M ↪→ A : {‘‘passwd:’’}KAM

6. A ↪→ M : {P}KAM

Proprietes attendues :

KAM , A, P secrets partages entre A et M

M authentifie A, mais A n’authentifie pas M

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 22 / 83

Page 108: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login SSH (2)

Hypotheses :

A a depose (au prealable) sa cle publique KA sur M

1. M ↪→ A : KM

2. A ↪→ M : {KAM}KM

3. M ↪→ A : {{NM}KA}KAM

4. A ↪→ M : {NM}KAM

Proprietes attendues :

KAM secret partage entre A et M

M authentifie A, mais A n’authentifie pas M

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 23 / 83

Page 109: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login SSH (2)

Hypotheses :

A a depose (au prealable) sa cle publique KA sur M

1. M ↪→ A : KM

2. A ↪→ M : {KAM}KM

3. M ↪→ A : {{NM}KA}KAM

4. A ↪→ M : {NM}KAM

Proprietes attendues :

KAM secret partage entre A et M

M authentifie A, mais A n’authentifie pas M

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 23 / 83

Page 110: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login SSH (2)

Hypotheses :

A a depose (au prealable) sa cle publique KA sur M

1. M ↪→ A : KM

2. A ↪→ M : {KAM}KM

3. M ↪→ A : {{NM}KA}KAM

4. A ↪→ M : {NM}KAM

Proprietes attendues :

KAM secret partage entre A et M

M authentifie A, mais A n’authentifie pas M

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 23 / 83

Page 111: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : Login SSH (2)

Hypotheses :

A a depose (au prealable) sa cle publique KA sur M

1. M ↪→ A : KM

2. A ↪→ M : {KAM}KM

3. M ↪→ A : {{NM}KA}KAM

4. A ↪→ M : {NM}KAM

Proprietes attendues :

KAM secret partage entre A et M

M authentifie A, mais A n’authentifie pas M

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 23 / 83

Page 112: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

Hypotheses :

B(rowser) connait A et P (ou A les saisit dans B)

B connait KS , ou S est un tiers de confianceOn parle aussi de “Certification Authority” (CA), e.g. VeriSign, . . .

V (endor) connait {V ,KV }K−1S

“certificat” achete a S par V

et renouvele tous les ans !

V connait A et P

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 24 / 83

Page 113: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

Hypotheses :

B(rowser) connait A et P (ou A les saisit dans B)

B connait KS , ou S est un tiers de confianceOn parle aussi de “Certification Authority” (CA), e.g. VeriSign, . . .

V (endor) connait {V ,KV }K−1S

“certificat” achete a S par V

et renouvele tous les ans !

V connait A et P

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 24 / 83

Page 114: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

Hypotheses :

B(rowser) connait A et P (ou A les saisit dans B)

B connait KS , ou S est un tiers de confianceOn parle aussi de “Certification Authority” (CA), e.g. VeriSign, . . .

V (endor) connait {V ,KV }K−1S

“certificat” achete a S par V

et renouvele tous les ans !

V connait A et P

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 24 / 83

Page 115: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

Hypotheses :

B(rowser) connait A et P (ou A les saisit dans B)

B connait KS , ou S est un tiers de confianceOn parle aussi de “Certification Authority” (CA), e.g. VeriSign, . . .

V (endor) connait {V ,KV }K−1S

“certificat” achete a S par V

et renouvele tous les ans !

V connait A et P

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 24 / 83

Page 116: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

Hypotheses :

B(rowser) connait A et P (ou A les saisit dans B)

B connait KS , ou S est un tiers de confianceOn parle aussi de “Certification Authority” (CA), e.g. VeriSign, . . .

V (endor) connait {V ,KV }K−1S

“certificat” achete a S par V

et renouvele tous les ans !

V connait A et P

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 24 / 83

Page 117: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

Proprietes attendues :

KBV , A, P secrets partages entre B et V

B authentifie {V ,KV }K−1S

comme construit par S

V authentifie A, B authentifie V (en faisant confiance a S)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 25 / 83

Page 118: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

Proprietes attendues :

KBV , A, P secrets partages entre B et V

B authentifie {V ,KV }K−1S

comme construit par S

V authentifie A, B authentifie V (en faisant confiance a S)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 25 / 83

Page 119: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

Proprietes attendues :

KBV , A, P secrets partages entre B et V

B authentifie {V ,KV }K−1S

comme construit par S

V authentifie A, B authentifie V (en faisant confiance a S)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 25 / 83

Page 120: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

Proprietes attendues :

KBV , A, P secrets partages entre B et V

B authentifie {V ,KV }K−1S

comme construit par S

V authentifie A, B authentifie V (en faisant confiance a S)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 25 / 83

Page 121: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’authentification : SSL/TLS (https)

1. V ↪→ B : {V ,KV }K−1S

2. B ↪→ V : {KBV }KV

3. V ↪→ B : {‘‘login:’’}KBV

4. B ↪→ V : {A}KBV

5. V ↪→ B : {‘‘passwd:’’}KBV

6. B ↪→ V : {P}KBV

Proprietes attendues :

KBV , A, P secrets partages entre B et V

B authentifie {V ,KV }K−1S

comme construit par S

V authentifie A, B authentifie V (en faisant confiance a S)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 25 / 83

Page 122: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Proprietes des protocoles crypto

Definition (Accord non repudiable) Un protocole etablit un accord nonrepudiable entre deux agents si chaque agent peut fournir la preuve quel’autre a accepte les termes de l’accord.

Definition (Equite) Un protocole d’accord non repudiable entre deuxagents A est B est equitable si aucun agent ne peut obtenir d’avantage surl’autre : A n’obtient pas la preuve de l’accord de B avant que B n’ait unepreuve de l’accord de A (et vice-versa).

Definition (Anonymat) Un protocole preserve l’anonymat d’un agent As’il est impossible d’identifier A a partir des messages echanges.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 26 / 83

Page 123: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Proprietes des protocoles crypto

Definition (Accord non repudiable) Un protocole etablit un accord nonrepudiable entre deux agents si chaque agent peut fournir la preuve quel’autre a accepte les termes de l’accord.

Definition (Equite) Un protocole d’accord non repudiable entre deuxagents A est B est equitable si aucun agent ne peut obtenir d’avantage surl’autre : A n’obtient pas la preuve de l’accord de B avant que B n’ait unepreuve de l’accord de A (et vice-versa).

Definition (Anonymat) Un protocole preserve l’anonymat d’un agent As’il est impossible d’identifier A a partir des messages echanges.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 26 / 83

Page 124: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Proprietes des protocoles crypto

Definition (Accord non repudiable) Un protocole etablit un accord nonrepudiable entre deux agents si chaque agent peut fournir la preuve quel’autre a accepte les termes de l’accord.

Definition (Equite) Un protocole d’accord non repudiable entre deuxagents A est B est equitable si aucun agent ne peut obtenir d’avantage surl’autre : A n’obtient pas la preuve de l’accord de B avant que B n’ait unepreuve de l’accord de A (et vice-versa).

Definition (Anonymat) Un protocole preserve l’anonymat d’un agent As’il est impossible d’identifier A a partir des messages echanges.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 26 / 83

Page 125: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Proprietes des protocoles crypto

Definition (Accord non repudiable) Un protocole etablit un accord nonrepudiable entre deux agents si chaque agent peut fournir la preuve quel’autre a accepte les termes de l’accord.

Definition (Equite) Un protocole d’accord non repudiable entre deuxagents A est B est equitable si aucun agent ne peut obtenir d’avantage surl’autre : A n’obtient pas la preuve de l’accord de B avant que B n’ait unepreuve de l’accord de A (et vice-versa).

Definition (Anonymat) Un protocole preserve l’anonymat d’un agent As’il est impossible d’identifier A a partir des messages echanges.

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 26 / 83

Page 126: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Exemple rudimentaire :1. A ↪→ B : {A,B,Contrat}K−1

A

2. B ↪→ A : {A,B,Contrat}K−1B

Proprietes attendues :

accord non-repudiable entre A et B sur Contrat

Mais

non equitable car B obtient la signature avant A !

Pour se rapprocher de l’equite, en pratique, ca sera plutot :1. A ↪→ B : {A,B,Cont}K−1

A

2. B ↪→ A : {A,B,Cont}K−1B

3. A ↪→ B : {A,B, rat}K−1A

4. B ↪→ A : {A,B, rat}K−1B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 27 / 83

Page 127: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Exemple rudimentaire :1. A ↪→ B : {A,B,Contrat}K−1

A

2. B ↪→ A : {A,B,Contrat}K−1B

Proprietes attendues :

accord non-repudiable entre A et B sur Contrat

Mais

non equitable car B obtient la signature avant A !

Pour se rapprocher de l’equite, en pratique, ca sera plutot :1. A ↪→ B : {A,B,Cont}K−1

A

2. B ↪→ A : {A,B,Cont}K−1B

3. A ↪→ B : {A,B, rat}K−1A

4. B ↪→ A : {A,B, rat}K−1B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 27 / 83

Page 128: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Exemple rudimentaire :1. A ↪→ B : {A,B,Contrat}K−1

A

2. B ↪→ A : {A,B,Contrat}K−1B

Proprietes attendues :

accord non-repudiable entre A et B sur Contrat

Mais

non equitable car B obtient la signature avant A !

Pour se rapprocher de l’equite, en pratique, ca sera plutot :1. A ↪→ B : {A,B,Cont}K−1

A

2. B ↪→ A : {A,B,Cont}K−1B

3. A ↪→ B : {A,B, rat}K−1A

4. B ↪→ A : {A,B, rat}K−1B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 27 / 83

Page 129: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Exemple rudimentaire :1. A ↪→ B : {A,B,Contrat}K−1

A

2. B ↪→ A : {A,B,Contrat}K−1B

Proprietes attendues :

accord non-repudiable entre A et B sur Contrat

Mais

non equitable car B obtient la signature avant A !

Pour se rapprocher de l’equite, en pratique, ca sera plutot :1. A ↪→ B : {A,B,Cont}K−1

A

2. B ↪→ A : {A,B,Cont}K−1B

3. A ↪→ B : {A,B, rat}K−1A

4. B ↪→ A : {A,B, rat}K−1B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 27 / 83

Page 130: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Exemple rudimentaire :1. A ↪→ B : {A,B,Contrat}K−1

A

2. B ↪→ A : {A,B,Contrat}K−1B

Proprietes attendues :

accord non-repudiable entre A et B sur Contrat

Mais

non equitable car B obtient la signature avant A !

Pour se rapprocher de l’equite, en pratique, ca sera plutot :1. A ↪→ B : {A,B,Cont}K−1

A

2. B ↪→ A : {A,B,Cont}K−1B

3. A ↪→ B : {A,B, rat}K−1A

4. B ↪→ A : {A,B, rat}K−1B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 27 / 83

Page 131: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Exemple rudimentaire :1. A ↪→ B : {A,B,Contrat}K−1

A

2. B ↪→ A : {A,B,Contrat}K−1B

Proprietes attendues :

accord non-repudiable entre A et B sur Contrat

Mais

non equitable car B obtient la signature avant A !

Pour se rapprocher de l’equite, en pratique, ca sera plutot :1. A ↪→ B : {A,B,Cont}K−1

A

2. B ↪→ A : {A,B,Cont}K−1B

3. A ↪→ B : {A,B, rat}K−1A

4. B ↪→ A : {A,B, rat}K−1B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 27 / 83

Page 132: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Accuse reception equitable avec un tiers de confiance S[Zhou-Gollmann 96]

1. A ↪→ B : {propose,B,NA, {M}K}K−1A

2. B ↪→ A : {ack ,A,NA, {M}K}K−1B

3. A ↪→ S : {submit,B,NA,K}K−1A

4. S ↪→ A,B : {confirm,A,B,NA,K}K−1S

Proprietes attendues :

M secret pour tous (excepte A) jusqu’en 3.

Les 4 messages sont authentifiables (signatures K−1X )

A et B ont en meme temps (en 4.) la preuve que :

I pour A : que le message a ete recu par BI pour B : que A a bien envoye le message

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 28 / 83

Page 133: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Accuse reception equitable avec un tiers de confiance S[Zhou-Gollmann 96]

1. A ↪→ B : {propose,B,NA, {M}K}K−1A

2. B ↪→ A : {ack ,A,NA, {M}K}K−1B

3. A ↪→ S : {submit,B,NA,K}K−1A

4. S ↪→ A,B : {confirm,A,B,NA,K}K−1S

Proprietes attendues :

M secret pour tous (excepte A) jusqu’en 3.

Les 4 messages sont authentifiables (signatures K−1X )

A et B ont en meme temps (en 4.) la preuve que :

I pour A : que le message a ete recu par BI pour B : que A a bien envoye le message

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 28 / 83

Page 134: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Accuse reception equitable avec un tiers de confiance S[Zhou-Gollmann 96]

1. A ↪→ B : {propose,B,NA, {M}K}K−1A

2. B ↪→ A : {ack ,A,NA, {M}K}K−1B

3. A ↪→ S : {submit,B,NA,K}K−1A

4. S ↪→ A,B : {confirm,A,B,NA,K}K−1S

Proprietes attendues :

M secret pour tous (excepte A) jusqu’en 3.

Les 4 messages sont authentifiables (signatures K−1X )

A et B ont en meme temps (en 4.) la preuve que :

I pour A : que le message a ete recu par BI pour B : que A a bien envoye le message

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 28 / 83

Page 135: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Accuse reception equitable avec un tiers de confiance S[Zhou-Gollmann 96]

1. A ↪→ B : {propose,B,NA, {M}K}K−1A

2. B ↪→ A : {ack ,A,NA, {M}K}K−1B

3. A ↪→ S : {submit,B,NA,K}K−1A

4. S ↪→ A,B : {confirm,A,B,NA,K}K−1S

Proprietes attendues :

M secret pour tous (excepte A) jusqu’en 3.

Les 4 messages sont authentifiables (signatures K−1X )

A et B ont en meme temps (en 4.) la preuve que :

I pour A : que le message a ete recu par BI pour B : que A a bien envoye le message

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 28 / 83

Page 136: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Accuse reception equitable avec un tiers de confiance S[Zhou-Gollmann 96]

1. A ↪→ B : {propose,B,NA, {M}K}K−1A

2. B ↪→ A : {ack ,A,NA, {M}K}K−1B

3. A ↪→ S : {submit,B,NA,K}K−1A

4. S ↪→ A,B : {confirm,A,B,NA,K}K−1S

Proprietes attendues :

M secret pour tous (excepte A) jusqu’en 3.

Les 4 messages sont authentifiables (signatures K−1X )

A et B ont en meme temps (en 4.) la preuve que :

I pour A : que le message a ete recu par BI pour B : que A a bien envoye le message

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 28 / 83

Page 137: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Accuse reception equitable avec un tiers de confiance S[Zhou-Gollmann 96]

1. A ↪→ B : {propose,B,NA, {M}K}K−1A

2. B ↪→ A : {ack ,A,NA, {M}K}K−1B

3. A ↪→ S : {submit,B,NA,K}K−1A

4. S ↪→ A,B : {confirm,A,B,NA,K}K−1S

Proprietes attendues :

M secret pour tous (excepte A) jusqu’en 3.

Les 4 messages sont authentifiables (signatures K−1X )

A et B ont en meme temps (en 4.) la preuve que :

I pour A : que le message a ete recu par BI pour B : que A a bien envoye le message

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 28 / 83

Page 138: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Accuse reception equitable avec un tiers de confiance S[Zhou-Gollmann 96]

1. A ↪→ B : {propose,B,NA, {M}K}K−1A

2. B ↪→ A : {ack ,A,NA, {M}K}K−1B

3. A ↪→ S : {submit,B,NA,K}K−1A

4. S ↪→ A,B : {confirm,A,B,NA,K}K−1S

Proprietes attendues :

M secret pour tous (excepte A) jusqu’en 3.

Les 4 messages sont authentifiables (signatures K−1X )

A et B ont en meme temps (en 4.) la preuve que :

I pour A : que le message a ete recu par BI pour B : que A a bien envoye le message

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 28 / 83

Page 139: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles d’accord non-repudiable

Accuse reception equitable avec un tiers de confiance S[Zhou-Gollmann 96]

1. A ↪→ B : {propose,B,NA, {M}K}K−1A

2. B ↪→ A : {ack ,A,NA, {M}K}K−1B

3. A ↪→ S : {submit,B,NA,K}K−1A

4. S ↪→ A,B : {confirm,A,B,NA,K}K−1S

Proprietes attendues :

M secret pour tous (excepte A) jusqu’en 3.

Les 4 messages sont authentifiables (signatures K−1X )

A et B ont en meme temps (en 4.) la preuve que :

I pour A : que le message a ete recu par BI pour B : que A a bien envoye le message

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 28 / 83

Page 140: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemples de protocoles de paiement electronique

Paiement sur internetI Verification en ligne : SET/CSET)I Verification hors ligne (et distribuee) : Bitcoin

Paiement sur terminal protegeI Verification en ligne : carte BancaireI Verification hors ligne : carte Bancaire a puce

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 29 / 83

Page 141: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemples de protocoles de paiement electronique

Paiement sur internetI Verification en ligne : SET/CSET)I Verification hors ligne (et distribuee) : Bitcoin

Paiement sur terminal protegeI Verification en ligne : carte BancaireI Verification hors ligne : carte Bancaire a puce

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 29 / 83

Page 142: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

Protocole propose par Visa et MasterCard en 1997

Specification totalement ouverte ( !)

Paiement en ligne entre 3 agents connectes :I (C)lientI (M)archandI (B)anque (en fait un portail bancaire)

NM et NC nonces

Purchamt = montant de la transaction

Od = “Order details” = details de la commande

Pd = “Payment details” = details du reglement

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 30 / 83

Page 143: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

Protocole propose par Visa et MasterCard en 1997

Specification totalement ouverte ( !)

Paiement en ligne entre 3 agents connectes :I (C)lientI (M)archandI (B)anque (en fait un portail bancaire)

NM et NC nonces

Purchamt = montant de la transaction

Od = “Order details” = details de la commande

Pd = “Payment details” = details du reglement

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 30 / 83

Page 144: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

Protocole propose par Visa et MasterCard en 1997

Specification totalement ouverte ( !)

Paiement en ligne entre 3 agents connectes :I (C)lientI (M)archandI (B)anque (en fait un portail bancaire)

NM et NC nonces

Purchamt = montant de la transaction

Od = “Order details” = details de la commande

Pd = “Payment details” = details du reglement

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 30 / 83

Page 145: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

Protocole propose par Visa et MasterCard en 1997

Specification totalement ouverte ( !)

Paiement en ligne entre 3 agents connectes :I (C)lientI (M)archandI (B)anque (en fait un portail bancaire)

NM et NC nonces

Purchamt = montant de la transaction

Od = “Order details” = details de la commande

Pd = “Payment details” = details du reglement

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 30 / 83

Page 146: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

Protocole propose par Visa et MasterCard en 1997

Specification totalement ouverte ( !)

Paiement en ligne entre 3 agents connectes :I (C)lientI (M)archandI (B)anque (en fait un portail bancaire)

NM et NC nonces

Purchamt = montant de la transaction

Od = “Order details” = details de la commande

Pd = “Payment details” = details du reglement

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 30 / 83

Page 147: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

Protocole propose par Visa et MasterCard en 1997

Specification totalement ouverte ( !)

Paiement en ligne entre 3 agents connectes :I (C)lientI (M)archandI (B)anque (en fait un portail bancaire)

NM et NC nonces

Purchamt = montant de la transaction

Od = “Order details” = details de la commande

Pd = “Payment details” = details du reglement

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 30 / 83

Page 148: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

Protocole propose par Visa et MasterCard en 1997

Specification totalement ouverte ( !)

Paiement en ligne entre 3 agents connectes :I (C)lientI (M)archandI (B)anque (en fait un portail bancaire)

NM et NC nonces

Purchamt = montant de la transaction

Od = “Order details” = details de la commande

Pd = “Payment details” = details du reglement

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 30 / 83

Page 149: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M

(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 31 / 83

Page 150: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 31 / 83

Page 151: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 31 / 83

Page 152: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 31 / 83

Page 153: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 31 / 83

Page 154: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 31 / 83

Page 155: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

Proprietes attendues :

Od secret partage entre C et M et inconnu a tout autre agent(y compris B)

Pd secret partage entre C et B et inconnu a tout autre agent(y compris M)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 32 / 83

Page 156: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

Proprietes attendues :

Od secret partage entre C et M et inconnu a tout autre agent(y compris B)

Pd secret partage entre C et B et inconnu a tout autre agent(y compris M)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 32 / 83

Page 157: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

Authentification mutuelle des entites C et M grace a{. . .NM . . .}K−1

Cet {. . .NC . . .}K−1

M

Authentification de l’entite B par C et M grace a{. . . hash(. . .NC ,NM . . .) . . .}K−1

B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 33 / 83

Page 158: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

Authentification mutuelle des entites C et M grace a{. . .NM . . .}K−1

Cet {. . .NC . . .}K−1

M

Authentification de l’entite B par C et M grace a{. . . hash(. . .NC ,NM . . .) . . .}K−1

B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 33 / 83

Page 159: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

Authentification par tous les agents des 3 messages {Trans}K−1C

,

{Trans}K−1M

et {Results, hash(Trans)}K−1B

Accord tripartite C ,M,B non repudiable grace a {Trans}K−1C

,

{Trans}K−1M

et {Results, hash(Trans)}K−1B

Fraıcheur transaction verifiee par B avec NC et NM

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 34 / 83

Page 160: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

Authentification par tous les agents des 3 messages {Trans}K−1C

,

{Trans}K−1M

et {Results, hash(Trans)}K−1B

Accord tripartite C ,M,B non repudiable grace a {Trans}K−1C

,

{Trans}K−1M

et {Results, hash(Trans)}K−1B

Fraıcheur transaction verifiee par B avec NC et NM

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 34 / 83

Page 161: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

Authentification par tous les agents des 3 messages {Trans}K−1C

,

{Trans}K−1M

et {Results, hash(Trans)}K−1B

Accord tripartite C ,M,B non repudiable grace a {Trans}K−1C

,

{Trans}K−1M

et {Results, hash(Trans)}K−1B

Fraıcheur transaction verifiee par B avec NC et NM

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 34 / 83

Page 162: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

SET/CSET

(PInitReq) C ↪→ M : C ,M(PInitRes) M ↪→ C : NM

(PReq) C ↪→ M : {Trans}K−1C, {Od}KM

, {Pd}KB

(AuthReq) M ↪→ B : {Trans}K−1C, {Trans}K−1

M, {Pd}KB

(AuthRes) B ↪→ M : {Results, hash(Trans)}K−1B

(PRes) M ↪→ C : {Results, hash(Trans)}K−1B

Trans = (C , M, (NC ,NM), Purchamt, hash(Od), hash(Pd))

Mais

pas d’anonymat : B sait que C a achete chez M !

pas d’equite : C signe avant M

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 35 / 83

Page 163: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Monnaie electronique : Le protocole Bitcoin

Protocole public propose par � Satoshi Nakamoto � 1 en 2008

Le protocole est sans tiers de confiance et decentralise :

Les transactions sont validees par un reseau pair-a-pair d’utilisateurs

Transaction= transfert de Bitcoins (B) entre comptesI Un compte est represente par un couple (cle publique, cle privee)I Le numero de compte est la cle publiqueI Seul le titulaire du compte connait la cle privee du compte

Transaction hors ligne entre 2 comptes de numeros KA et KB

I On suppose que Alice detient le compte KA (elle connait K−1A )

I On suppose que Bob detient le compte KB (il connait K−1B )

I Pour donner 20B a Bob, Alice envoie {20, i ,KB}K−1A

sur le reseau P2P

ou i sera un � numero de transaction � (pour simplifier)

1. A l’heure actuelle, on ne sait pas s’il s’agit d’une personne reelle ou d’un groupe.T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 36 / 83

Page 164: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Monnaie electronique : Le protocole Bitcoin

Protocole public propose par � Satoshi Nakamoto � 1 en 2008

Le protocole est sans tiers de confiance et decentralise

:

Les transactions sont validees par un reseau pair-a-pair d’utilisateurs

Transaction= transfert de Bitcoins (B) entre comptesI Un compte est represente par un couple (cle publique, cle privee)I Le numero de compte est la cle publiqueI Seul le titulaire du compte connait la cle privee du compte

Transaction hors ligne entre 2 comptes de numeros KA et KB

I On suppose que Alice detient le compte KA (elle connait K−1A )

I On suppose que Bob detient le compte KB (il connait K−1B )

I Pour donner 20B a Bob, Alice envoie {20, i ,KB}K−1A

sur le reseau P2P

ou i sera un � numero de transaction � (pour simplifier)

1. A l’heure actuelle, on ne sait pas s’il s’agit d’une personne reelle ou d’un groupe.T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 36 / 83

Page 165: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Monnaie electronique : Le protocole Bitcoin

Protocole public propose par � Satoshi Nakamoto � 1 en 2008

Le protocole est sans tiers de confiance et decentralise :

Les transactions sont validees par un reseau pair-a-pair d’utilisateurs

Transaction= transfert de Bitcoins (B) entre comptesI Un compte est represente par un couple (cle publique, cle privee)I Le numero de compte est la cle publiqueI Seul le titulaire du compte connait la cle privee du compte

Transaction hors ligne entre 2 comptes de numeros KA et KB

I On suppose que Alice detient le compte KA (elle connait K−1A )

I On suppose que Bob detient le compte KB (il connait K−1B )

I Pour donner 20B a Bob, Alice envoie {20, i ,KB}K−1A

sur le reseau P2P

ou i sera un � numero de transaction � (pour simplifier)

1. A l’heure actuelle, on ne sait pas s’il s’agit d’une personne reelle ou d’un groupe.T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 36 / 83

Page 166: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Monnaie electronique : Le protocole Bitcoin

Protocole public propose par � Satoshi Nakamoto � 1 en 2008

Le protocole est sans tiers de confiance et decentralise :

Les transactions sont validees par un reseau pair-a-pair d’utilisateurs

Transaction= transfert de Bitcoins (B) entre comptes

I Un compte est represente par un couple (cle publique, cle privee)I Le numero de compte est la cle publiqueI Seul le titulaire du compte connait la cle privee du compte

Transaction hors ligne entre 2 comptes de numeros KA et KB

I On suppose que Alice detient le compte KA (elle connait K−1A )

I On suppose que Bob detient le compte KB (il connait K−1B )

I Pour donner 20B a Bob, Alice envoie {20, i ,KB}K−1A

sur le reseau P2P

ou i sera un � numero de transaction � (pour simplifier)

1. A l’heure actuelle, on ne sait pas s’il s’agit d’une personne reelle ou d’un groupe.T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 36 / 83

Page 167: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Monnaie electronique : Le protocole Bitcoin

Protocole public propose par � Satoshi Nakamoto � 1 en 2008

Le protocole est sans tiers de confiance et decentralise :

Les transactions sont validees par un reseau pair-a-pair d’utilisateurs

Transaction= transfert de Bitcoins (B) entre comptesI Un compte est represente par un couple (cle publique, cle privee)

I Le numero de compte est la cle publiqueI Seul le titulaire du compte connait la cle privee du compte

Transaction hors ligne entre 2 comptes de numeros KA et KB

I On suppose que Alice detient le compte KA (elle connait K−1A )

I On suppose que Bob detient le compte KB (il connait K−1B )

I Pour donner 20B a Bob, Alice envoie {20, i ,KB}K−1A

sur le reseau P2P

ou i sera un � numero de transaction � (pour simplifier)

1. A l’heure actuelle, on ne sait pas s’il s’agit d’une personne reelle ou d’un groupe.T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 36 / 83

Page 168: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Monnaie electronique : Le protocole Bitcoin

Protocole public propose par � Satoshi Nakamoto � 1 en 2008

Le protocole est sans tiers de confiance et decentralise :

Les transactions sont validees par un reseau pair-a-pair d’utilisateurs

Transaction= transfert de Bitcoins (B) entre comptesI Un compte est represente par un couple (cle publique, cle privee)I Le numero de compte est la cle publique

I Seul le titulaire du compte connait la cle privee du compte

Transaction hors ligne entre 2 comptes de numeros KA et KB

I On suppose que Alice detient le compte KA (elle connait K−1A )

I On suppose que Bob detient le compte KB (il connait K−1B )

I Pour donner 20B a Bob, Alice envoie {20, i ,KB}K−1A

sur le reseau P2P

ou i sera un � numero de transaction � (pour simplifier)

1. A l’heure actuelle, on ne sait pas s’il s’agit d’une personne reelle ou d’un groupe.T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 36 / 83

Page 169: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Monnaie electronique : Le protocole Bitcoin

Protocole public propose par � Satoshi Nakamoto � 1 en 2008

Le protocole est sans tiers de confiance et decentralise :

Les transactions sont validees par un reseau pair-a-pair d’utilisateurs

Transaction= transfert de Bitcoins (B) entre comptesI Un compte est represente par un couple (cle publique, cle privee)I Le numero de compte est la cle publiqueI Seul le titulaire du compte connait la cle privee du compte

Transaction hors ligne entre 2 comptes de numeros KA et KB

I On suppose que Alice detient le compte KA (elle connait K−1A )

I On suppose que Bob detient le compte KB (il connait K−1B )

I Pour donner 20B a Bob, Alice envoie {20, i ,KB}K−1A

sur le reseau P2P

ou i sera un � numero de transaction � (pour simplifier)

1. A l’heure actuelle, on ne sait pas s’il s’agit d’une personne reelle ou d’un groupe.T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 36 / 83

Page 170: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Monnaie electronique : Le protocole Bitcoin

Protocole public propose par � Satoshi Nakamoto � 1 en 2008

Le protocole est sans tiers de confiance et decentralise :

Les transactions sont validees par un reseau pair-a-pair d’utilisateurs

Transaction= transfert de Bitcoins (B) entre comptesI Un compte est represente par un couple (cle publique, cle privee)I Le numero de compte est la cle publiqueI Seul le titulaire du compte connait la cle privee du compte

Transaction hors ligne entre 2 comptes de numeros KA et KB

I On suppose que Alice detient le compte KA (elle connait K−1A )

I On suppose que Bob detient le compte KB (il connait K−1B )

I Pour donner 20B a Bob, Alice envoie {20, i ,KB}K−1A

sur le reseau P2P

ou i sera un � numero de transaction � (pour simplifier)

1. A l’heure actuelle, on ne sait pas s’il s’agit d’une personne reelle ou d’un groupe.T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 36 / 83

Page 171: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Monnaie electronique : Le protocole Bitcoin

Protocole public propose par � Satoshi Nakamoto � 1 en 2008

Le protocole est sans tiers de confiance et decentralise :

Les transactions sont validees par un reseau pair-a-pair d’utilisateurs

Transaction= transfert de Bitcoins (B) entre comptesI Un compte est represente par un couple (cle publique, cle privee)I Le numero de compte est la cle publiqueI Seul le titulaire du compte connait la cle privee du compte

Transaction hors ligne entre 2 comptes de numeros KA et KB

I On suppose que Alice detient le compte KA (elle connait K−1A )

I On suppose que Bob detient le compte KB (il connait K−1B )

I Pour donner 20B a Bob, Alice envoie {20, i ,KB}K−1A

sur le reseau P2P

ou i sera un � numero de transaction � (pour simplifier)

1. A l’heure actuelle, on ne sait pas s’il s’agit d’une personne reelle ou d’un groupe.T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 36 / 83

Page 172: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin (II)

Toutes les 10 minutes, chaque noeud du P2P declenche la verification

Les nouvelles transactions sont verifiees par rapport a la BlockChain

BlockChain=historique des transactions depuis le demarrage (2009)

Dans la BlockChain, on verifie que KA est credite d’au moins 20B

Une fois validees les nouvelles transactions sont ajoutees a BlockChain

Block Bi = nouvelles transactions + hash(Bi−1) + Ni (a trouver)

La BlockChain completee est partagee sur le reseau P2P

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 37 / 83

Page 173: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin (II)

Toutes les 10 minutes, chaque noeud du P2P declenche la verification

Les nouvelles transactions sont verifiees par rapport a la BlockChain

BlockChain=historique des transactions depuis le demarrage (2009)

Dans la BlockChain, on verifie que KA est credite d’au moins 20B

Une fois validees les nouvelles transactions sont ajoutees a BlockChain

Block Bi = nouvelles transactions + hash(Bi−1) + Ni (a trouver)

La BlockChain completee est partagee sur le reseau P2P

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 37 / 83

Page 174: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin (II)

Toutes les 10 minutes, chaque noeud du P2P declenche la verification

Les nouvelles transactions sont verifiees par rapport a la BlockChain

BlockChain=historique des transactions depuis le demarrage (2009)

Bi−2 Bi−1{116, i− 2,KA}K−1

C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Dans la BlockChain, on verifie que KA est credite d’au moins 20B

Une fois validees les nouvelles transactions sont ajoutees a BlockChain

Block Bi = nouvelles transactions + hash(Bi−1) + Ni (a trouver)

La BlockChain completee est partagee sur le reseau P2P

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 37 / 83

Page 175: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin (II)

Toutes les 10 minutes, chaque noeud du P2P declenche la verification

Les nouvelles transactions sont verifiees par rapport a la BlockChain

BlockChain=historique des transactions depuis le demarrage (2009)

Bi−2 Bi−1{116, i− 2,KA}K−1

C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Dans la BlockChain, on verifie que KA est credite d’au moins 20B

Une fois validees les nouvelles transactions sont ajoutees a BlockChain

Block Bi = nouvelles transactions + hash(Bi−1) + Ni (a trouver)

La BlockChain completee est partagee sur le reseau P2P

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 37 / 83

Page 176: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin (II)

Toutes les 10 minutes, chaque noeud du P2P declenche la verification

Les nouvelles transactions sont verifiees par rapport a la BlockChain

BlockChain=historique des transactions depuis le demarrage (2009)

Bi−2 Bi−1{116, i− 2,KA}K−1

C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Dans la BlockChain, on verifie que KA est credite d’au moins 20B

Une fois validees les nouvelles transactions sont ajoutees a BlockChain

Block Bi = nouvelles transactions + hash(Bi−1) + Ni (a trouver)

La BlockChain completee est partagee sur le reseau P2P

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 37 / 83

Page 177: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin (II)

Toutes les 10 minutes, chaque noeud du P2P declenche la verification

Les nouvelles transactions sont verifiees par rapport a la BlockChain

BlockChain=historique des transactions depuis le demarrage (2009)

Bi−2 Bi−1{116, i− 2,KA}K−1

C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Bi

Dans la BlockChain, on verifie que KA est credite d’au moins 20B

Une fois validees les nouvelles transactions sont ajoutees a BlockChain

Block Bi = nouvelles transactions + hash(Bi−1) + Ni (a trouver)

La BlockChain completee est partagee sur le reseau P2P

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 37 / 83

Page 178: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin (II)

Toutes les 10 minutes, chaque noeud du P2P declenche la verification

Les nouvelles transactions sont verifiees par rapport a la BlockChain

BlockChain=historique des transactions depuis le demarrage (2009)

Bi−2 Bi−1{116, i− 2,KA}K−1

C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Bi

Dans la BlockChain, on verifie que KA est credite d’au moins 20B

Une fois validees les nouvelles transactions sont ajoutees a BlockChain

Block Bi = nouvelles transactions + hash(Bi−1) + Ni (a trouver)

La BlockChain completee est partagee sur le reseau P2P

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 37 / 83

Page 179: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :

I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)

I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?

I Probleme calculatoire difficile ! !

I Impossible a resoudre en 10 minutes avec 1, 10, 100 machines

I Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 180: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :

I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)

I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?

I Probleme calculatoire difficile ! !

I Impossible a resoudre en 10 minutes avec 1, 10, 100 machines

I Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 181: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :

I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)

I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?

I Probleme calculatoire difficile ! !

I Impossible a resoudre en 10 minutes avec 1, 10, 100 machines

I Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 182: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :

I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)

I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?

I Probleme calculatoire difficile ! !

I Impossible a resoudre en 10 minutes avec 1, 10, 100 machines

I Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 183: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :

I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)

I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?I Probleme calculatoire difficile ! !

I Impossible a resoudre en 10 minutes avec 1, 10, 100 machines

I Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 184: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :

I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)

I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?I Probleme calculatoire difficile ! !

I Impossible a resoudre en 10 minutes avec 1, 10, 100 machines

I Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 185: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :

I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)

I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?I Probleme calculatoire difficile ! !

I Impossible a resoudre en 10 minutes avec 1, 10, 100 machines

I Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 186: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸

C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?I Probleme calculatoire difficile ! !I Impossible a resoudre en 10 minutes avec 1, 10, 100 machinesI Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 187: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸

C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?I Probleme calculatoire difficile ! !I Impossible a resoudre en 10 minutes avec 1, 10, 100 machinesI Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

hash( ) = 0000 . . .

hash( ) = 0000 . . .

hash( ) = 0000 . . .

hash( ) = 0000 . . .

hash( ) = 0000 . . .

hash( ) = 0000 . . .

C +Ni possibles

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 188: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸

C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?I Probleme calculatoire difficile ! !I Impossible a resoudre en 10 minutes avec 1, 10, 100 machinesI Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 189: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸

C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?I Probleme calculatoire difficile ! !I Impossible a resoudre en 10 minutes avec 1, 10, 100 machinesI Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 190: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �

Pour eviter la tricherie (e.g. double depense) la securite repose sur Ni

Pour pouvoir valider un bloc, les pairs doivent determiner Ni tel que :

I hash(Bi ) a une valeur binaire commencant par quatre 0 (par ex.)

I hash(nouvelles transactions + hash(Bi−1)︸ ︷︷ ︸C

+Ni ) = 0000 . . .

Comment trouver Ni t.q. hash(C + Ni ) = 0000 . . . ?I Probleme calculatoire difficile ! !

I Impossible a resoudre en 10 minutes avec 1, 10, 100 machines

I Possible uniquement si resolution distribuee entre de nombreux pairs

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 38 / 83

Page 191: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �(II)

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

Consensus des pairs sur C + Ni (C contient les nouvelles transactions)

D’ou consensus des pairs sur les nouvelles transactions !

Il est impossible pour un agent isole de tricher :

I double depenseI depenser plus que le credit d’un compte

Pour tricher, il faut detenir plus de 51% de la puissance de calcul !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 39 / 83

Page 192: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �(II)

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

Consensus des pairs sur C + Ni (C contient les nouvelles transactions)

D’ou consensus des pairs sur les nouvelles transactions !

Il est impossible pour un agent isole de tricher :

I double depenseI depenser plus que le credit d’un compte

Pour tricher, il faut detenir plus de 51% de la puissance de calcul !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 39 / 83

Page 193: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �(II)

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

Consensus des pairs sur C + Ni (C contient les nouvelles transactions)

D’ou consensus des pairs sur les nouvelles transactions !

Il est impossible pour un agent isole de tricher :

I double depenseI depenser plus que le credit d’un compte

Pour tricher, il faut detenir plus de 51% de la puissance de calcul !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 39 / 83

Page 194: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : � securite par le consensus massif �(II)

hash( ) = 0000 . . .

C +Ni possibles

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

hash(C +Ni) = 0000 . . .

Consensus des pairs sur C + Ni (C contient les nouvelles transactions)

D’ou consensus des pairs sur les nouvelles transactions !

Il est impossible pour un agent isole de tricher :

I double depenseI depenser plus que le credit d’un compte

Pour tricher, il faut detenir plus de 51% de la puissance de calcul !

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 39 / 83

Page 195: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : proprietes attenduesBi−2 Bi−1

{116, i− 2,KA}K−1C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Bi

Secrets :

aucun (tous les transferts de compte a compte sont publics)

Messages authentifies : toutes les transactions

Fraıcheur : toutes les transactions, tous les Ni , tous les hash

Agents authentifies : les emetteurs de transaction sont authentifiespar tous les participants au reseau P2P

Anonymat : s’il n’est pas possible de savoir qui emet une transactionsur le P2P, les agents associes aux comptes restent anonymes

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 40 / 83

Page 196: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : proprietes attenduesBi−2 Bi−1

{116, i− 2,KA}K−1C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Bi

Secrets : aucun (tous les transferts de compte a compte sont publics)

Messages authentifies :

toutes les transactions

Fraıcheur : toutes les transactions, tous les Ni , tous les hash

Agents authentifies : les emetteurs de transaction sont authentifiespar tous les participants au reseau P2P

Anonymat : s’il n’est pas possible de savoir qui emet une transactionsur le P2P, les agents associes aux comptes restent anonymes

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 40 / 83

Page 197: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : proprietes attenduesBi−2 Bi−1

{116, i− 2,KA}K−1C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Bi

Secrets : aucun (tous les transferts de compte a compte sont publics)

Messages authentifies : toutes les transactions

Fraıcheur :

toutes les transactions, tous les Ni , tous les hash

Agents authentifies : les emetteurs de transaction sont authentifiespar tous les participants au reseau P2P

Anonymat : s’il n’est pas possible de savoir qui emet une transactionsur le P2P, les agents associes aux comptes restent anonymes

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 40 / 83

Page 198: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : proprietes attenduesBi−2 Bi−1

{116, i− 2,KA}K−1C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Bi

Secrets : aucun (tous les transferts de compte a compte sont publics)

Messages authentifies : toutes les transactions

Fraıcheur : toutes les transactions, tous les Ni , tous les hash

Agents authentifies :

les emetteurs de transaction sont authentifiespar tous les participants au reseau P2P

Anonymat : s’il n’est pas possible de savoir qui emet une transactionsur le P2P, les agents associes aux comptes restent anonymes

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 40 / 83

Page 199: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : proprietes attenduesBi−2 Bi−1

{116, i− 2,KA}K−1C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Bi

Secrets : aucun (tous les transferts de compte a compte sont publics)

Messages authentifies : toutes les transactions

Fraıcheur : toutes les transactions, tous les Ni , tous les hash

Agents authentifies : les emetteurs de transaction sont authentifiespar tous les participants au reseau P2P

Anonymat :

s’il n’est pas possible de savoir qui emet une transactionsur le P2P, les agents associes aux comptes restent anonymes

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 40 / 83

Page 200: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocole Bitcoin : proprietes attenduesBi−2 Bi−1

{116, i− 2,KA}K−1C

{13, i− 2,KB}K−1D

{258, i− 2,KM}K−1H

. . .

hash(Bi−3)

Ni−2

{100, i− 1,KF }K−1G

{755, i− 1,KA}K−1C

. . .

hash(Bi−2)

Ni−1

{20, i,KB}K−1A

{5, i,KC}K−1D

{1000, i,KE}K−1B

. . .

hash(Bi−1)

Ni a determiner

Bi

Secrets : aucun (tous les transferts de compte a compte sont publics)

Messages authentifies : toutes les transactions

Fraıcheur : toutes les transactions, tous les Ni , tous les hash

Agents authentifies : les emetteurs de transaction sont authentifiespar tous les participants au reseau P2P

Anonymat : s’il n’est pas possible de savoir qui emet une transactionsur le P2P, les agents associes aux comptes restent anonymes

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 40 / 83

Page 201: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Securite de Bitcoin : ce que tout utilisateur doit verifier

l’homogeinite du reseau P2P : moins de 51% de la puissance de calculdoit etre aux mains d’une entite malveillante

que son numero de compte et sa cle privee restent secrets

par ex., le numero : 1CfvVCqnXwVEdxXaSETP7Yx8PvFCKs66a2 et lacle : 5JHS5prvTHw7V4pX9hAiMu9tUNFJDRoURTuzn6V8wctsxb9TtJT

I Stockees sur un disque externe, cle USB, etc.

I Stockees sur du papier :

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 41 / 83

Page 202: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Securite de Bitcoin : ce que tout utilisateur doit verifier

l’homogeinite du reseau P2P : moins de 51% de la puissance de calculdoit etre aux mains d’une entite malveillante

que son numero de compte et sa cle privee restent secrets

par ex., le numero : 1CfvVCqnXwVEdxXaSETP7Yx8PvFCKs66a2 et lacle : 5JHS5prvTHw7V4pX9hAiMu9tUNFJDRoURTuzn6V8wctsxb9TtJT

I Stockees sur un disque externe, cle USB, etc.

I Stockees sur du papier :

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 41 / 83

Page 203: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Securite de Bitcoin : ce que tout utilisateur doit verifier

l’homogeinite du reseau P2P : moins de 51% de la puissance de calculdoit etre aux mains d’une entite malveillante

que son numero de compte et sa cle privee restent secrets

par ex., le numero : 1CfvVCqnXwVEdxXaSETP7Yx8PvFCKs66a2 et lacle : 5JHS5prvTHw7V4pX9hAiMu9tUNFJDRoURTuzn6V8wctsxb9TtJT

I Stockees sur un disque externe, cle USB, etc.

I Stockees sur du papier :

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 41 / 83

Page 204: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Securite de Bitcoin : ce que tout utilisateur doit verifier

l’homogeinite du reseau P2P : moins de 51% de la puissance de calculdoit etre aux mains d’une entite malveillante

que son numero de compte et sa cle privee restent secrets

par ex., le numero : 1CfvVCqnXwVEdxXaSETP7Yx8PvFCKs66a2 et lacle : 5JHS5prvTHw7V4pX9hAiMu9tUNFJDRoURTuzn6V8wctsxb9TtJT

I Stockees sur un disque externe, cle USB, etc.

I Stockees sur du papier :

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 41 / 83

Page 205: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Partie II :

Protocoles crypto, attaques et verification

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 42 / 83

Page 206: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Protocoles crypto, attaques et verification

Plan

Bibliographie

Mises en garde

Le paiement avec une carte bancaire a puce

Les failles

Verification des protocoles cryptographiquesI Definition des Capacites de l’intrusI Le modele de Dolev-YaoI Verification “logique” des protocoles

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 43 / 83

Page 207: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Bibliographie

Jacques Patarin. La Cryptographie des cartes bancaires. Pour lascience. Hors serie. Juillet-Octobre 2002.

L. Paulson. The inductive approach to verifying cryptographicprotocols. Journal of Computer Security. 1998.

http://www.cl.cam.ac.uk/~lp15/papers/Auth/jcs.pdf

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 44 / 83

Page 208: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Mises en garde

Art. 67-1. (L. n 91-1382 du 30 dec. 1991)

Seront punis d’un emprisonnement d’un an a sept ans et d’une amende de3.600 F a 5.000.000 F ou de l’une de ces deux peines seulement :

1 Ceux qui auront contrefait ou falsifie une carte de paiement ou deretrait ;

2 Ceux qui, en connaissance de cause, auront fait usage d’une carte depaiement ou de retrait contrefaite ou falsifiee ;

3 . . .

[Bruce Schneier]“Il est certainement plus simple d’implementer de la mauvaise securite etde rendre hors la loi tous ceux qui le font remarquer que d’implementer dela bonne securite.”

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 45 / 83

Page 209: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire

Acteurs (ou agents) :

(A)lice

(C)arte bancaire (detenue par A)

(T)erminal du commercant

(B)anque (banque emettrice de la carte)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 46 / 83

Page 210: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire

Protocole de transaction :

A introduit sa carte C

le commercant saisit le montant m sur T

T authentifie C

A donne son code (3456) a C

Si m depasse 100 euros (et dans 20% des cas)

T demande l’autorisation a B pour C

B donne l’autorisation

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 47 / 83

Page 211: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire

Protocole de transaction :

A introduit sa carte C

le commercant saisit le montant m sur T

T authentifie C

A donne son code (3456) a C

Si m depasse 100 euros (et dans 20% des cas)

T demande l’autorisation a B pour C

B donne l’autorisation

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 47 / 83

Page 212: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire

Protocole de transaction :

A introduit sa carte C

le commercant saisit le montant m sur T

T authentifie C

A donne son code (3456) a C

Si m depasse 100 euros (et dans 20% des cas)

T demande l’autorisation a B pour C

B donne l’autorisation

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 47 / 83

Page 213: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire

Protocole de transaction :

A introduit sa carte C

le commercant saisit le montant m sur T

T authentifie C

A donne son code (3456) a C

Si m depasse 100 euros (et dans 20% des cas)

T demande l’autorisation a B pour C

B donne l’autorisation

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 47 / 83

Page 214: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire

Protocole de transaction :

A introduit sa carte C

le commercant saisit le montant m sur T

T authentifie C

A donne son code (3456) a C

Si m depasse 100 euros (et dans 20% des cas)

T demande l’autorisation a B pour C

B donne l’autorisation

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 47 / 83

Page 215: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire

Protocole de transaction :

A introduit sa carte C

le commercant saisit le montant m sur T

T authentifie C

A donne son code (3456) a C

Si m depasse 100 euros (et dans 20% des cas)

T demande l’autorisation a B pour C

B donne l’autorisation

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 47 / 83

Page 216: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire

Protocole de transaction :

A introduit sa carte C

le commercant saisit le montant m sur T

T authentifie C

A donne son code (3456) a C

Si m depasse 100 euros (et dans 20% des cas)

T demande l’autorisation a B pour C

B donne l’autorisation

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 47 / 83

Page 217: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire

Protocole de transaction :

A introduit sa carte C

le commercant saisit le montant m sur T

T authentifie C

A donne son code (3456) a C

Si m depasse 100 euros (et dans 20% des cas)

T demande l’autorisation a B pour C

B donne l’autorisation

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 47 / 83

Page 218: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede un code secret : 3456

(B)anque possedeI une cle “publique” KB

I des cles secretes K−1B , KCB

(C)arte possede des informations “publiques”I Data= nom, prenom, numero carte, date de validiteI Valeur de Signature VS = {hash(Data)}K−1

B

et une cle “secrete” : KCB (DES)

(T)erminal possedeI hashI une cle “publique” KB (RSA)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 48 / 83

Page 219: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede un code secret : 3456

(B)anque possedeI une cle “publique” KB

I des cles secretes K−1B , KCB

(C)arte possede des informations “publiques”I Data= nom, prenom, numero carte, date de validiteI Valeur de Signature VS = {hash(Data)}K−1

B

et une cle “secrete” : KCB (DES)

(T)erminal possedeI hashI une cle “publique” KB (RSA)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 48 / 83

Page 220: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede un code secret : 3456

(B)anque possedeI une cle “publique” KB

I des cles secretes K−1B , KCB

(C)arte possede des informations “publiques”I Data= nom, prenom, numero carte, date de validiteI Valeur de Signature VS = {hash(Data)}K−1

B

et une cle “secrete” : KCB (DES)

(T)erminal possedeI hashI une cle “publique” KB (RSA)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 48 / 83

Page 221: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede un code secret : 3456

(B)anque possedeI une cle “publique” KB

I des cles secretes K−1B , KCB

(C)arte possede des informations “publiques”

I Data= nom, prenom, numero carte, date de validiteI Valeur de Signature VS = {hash(Data)}K−1

B

et une cle “secrete” : KCB (DES)

(T)erminal possedeI hashI une cle “publique” KB (RSA)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 48 / 83

Page 222: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede un code secret : 3456

(B)anque possedeI une cle “publique” KB

I des cles secretes K−1B , KCB

(C)arte possede des informations “publiques”I Data= nom, prenom, numero carte, date de validite

I Valeur de Signature VS = {hash(Data)}K−1B

et une cle “secrete” : KCB (DES)

(T)erminal possedeI hashI une cle “publique” KB (RSA)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 48 / 83

Page 223: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede un code secret : 3456

(B)anque possedeI une cle “publique” KB

I des cles secretes K−1B , KCB

(C)arte possede des informations “publiques”I Data= nom, prenom, numero carte, date de validiteI Valeur de Signature VS = {hash(Data)}K−1

B

et une cle “secrete” : KCB (DES)

(T)erminal possedeI hashI une cle “publique” KB (RSA)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 48 / 83

Page 224: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede un code secret : 3456

(B)anque possedeI une cle “publique” KB

I des cles secretes K−1B , KCB

(C)arte possede des informations “publiques”I Data= nom, prenom, numero carte, date de validiteI Valeur de Signature VS = {hash(Data)}K−1

B

et une cle “secrete” : KCB (DES)

(T)erminal possedeI hashI une cle “publique” KB (RSA)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 48 / 83

Page 225: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede un code secret : 3456

(B)anque possedeI une cle “publique” KB

I des cles secretes K−1B , KCB

(C)arte possede des informations “publiques”I Data= nom, prenom, numero carte, date de validiteI Valeur de Signature VS = {hash(Data)}K−1

B

et une cle “secrete” : KCB (DES)

(T)erminal possedeI hashI une cle “publique” KB (RSA)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 48 / 83

Page 226: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede son code : 3456

(C)arte possede Data et {hash(Data)}K−1B

(T)erminal possede hash et la cle “publique” KB

Phase hors ligne de la transaction (estimation) :

T authentifie C

1. C ↪→ T : Data, {hash(Data)}K−1B

A donne son code a C (C authentifie A)

2. T ↪→ A : code ?3. A ↪→ C : 34564. C ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 49 / 83

Page 227: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede son code : 3456

(C)arte possede Data et {hash(Data)}K−1B

(T)erminal possede hash et la cle “publique” KB

Phase hors ligne de la transaction (estimation) :

T authentifie C

1. C ↪→ T : Data, {hash(Data)}K−1B

A donne son code a C (C authentifie A)

2. T ↪→ A : code ?3. A ↪→ C : 34564. C ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 49 / 83

Page 228: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

(A)lice possede son code : 3456

(C)arte possede Data et {hash(Data)}K−1B

(T)erminal possede hash et la cle “publique” KB

Phase hors ligne de la transaction (estimation) :

T authentifie C

1. C ↪→ T : Data, {hash(Data)}K−1B

A donne son code a C (C authentifie A)

2. T ↪→ A : code ?3. A ↪→ C : 34564. C ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 49 / 83

Page 229: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

Si le montant est superieur a 100 euros

T demande l’autorisation a B pour C

5. T ↪→ B : Demande d’authentification

B realise l’authentification en ligne de C

6. B ↪→ T : NB

7. T ↪→ C : NB

8. C ↪→ T : A, {NB}KCB

9. T ↪→ B : A, {NB}KCB

B donne l’autorisation

10. B ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 50 / 83

Page 230: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

Si le montant est superieur a 100 euros

T demande l’autorisation a B pour C

5. T ↪→ B : Demande d’authentification

B realise l’authentification en ligne de C

6. B ↪→ T : NB

7. T ↪→ C : NB

8. C ↪→ T : A, {NB}KCB

9. T ↪→ B : A, {NB}KCB

B donne l’autorisation

10. B ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 50 / 83

Page 231: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de la Carte bancaire (Protocole B0, 1987-2005)

Si le montant est superieur a 100 euros

T demande l’autorisation a B pour C

5. T ↪→ B : Demande d’authentification

B realise l’authentification en ligne de C

6. B ↪→ T : NB

7. T ↪→ C : NB

8. C ↪→ T : A, {NB}KCB

9. T ↪→ B : A, {NB}KCB

B donne l’autorisation

10. B ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 50 / 83

Page 232: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles de la carte bancaire (Protocole B0,1987-2005)

Initialement la securite de la carte reposait beaucoup sur :

la non replicabilite de la carte

le secret autour des cles employees, du protocole, . . .

Mais

Faille cryptographique :

cles RSA 320 bits ne sont plus sures (1988)

Faille logique du protocole :

pas de lien “code a 4 chiffres” et authentification !

Faille physique :

replicabilite ⇒ Yescard ! (Humpich 1998)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 51 / 83

Page 233: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles de la carte bancaire (Protocole B0,1987-2005)

Initialement la securite de la carte reposait beaucoup sur :

la non replicabilite de la carte

le secret autour des cles employees, du protocole, . . .

Mais

Faille cryptographique :

cles RSA 320 bits ne sont plus sures (1988)

Faille logique du protocole :

pas de lien “code a 4 chiffres” et authentification !

Faille physique :

replicabilite ⇒ Yescard ! (Humpich 1998)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 51 / 83

Page 234: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles de la carte bancaire (Protocole B0,1987-2005)

Initialement la securite de la carte reposait beaucoup sur :

la non replicabilite de la carte

le secret autour des cles employees, du protocole, . . .

Mais

Faille cryptographique :

cles RSA 320 bits ne sont plus sures (1988)

Faille logique du protocole :

pas de lien “code a 4 chiffres” et authentification !

Faille physique :

replicabilite ⇒ Yescard ! (Humpich 1998)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 51 / 83

Page 235: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles de la carte bancaire (Protocole B0,1987-2005)

Initialement la securite de la carte reposait beaucoup sur :

la non replicabilite de la carte

le secret autour des cles employees, du protocole, . . .

Mais

Faille cryptographique :

cles RSA 320 bits ne sont plus sures (1988)

Faille logique du protocole :

pas de lien “code a 4 chiffres” et authentification !

Faille physique :

replicabilite ⇒ Yescard ! (Humpich 1998)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 51 / 83

Page 236: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles de la carte bancaire (Protocole B0,1987-2005)

Initialement la securite de la carte reposait beaucoup sur :

la non replicabilite de la carte

le secret autour des cles employees, du protocole, . . .

Mais

Faille cryptographique :

cles RSA 320 bits ne sont plus sures (1988)

Faille logique du protocole :

pas de lien “code a 4 chiffres” et authentification !

Faille physique :

replicabilite ⇒ Yescard ! (Humpich 1998)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 51 / 83

Page 237: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles (Protocole B0, 1987-2005)

Faille logique du protocole :

1. C ↪→ T : Data, {hash(Data)}K−1B

2. T ↪→ A : code ?3. A ↪→ C : 3456

A ↪→ C ′ : 7575

4. C ↪→ T : ok

C ′ ↪→ T : ok

Implantee dans une Yescard :

1. C ↪→ T : Data, {hash(Data)}K−1B

2. T ↪→ A : code ?3. A ↪→ C : 00004. C ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 52 / 83

Page 238: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles (Protocole B0, 1987-2005)

Faille logique du protocole :

1. C ↪→ T : Data, {hash(Data)}K−1B

2. T ↪→ A : code ?3. A ↪→ C : 3456

A ↪→ C ′ : 7575

A ↪→ C ′ : 75754. C ↪→ T : ok

C ′ ↪→ T : ok

C ′ ↪→ T : ok

Implantee dans une Yescard :

1. C ↪→ T : Data, {hash(Data)}K−1B

2. T ↪→ A : code ?3. A ↪→ C : 00004. C ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 52 / 83

Page 239: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles (Protocole B0, 1987-2005)

Faille logique du protocole :

1. C ↪→ T : Data, {hash(Data)}K−1B

2. T ↪→ A : code ?3. A ↪→ C ′ : 75754. C ′ ↪→ T : ok

Implantee dans une Yescard :

1. C ↪→ T : Data, {hash(Data)}K−1B

2. T ↪→ A : code ?3. A ↪→ C : 00004. C ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 52 / 83

Page 240: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles (Protocole B0, 1987-2005)

Faille logique du protocole :

1. C ↪→ T : Data, {hash(Data)}K−1B

2. T ↪→ A : code ?3. A ↪→ C ′ : 75754. C ′ ↪→ T : ok

Implantee dans une Yescard :

1. C ↪→ T : Data, {hash(Data)}K−1B

2. T ↪→ A : code ?3. A ↪→ C : 00004. C ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 52 / 83

Page 241: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Quelques failles (Protocole B0, 1987-2005)

Faille logique du protocole :

1. C ↪→ T : Data, {hash(Data)}K−1B

2. T ↪→ A : code ?3. A ↪→ C ′ : 75754. C ′ ↪→ T : ok

Implantee dans une Yescard (et fausse signature RSA)

1. C ↪→ T : ZZZ , {hash(ZZZ )}K−1B

2. T ↪→ A : code ?3. A ↪→ C : 00004. C ↪→ T : ok

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 52 / 83

Page 242: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Corrections appliquees sur le protocole B0

1999 : le GIE Cartes Bancaires alonge la taille des cles RSA

2003 : Europay, MasterCard et Visa remplacent B0 par EMV

I non pas un mais 3 protocoles : SDA, DDA, CDA

I concu en 2003 et (officiellement) largement deploye depuis 2006

I specifications disponibles sur le web !

I multi-applications

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 53 / 83

Page 243: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Corrections appliquees sur le protocole B0

1999 : le GIE Cartes Bancaires alonge la taille des cles RSA

2003 : Europay, MasterCard et Visa remplacent B0 par EMV

I non pas un mais 3 protocoles : SDA, DDA, CDA

I concu en 2003 et (officiellement) largement deploye depuis 2006

I specifications disponibles sur le web !

I multi-applications

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 53 / 83

Page 244: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Corrections appliquees sur le protocole B0

1999 : le GIE Cartes Bancaires alonge la taille des cles RSA

2003 : Europay, MasterCard et Visa remplacent B0 par EMV

I non pas un mais 3 protocoles : SDA, DDA, CDA

I concu en 2003 et (officiellement) largement deploye depuis 2006

I specifications disponibles sur le web !

I multi-applications

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 53 / 83

Page 245: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Corrections appliquees sur le protocole B0

1999 : le GIE Cartes Bancaires alonge la taille des cles RSA

2003 : Europay, MasterCard et Visa remplacent B0 par EMV

I non pas un mais 3 protocoles : SDA, DDA, CDA

I concu en 2003 et (officiellement) largement deploye depuis 2006

I specifications disponibles sur le web !

I multi-applications

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 53 / 83

Page 246: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Corrections appliquees sur le protocole B0

1999 : le GIE Cartes Bancaires alonge la taille des cles RSA

2003 : Europay, MasterCard et Visa remplacent B0 par EMV

I non pas un mais 3 protocoles : SDA, DDA, CDA

I concu en 2003 et (officiellement) largement deploye depuis 2006

I specifications disponibles sur le web !

I multi-applications

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 53 / 83

Page 247: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Corrections appliquees sur le protocole B0

1999 : le GIE Cartes Bancaires alonge la taille des cles RSA

2003 : Europay, MasterCard et Visa remplacent B0 par EMV

I non pas un mais 3 protocoles : SDA, DDA, CDA

I concu en 2003 et (officiellement) largement deploye depuis 2006

I specifications disponibles sur le web !

I multi-applications

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 53 / 83

Page 248: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Beaucoup de protocoles de la litterature ont des failles !

Il s’agit de failles logiques :

liees a l’enchaınement des messages

pas liees a l’implantation

pas de cryptanalyse

protocoles crypto.= cas d’etude ideal pour les methodes formelles

relativement abstraits

de taille reduite

difficiles a verifier manuellement

Il faut formaliser les capacites de l’intrus

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 54 / 83

Page 249: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Les capacites de l’intrus

À L’intrus ne fait pas de cryptanalyse ⇒ suppose les cles incassables

En pratique, il faut utiliser des cles de longueurs suffisantes

En pratique, ⇒ suivre les resultats de cassage de cles

Ex : RSA record a 768 bits (2010)

Carte bancaires doivent etre au moins a RSA 1024 bits...

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 55 / 83

Page 250: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Competition de factorisation RSA

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 56 / 83

Page 251: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Competition de factorisation RSA

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 57 / 83

Page 252: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Version simplifiee de SSH en mode degrade

1. A ↪→ B : g x

2. B ↪→ A : g y K = (g x)y = (g y )x

3. B ↪→ A : {login :}K4. A ↪→ B : {A}K5. B ↪→ A : {passwd :}K6. A ↪→ B : {P}K

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 58 / 83

Page 253: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA gNI

gNBgNI

K1 = (gNA)NI K2 = (gNB )NI

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 254: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA

gNI

gNBgNI

K1 = (gNA)NI K2 = (gNB )NI

Á L’intrus peut intercepter/bloquer tous les messages

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 255: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA gNI

gNBgNI

K1 = (gNA)NI K2 = (gNB )NI

 L’intrus connaıt les donnees publiques (g)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 256: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA gNI

gNBgNI

K1 = (gNA)NI K2 = (gNB )NI

à Il peut generer des valeurs aleatoires (NI )

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 257: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA gNI

gNBgNI

K1 = (gNA)NI K2 = (gNB )NI

Ä Il peut calculer des exponentielles (gNI )

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 258: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA gNI

gNBgNI

K1 = (gNA)NI K2 = (gNB )NI

Å Il peut envoyer n’importe quel message construit a partir desconnaissances qu’il a accumule

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 259: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA gNI

gNB

gNI

K1 = (gNA)NI K2 = (gNB )NI

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 260: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA gNI

gNBgNI

K1 = (gNA)NI K2 = (gNB )NI

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 261: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA gNI

gNBgNI

K1 = (gNA)NI

K2 = (gNB )NI

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 262: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de failles et capacites de l’intrus

A I B

gNA gNI

gNBgNI

K1 = (gNA)NI K2 = (gNB )NI

Æ L’intrus peut executer plusieurs sessions entrelacees d’unmeme protocole

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 59 / 83

Page 263: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2{login :}K1

{A}K1 {A}K2

{passwd :}K2{passwd :}K1

{P}K1 {P}K2

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 264: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2{login :}K1

{A}K1 {A}K2

{passwd :}K2{passwd :}K1

{P}K1 {P}K2

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 265: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2{login :}K1

{A}K1 {A}K2

{passwd :}K2{passwd :}K1

{P}K1 {P}K2

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 266: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2

{login :}K1

{A}K1 {A}K2

{passwd :}K2{passwd :}K1

{P}K1 {P}K2

Ç L’intrus peut dechiffrer un message chiffre s’il a la cle inverse

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 267: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2{login :}K1

{A}K1 {A}K2

{passwd :}K2{passwd :}K1

{P}K1 {P}K2

È L’intrus peut chiffrer s’il a la cle

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 268: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2{login :}K1

{A}K1

{A}K2

{passwd :}K2{passwd :}K1

{P}K1 {P}K2

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 269: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2{login :}K1

{A}K1 {A}K2

{passwd :}K2{passwd :}K1

{P}K1 {P}K2

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 270: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2{login :}K1

{A}K1 {A}K2

{passwd :}K2{passwd :}K1

{P}K1 {P}K2

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 271: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2{login :}K1

{A}K1 {A}K2

{passwd :}K2{passwd :}K1

{P}K1

{P}K2

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 272: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

A ←→ I ←→ BK1 = (gNA)NI K2 = (gNB )NI

A I B

{login :}K2{login :}K1

{A}K1 {A}K2

{passwd :}K2{passwd :}K1

{P}K1 {P}K2

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 60 / 83

Page 273: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Les capacites de l’intrus

À L’intrus ne fait pas de cryptanalyse

Á L’intrus peut intercepter/bloquer tous les messages

 L’intrus connaıt les donnees publiques (g)

à Il peut generer des valeurs aleatoires (NI )

Ä Il peut calculer des exponentielles (gNI )

Å Il peut envoyer n’importe quel message construit a partir desconnaissances qu’il a accumule

Æ L’intrus peut executer plusieurs sessions entrelacees

Ç L’intrus peut dechiffrer s’il a la cle inverse

È L’intrus peut chiffrer s’il a la cle

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 61 / 83

Page 274: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

2. S ↪→ A : S , {S ,A,NA,KB}K−1S

Z peut convaincre A que la cle publique de B est KZ !

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

A attribue KZ a B !

Authentification invalide de KZ par A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 62 / 83

Page 275: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

2. S ↪→ A : S , {S ,A,NA,KB}K−1S

Z peut convaincre A que la cle publique de B est KZ !

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

A attribue KZ a B !

Authentification invalide de KZ par A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 62 / 83

Page 276: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

2. S ↪→ A : S , {S ,A,NA,KB}K−1S

Z peut convaincre A que la cle publique de B est KZ !

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

A attribue KZ a B !

Authentification invalide de KZ par A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 62 / 83

Page 277: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

2. S ↪→ A : S , {S ,A,NA,KB}K−1S

Z peut convaincre A que la cle publique de B est KZ !

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

A attribue KZ a B !

Authentification invalide de KZ par A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 62 / 83

Page 278: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

2. S ↪→ A : S , {S ,A,NA,KB}K−1S

Z peut convaincre A que la cle publique de B est KZ !

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

A attribue KZ a B !

Authentification invalide de KZ par A

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 62 / 83

Page 279: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

Manipulations de Z necessaires pour cette attaque :

lire, effacer, stocker tous les messages

Z peut jouer le role d’un autre acteur

demonter les messages

stocker les donnees obtenues

construire des messages a partir des donnees obtenues

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 63 / 83

Page 280: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

Manipulations de Z necessaires pour cette attaque :

lire, effacer, stocker tous les messages

Z peut jouer le role d’un autre acteur

demonter les messages

stocker les donnees obtenues

construire des messages a partir des donnees obtenues

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 63 / 83

Page 281: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

Manipulations de Z necessaires pour cette attaque :

lire, effacer, stocker tous les messages

Z peut jouer le role d’un autre acteur

demonter les messages

stocker les donnees obtenues

construire des messages a partir des donnees obtenues

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 63 / 83

Page 282: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

Manipulations de Z necessaires pour cette attaque :

lire, effacer, stocker tous les messages

Z peut jouer le role d’un autre acteur

demonter les messages

stocker les donnees obtenues

construire des messages a partir des donnees obtenues

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 63 / 83

Page 283: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

Manipulations de Z necessaires pour cette attaque :

lire, effacer, stocker tous les messages

Z peut jouer le role d’un autre acteur

demonter les messages

stocker les donnees obtenues

construire des messages a partir des donnees obtenues

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 63 / 83

Page 284: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ S : A,B,NA

1Z . Z (A) ↪→ S : A,Z ,NA

2. S ↪→ A : S , {S ,A,NA,KZ}K−1S

Manipulations de Z necessaires pour cette attaque :

lire, effacer, stocker tous les messages

Z peut jouer le role d’un autre acteur

demonter les messages

stocker les donnees obtenues

construire des messages a partir des donnees obtenues

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 63 / 83

Page 285: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Needham-Schroeder 1978 (Authentification protocol)

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

Protocole prouve correct (preuves manuelles)

Faille trouvee par Lowe en 1995 avec des methodes formelles(model-checking)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 64 / 83

Page 286: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Needham-Schroeder 1978 (Authentification protocol)

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

Protocole prouve correct (preuves manuelles)

Faille trouvee par Lowe en 1995 avec des methodes formelles(model-checking)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 64 / 83

Page 287: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Needham-Schroeder 1978 (Authentification protocol)

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KA

NB attribue a B3. A ↪→ B : {NB}KB

NA attribue a ANA et NB connus de A et B seuls

Protocole prouve correct (preuves manuelles)

Faille trouvee par Lowe en 1995 avec des methodes formelles(model-checking)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 64 / 83

Page 288: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Needham-Schroeder 1978 (Authentification protocol)

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KA

NB attribue a B

3. A ↪→ B : {NB}KB

NA attribue a ANA et NB connus de A et B seuls

Protocole prouve correct (preuves manuelles)

Faille trouvee par Lowe en 1995 avec des methodes formelles(model-checking)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 64 / 83

Page 289: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Needham-Schroeder 1978 (Authentification protocol)

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KB

NA attribue a ANA et NB connus de A et B seuls

Protocole prouve correct (preuves manuelles)

Faille trouvee par Lowe en 1995 avec des methodes formelles(model-checking)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 64 / 83

Page 290: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Needham-Schroeder 1978 (Authentification protocol)

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a A

NA et NB connus de A et B seuls

Protocole prouve correct (preuves manuelles)

Faille trouvee par Lowe en 1995 avec des methodes formelles(model-checking)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 64 / 83

Page 291: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Needham-Schroeder 1978 (Authentification protocol)

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

Protocole prouve correct (preuves manuelles)

Faille trouvee par Lowe en 1995 avec des methodes formelles(model-checking)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 64 / 83

Page 292: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Needham-Schroeder 1978 (Authentification protocol)

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

Protocole prouve correct (preuves manuelles)

Faille trouvee par Lowe en 1995 avec des methodes formelles(model-checking)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 64 / 83

Page 293: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

Needham-Schroeder 1978 (Authentification protocol)

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

Protocole prouve correct (preuves manuelles)

Faille trouvee par Lowe en 1995 avec des methodes formelles(model-checking)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 64 / 83

Page 294: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZZ obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a Z

3. A ↪→ Z : {NB}KZZ obtient NB

3Z . Z (A) ↪→ B : {NB}KBNA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 295: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZ

Z obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a Z

3. A ↪→ Z : {NB}KZZ obtient NB

3Z . Z (A) ↪→ B : {NB}KBNA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 296: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZ

Z obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a Z

3. A ↪→ Z : {NB}KZZ obtient NB

3Z . Z (A) ↪→ B : {NB}KBNA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 297: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZ

Z obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KA

NB attribue a Z3. A ↪→ Z : {NB}KZ

Z obtient NB

3Z . Z (A) ↪→ B : {NB}KBNA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 298: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZ

Z obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KA

NB attribue a Z

3. A ↪→ Z : {NB}KZ

Z obtient NB

3Z . Z (A) ↪→ B : {NB}KBNA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 299: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZ

Z obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KA

NB attribue a Z

3. A ↪→ Z : {NB}KZ

Z obtient NB

3Z . Z (A) ↪→ B : {NB}KB

NA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 300: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZZ obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KA

NB attribue a Z

3. A ↪→ Z : {NB}KZ

Z obtient NB

3Z . Z (A) ↪→ B : {NB}KB

NA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 301: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZZ obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a Z

3. A ↪→ Z : {NB}KZ

Z obtient NB

3Z . Z (A) ↪→ B : {NB}KB

NA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 302: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZZ obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a Z

3. A ↪→ Z : {NB}KZZ obtient NB

3Z . Z (A) ↪→ B : {NB}KB

NA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 303: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZZ obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a Z

3. A ↪→ Z : {NB}KZZ obtient NB

3Z . Z (A) ↪→ B : {NB}KBNA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 304: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a B

3. A ↪→ B : {NB}KBNA attribue a ANA et NB connus de A et B seuls

1. A ↪→ Z : {NA,A}KZZ obtient NA

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KANB attribue a Z

3. A ↪→ Z : {NB}KZZ obtient NB

3Z . Z (A) ↪→ B : {NB}KBNA attribue a A

Invalide secret de (NA,NB) et authentification A↔ Z ↔ B

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 65 / 83

Page 305: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ Z : {NA,A}KZ

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KA

3. A ↪→ Z : {NB}KZ

3Z . Z (A) ↪→ B : {NB}KB

Manipulations de Z necessaires a cette attaque :

lancer des sessions du protocole en parallele

dechiffrer les messages s’il a la cle : K−1Z

chiffrer les messages avec ses cles : KB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 66 / 83

Page 306: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ Z : {NA,A}KZ

1Z . Z (A) ↪→ B : {NA,A}KB

Manipulations de Z necessaires a cette attaque :

lancer des sessions du protocole en parallele

dechiffrer les messages s’il a la cle : K−1Z

chiffrer les messages avec ses cles : KB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 66 / 83

Page 307: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

3. A ↪→ Z : {NB}KZ

3Z . Z (A) ↪→ B : {NB}KB

Manipulations de Z necessaires a cette attaque :

lancer des sessions du protocole en parallele

dechiffrer les messages s’il a la cle : K−1Z

chiffrer les messages avec ses cles : KB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 66 / 83

Page 308: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

3Z . Z (A) ↪→ B : {NB}KB

Manipulations de Z necessaires a cette attaque :

lancer des sessions du protocole en parallele

dechiffrer les messages s’il a la cle : K−1Z

chiffrer les messages avec ses cles : KB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 66 / 83

Page 309: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de faille et capacites de l’intrus

1. A ↪→ Z : {NA,A}KZ

1Z . Z (A) ↪→ B : {NA,A}KB

2. B ↪→ A : {NA,NB}KA

3. A ↪→ Z : {NB}KZ

3Z . Z (A) ↪→ B : {NB}KB

Manipulations de Z necessaires a cette attaque :

lancer des sessions du protocole en parallele

dechiffrer les messages s’il a la cle : K−1Z

chiffrer les messages avec ses cles : KB

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 66 / 83

Page 310: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique : hypotheses (I)

Par defaut nos hypotheses de verification seront :

la cryptographie est sureI impossible de dechiffrer un texte chiffre sans la cleI impossible de deviner une cle ou un nonce

nb d’acteurs honnetes/malhonnetes, non borne

nombre de sessions du protocole, non borne

le protocole peut etre utilise dans des sessions //

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 67 / 83

Page 311: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique : hypotheses (II)

L’intrus a le controle total du reseau

il connait toutes les donnees publiques des agents

il peut disposer des privileges/cles des agents malhonnetes

il peut lire, memoriser, effacer tous les messages

il peut construire et envoyer des messages

il peut composer/decomposer un message

il peut chiffrer/dechiffrer un message s’il a la cle

⇒ Modele de Dolev-Yao : reseau = intrus

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 68 / 83

Page 312: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemples de recherche d’attaques

Soient les 3 protocoles suivants :1. A ↪→ B : {A,NA}KB

1. A ↪→ B : {A,NA}KAB

1. A ↪→ B : {A,NA}K−1A

Sous les hypotheses de verification logique (p67/68)

pour chaque protocole, dites s’il satisfait la propriete ou donnez uneattaque.

NA est secret ?

B peut authentifier NA ?

B peut authentifier A ?

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 69 / 83

Page 313: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de recherche d’attaques (II)

1. A ↪→ S : B, {KAS}KS

2. S ↪→ B : A3. B ↪→ S : A, {KAB}KS

4. S ↪→ A : B, {KAB}KAS

5. A ↪→ B : {m}KAB

(TMN)

A-t-on les proprietes attendues suivantes :

KAS , KAB , m sont secrets ?

S peut authentifier KAS et KAB ?

Donnez les 2 attaques permettant respectivement de :

se faire passer pour B et de reccuperer m

se faire passer pour A et de reccuperer KAB et m

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 70 / 83

Page 314: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de recherche d’attaques (II)

1. A ↪→ S : B, {KAS}KS

2. S ↪→ B : A3. B ↪→ S : A, {KAB}KS

4. S ↪→ A : B, {KAB}KAS

5. A ↪→ B : {m}KAB

(TMN)

A-t-on les proprietes attendues suivantes :

KAS , KAB , m sont secrets ?

S peut authentifier KAS et KAB ?

Donnez les 2 attaques permettant respectivement de :

se faire passer pour B et de reccuperer m

se faire passer pour A et de reccuperer KAB et m

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 70 / 83

Page 315: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de recherche d’attaques (II)

1. A ↪→ S : B, {KAS}KS

2. S ↪→ B : A3. B ↪→ S : A, {KAB}KS

4. S ↪→ A : B, {KAB}KAS

5. A ↪→ B : {m}KAB

(TMN)

A-t-on les proprietes attendues suivantes :

KAS , KAB , m sont secrets ?

S peut authentifier KAS et KAB ?

Donnez les 2 attaques permettant respectivement de :

se faire passer pour B et de reccuperer m

se faire passer pour A et de reccuperer KAB et m

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 70 / 83

Page 316: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Exemple de recherche d’attaques (III)

1. A ↪→ B : {NA}KAB

2. B ↪→ A : {NB}KAB

3. A ↪→ B : {NA,NB}KAB

4. B ↪→ A : {NB ,NA}KAB

Les nonces NA et NB sont secrets ?

A peut authentifier NB ?

B peut authentifier NA ?

A peut authentifier B ?

B peut authentifier A ?

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 71 / 83

Page 317: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrus

I les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 318: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrus

I les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 319: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrusI les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 320: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrusI les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 321: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrusI les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 322: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrusI les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` M

I ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 323: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrusI les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 324: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrusI les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 325: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrusI les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 326: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

I = connaissance initiale de l’intrusI les identites de tous les acteursI toutes les cles publiquesI des cles privees corrompues

Manipulations de l’intrusExecution du protocole

= deductions sur I

Manipulations de l’intrus

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 72 / 83

Page 327: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

Execution du protocole = regles supplementaires

Exemple :

1. A ↪→ B : gNA

2. B ↪→ A : gNB

3. A ↪→ B : {s}K ou K = (gNB )NA

1.I ` a I ` g

I ` gNa

2.I ` b I ` X

I ` gNb

3.I ` a I ` Y

I ` {s}Y Na

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 73 / 83

Page 328: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

Execution du protocole = regles supplementaires

Exemple :

1. A ↪→ B : gNA

2. B ↪→ A : gNB

3. A ↪→ B : {s}K ou K = (gNB )NA

1.I ` a I ` g

I ` gNa

2.I ` b I ` X

I ` gNb

3.I ` a I ` Y

I ` {s}Y Na

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 73 / 83

Page 329: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

Execution du protocole = regles supplementaires

Exemple :

1. A ↪→ B : gNA

2. B ↪→ A : gNB

3. A ↪→ B : {s}K ou K = (gNB )NA

1.I ` a I ` g

I ` gNa

2.I ` b I ` X

I ` gNb

3.I ` a I ` Y

I ` {s}Y Na

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 73 / 83

Page 330: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

Execution du protocole = regles supplementaires

Exemple :

1. A ↪→ B : gNA

2. B ↪→ A : gNB

3. A ↪→ B : {s}K ou K = (gNB )NA

1.I ` a I ` g

I ` gNa2.

I ` b I ` X

I ` gNb

3.I ` a I ` Y

I ` {s}Y Na

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 73 / 83

Page 331: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

Execution du protocole = regles supplementaires

Exemple :

1. A ↪→ B : gNA

2. B ↪→ A : gNB

3. A ↪→ B : {s}K ou K = (gNB )NA

1.I ` a I ` g

I ` gNa2.

I ` b I ` X

I ` gNb3.

I ` a I ` Y

I ` {s}Y Na

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 73 / 83

Page 332: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

1.I ` a I ` g

I ` gNa2.

I ` b I ` X

I ` gNb3.

I ` a I ` Y

I ` {s}Y Na

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

a, b, g ` a a, b, g ` g

a, b, g ` {s}gNa a, b, g ` g

a, b, g ` {{s}gNa}g

Abrege en a, b, g `2 {{s}gNa}g

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 74 / 83

Page 333: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

1.I ` a I ` g

I ` gNa2.

I ` b I ` X

I ` gNb3.

I ` a I ` Y

I ` {s}Y Na

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

a, b, g ` a a, b, g ` g

a, b, g ` {s}gNa a, b, g ` g

a, b, g ` {{s}gNa}g

Abrege en a, b, g `2 {{s}gNa}g

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 74 / 83

Page 334: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

1.I ` a I ` g

I ` gNa2.

I ` b I ` X

I ` gNb3.

I ` a I ` Y

I ` {s}Y Na

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

a, b, g ` a a, b, g ` g

a, b, g ` {s}gNa a, b, g ` g

a, b, g ` {{s}gNa}g

Abrege en a, b, g `2 {{s}gNa}g

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 74 / 83

Page 335: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

1.I ` a I ` g

I ` gNa2.

I ` b I ` X

I ` gNb3.

I ` a I ` Y

I ` {s}Y Na

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

a, b, g ` a a, b, g ` g

a, b, g ` {s}gNa a, b, g ` g

a, b, g ` {{s}gNa}g

Abrege en a, b, g `2 {{s}gNa}g

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 74 / 83

Page 336: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

1.I ` a I ` g

I ` gNa2.

I ` b I ` X

I ` gNb3.

I ` a I ` Y

I ` {s}Y Na

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

a, b, g ` a a, b, g ` g

a, b, g ` {s}gNa a, b, g ` g

a, b, g ` {{s}gNa}g

Abrege en a, b, g `2 {{s}gNa}g

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 74 / 83

Page 337: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

1.I ` a I ` g

I ` gNa2.

I ` b I ` X

I ` gNb3.

I ` a I ` Y

I ` {s}Y Na

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

a, b, g ` a a, b, g ` g

a, b, g ` {s}gNa a, b, g ` g

a, b, g ` {{s}gNa}g

Abrege en a, b, g `2 {{s}gNa}g

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 74 / 83

Page 338: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Formalisation logique de Dolev-Yao

1.I ` a I ` g

I ` gNa2.

I ` b I ` X

I ` gNb3.

I ` a I ` Y

I ` {s}Y Na

I ,M ` MI ` {M}K I ` K−1

I ` M

I ` M I ` K

I ` {M}K

I ` X ,Y

I ` X

I ` X ,Y

I ` Y

I ` X I ` Y

I ` X ,Y

a, b, g ` a a, b, g ` g

a, b, g ` {s}gNa a, b, g ` g

a, b, g ` {{s}gNa}g

Abrege en a, b, g `2 {{s}gNa}gT. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 74 / 83

Page 339: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Preuve que s est secret = ∀n : I 6`n s

Verification complexe : 3 dimensions non bornees

I Nombre d’agents executant le protocole en //

I Nombre de sessions pour chaque agent

I Deductions et constructions de l’intrus sur sa connaissance

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 75 / 83

Page 340: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Preuve que s est secret = ∀n : I 6`n s

Verification complexe : 3 dimensions non bornees

I Nombre d’agents executant le protocole en //

I Nombre de sessions pour chaque agent

I Deductions et constructions de l’intrus sur sa connaissance

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 75 / 83

Page 341: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Preuve que s est secret = ∀n : I 6`n s

Verification complexe : 3 dimensions non bornees

I Nombre d’agents executant le protocole en //

I Nombre de sessions pour chaque agent

I Deductions et constructions de l’intrus sur sa connaissance

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 75 / 83

Page 342: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Preuve que s est secret = ∀n : I 6`n s

Verification complexe : 3 dimensions non bornees

I Nombre d’agents executant le protocole en //

I Nombre de sessions pour chaque agent

I Deductions et constructions de l’intrus sur sa connaissance

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 75 / 83

Page 343: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Preuve que s est secret = ∀n : I 6`n s

Verification complexe : 3 dimensions non bornees

I Nombre d’agents executant le protocole en //

I Nombre de sessions pour chaque agent

I Deductions et constructions de l’intrus sur sa connaissance

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 75 / 83

Page 344: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Trois grandes categories de travaux et d’outils :

I Verification finie automatique (model-checking)

Pour nb d’agents fixe et k fixe : ∀n ≤ k : I 6`n s

Detection d’attaques : ∃k : I `k s

I Verification semi-automatique (preuve assistee)

Par induction sur nb d’agents et n : ∀n : I 6`n s

I Verification automatique par approximation

I ] ⊇ I et `] ⊇` telles que ∀n : I ] 6`]n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 76 / 83

Page 345: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Trois grandes categories de travaux et d’outils :

I Verification finie automatique (model-checking)

Pour nb d’agents fixe et k fixe : ∀n ≤ k : I 6`n s

Detection d’attaques : ∃k : I `k s

I Verification semi-automatique (preuve assistee)

Par induction sur nb d’agents et n : ∀n : I 6`n s

I Verification automatique par approximation

I ] ⊇ I et `] ⊇` telles que ∀n : I ] 6`]n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 76 / 83

Page 346: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Trois grandes categories de travaux et d’outils :

I Verification finie automatique (model-checking)

Pour nb d’agents fixe et k fixe : ∀n ≤ k : I 6`n s

Detection d’attaques : ∃k : I `k s

I Verification semi-automatique (preuve assistee)

Par induction sur nb d’agents et n : ∀n : I 6`n s

I Verification automatique par approximation

I ] ⊇ I et `] ⊇` telles que ∀n : I ] 6`]n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 76 / 83

Page 347: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Trois grandes categories de travaux et d’outils :

I Verification finie automatique (model-checking)

Pour nb d’agents fixe et k fixe : ∀n ≤ k : I 6`n s

Detection d’attaques : ∃k : I `k s

I Verification semi-automatique (preuve assistee)

Par induction sur nb d’agents et n : ∀n : I 6`n s

I Verification automatique par approximation

I ] ⊇ I et `] ⊇` telles que ∀n : I ] 6`]n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 76 / 83

Page 348: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification logique sur Dolev-Yao

Trois grandes categories de travaux et d’outils :

I Verification finie automatique (model-checking)

Pour nb d’agents fixe et k fixe : ∀n ≤ k : I 6`n s

Detection d’attaques : ∃k : I `k s

I Verification semi-automatique (preuve assistee)

Par induction sur nb d’agents et n : ∀n : I 6`n s

I Verification automatique par approximation

I ] ⊇ I et `] ⊇` telles que ∀n : I ] 6`]n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 76 / 83

Page 349: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification par approximation

Idee= construire le langage des termes deductibles =Store

M,K ` M M,K ` K

M,K ` {M}K M,K ` K

M,K ` {{M}K}K

Store = {M,K , {M}K , {{M}K}K , . . .} = {T | ∀n : I `n T}

Construction automate approximation A t.q. L(A) ⊇Store

Secret de s ≡ s 6∈ L(A) ⇒ s 6∈ Store ⇒ ∀n : I 6`n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 77 / 83

Page 350: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification par approximation

Idee= construire le langage des termes deductibles =Store

M,K ` M M,K ` K

M,K ` {M}K M,K ` K

M,K ` {{M}K}K

Store = {M,K , {M}K , {{M}K}K , . . .} = {T | ∀n : I `n T}

Construction automate approximation A t.q. L(A) ⊇Store

Secret de s ≡ s 6∈ L(A) ⇒ s 6∈ Store ⇒ ∀n : I 6`n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 77 / 83

Page 351: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification par approximation

Idee= construire le langage des termes deductibles =Store

M,K ` M M,K ` K

M,K ` {M}K M,K ` K

M,K ` {{M}K}K

Store = {M,K , {M}K , {{M}K}K , . . .} = {T | ∀n : I `n T}

Construction automate approximation A t.q. L(A) ⊇Store

Secret de s ≡ s 6∈ L(A) ⇒ s 6∈ Store ⇒ ∀n : I 6`n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 77 / 83

Page 352: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification par approximation

Idee= construire le langage des termes deductibles =Store

M,K ` M M,K ` K

M,K ` {M}K M,K ` K

M,K ` {{M}K}K

Store = {M,K , {M}K , {{M}K}K , . . .} = {T | ∀n : I `n T}

Construction automate approximation A

t.q. L(A) ⊇Store

Secret de s ≡ s 6∈ L(A) ⇒ s 6∈ Store ⇒ ∀n : I 6`n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 77 / 83

Page 353: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification par approximation

Idee= construire le langage des termes deductibles =Store

M,K ` M M,K ` K

M,K ` {M}K M,K ` K

M,K ` {{M}K}K

Store = {M,K , {M}K , {{M}K}K , . . .} = {T | ∀n : I `n T}

Construction automate approximation A t.q. L(A) ⊇Store

Secret de s ≡ s 6∈ L(A) ⇒ s 6∈ Store ⇒ ∀n : I 6`n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 77 / 83

Page 354: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification par approximation

Idee= construire le langage des termes deductibles =Store

M,K ` M M,K ` K

M,K ` {M}K M,K ` K

M,K ` {{M}K}K

Store = {M,K , {M}K , {{M}K}K , . . .} = {T | ∀n : I `n T}

Construction automate approximation A t.q. L(A) ⊇Store

Secret de s ≡ s 6∈ L(A)

⇒ s 6∈ Store ⇒ ∀n : I 6`n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 77 / 83

Page 355: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification par approximation

Idee= construire le langage des termes deductibles =Store

M,K ` M M,K ` K

M,K ` {M}K M,K ` K

M,K ` {{M}K}K

Store = {M,K , {M}K , {{M}K}K , . . .} = {T | ∀n : I `n T}

Construction automate approximation A t.q. L(A) ⊇Store

Secret de s ≡ s 6∈ L(A) ⇒ s 6∈ Store

⇒ ∀n : I 6`n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 77 / 83

Page 356: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification par approximation

Idee= construire le langage des termes deductibles =Store

M,K ` M M,K ` K

M,K ` {M}K M,K ` K

M,K ` {{M}K}K

Store = {M,K , {M}K , {{M}K}K , . . .} = {T | ∀n : I `n T}

Construction automate approximation A t.q. L(A) ⊇Store

Secret de s ≡ s 6∈ L(A) ⇒ s 6∈ Store ⇒ ∀n : I 6`n s

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 77 / 83

Page 357: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Langages de specification de protocolesFormats proches des notations standards

Casper [Lowe]

Capsl [Mitchell]

Eva, etc. [Jacquemard, Le Metayer]

Casper Capsl Eva

0. ->A: B

1. A->B: {na, A}{PK(B)}

2. B->A: {na, nb}{PK(A)}

3. A->B: {nb}{PK(B)}

A->B: {A,Na}pk(B);

B->A: {Na,Nb}pk(A);

A->B: {Nb}pk(B);

1. A->B: {Na, A}KPb

2. B->A: {Na, Nb}KPa

3. A->B: {Nb}KPb

Secret(A, na, [B])

Secret(B, nb, [A])

Agreement(A,B,[na,nb])

Agreement(B,A,[na,nb])

SECRET Na;

SECRET Nb;

PRECEDES A: B | Na;

PRECEDES B: A | Nb;

Claim

Agreement(A,B,Na,Na)

Agreement(A,B,Nb,Nb)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 78 / 83

Page 358: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Les langages de specification de protocolesFormats inspires des langages de processus

ProVerif [Blanchet]

Prouve [Kremer, Laknech, Treinen]

AVISPA (HLPSL) [Armando, et col.]

Alice Bobrole alice (A,B: agent, ...)

local State: nat, Na,Nb: text

init State:= 0

transition

0. State=0 /\ RCV(start) =|>

State’:= 2 /\ Na’ := new()

/\ SND({Na’.A}_Kb)

/\ secret(Na’,na,{A,B})

2. State=2 /\ RCV({Na.Nb’}_Ka) =|>

State’:= 4 /\ SND({Nb’}_Kb)

end role

role bob(A, B: agent, ...)

local State : nat, Na,Nb: text

init State:= 1

transition

1. State= 1 /\ RCV({Na’.A}_Kb) =|>

State’:= 3 /\ Nb’ := new()

/\ SND({Na’.Nb’}_Ka)

/\ secret(Nb’,nb,{A,B})

3. State= 3 /\ RCV({Nb’}_Kb) =|>

State’:= 5 /\

end role

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 79 / 83

Page 359: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

AVISPA+SPAN

Model-checkers Approximation Simulation

Rechercheinteractived’attaque

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 80 / 83

Page 360: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Demo AVISPA+SPAN

Specification et verification des protocoles1. B ↪→ A : {B,Secret}K−1

B

1. B ↪→ A : {B,Secret}KA

1. A ↪→ B : {A,NA}KB

2. B ↪→ A : {A,B,NA}KA

1. B ↪→ A : {B,Secret}KAB

Diffie-Hellman

A vous : http://www.irisa.fr/celtique/genet/span

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 81 / 83

Page 361: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Conclusion

L’utilisation de la cryptographie et des protocoles cryptographiques segeneralise dans notre societe

La cryptographie est relativement solide meme si les garanties qu’elleoffre sont generalement empiriques

Les protocoles cryptographiques sont sujets a des failles logiquesredoutables

La verification formelle des protocoles cryptographiques est en pleinessor depuis 15 ans (depuis la faille trouvee par G. Lowe)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 82 / 83

Page 362: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Conclusion

L’utilisation de la cryptographie et des protocoles cryptographiques segeneralise dans notre societe

La cryptographie est relativement solide meme si les garanties qu’elleoffre sont generalement empiriques

Les protocoles cryptographiques sont sujets a des failles logiquesredoutables

La verification formelle des protocoles cryptographiques est en pleinessor depuis 15 ans (depuis la faille trouvee par G. Lowe)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 82 / 83

Page 363: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Conclusion

L’utilisation de la cryptographie et des protocoles cryptographiques segeneralise dans notre societe

La cryptographie est relativement solide meme si les garanties qu’elleoffre sont generalement empiriques

Les protocoles cryptographiques sont sujets a des failles logiquesredoutables

La verification formelle des protocoles cryptographiques est en pleinessor depuis 15 ans (depuis la faille trouvee par G. Lowe)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 82 / 83

Page 364: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Conclusion

L’utilisation de la cryptographie et des protocoles cryptographiques segeneralise dans notre societe

La cryptographie est relativement solide meme si les garanties qu’elleoffre sont generalement empiriques

Les protocoles cryptographiques sont sujets a des failles logiquesredoutables

La verification formelle des protocoles cryptographiques est en pleinessor depuis 15 ans (depuis la faille trouvee par G. Lowe)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 82 / 83

Page 365: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Conclusion

L’utilisation de la cryptographie et des protocoles cryptographiques segeneralise dans notre societe

La cryptographie est relativement solide meme si les garanties qu’elleoffre sont generalement empiriques

Les protocoles cryptographiques sont sujets a des failles logiquesredoutables

La verification formelle des protocoles cryptographiques est en pleinessor depuis 15 ans (depuis la faille trouvee par G. Lowe)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 82 / 83

Page 366: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verification

I Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classesI Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 367: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verification

I Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classesI Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 368: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verification

I Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classesI Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 369: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verificationI Enumeration pour des cas d’etudes finis

I Procedures de decision pour des sous-classesI Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 370: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verificationI Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classes

I Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 371: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verificationI Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classesI Interpretation abstraite et approximation

I Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 372: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verificationI Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classesI Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 373: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verificationI Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classesI Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :

I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 374: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verificationI Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classesI Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiques

I Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 375: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verificationI Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classesI Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocoles

I Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83

Page 376: Introduction aux protocoles cryptographiques - …people.irisa.fr/Thomas.Genet/Crypt/cours.pdf · Plan Bibliographie Partie I : protocoles crypto, m ecanismes et propri et es I Trois

Verification des protocoles crypto

Actuellement

Nombreux modeles (Processus, Reecriture, Clauses,...)

Nombreuses techniques de verificationI Enumeration pour des cas d’etudes finisI Procedures de decision pour des sous-classesI Interpretation abstraite et approximationI Demonstration assistee

Perspectives

Obstacles a depasser pour des protocoles industriels :I Preuve de proprietes exotiquesI Verification efficace : combinaison de protocolesI Affaiblissement de Dolev-Yao (Crypto bas-cout)

T. Genet (ISTIC/IRISA) Introduction aux protocoles cryptographiques 83 / 83