fragattacks/src
Jouni Malinen 17d4b77472 RSN: Do not replace existing Suite B PMKSA on 4-way handshake
PMKID derivation with the Suite B AKMs is a special case compared to
other AKMs since that derivation uses KCK instead of PMK as an input.
This means that the PMKSA cache entry can be added only after KCK has
been derived during 4-way handshake. This also means that PMKID would
change every time 4-way handshake is repeated even when maintaining the
same PMK (i.e., during PTK rekeying and new associations even if they
use PMKSA caching).

wpa_supplicant was previously replacing the PMKSA cache entry whenever a
new PMKID was derived. This did not match hostapd expectations on the AP
side since hostapd did not update the PMKSA cache entry after it was
created. Consequently, PMKSA caching could be used only once (assuming
no PTK rekeying happened before that). Fix this by making wpa_supplicant
behave consistently with hostapd, i.e., by adding the Suite B PMKSA
cache entries with the PMKID from the very first 4-way handshake
following PMK derivation and then not updating the PMKID.

IEEE Std 802.11-2016 is somewhat vague in this area and it seems to
allow both cases to be used (initial PMKID or any consecutive PMKID
derived from the same PMK). While both cases could be supported that
would result in significantly more complex implementation and need to
store multiple PMKID values. It looks better to clarify the standard to
explicitly note that only the first PMKID derived after PMK derivation
is used (i.e., match the existing hostapd implementation).

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
2018-09-27 11:37:19 +03:00
..
ap hostapd: Send an event before throwing a station on re-authentication 2018-09-02 12:48:32 +03:00
common DPP: Fix a memory leak on Configurator keygen error path 2018-09-21 21:22:42 +03:00
crypto random: Remove write-only variable random_entropy_file_read 2018-09-02 12:51:06 +03:00
drivers nl80211: Support OCE features (driver capability and scan params) 2018-09-02 17:59:01 +03:00
eap_common EAP-pwd: Mask timing of PWE derivation 2018-05-28 22:15:15 +03:00
eap_peer eap_proxy: Fix memory leaks when using eap_peer_erp_init() 2018-09-21 21:34:08 +03:00
eap_server EAP-TLS: Derive Session-Id using TLS-Exporter when TLS v1.3 is used 2018-06-01 17:58:56 +03:00
eapol_auth Add hostapd tls_flags parameter 2017-09-18 12:12:48 +03:00
eapol_supp eap_proxy: Fix memory leaks when using eap_peer_erp_init() 2018-09-21 21:34:08 +03:00
fst fst: Fix compile error in fst_ctrl_aux.h with C++ compilers 2018-05-21 17:47:03 +03:00
l2_packet wpa_supplicant: Don't reply to EAPOL if pkt_type is PACKET_OTHERHOST 2018-04-02 12:21:27 +03:00
p2p P2P: Continue P2P_WAIT_PEER_(IDLE/CONNECT) sequence on a listen cancel 2017-11-03 21:47:32 +02:00
pae mka: Support GCM-AES-256 2018-08-21 19:28:20 +03:00
radius RADIUS server: Add testing support for authentication result 2018-09-11 04:02:36 +03:00
rsn_supp RSN: Do not replace existing Suite B PMKSA on 4-way handshake 2018-09-27 11:37:19 +03:00
tls Use os_memdup() 2017-03-07 13:19:10 +02:00
utils XML: Do not add empty Value node for nodes with child nodes in TNDS 2018-09-10 21:43:43 +03:00
wps Free dh_ctx on failure in wps_nfc_gen_dh() 2018-09-20 17:18:16 +03:00
lib.rules Add QUIET=1 option for make 2014-12-29 15:49:05 +02:00
Makefile FST: Add the Fast Session Transfer (FST) module 2015-07-16 18:26:15 +03:00