TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque...

63
TIW4 : SÉCURITÉ DES SYSTÈMES DINFORMATION I NTRODUCTION À L AUTHENTIFICATION [email protected] http://liris.cnrs.fr/~rthion/dokuwiki/enseignement:tiw4 Master « Technologies de l’Information » Romuald THION M2TI-TIW4 : chiffre – auth 1

Transcript of TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque...

Page 1: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

TIW4 : SÉCURITÉ DES SYSTÈMES D’INFORMATIONINTRODUCTION À L’AUTHENTIFICATION

[email protected]

http://liris.cnrs.fr/~rthion/dokuwiki/enseignement:tiw4

Master « Technologies de l’Information »

Romuald THION M2TI-TIW4 : chiffre – auth 1

Page 2: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 2

Page 3: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications

Authentification

DéfinitionL’authentification désigne le processus visant à vérifier qu’un entité(personne, service, machine) est bien légitime pour accéder ausystème.

Différences entreIdentification dire qui je suis (e.g., login)Authentification vérifier/prouver qui je suis (e.g., password)Autorisation vérifier si j’ai le droit

Romuald THION M2TI-TIW4 : chiffre – auth 3

Page 4: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications

Authentification

Les facteurs de validationce que je sais (knowledge factors) : PIN, mot de pass,passphrase, question de sécuritéce que je possède (ownership factors) : carrte, clef usb,téléphone, jeton (logiciel), donglece que je suis (inherence factors) : empreintes digitales, rétine,voix, visage, ADN. On peut classer en morphologique,comportementale ou biologique.

Romuald THION M2TI-TIW4 : chiffre – auth 4

Page 5: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications

Exemple d’authentification

Un protocole d’authentificationExemple sur un site de poker en ligne

1 enregistrement des données personnelles et choix login/pass2 vérification de l’email3 envoi RIB et carte d’identité par courrier sous 30j4 réception d’un code d’activation par courrier5 saisie du code

Romuald THION M2TI-TIW4 : chiffre – auth 5

Page 6: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 6

Page 7: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Passwords

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 7

Page 8: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Passwords

Authentification par mot de passe

Crédits LAURADOUX C.

Romuald THION M2TI-TIW4 : chiffre – auth 8

Page 9: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Passwords

Authentification par mot de passe

Un protocole très simple1 A→ B : A, pw

2 B → A : 1 si 〈A, h(pw)〉 ∈ passwordtable

La table des mots de passe passwordtable

Le vérificateur stocke les paires 〈Ai, h(pwi)〉

maintainer:OYnL8rCBbf7rcedgar:C8Z6wDFKm5bV6patrick:58kk0mpCjpL9oedwin:.8cBf8RFZqfvIfrank:gvEFH2KSvYZS2jaap:NMS4yrkEfQz9cberend:2TtNSIebcgp0Q

Romuald THION M2TI-TIW4 : chiffre – auth 9

Page 10: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 10

Page 11: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

Attaque des mots de passe

Principe

on connaît h le hashé et l’algorithme a hash

on tâche de trouver pw tel que h = hash(pw)

a. Rappel : principe de Kerckhoff

Typologie de l’attaqueonline : on peut limiter le nombre, mettre un captcha, banniroffline : il faut que l’attaque la plus difficile (longue) possible

Comment parcourir intelligemment l’espace des mots de passe?Est-ce rentable de pré-calculer les hashés?

Romuald THION M2TI-TIW4 : chiffre – auth 11

Page 12: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

Attaque des mots de passe

Principe

on connaît h le hashé et l’algorithme a hash

on tâche de trouver pw tel que h = hash(pw)

a. Rappel : principe de Kerckhoff

Typologie de l’attaqueonline : on peut limiter le nombre, mettre un captcha, banniroffline : il faut que l’attaque la plus difficile (longue) possible

Comment parcourir intelligemment l’espace des mots de passe?Est-ce rentable de pré-calculer les hashés?

Romuald THION M2TI-TIW4 : chiffre – auth 11

Page 13: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

Attaque des mots de passe

Méthodes de choix des mots à essayerforce brutedictionnaires (langue naturelle, jargon, ad hoc)heuristique (choix de mots probables vis-à-vis de règles)stockage de hashés pré-calculésstockage d’une partie des hashés pré-calculés (rainbow tables)

Quels sont les avantages et inconvénients de ces méthodes?

Outils : www.openwall.com/john et hashcat.netheuristiques : /etc/john/john.confgrand nombre de hash supportés

