14eme rencontre professeurs et enseignants-chercheurs ......véri cation des protocoles : Æ donner...

47

Upload: others

Post on 07-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

14eme Rencontre Professeurs et

Enseignants-Chercheurs

Véri�cation de protocoles

cryptographiques

Denis Lugiez

Laboratoire d'Informatique Fondamentale

Page 2: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 3: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 4: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Protocole cryptographique

programme qui permet d'établir une interaction entre des

participants dans un environnement non sûr en

garantissant certaines propriétés.

á E-commerce (paiement, enchères, non-répudiation,. . . )

á E-administration (impots, dossier médical, vote

électronique,. . . )

á Réseaux de machines mobiles distantes (portables,

téléphones,. . . )

Utilisation de la cryptographie (AES, RSA,..) pour chi�rer

les données sensibles et assurer les propriétés voulues.

Page 5: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

La question

A quoi bon un co�re-fort indestructible

si la combinaison est récupérable sans e�ort...

Page 6: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

La question

E-voting :

L'autorité attribue à chaque votant une clé publique Kpub

pour chi�rer son vote (publication à la mairie). Seule

l'autorité possède K−1pub et peut déchi�rer un message chi�ré

avec Kpub.

á Vote entre Hollande et Sarkozy : chi�rer le nom du

candidat avec la clef publique et l'envoyer à l'autorité

qui est la seule à pouvoir déchi�rer.

á Propriété requise : con�dentialité du vote.

á Faille logique : on peut intercepter mon vote et trouver

mon choix sans connaitre K−1pub !

Page 7: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

L'attaque repose sur une faille logique du protocole.

Véri�cation des protocoles :

á donner un modèle formel permettant de trouver les

failles en applicant un algorithme de véri�cation.

á ne véri�e pas l'implémentation du protocole (i.e. le

programme C qui tourne e�ectivement).

á autre approche : modèle computationel. Analyse plus

proche de la théorie de l'information mais relation

forte avec le modèle formel.

Page 8: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Modéliser les protocoles

Modéliser l'attaquant

Modéliser les propriétés

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 9: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Modéliser les protocoles

Modéliser l'attaquant

Modéliser les propriétés

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 10: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Protocole d'authenti�cation

(Needham-Schroeder)

A → B :< A, {NA}KB>

B → A :< B, {< NA,NB >}KA>

A → B :< A, {NB}KB>

Deux rôles A(lice), et B(ob).

Page 11: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Protocole d'authenti�cation

(Needham-Schroeder)

A → B :< A, {NA}KB>

B → A :< B, {< NA,NB >}KA>

A → B :< A, {NB}KB>

Keys : clefs de chi�rement KA,KB publiques (pour NS) ou

privées.

Nonce : nombres aléatoires générés à chaque session NA,NB.

Messages : expressions construites avec constantes, paire

< _,_ >, encryption {_}_, hashing, etc.

Page 12: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Protocole d'authenti�cation

(Needham-Schroeder)

A → B :< A, {NA}KB>

B → A :< B, {< NA,NB >}KA>

A → B :< A, {NB}KB>

Sessions : les agents (participants a, b, . . .) jouent les rôles

du protocole. Possibilité de sessions en parallèle et un agent

peut jouer le rôle A dans une session, le rôle B dans une

autre,. . .

Page 13: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Protocole d'authenti�cation

(Needham-Schroeder)

A → B :< A, {NA}KB>

B → A :< B, {< NA,NB >}KA>

A → B :< A, {NB}KB>

Propriété : le protocole assure que A sait qu'il parle à B (et

réciproquement).

Page 14: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Principe de l'analyse de sécurité :

á Le protocole est connu.

á La cryptographie est supposé parfaite (nécessité de

connaitre les clés secrètes pour décrypter).

á Tout message émis peut être intercepté.

á Nombre de sessions en parallèle : nombre �ni donné

(usuellement 3-4) ou non borné.

Page 15: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Modéliser les protocoles

Modéliser l'attaquant

Modéliser les propriétés

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 16: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

L'attaquant (Intrus)

á Attaquant passif.

Il ne peut interagir avec le protocole et peut juste

intercepter et analyse les messages qui ont circulé.

á Attaquant actif.

Il contrôle le réseau : peut intercepter, détruire,

falsi�er les messages, être un agent du protocole

(participant malhonnête).

Page 17: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Modéliser les protocoles

Modéliser l'attaquant

Modéliser les propriétés

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 18: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Les Propriétés

á Secrecy : l'intrus arrive à connaitre certaines données.

