Android 10 führt Unterstützung für die Standards Wi-Fi Protected Access Version 3 (WPA3) und Wi-Fi Enhanced Open der Wi-Fi Alliance (WFA) ein. Weitere Informationen finden Sie unter Sicherheit auf der WFA-Site .
WPA3 ist ein neuer WFA-Sicherheitsstandard für Privat- und Unternehmensnetzwerke. Ziel ist es, die allgemeine WLAN-Sicherheit durch den Einsatz moderner Sicherheitsalgorithmen und stärkerer Verschlüsselungssammlungen zu verbessern. WPA3 besteht aus zwei Teilen:
- WPA3-Personal: Verwendet Simultaneous Authentication of Equals (SAE) anstelle von Pre-Shared Key (PSK) und bietet Benutzern einen stärkeren Sicherheitsschutz gegen Angriffe wie Offline-Wörterbuchangriffe, Schlüsselwiederherstellung und Nachrichtenfälschung.
- WPA3-Enterprise: Bietet stärkere Authentifizierungs- und Link-Layer-Verschlüsselungsmethoden sowie einen optionalen 192-Bit-Sicherheitsmodus für sensible Sicherheitsumgebungen.
Wi-Fi Enhanced Open ist ein neuer WFA-Sicherheitsstandard für öffentliche Netzwerke, der auf opportunistischer drahtloser Verschlüsselung (OWE) basiert. Es bietet Verschlüsselung und Datenschutz in offenen, nicht passwortgeschützten Netzwerken in Bereichen wie Cafés, Hotels, Restaurants und Bibliotheken. Enhanced Open bietet keine Authentifizierung.
WPA3 und Wi-Fi Enhanced Open verbessern die allgemeine WLAN-Sicherheit und sorgen für mehr Privatsphäre und Robustheit gegen bekannte Angriffe. Da viele Geräte diese Standards noch nicht unterstützen oder noch keine Software-Upgrades zur Unterstützung dieser Funktionen erhalten haben, hat WFA die folgenden Übergangsmodi vorgeschlagen:
- WPA2/WPA3-Übergangsmodus: Der bedienende Access Point unterstützt gleichzeitig die Standards WPA2 und WPA3. In diesem Modus verwenden Android 10-Geräte WPA3 für die Verbindung und Geräte mit Android 9 oder niedriger verwenden WPA2 für die Verbindung mit demselben Zugangspunkt.
- WPA2/WPA3-Enterprise-Übergangsmodus: Der bedienende Access Point unterstützt gleichzeitig die Standards WPA2-Enterprise und WPA3-Enterprise.
- OWE-Übergangsmodus: Der bedienende Zugangspunkt unterstützt gleichzeitig OWE und offene Standards. In diesem Modus verwenden Android 10-Geräte OWE für die Verbindung und Geräte mit Android 9 oder niedriger stellen ohne Verschlüsselung eine Verbindung zum selben Zugangspunkt her.
Android 12 unterstützt die Transition Disable-Anzeige, einen Mechanismus, der ein Gerät anweist, WPA2 nicht zu verwenden und stattdessen WPA3 zu verwenden. Wenn ein Gerät diese Meldung erhält, verwendet es WPA3, um eine Verbindung zu einem WPA3-Netzwerk herzustellen, das einen Übergangsmodus unterstützt. Android 12 unterstützt auch den WPA3 Hash-to-Element (H2E)-Authentifizierungsaustausch. Weitere Informationen finden Sie in der WPA3-Spezifikation .
WPA3 und Wi-Fi Enhanced Open werden nur im Client-Modus unterstützt.
Implementierung
Um WPA3 und Wi-Fi Enhanced Open zu unterstützen, implementieren Sie die Supplicant-HAL-Schnittstelle. Ab Android 13 verwendet die Schnittstelle AIDL für die HAL-Definition. Bei Versionen vor Android 13 verwenden Schnittstellen und Herstellerpartitionen HIDL. Die HIDL-Schnittstelle finden Sie unter hardware/interfaces/wifi/supplicant/1.3/
und die AIDL-Schnittstelle finden Sie unter hardware/interfaces/wifi/supplicant/aidl/
.
Zur Unterstützung von WPA3 und OWE ist Folgendes erforderlich:
Linux-Kernel-Patches zur Unterstützung von SAE und OWE
- cfg80211
- nl80211
wpa_supplicant
mit Unterstützung für SAE, SUITEB192 und OWEWLAN-Treiber mit Unterstützung für SAE, SUITEB192 und OWE
Wi-Fi-Firmware mit Unterstützung für SAE, SUITEB192 und OWE
WLAN-Chip mit Unterstützung für WPA3 und OWE
In Android 10 sind öffentliche API-Methoden verfügbar, mit denen Apps die Geräteunterstützung für diese Funktionen ermitteln können:
-
WifiManager#isWpa3SaeSupported
-
WifiManager#isWpa3SuiteBSupported
-
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
enthält neue Schlüsselverwaltungstypen sowie paarweise Chiffren, Gruppenchiffren, Gruppenverwaltungschiffren und Suite-B-Chiffren, die für OWE, WPA3-Personal und WPA3-Enterprise erforderlich sind.
Aktivieren von WPA3 und Wi-Fi Enhanced Open
So aktivieren Sie WPA3-Personal, WPA3-Enterprise und Wi-Fi Enhanced Open im Android-Framework:
WPA3-Personal: Fügen Sie die Kompilierungsoption
CONFIG_SAE
in diewpa_supplicant
Konfigurationsdatei ein.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: Fügen Sie die Kompilierungsoptionen
CONFIG_SUITEB192
undCONFIG_SUITEB
in die Konfigurationsdateiwpa_supplicant
ein.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Wi-Fi Enhanced Open: Fügen Sie die Kompilierungsoption
CONFIG_OWE
in diewpa_supplicant
Konfigurationsdatei ein.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Wenn WPA3-Personal, WPA3-Enterprise oder Wi-Fi Enhanced Open nicht aktiviert sind, können Benutzer diese Netzwerktypen nicht manuell hinzufügen, scannen oder eine Verbindung zu ihnen herstellen.
Validierung
Führen Sie die folgenden Tests aus, um Ihre Implementierung zu testen.
Unit-Tests
Führen Sie SupplicantStaIfaceHalTest
aus, um das Verhalten der Funktionsflags für WPA3 und OWE zu überprüfen.
atest SupplicantStaIfaceHalTest
Führen Sie WifiManagerTest
aus, um das Verhalten der öffentlichen APIs für diese Funktion zu überprüfen.
atest WifiManagerTest
Integrationstest (ACTS)
Um einen Integrationstest auszuführen, verwenden Sie die Android Comms Test Suite (ACTS)-Datei WifiWpa3OweTest.py
, die sich unter tools/test/connectivity/acts_tests/tests/google/wifi
befindet.
VTS-Tests
Wenn die HIDL-Schnittstelle implementiert ist, führen Sie Folgendes aus:
atest VtsHalWifiSupplicantV1_3TargetTest
Wenn die AIDL-Schnittstelle implementiert ist, führen Sie Folgendes aus:
atest VtsHalWifiSupplicantStaIfaceTargetTest