Romuald THION M2TI-TIW4 : chiffre – auth 12

Page 14: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

Authentification par mot de passe

Comment rendre plus difficile l’attaque offline?

Définition du selLe sel est une données aléatoire non confidentielle ajoutée au mot depasse.

La table des mots de passe salés

Le vérificateur stocke les paires 〈Ai, si, h(pwi, si)〉

maintainer:ef$OYnL8rCBbf7rcedgar:01$C8Z6wDFKm5bV6patrick:45$58kk0mpCjpL9oedwin:a5$.8cBf8RFZqfvI...

Romuald THION M2TI-TIW4 : chiffre – auth 13

Page 15: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

Authentification par mot de passe

Comment rendre plus difficile l’attaque offline?

Définition du selLe sel est une données aléatoire non confidentielle ajoutée au mot depasse.

La table des mots de passe salés

Le vérificateur stocke les paires 〈Ai, si, h(pwi, si)〉

maintainer:ef$OYnL8rCBbf7rcedgar:01$C8Z6wDFKm5bV6patrick:45$58kk0mpCjpL9oedwin:a5$.8cBf8RFZqfvI...

Romuald THION M2TI-TIW4 : chiffre – auth 13

Page 16: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

Exemple : authentification Linux

Le fichier de stockage

Hashés stockés dans /etc/shadow, différentes méthodescrypt (DES) : h = DES(pass, 0...0 + sel), on stocke sel + h

$1$ (MD5) : h = MD5(pass + sel), on stocke sel + h

$2$ à $6$ : on utilise $6$

Example> mkpasswd -m sha-512 --salt abcdefgh$6$u2bvcyi0$76I3KxGizdl/PENw[...]4FUhEBcKcg.> openssl passwd -6 -salt abcdefgh[donne la même chose]

Romuald THION M2TI-TIW4 : chiffre – auth 14

Page 17: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

Solidité des mots de passe

Where Do Security Policies Come From?Dinei Florencio & Cormac Herley

Length CharSet Strength

6 N 19.96 LN 31.06 UL 34.26 ULNS 39.58 N 26.68 ULN 47.68 ULNS 52.7

10 N 33.210 L 47.010 ULNS 65.8

Site x̄ Strength

Top Traffic 19.9High Traffic 19.9Medium Traffic 8.3Financial 31.0Large Univ. 44.5Top CS dpts. 46.4Government 47.6

All .com 19.9All .edu 43.7All .gov 47.6

Romuald THION M2TI-TIW4 : chiffre – auth 15

Page 18: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

Etude de cas ’;-have i been pwned?

Liste https://haveibeenpwned.com/PasswordsSHA1 11.1GB (24.5GB décompressés)

> head -n 5 pwned-sha1-ordered-by-count-v5.txt7C4A8D09CA3762AF61E59520943DC26494F8941B:23547453F7C3BC1D808E04732ADF679965CCC34CA7AE3441:7799814B1B3773A05C0ED0176787A4F1574FF0075F7521E:39128165BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8:37304713D4F2BF07DC1BE38B20CD6E46949A1071F9D0E3D:3120735

> wc -l pwned-sha1-ordered-by-count-v5.txt555278657 pwned-sha1-ordered-by-count-v5.txt

Romuald THION M2TI-TIW4 : chiffre – auth 16

Page 19: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

CREATE TABLE pwned (hash t e x t NOT NULL," number " i n t 4 NOT NULL,CONSTRAINT pwnd_pk PRIMARY KEY ( hash ) −− / ! \

) ;

\COPY t e s t s . pwned ( hash , number ) FROM ’ pwned [ . . ] . t x t ’WITH DELIMITER ’ : ’ CSV;

CREATE OR REPLACE FUNCTION f ind_hash ( t e x t ) r e tu rns i n t AS $$SELECT numberFROM pwnedWHERE hash = upper ( encode ( d iges t ( $1 , ’ sha1 ’ ) , ’ hex ’ ) )

$$ LANGUAGE SQL STRICT STABLE;

SELECT f ind_hash ( ’ pa ta te ’ ) ;−− 15901−− (1 row )

Romuald THION M2TI-TIW4 : chiffre – auth 17

Page 20: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

La clef idéale

One Time Pad (OTP) ou chiffrement de Vernam (1917)

La clef doit être aussi longue que le messageElle doit être aléatoireElle doit être utilisée une unique fois

