Tags

, ,

EAP-PEAP (Protected Extensible Authentication Protocol), creates an encrypted TLS tunnel withing which the supplicant’s inner identity is validated. Sometime it is referred as EAP within EAP. There are 3 major versions of PEAP.

1. EAP-PEAPv0(EAP-MSCHAPv2)
2. EAP-PEAPv0(EAP-TLS)
3. EAP-PEAPv1(EAP-GTC)

PEAPv0 & PEAPv1 both refer to the outer authentication method and are the mechanism that create the secure TLS tunnel to protect subsequent authentication transaction. The EAP protocol enclosed within parenthesis (ie MSCHAPv2, TLS & GTC) is the inner EAP protocol.

Below shows the EAP-MSCHAPv2 process.
EAP-PEAP-20PEAP Phase1
1. Authenticator sends an EAP frame requesting identity of the supplicant.
2. Supplicant responds with EAP Response frame with clear text outer identity(not the real username)
3. Authenticator forwards outer identity response to Authenticating Server.
4. AS sends the server certificate down to the supplicant & Supplicant validate server-side certificate.
5. An encrypted point-to-point TLS tunnel is created between Supplicant  & AS.

PEAP Phase2
1. AS requests the real identity of the supplicant.
2. The supplicant respond with the inner identity, which is real username.
3. AS sends an EAP request with challenge
4. Supplicant sends an EAP response with hashed challenge response.
5. AS send an EAP request with EAP-MSCHAPv2 success.
6. Supplicant sends an EAP response with ACK.

Once Phase 2 completed, TLS tunnel will be torn down & AS send RADIUS Acceess Accept msg where Authenticator send it to Supplicant as “EAP-Success” (or EAP-Failure). Then 4-Way Handshake EAPOL-Key exhange (M1-M4) occures.

EAP-PEAP-01Here is the Identity Request frame (step 4a)
EAP-PEAP-02Here is the Identity Response frame (step 4b). This is sending the outer Identity & may not be the real username (in my case Supplicant – 7921 phone use the real username)
EAP-PEAP-03Here is the Start-PEAP (an EAP Reuest type) message (step 6).
EAP-PEAP-04Server certificate validation (step 7) include multiple frame exchange as shown in the below.(image source)EAP-PEAP-18Here is the response to “PEAP-Start” frame which  is “Client Hello“.
EAP-PEAP-05This shows Server Hello, Certificate, Server Hello Done frames coming from AS. There may be multiple fragments as this is a large packet (due to cert size)
EAP-PEAP-06Then Client Key exchange frame goes from Supplicant to AS.
EAP-PEAP-08Here is Change Cipher Spec frame.

EAP-PEAP-11Here is the  last frame (step 8) in Phase 1 send by the Supplicant to ensure TLS tunnel can establish since this time on.EAP-PEAP-09Since that point onwards all packets are TLS encrypted. Here is the first frame exchange in Phase 2 which is Identify Request for real username (step 9).EAP-PEAP-10Here is the EAP-Response/Identity Response frame (step 10) send by the supplicantEAP-PEAP-12Then AS will send EAP-MSCHAPv2 challenge inside the TLS tunnel to supplicant as EAP-Request frame.(step 11)

EAP-PEAP-13Here is the EAP-Response/Challenge from Supplicant (step 12)
EAP-PEAP-14Then AS validate client & send EAP-Request/EAP-MSCHAPv2-Success inside TLS (step 13).
EAP-PEAP-15Then Supplicant send EAP-Response/EAP-MSCHAPv2-ACK (Step 14).

EAP-PEAP-16So now AS sending the RADIUS accept to Authenticator & then Authenticator send that as “EAP-Success” frame to the Supplicant (step 17). This completes the Phase 2 of PEAP process.

EAP-PEAP-17Once PEAP authentication completes, it starts EAPOL-Key exchange (4 Way handshake frame 159,161,163,165)

References
1. EAP-PEAP-7921 (sample packet capture)
2. CWSP Official Study Guide – Chapter 4

Related Posts

1. CWSP- EAP Basics
2. CWSP- EAP LEAP
3. CWSP- EAP FAST
4. CWSP- EAP TLS
5. CWSP- EAP TTLS
6. CWSP- EAP MD5