2.2.3. L'authentification27
Aspects de base de la sécurité des réseaux
:
Définition de l'Authentification : il s'agit de la
vérification de l'identité d'un utilisateur.
? L'identification : la reconnaissance de l'identité
;
? L'authentification par mot de passe ;
? L'authentification avec support physique : carte à
puce, elle propose une capacité mémoire et peut ainsi contenir
des mots de passe, voire le certificat d'identité de son professeur
? L'authentification par caractéristique humaine :
empreinte digitale est une caractéristique biométrique. Elle
permet de vérifier directement l'identité de la personne et ne
nécessite pas le secret complémentaire, code PIN ou mot de
passe
27 Jean-François P., Jean-Philippe B., Op.cit. pp.
161-164.
La sécurité du 802.1x peut être compromise
de trois façons différentes : en attaquant la méthode EAP
utilisée, en détournant une session après sa
création ou encore en s'interposant
Page | 33
Passons en revue les quatre principales méthodes
d'authentification par mot de passe prévues par le PPP :
PAP : Le Password Authentication Protocol
(PAP), Il s'agit sans doute du plus simple des mécanismes
d'authentification : le client envoie son mot de passe, en clair,
c'est-à-dire non crypté! Dans la pratique, le PAP est si peu
sûr qu'il n'est utilisé que lorsqu'un autre mécanisme
permet d'assurer la sécurité de l'échange.
CHAP : Le protocole Challenge Handshake
Authentication Protocol (CHAP), Le serveur commence par envoyer un «
défi » au client, ainsi qu'un compteur qu'il incrémente
à chaque fois qu'il lance un défi. Le client doit alors passer le
compteur, son mot de passe et le défi au travers d'un algorithme de
hachage, habituellement l'algorithme MD52. Le résultat est une
séquence de bits pseudo-aléatoires qu'on appelle le «
hash» (de 16 octets dans le cas de MD5). Ce hash est
envoyé au serveur, qui peut alors effectuer le même calcul et
vérifier si son résultat concorde avec celui du client. Cet
algorithme permet d'éviter que le mot de passe ne soit
transféré et évite également qu'un pirate ne
répète simplement une authentification réussie qu'il
aurait enregistrée auparavant, puisque le défi change à
chaque authentification. Il ne permet cependant pas au client de s'assurer de
l'identité du serveur.
MSCHAP : Ce protocole, souvent appelé
MS-CHAP-v1, Il s'agit d'une variante de CHAP, destinée à en
améliorer la sécurité. L'un des problèmes de CHAP
est le fait qu'il soit nécessaire de stocker le mot de passe en clair
sur le serveur1 : sinon, impossible de calculer le hash et de
vérifier l'identité du client. Toute personne ayant accès
à la base de données des utilisateurs peut donc voir les mots de
passe de tout le monde ! Pour éviter cela, MS-CHAP spécifie que
le serveur doit stocker non pas le mot de passe, mais le résultat
d'un hash sur ce mot de passe (selon un algorithme propriétaire
de Microsoft). Lorsque l'utilisateur saisit son mot de passe, celui-ci doit
d'abord être passé au travers du même algorithme de
hash avant de suivre la procédure habituelle de CHAP.
Malheureusement, MS-CHAP comporte des failles de sécurité (dues
en particulier au hash propriétaire de Microsoft) qui l'ont a
rendu rapidement obsolète : seuls quelques vieux systèmes Windows
95/98 l'utilisent encore.
MSCHAPv2 : Suite à la
découverte des failles de sécurité dans MS-CHAP, Microsoft
a réagi en concevant cette version 2, définie dans la RFC 2759.
Nettement plus robuste, ce protocole fournit notamment un mécanisme
d'authentification mutuelle : le serveur s'assure de l'identité du
client et vice versa, ce qui n'est pas le cas avec les méthodes
d'authentification précédentes. Le MS-CHAP-v2 est largement
utilisé dans les réseaux Windows, depuis la version Windows
2000.
Les limites de ces méthodes, tout cela fonctionne donc
très bien. Malheureusement, la méthode PAP n'est pas
sécurisée et les méthodes CHAP, MS-CHAP et MS-CHAP-v2 sont
toutes vulnérables face à des attaques hors-ligne de type
dictionnaire : si un pirate peut enregistrer les échanges lors de
l'authentification d'un utilisateur légitime, alors hors-ligne
(c'est-à-dire chez lui, déconnecté du réseau), il
peut essayer de reproduire le même dialogue en essayant des milliers de
mots de passe. Il suffit qu'un seul utilisateur légitime ait un mot de
passe faible pour que le pirate puisse entrer sur le réseau.
|