Le chiffrement parfait (intuition)Un cryptosystème sera dit chiffrement parfait lorsque la donnée d’unmessage chiffré ne révéle aucune fuite d’information sur la clef ou lemessage clair correspondant et aucune information non plus sur lestextes chiffrés futurs.

Romuald THION M2TI-TIW4 : chiffre – auth 18

Page 21: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Attaque des hashés

Quelles recommandations?

OWASP Authentication cheat sheetOWASP : password storage cheat sheet

Implement Proper Password Strength ControlsVoir Calculer la « force » d’un mot de passe ou zxcvbnImplement Secure Password Recovery MechanismStore Passwords in a Secure Fashion

Use a cryptographically strong credential-specific saltLeverage an adaptive one-way function (e.g., Argon2, Bcrypt)

Transmit Passwords Only Over TLS or Other Strong Transport (†)

Romuald THION M2TI-TIW4 : chiffre – auth 19

Page 22: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Rainbow tables

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 20

Page 23: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Rainbow tables

Rainbow tables

Rainbow tablesinventées en 2003 par Philippe Oechslincompromis entre calculer tous les hashés, et les stocker tous

Principefixer la taille des chaînes pour chaque table (e.g., 1000)générer un mot de passe de départ, calculer son empreinteune fonction de réduction pour déterminer le prochain mot

Crédits CULICCHIA G., VAISSET A., TORILLEC O., NGUYEN HO T. (TI 2011-2012)

Romuald THION M2TI-TIW4 : chiffre – auth 21

Page 24: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Rainbow tables

Rainbow tables

Collisions lors du chainage

Possible d’avoir le même hashé au milieu de deux chaînes différentes !

Pourquoi d’ailleurs? Quel est le problème que ça pose?

Romuald THION M2TI-TIW4 : chiffre – auth 22

Page 25: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Rainbow tables

Rainbow tables

Collisions lors du chainage

Possible d’avoir le même hashé au milieu de deux chaînes différentes !

Pourquoi d’ailleurs? Quel est le problème que ça pose?

Romuald THION M2TI-TIW4 : chiffre – auth 22

Page 26: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Applications Rainbow tables

Rainbow tables

Solution changement de réduction

A chaque chaînage, on change de réduction. On utilise toujours lamême séquence de réductions (dans le même ordre) à partir de lagraine.

Romuald THION M2TI-TIW4 : chiffre – auth 23

Page 27: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 24

Page 28: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles

Protocoles cryptographiques

Un protocole cryptographique utilise les briques :chiffrement symétriquechiffrement asymétriquehachagegénération de nombres aléatoires

pour garantir des propriétés de sécurité.

On va s’intéresser aux protocoles cryptographiques pourl’authentification ainsi que quelques applications.

Romuald THION M2TI-TIW4 : chiffre – auth 25

Page 29: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles

Pourquoi utiliser la cryptographie asymétrique pourétablir une clef symétrique?

Symétriquesecret partagé : nécessite un canal sûralgorithmes simples : rapide à calculer

Asymétriqueclef publique : échange de clefs sans canal sûralgorithmes complexes : calculs coûteux

Conclusion : combiner les deuxasymétrique : authentification, détermination d’une clef symétriquesymétrique : chiffrement de la communication une fois établie

Et on renouvellera la clef symétrique (de session ou éphémère) àchaque nouvel échange (Perfect Forward Secrecy)

Romuald THION M2TI-TIW4 : chiffre – auth 26

Page 30: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles

Pourquoi utiliser la cryptographie asymétrique pourétablir une clef symétrique?

Symétriquesecret partagé : nécessite un canal sûralgorithmes simples : rapide à calculer

Asymétriqueclef publique : échange de clefs sans canal sûralgorithmes complexes : calculs coûteux

Conclusion : combiner les deuxasymétrique : authentification, détermination d’une clef symétriquesymétrique : chiffrement de la communication une fois établie

Et on renouvellera la clef symétrique (de session ou éphémère) àchaque nouvel échange (Perfect Forward Secrecy)

Romuald THION M2TI-TIW4 : chiffre – auth 26

Page 31: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Des protocoles plus riches

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 27

Page 32: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Des protocoles plus riches

Challenge-response authentication

Voir Challenge-response authentication et Simple Authentication andSecurity Layer (CHAP, SCRAM, . . . )

Crédits LAURADOUX C.

Romuald THION M2TI-TIW4 : chiffre – auth 28

Page 33: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Des protocoles plus riches

