WPA - PEAP failure

Jouni Malinen jkmaline at cc.hut.fi
Thu May 6 00:44:18 EDT 2004

On Wed, May 05, 2004 at 04:06:00PM +0300, Stavros Markou wrote:

> Yesterday I had succes with your wpa -supplicant with atmel pcmcia card 
> (WPA - PSK). Now I am trying to see If I can "play" with WPA-PEAP and I 
> am facing some problems that I believe have something to do with the 
> certificates( AP : Cisco 1200 and Authentication server Fank Odyssey) . 

Nice to hear about work being done on yet another Linux driver for WPA

> EAP-PEAP: Start (server ver=1, own ver=2)

This is likely to be the problem here.. I think I have only tested
PEAPv0 ("Microsoft PEAP") and your server is advertising support for

> EAP-PEAP: TLS done, proceed to Phase 2
> EAP-PEAP: Derived key - hexdump(len=64): 4b 25 42 a0 16 e2 45 8c e0 e2 67 76 63 46 18 41 5b ed 39 ee bd ae 94 f5 4e 21 22 67 2a ae 70 f6 39 3c 31 18 93 86 f6 63 c7 a1 8d a8 fd 52 b4 5f 63 8f 3e 1d 3e 9c c7 0c 7f 78 22 0e 76 4c a0 c4

OK. TLS part phase 1 can be completed. However, that derived key is
likely to be incorrect since PEAPv1 uses a different label when deriving
the key. I fixed this now in CVS version.

> EAP-MSCHAPV2: Received success
> EAP-MSCHAPV2: Success message - hexdump(len=0):
> EAP-MSCHAPV2: Authentication succeeded

OK, MSCHAPv2 in Phase2 was also completed successfully.

> EAP-PEAP: Decrypted Phase 2 EAP - hexdump(len=4): 03 0c 00 04
> EAP-PEAP: received Phase 2: code=3 identifier=12 length=4
> EAP-PEAP: Phase 2 Success

However, this part differs from PEAPv0 since PEAPv1 does not use TLV
method to indicate the Phase 2 completion.

> EAPOL: txSuppRsp
> EAPOL: txSuppRsp - EAP response data not available

wpa_supplicant did not know what to do with the EAP-Success. As far as I
can see, it should have just terminated the TLS tunnel and continue to
WPA key handshake. I changed the CVS version of wpa_supplicant to do
this. However, this might not be what the authentication server was

> EAPOL: SUPP_BE entering state RECEIVE
> EAPOL: Port Timers tick - authWhile=29 heldWhile=0 startWhen=29 idleWhile=59
> EAPOL: Port Timers tick - authWhile=28 heldWhile=0 startWhen=28 idleWhile=58
> Scan timeout - try to get results

It looks like the authentication server did not send 4-Way Handshake or
plaintext EAP-Success. It might have expected to receive something (in
plaintext?) from the Supplicant. My quick look at
draft-josefsson-ppext-eap-tls-eap-05.txt was not enough to determine
whether something more should be done at this point..

Could you please re-test with the current CVS snapshot and report
results? As a workaround, you could try to force wpa_supplicant to use
PEAPv0 which has received quite a bit more testing. You should be able
to test this by changing #define EAP_PEAP_VERSION in eap_peap.c from 1
to 0.

I would like to debug PEAPv1 myself, so if anyone can provide me access
to a RADIUS authentication server that supports it (over Internet, so
that I could point my AP to it), I would really appreciate it.

Jouni Malinen                                            PGP id EFC895FA

More information about the HostAP mailing list