Protected Extensible Authentication Protocol - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

PEAPv0/EAP-MSCHAPv2

PEAPv0/EAP-MSCHAPv2 est la version la plus utilisée de PEAP. C'est à cette version que l'on fait référence lorsque l'on parle de PEAP sans plus de précisions. Après EAP-TLS, PEAP est l'EAP le plus utilisé. Cette version utilise la version de Microsoft du protocole CHAP (Challenge Handshake Authentication Protocol). Il est basé sur un challenge. Si le correspondant arrive à déchiffrer le challenge envoyé (chiffré avec la clef publique) c'est qu'il dispose bien de la clef secrète. Ce qui prouve son identité.

Il existe des implémentations de ce protocole dans de nombreuses marques d'AP, On trouve des implémentations de ce protocole pour Windows, Linux, MacOs, ... Les systèmes suivants le supportent nativement : MAC OS 10.3 et supérieur, Windows 2000 SP4, Windows XP, Windows Mobile 2003 et supérieur et Windows CE 4.2. La partie serveur est nativement présente dans Windows 2003 Serveur.

MSCHAPv2 est sensible aux attaques de dictionnaire. Mais avec le protocole PEAP ce n'est pas un problème car les informations circulent dans un canal sécurisé.

PEAPv0 comporte une autre faiblesse. Il transmet le logon en dehors du tunnel TLS. L'utilisation d'un sniffer peut permettre de récupérer un nom d'utilisateur valide. Grâce à cette information un individu mal intentionné peut provoquer un DOS en verrouillant les utilisateurs valides. Ce problème est résolu dans PEAPv2.

Cette version de PEAP est définie dans les brouillons Internet de l'IETF draft-kamath-pppext-eap-mschapv2-01.txt et draft-kamath-pppext-peapv0-00.txt

Format de Trames

      +---------------+---------------+---------------+---------------+      |     Code      |   Identifier  |            Length             |      +---------------+---------------+---------------+---------------+       |     Type      |   OpCode      |  MS-CHAPv2-ID |  MS-Length...      +---------------+---------------+---------------+---------------+      |   MS-Length   |     Data...      +---------------+---------------      

Code :

Le champ code est sur 1 octet, il sert à définir le type de trame :
1 - Request
2 - Response

Identifier :

Le champ Identifier est sur un octet, il sert à faire correspondre les réponses avec les requêtes

Length :

Le champ Length fait 2 octets, il indique la taille du paquet EAP avec l'en-tête.

Type :

Le champ Type définit sur un octet le type de protocole EAP utilisé
26 - EAP MS-CHAP-V2

OpCode :

Le champ OpCode est sur un octet, il identifie le type de paquets EAP MS-CHAP-v2 :

1 Challenge
2 Response
3 Success
4 Failure
7 Change-Password

MS-CHAPv2-ID :

Le champ identifiant MS-CHAPv2 est sur 1 octet, il permet de faire correspondre les requêtes et les réponses MS-CHAPv2

MS-Length :

le champ MS-length est sur 2 octets et doit être identique au champ Length moins 5.

Data :

Le format de ce champ est déterminé par le champ OpCode

Scénario

Client Authentificateur
<--- EAP-Request/Identity
EAP-Response/Identity (MyID) --->
<--- EAP-Request/EAP-Type=PEAP, V=0 (PEAP Start, S bit set)
EAP-Response/EAP-Type=PEAP, V=0 (TLS client_hello) --->
<--- EAP-Request/EAP-Type=PEAP, V=0 (TLS server_hello, TLS certificate, [TLS server_key_exchange,][TLS certificate_request,] TLS server_hello_done)
EAP-Response/ EAP-Type=PEAP, V=0 ([TLS certificate,] TLS client_key_exchange, [TLS certificate_verify,] TLS change_cipher_spec, TLS finished) --->
<--- EAP-Request/EAP-Type=PEAP, V=0 (TLS change_cipher_spec, TLS finished)
EAP-Response/EAP-Type=PEAP --->
Tunnel TLS créé : A partir de là les messages sont envoyés dans le tunnel TLS c'est également ici que débute le protocole MS-CHAPv2 pour l'échange de l'identité du client.
<--- EAP-Requete/Identité
EAP-Response/Identité (MyID) --->
<--- EAP-Requete/EAP-Type=EAP MS-CHAP-V2(Challenge)
EAP-Reponse/EAP-Type=EAP-MS-CHAP-V2 (Reponse) --->
<--- EAP-Requete/EAP-Type=EAP-MS-CHAP-V2 (Succes)
EAP-Reponse/EAP-Type=EAP-MS-CHAP-V2(Succes) --->
Fin du tunnel TLS (les messages suivants sont envoyés en clair)
<--- EAP-Success
Page générée en 0.098 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise