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.

Introduction

Protected Extensible Authentication Protocol, Protected EAP, ou plus simplement PEAP, est une méthode de transfert sécurisée d'informations d'authentification, créée au départ pour les réseaux sans fil. Ce protocole a été développé conjointement par Microsoft, RSA Security et Cisco Systems. C’est un standard ouvert de l'IETF.

PEAP n'est pas une méthode de chiffrement, c'est une procédure pour authentifier un client sur un réseau.

Introduction

PEAP est très semblable à une autre méthode EAP : EAP-TTLS. Protected EAP a été créé pour contrer EAP-TTLS qui était jusque là, la seule méthode EAP à n'utiliser une infrastructure à clés publiques (PKI) que du côté serveur, pour protéger l'authentification par la création d'un tunnel TLS. Dans ces deux standards, l'utilisation d'une clef publique côté client est optionnelle. PEAP impose une identification interne (inner authentication) par une autre méthode EAP, alors que TTLS autorise toute méthode d'identification interne CHAP, PAP, MS-CHAP, MS-CHAPv2 ou méthode EAP.

Il existe 2 versions de PEAP certifiées WPA (mise à jour) et WPA2 :

  • PEAPv0/EAP-MSCHAPv2 (seule méthode d'identification interne), aussi appelé PEAP version Microsoft
  • PEAPv1/EAP-GTC ou EAP-TLS, ou EAP-MS-CHAP-V2, aussi appelé PEAP version Cisco

PEAP se déroule en 2 phases :

  1. La phase 1 ou 'identification externe' permet l'authentification du serveur grâce à une infrastructure à clés publiques. Une fois le serveur authentifié il y a création d'un tunnel sécurisé qui permettra à la phase 2 d'être chiffrée.
  2. La phase 2 ou 'identification interne' permet l'authentification du client au travers du tunnel chiffré.

PEAPv1/EAP-GTC

PEAPv1/EAP-GTC a été créé par Cisco pour être une alternative à PEAPv0/EAP-MSCHAPv2. Bien que PEAP ait été développé conjointement par Microsoft, Cisco et RSA, Microsoft n’a jamais intégré cette version de PEAP dans ses OS. EAP-GTC n'est donc pas présent nativement sur les systèmes Microsoft. Cisco préfère supporter ses autres protocoles LEAP ou EAP-FAST Plutôt que PEAP. Cette version de PEAP est très peu utilisée.

Cette version de PEAP est définie dans le brouillon draft-josefsson-pppext-eap-tls-eap-05.txt

Format de trame

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |     Code      |   Identifier  |            Length             |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |     Type      |   Flags   |Ver|  Data...      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      

Code :

  • 1 - Request
  • 2 - Response

Identifier : Ce champ sur un octet permet de faire correspondre les requêtes et les réponses.

Length : ce champ fait 2 octets, il indique la taille du paquet EAP

Type : 25 - PEAP

Flags :

         0 1 2 3 4 5        +-+-+-+-+-+-+        |L M S R R R|        +-+-+-+-+-+-+        L = Length included        M = More fragments        S = PEAP start        R = Réservé, doit être à zéro      

Le bit L sert à indiquer la présence des champs suivants. Le bit M est à 1. Le bit S est à 1 pour les message PEAP Start.

Version :

         0 1        +-+-+        |R 1|        +-+-+        R = Réservé, doit être à zéro      

Data : Ce champ est déterminé par le format du champ Code Field

Scénario

Client Authentificateur
<--- EAP-Request/Identity
EAP-Response/Identity (MyID) --->
<--- EAP-Request/EAP-Type=PEAP(PEAP Start, S bit set)
EAP-Response/EAP-Type=PEAP(TLS client_hello) --->
<--- EAP-Request/EAP-Type=PEAP(TLS server_hello, TLS certificate, [TLS server_key_exchange,] [TLS certificate_request,] TLS server_hello_done)
EAP-Response/EAP-Type=PEAP ([TLS certificate,] TLS client_key_exchange, [TLS certificate_verify,] TLS change_cipher_spec, TLS finished) --->
<--- EAP-Request/EAP-Type=PEAP (TLS change_cipher_spec, TLS finished)
Le tunnel TLS est établi. A partir de là les messages sont envoyés aux travers du tunnel TLS
EAP-Response/EAP-Type=PEAP --->
<--- EAP-Request/Identity
EAP-Response/Identity (MyID) --->
<--- EAP-Request/EAP-Type=X
EAP-Response/EAP-Type=X or NAK --->
<--- EAP-Request/EAP-Type=X
EAP-Response/EAP-Type=X --->
<--- EAP-Success
Fin du tunnel TLS. A partir de là les messages sont envoyés en clair.
Page générée en 0.097 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