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.

PEAPv2

PEAPv2 est le successeur de PEAPv0. Cette version corrige plusieurs faiblesses (dont la transmission du nom de l' utilisateur en dehors du tunnel TLS). Elle a été développée par Microsoft, Cisco Systems et Extundo. Elle corrige les faiblesses de la version 0

Pour l'instant, il n'existe pas beaucoup d'implémentation de cette version. Elle est peu utilisée à l'heure actuelle.

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

Format de trame

        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        |     Code      |   Identifier  |            Length             |        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        |     Type      |   Flags | Ver |    Fragment Message Length        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        |   Fragment Message Length     |    TLS Message Length        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        |     TLS Message Length        |      TLS Data...        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        |             Outer TLVs...        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      

Code :

  • 1 - Request
  • 2 - Response

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

Length : le champ Length fait 2 octets; il donne la longueur du paquet EAP

Type : 25 - PEAP

Flags :

            0 1 2 3 4           +-+-+-+-+-+           |L M S T R|           +-+-+-+-+-+           L = Length included           M = More fragments           S = PEAP start           T = TLS Length included           R = Reserved (must be zero)      

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. Le bit T permet d'indiquer la présence du champ TLS Message Length field.

Version :

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

Fragmented Message Length : Ce champ fait 4 octets, il n'est présent que si le bit L est à 1. Il donne la taille du message après le champ Flag.

TLS Message Length : Ce champ fait 4 octets, il est présent seulement si le bit T est à 1. Il définit la taille totale des données TLS.

TLS Data : ce champ contient des paquets TLS encapsulés.

Outer TLVs : Ce champ est optionnel, il permet d'aider à établir le tunnel TLS

Scénario

A. Echange de l'identité en clair

Dans cette version, une partie de l'identité est donnée en clair mais cette "demi-identité" n'est pas suffisante pour qu'un pirate utilise l'identité pour provoquer un déni de service (DOS) en verrouillant les utilisateurs dont il a pu récupérer la "demi-identité".

Client Authentificateur
<--- EAP-Request/Identity
EAP-Response/Identity (MyID1) --->
Une partie de l’identité est envoyée en clair.
<--- EAP-Request/EAP-Type=PEAP, V=2 (PEAP Start, S bit set)
EAP-Response/EAP-Type=PEAP, V=2 (TLS client_hello)--->
<--- EAP-Request/EAP-Type=PEAP, V=2 (TLS server_hello, TLS certificate,[TLS server_key_exchange,][TLS certificate_request,] TLS server_hello_done)
EAP-Response/EAP-Type=PEAP, V=2([TLS certificate,] TLS client_key_exchange,[TLS certificate_verify,] TLS change_cipher_spec, TLS finished) --->
<--- EAP-Request/EAP-Type=PEAP, V=2(TLS change_cipher_spec, TLS finished, EAP-Request/EAP-Type=EAP-TLV [EAP-Payload-TLVEAP-Request/Identity)
// Le tunnel TLS est créé. L’identité est protégée par TLS. Les paquets EAP-TLV n’ont pas d’en-tête EAP.
EAP-TLV [EAP-Payload-TLV EAP-Response/Identity (MyID2) --->
<--- EAP-TLV [EAP-Payload-TLVEAP-Request/EAP-Type=X
EAP-TLV [EAP-Payload-TLVEAP-Response/EAP-Type=X --->
Fin de la protection.
<--- EAP-TLV [Result TLV (Success), Crypto-Binding TLV (Version=2, received-version=2, Nonce, B1_MAC),Intermediate-Result TLV (Success)]
EAP-TLV [Result TLV (Success),Intermediate-Result TLV (Success), Crypto-Binding TLV (Version=2, received-version=2,Nonce, B2_MAC)] --->
Fin du tunnel TLS (les messages sont à présent envoyés en text clair).
<--- EAP-Success

B. Scénario sans échange de texte en clair

Dans cette version il n'y pas d'échange d'identité en clair.

Client Authentificateur
<--- EAP-Request/EAP-Type=PEAP, V=2(PEAP Start, S bit set)
EAP-Response/EAP-Type=PEAP, V=2 (TLS client_hello) --->
<--- EAP-Request/EAP-Type=PEAP, V=2 (TLS server_hello, TLS certificate, [TLS server_key_exchange,] [TLS certificate_request,] TLS server_hello_done)
EAP-Response/EAP-Type=PEAP, V=2 ([TLS certificate,] TLS client_key_exchange, [TLS certificate_verify,] TLS change_cipher_spec, TLS finished) --->
<--- EAP-Request/EAP-Type=PEAP, V=2 (TLS change_cipher_spec, TLS finished, EAP-TLV [EAP-Payload-TLV (EAP-Request/Identity)])
Tunnel TLS créé (les messages sont envoyés via le tunnel TLS)
EAP-TLV [EAP-Payload-TLV EAP-Response/Identity (MyID) --->
<--- EAP-TLV [EAP-Payload-TLV EAP-Type=EAP-Request/EAP-Type=X EAP-TLV [EAP-Payload-TLV
[EAP-Response/EAP-Type=X or NAK] --->
<--- EAP-TLV [EAP-Payload-TLV EAP-Request/EAP-Type=X
EAP-TLV [EAP-Payload-TLV EAP-Response/EAP-Type=X --->
<--- EAP-TLV [Crypto-Binding TLV=(Version=2, Received-version=2, Nonce, B1_MAC),Intermediate-Result TLV(Success), Result TLV (Success)]
EAP-TLV [Crypto-Binding TLV=(Version=2,Received-version=2, Nonce, B2_MAC), Intermediate-Result TLV (Success), Result TLV (Success)] --->
Fin du tunnel TLS (les messages sont envoyés en clair)
<--- EAP-Success
Page générée en 0.087 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