Authentification de messages et mots de passe
S´ebastien Gambs sgambs@irisa.fr 1 d´ecembre 2014
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Introduction `a l’authentification Types d’authentification Authentification et s´ecurit´e Plan du cours
Authentification de messages
Code d’authentification de message CBC-MAC
HMAC
Contrˆole d’acc`es par mots de passe Longueur des mots de passe Stockage de mots de passe Craquage de mots de passe
Introduction ` a l’authentification
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Types d’authentification Authentification et s´ecurit´e Plan du cours
Authentification
Authentification: v´erification de l’identit´e d’une entit´e (personne ou ordinateur) afin d’autoriser l’acc`es `a certaines ressources.
Preuve d’identit´e possible par :
I ce que l’on sait (mot de passe et identifiant personnel),
I ce que l’on poss`ede(certificat num´erique, carte `a puce, jeton),
I ce que l’on est(empreinte digitale, iris ou voix).
Authentification possible par un ou plusieurs de ces ´el´ements.
Exemple : jeton cryptographique (ici SecurID)
(Extrait d’une d´emo des laboratoires RSA sur SecurID)
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Types d’authentification Authentification et s´ecurit´e Plan du cours
Exemples de syst` emes o` u l’authentification est n´ ecessaire
I Acc`es `a mon compte informatique depuis un poste de l’universit´e.
I Acc`es `a distance `a mon serveur de courriel depuis Internet.
I Connexion `a un r´eseau sans-fil en acc`es libre.
I Acc`es physique `a une zone d’acc`es restreinte.
I Authenticit´e de mon abonnement de transport mensuel.
I Acc`es d’un m´edecin au dossier d’un de ses patients.
I . . .
Types de m´ ethodes d’authentification
I Authentification simple: se base sur la v´erification d’un seul
´ el´ement.
I Exemple: login et mot de passe.
I Authentification forte: combinaison de la v´erification de deux facteurs ou plus.
I L’authentification est consid´er´ee comme r´eussie seulement si toutes les v´erifications individuelles des ´el´ements sont valid´ees.
I Exemple: jeton de s´ecurit´e + scan de l’iris.
I Authentification unique (Single-Sign-Onou SSO en anglais) : on s’authentifie une fois pour toute et ensuite on peut acc´eder
`
a plusieurs applications ou services situ´es sur des serveurs diff´erents. Exemples: Kantara initiative, OpenID.
I Am´eliore la facilit´e d’utilisation mais un seul point d’entr´ee `a attaquer qui permet d’acc´eder `a toutes les ressources.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Types d’authentification Authentification et s´ecurit´e Plan du cours
Lien entre identification et authentification
I Identification: connaissance de l’identit´e d’une entit´e.
I Afin de d´eterminer l’identit´e, le v´erificateur compare l’information recue `a celle de toutes les autres entit´es
⇒ en g´en´eral l’identit´e est unique
I Remarque: attention `a ne pas confondre authentification et identification.
I Pour prouver l’authenticit´e d’un utilisateur, il n’est pas n´ecessaire de l’identifier.
I Exemple: un utilisateur pourrait s’authentifier sans d´eclarer son identit´e en prouvant qu’il appartient `a un groupe ou qu’il dispose d’une accr´editation anonyme.
Triade des besoins fondamentaux de la s´ ecurit´ e
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Types d’authentification Authentification et s´ecurit´e Plan du cours
Triade des besoins fondamentaux de la s´ ecurit´ e (suite)
1. Confidentialit´e: prot´eger le contenu d’un message contre un espion qui ´ecouterait les communications.
I Obtenu en g´en´eral en utilisant un cryptosyst`eme s´ecuritaire.
2. Authentification: ˆetre capable de v´erifier l’origine d’un message ainsi qu’´eventuellement son int´egrit´e.
I Typiquement obtenu aussi par des techniques
cryptographiques (comme celles dont on va discuter dans le cours d’aujourd’hui).
3. Disponibilit´e: assurer la disponibilit´e d’un service/syst`eme mˆeme contre un adversaire qui essayerait de l’attaquer afin de le faire se crasher.
I Peut ˆetre pr´evenu en d´etectant une attaque ou en mettant en place des r´ep´etitions du serveur qui fourni le service.
Attaques possibles sur la s´ ecurit´ e d’un protocole (1/3)
1. Espionnage: l’adversaire capture les informations envoy´ees par le protocole.
2. Modification: l’adversaire alt`ere l’information transmise par le protocole.
3. Rejeu: l’adversaire rejoue un message captur´e plus tard dans le mˆeme protocole ou dans un autre contexte.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Types d’authentification Authentification et s´ecurit´e Plan du cours
Attaques possibles sur la s´ ecurit´ e d’un protocole (2/3)
4. R´eflection: forme sp´ecifique d’attaque par rejeu o`u
l’adversaire renvoie simplement un d´efi qui lui ´etait destin´e.
I Possible si plusieurs sessions du mˆeme protocole peuvent fonctionner en parall`ele.
5. D´eni de service: l’adversaire empˆeche les participants de communiquer ou de compl´eter le protocole.
6. Typage: l’adversaire remplace un champ du message par une autre valeur (en g´en´eral chiffr´e).
Attaques possibles sur la s´ ecurit´ e d’un protocole (3/3)
7. Cryptanalyse: l’adversaire profite d’une faiblesse cryptographique du protocole pour attaquer une de ses propri´et´es de s´ecurit´e.
8. Manipulation de certificat: l’adversaire choisit ou modifie le certificat utilis´e afin de pouvoir s’authentifier.
9. Interactionsde protocole: l’adversaire exploite le fait que la mˆeme cl´e soit utilis´e dans plusieurs types de protocole pour attaquer leur s´ecurit´e.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Types d’authentification Authentification et s´ecurit´e Plan du cours
Plan du cours
Dur´ee du cours: 16h de cours magistraux + 16h de TP.
Quelques sujets abord´es:
I Introduction `a l’authentification, authentification de messages et contrˆole d’acc`es par mots de passe (ce cours).
I Introduction `a l’authentification biom´etrique.
I S´ecurit´e mat´erielle et authentification.
I Kerberos.
I Authentification dans les r´eseaux sans-fil (wifi, RFID et r´eseaux de capteurs).
I Des suggestions pour d’autres sujets?
Authentification de messages
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Authentification de messages
I Question fondamentale: comment est ce que Bob peut s’assurer que le message pr´etendument envoy´e par Alice a bien
´
et´e envoy´e par Alice et non pas par `Eve?
I Rappel: dans ce cours, on focalise sur l’authenticit´e du message, pas sur sa confidentialit´e bien que cela soit un besoin compl´ementaire.
I Confidentialit´e6⇒ authenticit´e
I Hypoth`ese: Alice et Bob partagent en commun un secret non connu de `Eve.
Code d’authentification de message
I Code d’authentification de messageou CAM (Message Authentication Code ouMAC en anglais) : syst`eme d’authentification de messages `a partir d’une cl´e secr`ete partag´ee.
I Objectif principal: empˆecher qu’`Eve, qui ne connaˆıt pas la cl´e secr`ete de Alice et Bob, ne puisse fabriquer de faux messages et emprunter l’identit´e de l’un aupr`es de l’autre.
I Algorithme d’authentification: g´en`ere un CAMs `a partir d’une cl´e k et d’un messagem: s = Sk(m).
I Lorsqu’Alice veut communiquer avec Bob, elle lui envoie la paire (m,s) sur un canal o`u `Eve est potentiellement pr´esente.
I Algorithme de v´erification: v´erifie si un CAMs correspond bien au message m en utilisant la cl´e secr`ete s:
Vk(s,m) =accept si s = Sk(m) et reject sinon.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Illustration du principe de CAM
(Extrait de Wikipedia)
Propri´ et´ es des CAMs
I Propri´et´e principale: sans connaissance de la cl´e secr`ete, un adversaire ne peut pas g´en´erer un message valide qui n’a pas
´
et´e pr´ealablement authentifi´e par l’envoyeur l´egitime.
I Corollaire: implique en mˆeme temps que l’adversaire ne peut pas modifier un message sans ˆetre d´etect´e par le receveur.
I Rappel: int´egrit´e 6= confidentialit´e.
I Un message peut ˆetre confidentiel sans ˆetre int`egre.
I Exemple: le masque jetable (one-time paden anglais) qui est inconditionnellement s´ecuritaire pour la confidentialit´e mais dont un bit peut ˆetre chang´e facilement.
I Un message peut ˆetre int`egre sans ˆetre confidentiel.
I Exemple: m est envoy´e en clair sans aucun chiffrement pr´ealable, en mˆeme temps ques le CAM de ce message.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Probl` eme de la fraˆıcheur du message
I L’int´egrit´e n’implique pas que le message est r´ecent
⇒ attaque par rejeu possible
I Sc´enario: supposons par exemple qu’Alice envoie lundi le message suivant `a Bob avec son codes :
(’rendez-vous au restaurant ce soir a 20h’,s)
I Eve qui est jalouse d’Alice et ´` ecoute ses communications voit passer ce message et l’enregistre.
I Mardi, `Eve peut renvoyer le mˆeme message `a Bob sans que celui-ci puisse mettre son authenticit´e en doute.
Contre-mesures possibles pour ´ eviter le rejeu
Contre-mesure 1:
I Inclure un index i dans chaque message en plus de son contenu.
I Bob enregistre tous les messages envoy´es par Alice et refuse un message qu’il a d´ej`a re¸cu.
I Il peut aussi d´etecter si `Eve a bloqu´e la transmission d’un message s’il re¸coit les messages d’indexesi et i+ 2 mais pas le messagei + 1.
Contre-mesure 2:
I Alice introduit une ´etiquette temporelle dans le message transmis `a Bob.
I Exemple: ’message envoy´e lundi 2 janvier `a 16h12’.
I Bob refuse un message dont l’´etiquette temporelle a d´epass´e un certain d´elai.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Int´ egrit´ e inconditionnelle
I Il existe des m´ecanismes qui permettent d’assurer une int´egrit´e inconditionnelle mais qui sont plutˆot inefficaces en pratique.
I Par exemple supposons qu’Alice souhaite envoyer `a Bob un message parmi n possibles : m∈ {m1, . . . ,mn}.
I A chaque` mi est associ´e une chaˆıne al´eatoire si de k bits.
I Exemple:
message CAM m1 s1 . . . . mn sn
I Lorsqu’Alice veut envoyer le message mi `a Bob, elle envoie aussisi. Bob v´erifie si le si re¸cu est celui associ´e `a mi.
I La probabilit´e qu’un adversaire puisse authentifier un message mj non vu auparavant est ´egale `a 2k (c’est-`a-dire la
Limite pratique de l’int´ egrit´ e inconditionnelle
I La longueur des cl´es va d´ependre du nombre de messages qu’on souhaite authentifi´e.
I L’int´egrit´e inconditionnelle r´eclame des cl´es de longueur tr`es importante d`es que l’espace possible des messages devient non-trivial.
I Exemple: si on consid`ere tous les messages possibles sur 1000 bits, il faudrait qu’Alice et Bob stockent un tableau de 21000 lignes, soit plus de lignes qu’il n’y a d’atomes dans l’univers.
I Probl`eme fondamental en s´ecurit´e et cryptographie: comment r´egler le probl`eme de la distribution et g´en´eration de cl´es?
I Facile si Alice et Bob se sont rencontr´es auparavant mais difficile sur un canal qu’`Eve espionne potentiellement.
I Desideratum pratique: avoir un syst`eme n´ecessitant des cl´es courtes et r´eutilisables.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Attaque par fouille exhaustive
I Si la cl´e choisie est de longueur trop courte et l’adversaire collecte quelques messages
⇒ la cl´e est probablement uniquement d´etermin´ee
⇒ l’adversaire peut la trouver en pratiquant une fouille exhaustive sur l’espace des cl´es
⇒ l’adversaire peut produire tous les messages valides qu’il d´esire
I Solution: utiliser une cl´e de longueur suffisante pour ´eviter toute espoir de fouille exhaustive (par exemple au moins 128 bits).
CAM ` a partir d’un chiffrement par blocs
I La m´ethode de chiffrements par blocs dans des
cryptosyst`emes symm´etriques tel que DES ou AES peut ˆetre utilis´e pour authentifier un message.
I Exemple: m´ethode d’enchaˆınements de blocs (Cipher Block ChainingouCBC en anglais).
I Fonctionnement d’un CBC-MAC: le messagem est d´ecoup´e en blocs de taille constante,m=m1, . . . ,ml et le chiffrement du dernier bloccl joue le rˆole de CAM pour le message.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
S´ ecurit´ e de CBC-MAC
I CBC-MAC est une m´ethode sˆure pour la g´en´eration de CAM en notant que la longueur des messages `a authentifier est fixe et connue (Bellare, Kilian et Rogaway 00).
I Plus pr´ecis´ement, si le chiffrement par blocs utilis´e pour impl´ementer CBC-MAC est s´ecuritaire
⇒ le CBC-MAC r´esultant sera lui aussi s´ecuritaire
I Probl`eme: la s´ecurit´e d’un CBC-MAC devient plus probl´ematique lorsque la taille du message peut varier.
M´ ethodes de rembourrage
Lorsque la taille d’un message n’atteint pas un multiple de la taille des blocs, il est possible de le “rembourrer” (paddingen anglais).
M´ethodes de rembourrage possibles:
I M´ethode 1: ajout au message d’un nombre minimum de 0 pour que sa longueur soit un multiple de la taille des blocs.
I Faiblesse: un adversaire peut fabriquer des faux messages en enlevant ou retirant des 0 `a la fin.
I M´ethode 2: ajout d’un 1 suivi de suffisamment de 0 comme la technique pr´ec´edente.
I Evite l’attaque d´´ ecrite ci-dessus mais en permet d’autres.
I M´ethode 3: ajout de 0’s comme pour la m´ethode 1 ainsi qu’un bloc en d´ebut de message qui pr´ecise sa taille.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Transformations de l’entr´ ee et de la sortie
Standard ISO/IEC 9797-1: sp´ecifie plusieurs m´ethodes de construction de CBC-MAC qui peuvent appliquer des
transformations au premier bloc du message et/ou au dernier bloc chiffr´e qui joue le rˆole de l’empreinte.
Exemples de transformations:
I Double chiffrement successifs du premier bloc, n´ecessite une cl´e suppl´ementaire.
I Chiffrement suppl´ementaire du dernier bloc avec une cl´e diff´erente.
I Le dernier bloc re¸coit un chiffrement et un d´echiffrement suppl´ementaire.
Fonction de hachage cryptographique
Une fonctionh est une fonction de hachage cryptographiquesi : 1. h accepte en entr´ee des messages de longueur arbitraire et
produit en sortie des messages de taille constante (par exemple de k bits) : h:{0,1}∗ → {0,1}k,
2. h peut ˆetre calcul´ee efficacement,
3. il est difficile de trouver une collision, c`ad une paire de messages x 6=y tel queh(x) =h(y).
Remarque: la condition 1. implique qu’il existe forc´ement des collisions mais la condition 3. requiert simplement qu’elles soient difficiles `a trouver
⇒k doit ˆetre choisi suffisamment grand pour qu’une fouille exhaustive soit impossible.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
HMAC
I HMAC (Hash-based MAC) : pemet la g´eneration d’un CAM `a partir d’une fonction de hachage cryptographique h.
I Utilis´e dans IpSec et SSL.
I Sk(m) =h((k⊕opad)kh((k⊕ipad)km)).
I Vk(m,s) =accept si h((k⊕opad)kh((k⊕ipad)km)) =s et reject sinon.
I opad = 0x5c5c5c. . .5c5c et ipad= 0x363636. . .3636, ils sont tous les deux de la taille de la cl´e k et ont ´et´e choisis afin d’avoir une distance de Hamming importante.
I La taille utilis´ee pour la cl´e est habituellement de 128 ou 160 bits (avec par exemple MD5 ou SHA-1 comme fonction de hachage).
MD5 et SHA-1
I MD5: fonction de hachage cryptographique avec une sortie de 128 bits cr´e´e par Ron Rivest en 1994.
I Utilis´e couramment de nombreuses applications dont v´erifier l’int´egrit´e de fichier ou pour les certificats de SSL.
I SHA-1: fonction de hachage qui en pratique peut servir de fonction de hachage cryptographique.
I Produite des empreintes de 160 bits en sortie.
I A ´et´e choisi par le NIST pour remplacer SHA-0 qui ´etait soup¸conn´e d’avoir des failles permettant de trouver des collisions mais SHA-1 semble lui-mˆeme avoir des faiblesses.
I Des familles de fonctions de hachage SHA-2 existent mais une comp´etition pour trouver qui sera le successeur pour SHA-3 s’est termin´e en octobre 2012 avec la victoire d’un algorithme du nom de Keccak (Bertoni, Daemen, Peters et Van Assche).
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Annonce du r´ esultat de la comp´ etition sur SHA-3
Remarque: avec SHA-3, il est possible d’utiliser un HMAC de la
Fonctionnement g´ en´ eral derri` ere MD5 et SHA-1
I MD5 et SHA-1 suivent le mˆeme sch´ema de fonctionnement, ils se basent sur une fonction de compression f qui prend un bloc du message mi et une valeur s pour obtenir une
empreinte de taille d´esir´ee.
I mi est un bloc du message qui fait 512 bits ets contient 160 bits.
I A l’initialisation, le message est d´` ecoup´e ent+ 1 blocs de 512 bits, avec ´eventuellement un rembourrage de 0s afin
d’atteindre la taille ad´equate.
I La valeur s0 est initialis´ee `a une constante choisie.
I Pour chaque bloc allant dei = 1 `a t+ 1 la valeur si =f(mi,si−1) est calcul´ee.
I La valeur finale est st+1.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Illustration du HMAC bas´ e sur SHA-1
Types d’attaque sur fonction de hachage
I Attaque par collision: chercher `a g´en´erer deux messages x et y tel quex 6=y maish(x) =h(y).
I L’attaque reposant sur le paradoxe de l’anniversaire trouve toujours une collision en temps esp´er´e 2k/2 pourk la taille de la sortie de la fonction de hachage mais . . .
I il est parfois possible de trouver des attaques plus efficaces reposant sur la structure sp´ecifique de la fonction de hachage.
I Attaque par pr´e-image:
1. ´etant donn´e un hashz cherche `a g´en´erer un messagex (une pr´e-image) tel que h(x) =z (attaque de pr´e-image de premi`ere ordre) ou
2. ´etant donn´e un messagex, trouver un autre message y tel que h(x) =h(y) (attaque par pr´e-image de second ordre).
I Question: quelles sont les implications pratiques de ces types d’attaque?
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Paradoxe de l’anniversaire
Exp´erience 1:
I Quelle est la probabilit´e dans une classe de 23 ´etudiants qu’ils y aient deux qui soient n´es le mˆeme jour?
Exp´erience 2:
I Supposons qu’il y ait n boules dans une urne avec des
´
etiquettes diff´erentes.
I Question: combien de fois est ce que je dois piocher au hasard en moyenne dans l’urne pour esp´erer tomber deux fois sur la mˆeme boule si `a chaque fois que je pioche une boule, je la remets ensuite dans l’urne?
I R´eponse: environ √
n de fois en moyenne pour avoir une probabilit´e de succ`es d’au moins 12.
Comprendre le paradoxe de l’anniversaire
I Soit une ann´ee qui compte 365 jours (on ne s’occupe pas des ann´ees bissextiles).
I Parmi n individus (on supposen <365), on veut savoir s’il existe au moins une paire d’individus qui ont le mˆeme anniversaire, soit p(n) la probabilit´e de cet ´ev´enement.
I Soit p(n), la probabilit´e quen individus aient des dates d’anniversaire diff´erentes.
I p(n) = 1×(1−3651 )×(1−3652 )×. . .×(1−n−1365) = 365n(365−n)!365!
I p(n) = 1−p(n),
I d`es quen ≥23⇒p(n)>50% (et mˆeme 99% sin≥57).
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Probabilit´ e de succ` es du paradoxe de l’anniversaire
(Extrait de wikipedia)
Utiliser le paradoxe de l’anniversaire pour trouver une collision
Algorithme:
1. Rencontre ← {}
2. xj choisi au hasard dans le domaine de h
3. R´ep´eter tant que (xj,h(xj))∈Rencontre ouh(xj) n’apparaˆıt pas dans Rencontre
I Rencontre←Rencontre+ (xj,h(xj))
I xj choisi au hasard dans le domaine deh
4. Retourner (xi,xj) tel quexi 6=xj et (xj,h(xi))∈Rencontre Th´eor`eme: l’algorithme ci-dessus peut g´en´erer une collision apr`es 2(k2)tours de boucle en moyenne pour k le nombre de bits de sortie de la fonction de hachageh.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Probl` eme de la longueur de la sortie pour les CAMs
I Pour un cryptosyst`eme, on consid`ere souvent que 64 bits de cl´e sont suffisants pour offrir une s´ecurit´e relativement bonne en pratique (bien qu’on tende vers 128 bits minimum
maintenant pour AES).
I Pour une fonction de hachage, une sortie sur 64 bits n’est pas suffisante car un adversaire pourrait r´eussir `a trouver une collision en 2(642)= 232= 4 294 967 296 ´etapes de calcul en moyenne.
I Solution: avoir une sortie de longueur au moins 128 bits pour que le travail demand´e pour trouver une collision soit
´
equivalent `a celui requis pour faire une fouille exhaustive sur un espace de cl´es de 64 bits pour un cryptosyst`eme.
Etat des lieux des fonctions de hachage ´
Probl`eme fondamental: existe t’il r´eellement des familles de fonction de hachage cryptographiques qui sont `a collision difficile?
´Etat des lieux des fonctions utilis´ees en pratique:
(Extrait de wikipedia)
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Code d’authentification de message CBC-MAC
HMAC
Quelques mots sur les signatures num´ eriques
I Signature num´erique: ´equivalent digital de la signature papier qui peut ˆetre utilis´e pour authentifier un document num´erique et garantir son authenticit´e.
I Bas´e sur le concept de cryptographie asym´etrique o`u un utilisateur poss`ede :
I unecl´e secr`ete de signaturequ’il peut utiliser pour signer un document et
I unecl´e de v´erification publiquequi peut ˆetre utilis´e par n’importe qui pour v´erifier l’authenticit´e d’une signature.
I La signature num´erique fournit aussi la propri´et´e de non-r´epudiation, le fait qu’un utilisateur ne puisse pas nier avoir sign´e un document (elle a valeur l´egale en France).
I Pour des raisons d’efficacit´e, c’est souvent la valeur hach´ee d’un message qui est sign´ee et non pas le message. Quel
Sc´ enario : ouverture de porte de garage ` a distance
I Contexte: supposons que je souhaite cr´eer un syst`eme qui me permet d’ouvrir mon garage `a distance sans sortir de ma voiture en utilisant une t´el´ecommande.
I Probl`eme: je veux ´eviter qu’un potentiel cambrioleur puisse utiliser ce syst`eme pour s’introduire chez moi. Comment faire?
I Est ce que si je chiffre les communications entre ma t´elecommande et ma porte cela r`egle le probl`eme?
I Est ce que l’authentification suffirait?
I Aussi comment ´eviter les risques de rejeu?
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Longueur des mots de passe Stockage de mots de passe Craquage de mots de passe
Contrˆ ole d’acc`es par mots de passe
Contrˆ ole d’acc` es par mot de passe
I Au coeur de la s´ecurit´e de nombreux syst`emes et parfois le seul m´ecanisme de protection.
I L’humain est souvent le maillon faible dans la chaˆıne.
Points importants pour la s´ecurit´e des mots de passe:
I Comment sont-ils choisis?
I Comment sont-ils transmis entre l’utilisateur et le v´erificateur?
I Comment sont-ils stock´es/prot´eg´es par l’utilisateur?
I Comment sont-ils stock´es/prot´eg´es par le v´erificateur?
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Longueur des mots de passe Stockage de mots de passe Craquage de mots de passe
Longueur des mots de passe
I Le nombre de NIPs possible pour une carte bancaire est de l’ordre de 104 = 10 000 possibilit´es cependant . . .
I il est n´ecessaire de poss´eder la carte valide correspondante et seul 3 essais sont autoris´es.
I Les mots de passe sous UNIX sont quelques milliards de fois plus nombreux (252 possibilit´es).
I Si un mot de passe est trop long ou trop al´eatoire, il ne pourra pas ˆetre facilement m´emoris´e et sera donc inutilisable en pratique.
I Selon certaines ´etudes, il est difficile pour un humain de retenir plus de 12 caract`eres.
I Interrogation fondamentale: qu’est ce qu’un bon mot de passe?
Illustration : mot de passe facile ` a deviner
(Extrait de Roger’s information security blog)
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Longueur des mots de passe Stockage de mots de passe Craquage de mots de passe
Difficult´ e de deviner un mot de passe
I Au-del`a du nombre de mots de passe possibles, il est important de s’int´eresser `a comment ils sont choisis.
I Un mot de passe long peut ˆetre facile `a deviner (si par exemple il s’agit d’un mot du dictionnaire).
I Alternative raisonnable: retenir une phrase de passe plutˆot qu’un mot et prendre quelques lettres de cette phrase.
I Exemple: “cette phrase est difficile `a deviner si on ne la connaˆıt pas” devient “cpedadsonlcp”.
Comment rendre les mots de passe plus sˆurs :
I Changer r´eguli`erement de mots de passe.
I Utiliser un syst`eme qui v´erifie un candidat et d´etecte s’il est potentiellement facile `a deviner.
I V´erifier si un nouveau mot de passe est suffisamment diff´erent
Attaques possibles contre un syst` eme bancaire
I Apr`es 3 essais infructueux de NIP, un compte bancaire est bloqu´e mais cela ne prot`ege pas contre toutes les attaques.
I Attaque par falsification de carte: supposons par exemple qu’`Eve est capable de produire des fausses cartes bancaires qui correspondent `a des noms r´eels de clients.
I Apr`es avoir essayer quelques milliers de cartes en moyenne, Eve va pourvoir retirer de l’argent dans un compte qui ne lui` appartient pas.
I Attaque par masquarade: puisque le guichet ne s’authentifie pas, il est possible d’installer des faux guichets qui vont voler l’information et le mot de passe d’une carte bancaire.
I Attaque par d´eni de service: quelqu’un pourrait utiliser la carte bancaire d’une personne dans un guichet simplement pour lui faire du tort en bloquant le compte.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Longueur des mots de passe Stockage de mots de passe Craquage de mots de passe
Risque li´ e au stockage de mots de passes en clair
I Supposons que les paires mots de passe/logins d’utilisateurs soient stock´ees en clair sur un serveur ou un post-it sur le bureau de l’administrateur.
I La s´ecurit´e du serveur se base sur le fait que ce serveur est suffisamment bien prot´eg´e ou que le bureau de
l’administrateur est inaccessible.
I Risque: ´ecroulement total du syst`eme si un adversaire r´eussi `a acc´eder `a cette base ou lire le post-it.
I Peut-on ´eviter de stocker le mot de passe en clair tout en permettant l’authentification?
Stockage s´ ecuris´ e des mots de passe
I Si possible, il faut ´eviter de stocker des mots de passe “bruts”
dans un fichier afin de se pr´emunir contre une ´eventuelle attaque sur le serveur ou mˆeme un administrateur trop curieux.
I Solution: pour chaque utilisateur, on stocke la paire
(loginu,f(passwordu)) o`u f est une fonction `a sens unique qui est facile `a ´evaluer mais difficile `a inverser.
I Ainsi le syst`eme peut v´erifier facilement un mot de passe qui lui est pr´esent´e mais le vol du fichier ne permet pas de retrouver le mot de passe.
I En pratique,f est construite soit `a partir d’une fonction de hachage, soit `a partir d’une fonction de chiffrement.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Longueur des mots de passe Stockage de mots de passe Craquage de mots de passe
Craquage de mots de passe
I Si un adversaire arrive `a mettre la main sur un fichier
contenant les paires (loginu,f(passwordu)), il peut essayer de craquer certains de ces mots de passe.
I Exemple: l’adversaire peut g´en´erer des mots de passe de mani`ere r´ep´etitive jusqu’`a trouver une collision en faisant une fouille exhaustive ou une attaque par dictionnaire.
I Salage: ajouter une chaˆıne de bits al´eatoires appel´e sel `a la fin du mot de passe avant d’appliquer la fonction `a sens unique afin de rendre plus coˆuteux la tˆache d’un adversaire qui voudrait calculer les valeurs possibles `a l’avance.
I Renforcement de cl´e: utiliser une fonction tr`es lente `a ´evaluer tel qu’une fonction de hachage utilis´e avec salage qui est r´ep´et´e de nombreuses fois (au moins 1000).
CAPTCHA
I CAPTCHA (pourCompletely Automated Public Turing test to tell Computers and Humans Aparten anglais) : forme de test de Turing permettant de diff´erencier de mani`ere automatis´ee un humain d’un ordinateur.
I Se base sur des probl`emes qui sont consid´er´es faciles `a r´esoudre pour un humain mais difficiles pour un ordinateur.
I Utilis´e pour ´eviter la cr´eation automatique d’adresse de courriel par un bot mais aussi pour limiter le nombre d’essais qu’un ordinateur peut essayer une combinaison login/mot passe si `a chaque fois il doit r´esoudre un CAPTCHA.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Longueur des mots de passe Stockage de mots de passe Craquage de mots de passe
Mot de passe ` a usage unique
I Mot de passe `a usage unique: mot de passe qui est valide pour une seule session ou transaction.
I Avantage principal: permet d´eviter les attaques par rejeu.
I Utilis´e par exemple pour les transactions bancaires.
I Exemple:
(Extrait du site web de Entrust)
Ing´ enierie sociale
I Mˆeme si les mots de passe sont stock´ees de fa¸con s´ecuris´ees, il est toujours possible d’attaquer l’humain paring´enierie sociale.
I Attaque par hame¸connage(phishing en anglais): un pirate se fait passer pour un tiers parti de confiance afin de soutirer de l’information confidentielle.
I M´ecanismes de protection: informer l’utilisateur des risques existants, authentification forte combinant un syst`eme de mots de passe avec de la biom´etrie ou de la s´ecurit´e mat´erielle.
Introduction `a l’authentification Authentification de messages Contrˆole d’acc`es par mots de passe
Longueur des mots de passe Stockage de mots de passe Craquage de mots de passe
En r´ esum´ e : quelques conseils sur les mots de passe
I Aider/forcer l’utilisateur `a choisir un “bon” mot de passe du point de vue s´ecurit´e mais n´eanmoins facile `a m´emoriser (par exemple les phrases de passe).
I Informer les utilisateurs des risques de l’ing´enierie sociale.
I Avoir un syst`eme de v´erification automatique de mot de passe qui ´ecarte d’embl´ee ceux qui sont trop faciles `a deviner.
I Utiliser un syst`eme de stockage s´ecuris´e des mots de passe.