Protocole de Needham-Schroeder

Protocole d’établissement de clef de session (Wikipedia)Existe en version symétrique (ici) et asymétrique

1 A→ S : A,B,NA

Alice s’identifie auprès du serveur et ajoute un nonce2 S → A : {NA,KAB, B, {KAB, A}KBS

}KAS

Le serveur génère une clef (symétrique) KAB

3 A→ B : {KAB, A}KBS

Alice transmet la clef à Bob qui peut la déchiffrer avec KBS

4 B → A : {NB}KAB

Bob montre à Alice qu’il détient bien la clef KAB

5 A→ B : {NB − 1}KAB

Alice montre qu’elle est active et qu’elle détient bien la clef

Romuald THION M2TI-TIW4 : chiffre – auth 29

Page 34: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles L’authentification à clef publique

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 30

Page 35: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles L’authentification à clef publique

Protocole de Needham-Schroeder

En version asymétrique

1 A→ S : A,B

2 S → A : {KPB, B}KSS(†)

3 A→ B : {NA, A}KPB

4 B → S : B,A

5 S → B : {KPA, A}KSS

6 B → A : {NA, NB}KPA

7 A→ B : {NB}KPB

Romuald THION M2TI-TIW4 : chiffre – auth 31

Page 36: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles L’authentification à clef publique

Infrastructures de gestion des clefs

Problème de l’authentificationOn peut transmettre les clefs publiques sur un canal non sûr, maiscomment assurer effectivement qu’il s’agit du bon interlocuteur?

Solution : faire confiance à un tiers (de confiance)Certificats (X509) : l’autorité de certification (le tiers) produit uncertificat où il atteste (signe) :

l’identité du certifiéla clef publique du certifiéla date limite de validité de l’attestation. . .

Romuald THION M2TI-TIW4 : chiffre – auth 32

Page 37: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles L’authentification à clef publique

Infrastructures de gestion des clefs

Problème de l’authentificationOn peut transmettre les clefs publiques sur un canal non sûr, maiscomment assurer effectivement qu’il s’agit du bon interlocuteur?

Solution : faire confiance à un tiers (de confiance)Certificats (X509) : l’autorité de certification (le tiers) produit uncertificat où il atteste (signe) :

l’identité du certifiéla clef publique du certifiéla date limite de validité de l’attestation. . .

Romuald THION M2TI-TIW4 : chiffre – auth 32

Page 38: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles L’authentification à clef publique

Protocoles cryptographique

Crédits techblognow – X.509 Certificates – Explained

Romuald THION M2TI-TIW4 : chiffre – auth 33

Page 39: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles L’authentification à clef publique

L’authentification à clef publique

Propagation de la confiance

certificats X509 : hiérarchiePGP : graphe de confiance

Wikipedia – chain of trust

Romuald THION M2TI-TIW4 : chiffre – auth 34

Page 40: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles L’authentification à clef publique

Protocoles cryptographique

Et à la racine, à quels tiers fait-on confiance?

Mozilla Included CA Certificate Listhttps://wiki.mozilla.org/CA/Included_Certificates

Démonstration, regardons un certificat

Romuald THION M2TI-TIW4 : chiffre – auth 35

Page 41: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles L’authentification à clef publique

Protocoles cryptographique

Et à la racine, à quels tiers fait-on confiance?

Mozilla Included CA Certificate Listhttps://wiki.mozilla.org/CA/Included_Certificates

Démonstration, regardons un certificat

Romuald THION M2TI-TIW4 : chiffre – auth 35

Page 42: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles L’authentification à clef publique

Protocoles cryptographique

Et à la racine, à quels tiers fait-on confiance?

Mozilla Included CA Certificate Listhttps://wiki.mozilla.org/CA/Included_Certificates

Démonstration, regardons un certificat

Romuald THION M2TI-TIW4 : chiffre – auth 35

Page 43: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Transport Layer Security

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 36

Page 44: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Transport Layer Security

Transport Layer Security

https://hpbn.co/transport-layer-security-tls/(crédits)

Romuald THION M2TI-TIW4 : chiffre – auth 37

Page 45: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 38

Page 46: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

Autres protocoles cryptographiques

Secure Shell (SSH)Mise en œuvre de la cryptographie asymétriqueCryptosystèmes utilisés : RSA, DSA, ECDSAPlusieurs utilisations :

comme application : exécution de commande, transfert de fichiercomme transport : tunneling

