EAP-PEAP peer: Cryptobinding in fast-reconnect case with inner EAP
authorJouni Malinen <j@w1.fi>
Tue, 5 Jan 2016 21:50:50 +0000 (23:50 +0200)
committerJouni Malinen <j@w1.fi>
Tue, 5 Jan 2016 21:50:50 +0000 (23:50 +0200)
commitacc39435ff42f3ba02774a79ca6d3df7f60175d1
treefa97c4145e7bdfcf84368d25b221cb88cde7b44c
parentcba9ebfdc27154e68a21a08341ea79a1854f5f20
EAP-PEAP peer: Cryptobinding in fast-reconnect case with inner EAP

This was reported to fail with Windows 2012r2 with "Invalid Compound_MAC
in cryptobinding TLV". It turns out that the server decided to go
through inner EAP method (EAP-MSCHAPv2 in the reported case) even when
using PEAP fast-reconnect. This seems to be against the [MS-PEAP]
specification which claims that inner EAP method is not used in such a
case. This resulted in a different CMK being derived by the server (used
the version that used ISK) and wpa_supplicant (used the version where
IPMK|CMK = TK without ISK when using fast-reconnect).

Fix this interop issue by making wpa_supplicant to use the
fast-reconnect version of CMK derivation only when using TLS session
resumption and the server having not initiated inner EAP method before
going through the cryptobinding exchange.

Signed-off-by: Jouni Malinen <j@w1.fi>
src/eap_peer/eap_peap.c