Exemple : protocole d'échange d'une clé symmétrique

entre deux participants : Le secret est la clé

symmétrique.

Page 19: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Les Propriétés

á Secrecy : l'intrus arrive à connaitre certaines données.

Exemple : protocole d'échange d'une clé symmétrique

entre deux participants : Le secret est la clé

symmétrique.

á Authenti�cation : prouver son identité.

nécéssaire pour paiement electronique !

Réduit à du secret.

Page 20: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Les Propriétés

á Secrecy : l'intrus arrive à connaitre certaines données.

Exemple : protocole d'échange d'une clé symmétrique

entre deux participants : Le secret est la clé

symmétrique.

á Authenti�cation : prouver son identité.

nécéssaire pour paiement electronique !

Réduit à du secret.

á Anonymity :

ne pas retrouver l'identité de l'envoyeur.

Page 21: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Les Propriétés

á Secrecy : l'intrus arrive à connaitre certaines données.

Exemple : protocole d'échange d'une clé symmétrique

entre deux participants : Le secret est la clé

symmétrique.

á Authenti�cation : prouver son identité.

nécéssaire pour paiement electronique !

Réduit à du secret.

á Anonymity :

ne pas retrouver l'identité de l'envoyeur.

á Non-repudiation :

impossibilité de contester son accord (signature de

contrat).

Page 22: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 23: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Needham-Schroder n'est pas sûr

Principe de l'attaque : man in the middle

á 3 principaux a, b honnêtes, c malhonnête,

á 2 sessions en parallèle

L'attaquant utilise un participant honnête pour décrypter

ce qu'il ne peut lire.

Page 24: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

a → c :< a, {Na}Kc>

1ere règle, session 1, a joue A, c joue B

c(a) → b :< a, {Na}Kb>

1ere règle, session 2, c joue as a pour b

b → c :< b, {< Na,Nb >}Ka>

2eme règle, session 2, b reponds c

c → a :< c, {< Na,Nb >}Ka>

2eme règle, session 2, c joue B, a joue A

a → c :< a, {Nb}Kc>

3eme règle, session 1, a joue A, c joue B

c(a) → b :< a, {Nb}Kb>

3eme règle, session 2, c joue a pour b

b pense parler à a.

Page 25: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Une correction possible :

A → B : {< A,NA >}KB

B → A : {< B, < NA,NB >>}KA

A → B : {< A,NB >}KB

Le cryptage de l'identité empêche c de se faire passer pour

a.

Page 26: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 27: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Les règles de déduction de Dolev-Yao

Système (DY) :

Construction :

x y

< x, y >

x y

{x}yDecomposition :

< x, y >

y

< x, y >

x

{x}y y

x

Modélisent le pouvoir de déduction de l'Intrus.

T ` s avec T = {t1, . . . , tn} si s peut être déduit par

utilisation répétée des règles de déduction.

Preuve de T ` s : suite d'application des règles teminant

avec s.

Page 28: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Exemple

Hypothèses {NA}KB,KA,KB,NB

{NA}KBKB

NA NB

< NA,NB > KA

{< NA,NB >}KA

Page 29: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Theorem

Les règles de déduction (DY)sont locales.

Local=si T ` s alors il existe une preuve Pi n'utilisant quedes sous-termes de T ∪ {s}.

Conséquence : existence d'un algorithme polynomial pour

savoir si T ` s.

Page 30: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Preuve de la localité

Récurrence sur la longueur de la preuve Π.

Cas 1 : la dernière règle est une construction.

Π1

u

Π2

v

< u, v >

Par hypothèse de récurrence la propriété est vraie pourΠ1

u

etΠ1

v, donc est vraie pour la preuve totale (s =< u, v >).

idem pour cryptage.

Page 31: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Preuve de la localité

Cas 2 : la dernière règle est une décomposition.

Π1

{u}v

Π2

v

u

La dernière règle de Π1 ne peut être une construction

(sinon Π non minimale).

Π1

{u}vde la forme

Π ′1

< x, {u}v >

{u}v

Par hypothèse de récurrence

elle ne contient que des sous termes de T ∪ {{u}v}, donc

< x, {u}v > sous-terme de T.

Page 32: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 33: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Theorem

L'existence d'une attaque par un attaquant passif pour un

nombre �ni de sessions est décidable en temps polynomial.

Conséquence directe de la localité du système (DY).

Page 34: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 35: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

La sécurité du protocole est décidable pour un nombre �ni

de sessions : un algorithme NP-complet pour trouver une

attaque existe.

