4way-Handshake error occurred in Reauth operation in connected state.

mun-chang jung biting74 at gmail.com
Wed Jun 22 03:37:13 PDT 2022


hello

Recently, I checked that the Station (wpa_suplicant) connected to the
Synology WiFi Router with WPA-Enterprise is disconnected and
reconnected every 60 minutes.

As a result of the analysis of this phenomenon, it was confirmed that
there was a problem in 4way-HS in the reauthentication process by
receiving the Request identity message from the Router (AP).
(No Session timeout setting in radius)

* During the 4way-HS process, 4way-HS-1/4 ~ 3/4 are encrypted and MSG
is transmitted and received normally.
I've seen 4way-HS-4/4 transmit unencrypted (I think this is a bug).
Discard unencrypted 4way-HS-4/4 MSG and retry 4way-HS-3/4 to AP. Then,
the AP sends disassociate with authentication timeout to disconnect
the station.

Below is a similar case and test environment, and the simplest
reproducible test is case 3.

Is this a bug?


<Test Bed>
================================================================================
<Station>
RaspberryPi 3
WLAN: Netgear WNA1100 USB
Version : Supplicant 2.10

<AP>
Synology MR2200AC
================================================================================


CASE1: WPA2-Enterprise: Synology Router AP MR2200AC
================================================================================
wpa_cli flush
wpa_cli log_level debug
wpa_cli sta_autoconnect 0
wpa_cli add_network
wpa_cli set_network 1 ssid "Synology_MR2200AC_2.4G_ENT"
wpa_cli set_network 1 proto RSN WPA
wpa_cli set_network 1 pairwise CCMP TKIP
wpa_cli set_network 1 key_mgmt WPA-EAP
wpa_cli set_network 1 eap TTLS PEAP
wpa_cli set_network 1 phase2 "auth=MSCHAPV2 GTC"
wpa_cli set_network 1 identity "test"
wpa_cli set_network 1 password "1 at 34Qwer"
wpa_cli select_network 1

After 60 minutes of WiFi connection, reauth is performed by receiving
Request Identity from AP.


AP ==> STA RX: Request Identity (EAP)
...
Request, Protected EAP (EAP-PEAP)

AP <== STA TX: PTK Key Request (EAPOL)
AP ==> STA RX: 4way-HS-1/4
AP <== STA TX: 4way-HS-2/4
AP ==> STA RX: 4way-HS-3/4
          STA: PTK install OK(update)
          STA: GTK not reinstall (KRACK patch)
AP <== STA TX: 4way-HS-4/4
AP ==> STA RX: 4way-HS-3/4 (Retry)
AP ==> STA RX: 4way-HS-3/4 (Retry)
AP ==> STA RX: Disassociate
          STA: Disconnected



CASE2: PTK rekey
================================================================================
WPA2-PSK CCMP
<WPA-PSK>
wpa_cli flush
wpa_cli log_level debug
wpa_cli sta_autoconnect 0
wpa_cli add_network
wpa_cli set_network 0 ssid \"WPA_PTK_KEY_TEST\"
wpa_cli set_network 0 proto RSN
wpa_cli set_network 0 pairwise CCMP
wpa_cli set_network 0 key_mgmt WPA-PSK
wpa_cli set_network 0 psk \"12345678\"
wpa_cli set_network 0 wpa_ptk_rekey 60
wpa_cli select_network 0

1 minute after connection, the connection is disconnected in the PTK
rekey process by sending a Key Request (EAPOL) from the station.
: When sta_autoconnect 1 is set, disconnect and reconnect.

AP <== STA TX: PTK Key Request (EAPOL)
AP ==> STA RX: 4way-HS-1/4
AP <== STA TX: 4way-HS-2/4
AP ==> STA RX: 4way-HS-3/4
          STA: PTK install OK(update)
          STA: GTK not reinstall (KRACK patch)
AP <== STA TX: 4way-HS-4/4
AP ==> STA RX: 4way-HS-3/4 (Retry)
AP ==> STA RX: 4way-HS-3/4 (Retry)
AP ==> STA RX: Disassociate
          STA: Disconnected



CASE3:
================================================================================
<WPA-PSK>
wpa_cli flush
wpa_cli log_level debug
wpa_cli sta_autoconnect 0
wpa_cli add_network
wpa_cli set_network 0 ssid \"WPA_PTK_KEY_TEST\"
wpa_cli set_network 0 proto RSN
wpa_cli set_network 0 pairwise CCMP
wpa_cli set_network 0 key_mgmt WPA-PSK
wpa_cli set_network 0 psk \"12345678\"
wpa_cli set_network 0 wpa_ptk_rekey 0
wpa_cli select_network 0

* Execute reauth request command after connection is complete
wpa_cli reauthenticate


thanks, cheers and best regards
: mun-chang jung



More information about the Hostap mailing list