Authentification SSH sans mot de passeIl est possible de se passer de l’authentification par mot de passe :

Décrire comment procéderQuels sont les avantages et inconvénients de cette procédure?

Romuald THION M2TI-TIW4 : chiffre – auth 39

Page 47: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

Autres protocoles cryptographiques

Secure Shell (SSH)Mise en œuvre de la cryptographie asymétriqueCryptosystèmes utilisés : RSA, DSA, ECDSAPlusieurs utilisations :

comme application : exécution de commande, transfert de fichiercomme transport : tunneling

Authentification SSH sans mot de passeIl est possible de se passer de l’authentification par mot de passe :

Décrire comment procéderQuels sont les avantages et inconvénients de cette procédure?

Romuald THION M2TI-TIW4 : chiffre – auth 39

Page 48: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

Autres protocoles cryptographiques

PGP/GnuPGAuthentification, signature, (dé)chiffrementRéseau de confiance pair-à-pair web of trust (différent de SSL)Algorithmes utilisés :

Symétriques : CAST5, Camellia, 3DES, AES, Blowfish, Twofish.Asymétriques : ElGamal, RSA, DSAHachage : RIPEMD-160, MD5, SHA-1, SHA-2, and Tiger

Romuald THION M2TI-TIW4 : chiffre – auth 40

Page 49: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

Autres protocoles cryptographiques

PGP/GnuPGAuthentification, signature, (dé)chiffrementRéseau de confiance pair-à-pair web of trust (différent de SSL)Algorithmes utilisés :

Symétriques : CAST5, Camellia, 3DES, AES, Blowfish, Twofish.Asymétriques : ElGamal, RSA, DSAHachage : RIPEMD-160, MD5, SHA-1, SHA-2, and Tiger

Romuald THION M2TI-TIW4 : chiffre – auth 40

Page 50: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

Autres protocoles cryptographiques

Distinguer les clefs utilisées dans GPG (ex. no 96, Avoine et al.)

GPG utilise quatre clefs quand A souhaite signer et chiffrer le courrierpour B :

1 La clef k1 utilisée pour signer le contenu du courrier2 La clef k2 utilisée pour déchiffrer la clef de l’étape précédente3 La clef k3 utilisée pour chiffrer le contenu du courrier4 La clef k4 utilisée pour déchiffrer la clef de l’étape précédente

1 Quelles sont les clefs symétriques?2 Quand les clefs sont-elles générées?

Romuald THION M2TI-TIW4 : chiffre – auth 41

Page 51: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

Protocole Kerberos

Protocole d’authentification réseau client/serveurBasé sur les ticketsAuthentification mutuelle (client et serveur)Version 5 utilisée, après la 4 qui était faibleBasé sur Needham-Shroeder symétriqueExtension asymétrique possible (rfc4556)

Rôles dans le protocoleS ServeurC Client

AS Authentication ServerTGT Ticket-Granting ServerKDC Key Distrution Center = AS + TGT

Romuald THION M2TI-TIW4 : chiffre – auth 42

Page 52: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

Kerberos

Romuald THION M2TI-TIW4 : chiffre – auth 43

Page 53: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

Kerberos

1 C → AS : un ticket à présenter à TGS ?demande de passe 3j de ski sur 4 domaines

2 AS → C : voici un ticket pour C à présenter à TGS.voici le passe (TGT) à présenter à l’arrivée dans un domaine

3 C → TGS : voici mon ticket de AS, un ticket pour S ?voici mon passe (TGT), je souhaite skier dans votre domaine

4 TGS → C : voici un ticket pour C à présenter à Cvoici votre passe (ST) pour notre domaine

5 C → S : voici mon ticket de TGS.voici mon passe (ST) pour votre domaine, puis-je utiliser cetteremontée?

Romuald THION M2TI-TIW4 : chiffre – auth 44

Page 54: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Protocoles Autres protocoles cryptographiques

Kerberos

C → AS : [C, TGS]

AS → C : [{KC,TGS}KC, {TC,TGS}KTGS

]où TC,TGS = [C, validity,KC,TGS ]

C → TGS : [S, {TC,TGS}KTGS, {AC}KC,TGS

]où AC = [C, timestamp]

TGS → C : [{KC,S}KC,TGS, {TC,S}KS

]où TC,S = [C, validity′]

C → S : [{AC}KC,S, {TC,S}KS

]

