Wpa supplicant
{{Short description|Open-source implementation of IEEE 802.11i}}
{{DISPLAYTITLE:wpa_supplicant}}
{{More footnotes|date=July 2014}}
{{Infobox software
| name = wpa_supplicant
| screenshot = File:wpa gui-screenshot.png
| caption = Screenshot of wpa_gui
| developer = Jouni Malinen and others
| released = {{Start date|2003|04|05}}
| latest_release_version = 2.11{{cite web
| url = https://w1.fi/cgit/hostap/plain/wpa_supplicant/ChangeLog
| title = Index of /releases
| publisher = w1.fi
| date = 2024-07-20
| accessdate = 2024-09-19}}
| latest_release_date = {{Start date and age|2024|07|20}}
| programming_language = C
| operating_system = Cross-platform
| genre = WLAN tools
| license = BSD
| website = {{URL|https://w1.fi/wpa_supplicant/}}
}}
wpa_supplicant is a free software implementation of an IEEE 802.11i supplicant for Linux, FreeBSD, NetBSD, QNX, AROS, Microsoft Windows, Solaris, OS/2 (including ArcaOS and eComStation){{cite web|url=https://trac.netlabs.org/ports/wiki/wpa_supplicant|access-date=2020-09-03|title=wpa_supplicant}} and Haiku.{{Citation|title=haiku/wpa_supplicant|date=2019-03-17|url=https://github.com/haiku/wpa_supplicant|publisher=Haiku|access-date=2020-03-07}} In addition to being a WPA3 and WPA2 supplicant, it also implements WPA and older wireless LAN security protocols.
Features
Features include:{{cite web|url=https://linux.die.net/man/8/wpa_supplicant|title=wpa_supplicant(8) - Linux man page|accessdate=2020-03-07}}
- WPA-PSK and WPA2-PSK ("WPA-Personal", pre-shared key)
- WPA3{{Cite web|title=wpa_supplicant|url=https://wiki.archlinux.org/title/Wpa_supplicant#Connections_to_pure_WPA3-SAE_access_points|access-date=2021-05-18|website=wiki.archlinux.org}}
- WPA with EAP ("WPA-Enterprise", for example with RADIUS authentication server)
- RSN: PMKSA caching, pre-authentication
- IEEE 802.11r
- IEEE 802.11w
- Wi-Fi Protected Setup (WPS)
Included with the supplicant are a GUI and a command-line utility for interacting with the running supplicant. From either of these interfaces it is possible to review a list of currently visible networks, select one of them, provide any additional security information needed to authenticate with the network (for example, a passphrase, or username and password) and add it to the preference list to enable automatic reconnection in the future.{{cite web|url=https://w1.fi/wpa_supplicant/ |title=Linux WPA Supplicant (IEEE 802.1X, WPA, WPA2, RSN, IEEE 802.11i) |publisher=w1.fi |date= |accessdate=2014-07-04}}
The graphical user interface is built on top of the Qt library.
wpa_supplicant can authenticate with any of the following EAP (Extensible Authentication Protocol) methods: EAP-TLS, EAP-PEAP (both PEAPv0 and PEAPv1), EAP-TTLS, EAP-SIM, EAP-AKA, EAP-AKA', EAP-pwd, EAP-EKE, EAP-PSK (experimental), EAP-FAST, EAP-PAX, EAP-SAKE, EAP-GPSK, EAP-IKEv2, EAP-MD5, EAP-MSCHAPv2, and LEAP (requires special functions in the driver).
Vulnerability to KRACK
wpa_supplicant was especially susceptible to KRACK, as it can be manipulated to install an all-zeros encryption key, effectively nullifying WPA2 protection in a man-in-the-middle attack.{{cite web |title=Key Reinstallation Attacks disclosure website |url=https://www.krackattacks.com/ |website=KRACK Attacks |accessdate=26 September 2018 |ref=paper |quote=Linux's wpa_supplicant v2.6 is also vulnerable to the installation of an all-zero encryption key in the 4-way handshake.}} Version 2.7 fixed KRACK and several other vulnerabilities.
See also
{{Portal|Free and open-source software}}
References
{{Reflist}}
External links
- {{Official website|https://w1.fi/wpa_supplicant/}}
- [https://web.archive.org/web/20190615230736/http://www.examplenow.com/wpa_supplicant/ wpa_supplicant examples]
{{DEFAULTSORT:Wpa Supplicant}}
Category:Software that uses Qt