Wireshark-commits: [Wireshark-commits] master 9cf77ec: ieee80211: Support decrypting WPA3-Personal

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Thu, 21 Mar 2019 12:14:04 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=9cf77ec5e12e24f1a8c6eb9fa14c015b830f066b
Submitter: "Anders Broman <a.broman58@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark

Commits:

9cf77ec by Mikael Kanstrup (mikael.kanstrup@xxxxxxxx):

    ieee80211: Support decrypting WPA3-Personal / SAE captures
    
    Add support for decrypting IEEE 802.11 WPA3-Personal / SAE traffic.
    
    SAE uses AES encryption but a different key derivation function (KDF)
    making Wireshark fail to decrypt such captures. Also both KDF and
    decryption method is determined based only on EAPOL key description
    version. This is not enough to figure out that SAE is being used.
    
    Implement the alternative KDF needed to derive valid PTK. Also
    implement a function to parse pairwise + group cipher suites and
    auth key management type from RSNE tag. Using this new function
    together with a number of new cipher and AKM lookup functions
    correct KDF for SAE can be selected.
    
    Bug: 15621
    Change-Id: I8f6c917af1c9642c276a244943dd35f850ee3757
    Reviewed-on: https://code.wireshark.org/review/32485
    Petri-Dish: Anders Broman <a.broman58@xxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Anders Broman <a.broman58@xxxxxxxxx>
    

Actions performed:

    from  b780bb1   NAS-5GS: Dissect Packet filter contents Single remote port type.
     add  9cf77ec   ieee80211: Support decrypting WPA3-Personal / SAE captures


Summary of changes:
 debian/libwsutil0.symbols          |   1 +
 epan/crypt/dot11decrypt.c          | 505 +++++++++++++++++++++++++++++++++++--
 epan/crypt/dot11decrypt_system.h   |   3 +-
 epan/crypt/dot11decrypt_user.h     |   1 +
 epan/dissectors/packet-ieee80211.c |   4 +-
 test/captures/wpa3-sae.pcapng.gz   | Bin 0 -> 5981 bytes
 test/config/80211_keys.tmpl        |   1 +
 test/suite_decryption.py           |  10 +
 wsutil/wsgcrypt.c                  |  23 ++
 wsutil/wsgcrypt.h                  |   2 +
 10 files changed, 521 insertions(+), 29 deletions(-)
 create mode 100644 test/captures/wpa3-sae.pcapng.gz