Auf Geräten mit Android 13 oder höher unterstützt Android den Authentifizierungsansatz „Trust on First Use“ (TOFU) (RFC7435). Damit können Nutzer einem EAP-Netzwerk (Enterprise Authentication Protocol) vertrauen, indem sie die vom Server verwendete Root-Zertifizierungsstelle installieren und ihren Domainnamen in einem gespeicherten Netzwerk festlegen. Mit TOFU kann das Gerät einen nicht authentifizierten öffentlichen Schlüssel abrufen, wenn ein Nutzer zum ersten Mal eine Verbindung zu einem Unternehmensnetzwerk herstellt, und den Schlüssel für nachfolgende Verbindungen beibehalten.
Hintergrund
Im Vergleich zu privaten Netzwerken, für die nur ein Passwort erforderlich ist, verwenden Enterprise-Netzwerke die Public-Key-Infrastructure-Authentifizierung (PKI). Dazu müssen Zertifikate vom Client vorab installiert werden. Unter Android 11 oder niedriger können Nutzer in den Netzwerkeinstellungen die Option Nicht prüfen für das Server-CA-Zertifikat auswählen, um die Validierung des serverseitigen Zertifikats zu umgehen. Um die Sicherheit zu erhöhen und die WPA R2-Spezifikation einzuhalten, wurde in Android 12 jedoch eine Validierung von Serverzertifikaten für Unternehmensnetzwerke eingeführt. Diese zusätzliche Anforderung stellte eine Hürde für Nutzer dar, da sie für solche Netzwerke ein CA-Zertifikat installieren mussten. TOFU bietet Nutzern die Möglichkeit, eine Verbindung zu einem PKI-basierten Unternehmensnetzwerk herzustellen, indem sie einfach die Stamm-CA akzeptieren.
Verhalten der Funktion
Auf Geräten, die TOFU unterstützen, wird das folgende Verhalten angezeigt, wenn ein Nutzer eine Verbindung zu einem Unternehmensnetzwerk herstellt, in dem kein vorinstallierter authentifizierter öffentlicher Schlüssel vorhanden ist.
Über die WLAN-Auswahl ein neues Netzwerk verbinden
Wählen Sie in der WLAN-Auswahl ein neues Unternehmensnetzwerk aus.
Auf dem Gerät wird ein Dialogfeld (Abbildung 1) angezeigt, in dem Sie bestätigen müssen, dass das Netzwerk vertrauenswürdig ist.
Tippen Sie auf Ja, verbinden, um die Netzwerkverbindung zu akzeptieren, oder auf Nein, nicht verbinden, um sie abzulehnen.
Wenn Sie auf Ja, verbinden tippen, konfiguriert das Gerät automatisch die Sicherheitsparameter, stellt eine Verbindung zum Netzwerk her und aktiviert die automatische Verbindung für das Netzwerk.
Wenn Sie auf Nein, keine Verbindung herstellen tippen, wird die Verbindung des Geräts zum Netzwerk getrennt und die automatische Verbindung für das Netzwerk deaktiviert.
Abbildung 1: Dialogfeld für die TOFU-Funktion
Mit vorhandenem Netzwerk verbinden, wenn die automatische Verbindung aktiviert ist
Wenn eine Verbindung zu einem Unternehmensnetzwerk hergestellt wird, für das die automatische Verbindung aktiviert, aber kein gültiges CA-Zertifikat vorhanden ist, stellt das Gerät automatisch eine Verbindung her und zeigt dann eine dauerhafte (nicht wegzuwischende) Benachrichtigung an.
Tippen Sie auf die Benachrichtigung.
Auf dem Gerät wird ein Dialogfeld (Abbildung 1) angezeigt, in dem Sie bestätigen müssen, ob das Netzwerk vertrauenswürdig ist.
Tippen Sie auf Ja, verbinden, um die Netzwerkverbindung zu akzeptieren, oder auf Nein, nicht verbinden, um sie abzulehnen.
Wenn Sie auf Ja, verbinden tippen, konfiguriert das Gerät automatisch die Sicherheitsparameter, stellt eine Verbindung zum Netzwerk her und aktiviert die automatische Verbindung für das Netzwerk.
Wenn Sie auf Nein, keine Verbindung herstellen tippen, wird die Verbindung des Geräts zum Netzwerk getrennt und die automatische Verbindung für das Netzwerk deaktiviert.
Implementierung
Implementieren Sie zur Unterstützung der TOFU-Funktion die Supplicant-HALs, die im Android Open Source Project (AOSP) unter /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant
bereitgestellt werden.
Die folgenden öffentlichen APIs sind in Android 13 für Apps verfügbar:
WifiManager#isTrustOnFirstUseSupported()
: Gibt an, ob das Gerät TOFU unterstützt.WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)
: Aktiviert TOFU.WifiEnterpriseConfig#isTrustOnFirstUseEnabled()
: Gibt an, ob TOFU aktiviert ist.
Zertifizierungsstufe
Verwenden Sie die folgenden Tests, um die TOFU-Implementierung auf Ihrem Gerät zu validieren:
- CTS:
CtsWifiTestCases
- VTS:
VtsHalWifiSupplicantStaNetworkTargetTest