KC,TGS et KC,S sont les clefs (symétriques) de session ;KC est la clef (symétrique) de C ;KTGS est la clef (symétrique) du TGS ;KS est la clef (symétrique) de S ;TC,TGS est le TGT fourni par l’AS à présenter au TGS ;TC,S est le ST fourni par le TGS à présenter à S ;

Romuald THION M2TI-TIW4 : chiffre – auth 45

Page 55: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Conclusion

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 46

Page 56: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Conclusion Les attaques

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 47

Page 57: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Conclusion Les attaques

Attaques

This is a partial list of attacks on protocols :Known-key attack : attacker gains some keys used previously andthen uses this info to attack the protocol and possibly determinenew keys.Replay : attacker records a communication session and replayssome or all of it at a later time.Impersonation : attacker assumes the identity of one of thelegitimate parties in a network.Man-in-the-Middle : attacker interposes himself between twoparties and pretends to each to be the other.Interleaving attack : attacker injects spurious messages into aprotocol run to disrupt or subvert it.

Question : à quelle forme d’attaque le protocole deNeedham-Shroeder est-il vulnérable?

Romuald THION M2TI-TIW4 : chiffre – auth 48

Page 58: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Conclusion Les attaques

Attaques

This is a partial list of attacks on protocols :Known-key attack : attacker gains some keys used previously andthen uses this info to attack the protocol and possibly determinenew keys.Replay : attacker records a communication session and replayssome or all of it at a later time.Impersonation : attacker assumes the identity of one of thelegitimate parties in a network.Man-in-the-Middle : attacker interposes himself between twoparties and pretends to each to be the other.Interleaving attack : attacker injects spurious messages into aprotocol run to disrupt or subvert it.

Question : à quelle forme d’attaque le protocole deNeedham-Shroeder est-il vulnérable?

Romuald THION M2TI-TIW4 : chiffre – auth 48

Page 59: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Conclusion Les attaques

Les attaques

Vulnérable à une attaque par rejeu d’un message {KAB, A}KBS

obtenu lors d’un échange précédent : B va accepter la clef KAB sanssavoir si elle est fraîche (et donc potentiellement cassée) ou pas.

1 I(A)→ S : . . .

2 S → I(A) : . . .

3 I(A)→ B : {KAB, A}KBS

4 B → I(A) : {NB}KAB

5 I(A)→ B : {NB − 1}KAB

Romuald THION M2TI-TIW4 : chiffre – auth 49

Page 60: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Conclusion La cryptographie moderne

1 Authentification

2 Authentification par mot de passePrincipe généralAttaque des hashésRainbow tables

3 Protocoles cryptographiqueDes protocoles plus richesL’authentification à clef publiqueTransport Layer SecurityAutres protocoles cryptographiques

4 ConclusionLes attaquesLa cryptographie moderne

Romuald THION M2TI-TIW4 : chiffre – auth 50

Page 61: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Conclusion La cryptographie moderne

La cryptographie moderne

La cryptographie est un domaine de recherche très actif, dont lesrésultats peuvent modifier considérablement la société

Examples d’innovations

chiffrement homomorphique E(m1 + m2) = E(m1) + E(m2)

Cryptosystème de Paillier (1999)Fully homomorphic encryption scheme de Gentry (2009)

Private Information Retrieval (PIR)Identity-Based Encryption (IBE)Attribute-Based Ancryption (ABE)Functional Encryption (†)

Romuald THION M2TI-TIW4 : chiffre – auth 51

Page 62: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Conclusion La cryptographie moderne

Identity-based encryption (IBE)

Shamir, 1984 : Identity Based cryptosystems and signature schemes

Dan Boneh and Matt Franklin, 2001 : IBE from the Weil pairing Firstusable IBE schemes

Dan Boneh and Xavier Boyen, 2004 : Efficient selective-id secure IBEwithout random oracles

Romuald THION M2TI-TIW4 : chiffre – auth 52

Page 63: TIW4 : INFORMATION INTRODUCTION À L AUTHENTIFICATION · fixer la taille des chaînes pour chaque table (e.g., 1000) générer un mot de passe de départ, calculer son empreinte

Conclusion La cryptographie moderne

Références

Supports de Cédric Lauradoux (dont illustrations)Sécurité informatique – cours et exercices corrigés, Gildas Avoine,Pascal Junod et Philippe OechslinHandbok of Applied Cryptographyhttp://www.lsv.fr/Software/spore/index.htmlSecurity Protocol Open Repository

Romuald THION M2TI-TIW4 : chiffre – auth 53