á Beaucoup plus di�cile !

á Utilise la localité.

á Résolution de systèmes de contraintes sur des termes

(expression avec les opérateurs, clés, variables).

Page 36: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Réécriture de Needham-Schroeder :

A 0 → {NA}KBB {y}KB

→ {< y,NB >}KA

{< NA, x >}KA→ {x}KB

{NB}KB→ 0

á Choisir un nombre de sessions

á Choisir un entrelacement des actions de chaque sessions

á Exécution u0 → v0, u1 → v1, . . . , un → vn

á Connaissance de l'intrus :

ä Initiale : t0, . . . , tpä S'acroit de vi à chaque exécution ui → vi.

Page 37: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Système de contraintes associé à une exécution

(S) t0, . . . , tp |= u0v0, t0, . . . , tp |= u0. . .

vi−1 . . . , v0, t0, . . . , tp |= uivi, vi−1 . . . , v0, t0, . . . , tp |= ui. . .

vn, . . . , v0, t0, . . . , tp |= s(secret a trouver)

σ solution de (S) ssi c'est une a�ectation des variables de

(S) telle que σ(vi, . . . , v0, t0, . . . , tp) ` σ(ui), i = 0, . . . , n.

(` déduction dans le système de DY)

Page 38: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Exemple : véri�er que le système de contraintes associé à

une exécution normale de NS a une solution :

0 |= 0

{NA}KB, 0 |= {y}KB

{< y,NB >}KA, {NA}KB

, 0 |= {< NA, x >}KA

{x}KB, {< y,NB >}KA

, {NA}KB, 0 |= {NB}KB

0, {x}KB, {< y,NB >}KA

, {NA}KB, 0 |= pas de secret

Solution ?

Page 39: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Exemple : véri�er que le système de contraintes associé à

une exécution normale de NS a une solution :

0 |= 0

{NA}KB, 0 |= {y}KB

{< y,NB >}KA, {NA}KB

, 0 |= {< NA, x >}KA

{x}KB, {< y,NB >}KA

, {NA}KB, 0 |= {NB}KB

0, {x}KB, {< y,NB >}KA

, {NA}KB, 0 |= pas de secret

Solution ? y = NA, x = NB

Page 40: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Exemple : véri�er que le système de contraintes associé à

une exécution normale de NS a une solution :

0 ` 0

{NA}KB, 0 ` {NA}KB

{< NA,NB >}KA, {NA}KB

, 0 ` {< NA,NB >}KA

{NB}KB, {< NA,NB >}KA

, {NA}KB, 0 ` {NB}KB

0, {NB}KB, {< NA,NB >}KA

, {NA}KB, 0 ` pas de secret

Page 41: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Forme réduite d'un système de contrainte : que des

variables à droite de |=.

Theorem

Une forme réduite a une solution.

Theorem

Il existe un ensemble de règles de transformation qui

transforme tout système en un système équivalent qui est

soit ⊥ (pas de solutions), soit un système en forme réduite.

(penser à la mise en forme triangulaire d'un système

d'équations linéaires)

Page 42: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Et donc :

Theorem (Rusinowitch-Turuani)

Le problème de la sécurité des protocoles pour un nombre

�ni de sessions est Co-NP i.e. trouver une attaque est un

problème NP (et même NP complet).

Page 43: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Introduction

Modélisation

Une attaque sur Needham-Schroder

Localité du modèle Dolev-Yao

Cas de l'Attaquant passif

Cas de l'Attaquant actif

Généralisations

Page 44: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Nombre de sessions indéterminé : le problème est

indécidable (il ne peut pas exister d'algorithme pour le

résoudre).

Prise en compte de propriétés algébriques

á ou exclusif ⊕ : associatif-commutatif, x⊕ x = 0,

á Homomorphisme h(< x, y >) =< h(x), h(y) >,

á . . .

Approche similaire : montrer la localité, puis dé�nir un

algorithme de résolution de contraintes.

Page 45: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Un site de recensement de protocoles et d'attaques :

www.lsv.ens-cachan.fr/spore

Présentation inspirée de celle d'Hubert Comon, LSV,

ENS-Cachan, (Cimpa school, Feb 2005)

Page 46: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Félicitations pour avoir tenu jusqu'ici ! ! !

Page 47: 14eme Rencontre Professeurs et Enseignants-Chercheurs ......Véri cation des protocoles : Æ donner un modèle formel permettant de trouver les failles en applicant un algorithme de

Félicitations pour avoir tenu jusqu'ici ! ! !

Questions ?