Vertrauen beim ersten Gebrauch (TOFU)

Für Geräte mit Android 13 oder höher unterstützt Android den Trust on First Use (TOFU)-Authentifizierungsansatz ( RFC7435 ), der es Benutzern ermöglicht, einem Unternehmensnetzwerk (EAP) zu vertrauen, indem sie die vom Server verwendete Stammzertifizierungsstelle installieren und ihren Domänennamen in einem festlegen gespeichertes Netzwerk. TOFU ermöglicht es dem Gerät, einen nicht authentifizierten öffentlichen Schlüssel zu erhalten, wenn sich ein Benutzer zum ersten Mal mit einem Unternehmensnetzwerk verbindet, und den Schlüssel für spätere Verbindungen aufzubewahren.

Hintergrund

Im Vergleich zu persönlichen Netzwerken, für die lediglich ein Kennwort erforderlich ist, verwenden Unternehmensnetzwerke die PKI-Authentifizierung (Public Key Infrastructure), bei der der Client Zertifikate vorinstallieren muss. In Android 11 oder niedriger können Benutzer in den Netzwerkeinstellungen die Option „Nicht validieren“ für das Server-CA-Zertifikat auswählen und so die Validierung des serverseitigen Zertifikats umgehen. Um jedoch die Sicherheit zu erhöhen und der WPA R2-Spezifikation zu entsprechen, führte Android 12 eine Anforderung für Unternehmensnetzwerke ein, über eine Serverzertifikatsvalidierung zu verfügen. Diese zusätzliche Anforderung stellte eine Hürde für Benutzer dar, da sie für solche Netzwerke ein CA-Zertifikat installieren müssen. TOFU bietet Benutzern die Möglichkeit, eine Verbindung zu einem PKI-basierten Unternehmensnetzwerk herzustellen, indem sie einfach dessen Stammzertifizierungsstelle akzeptieren.

Funktionsverhalten

Geräte, die TOFU unterstützen, zeigen das folgende Verhalten, wenn ein Benutzer eine Verbindung zu einem Unternehmensnetzwerk herstellt, das nicht über einen bereits installierten authentifizierten öffentlichen Schlüssel verfügt.

Stellen Sie über die Wi-Fi-Auswahl eine Verbindung zu einem neuen Netzwerk her

  1. Wählen Sie in der WLAN-Auswahl ein neues Unternehmensnetzwerk aus.

    Das Gerät zeigt einen Dialog an (Abbildung 1), um zu bestätigen, ob das Netzwerk vertrauenswürdig ist.

  2. Tippen Sie auf „Ja, Verbindung herstellen“, um die Netzwerkverbindung zu akzeptieren, oder auf „Nein, keine Verbindung herstellen“, 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, trennt das Gerät die Verbindung zum Netzwerk und deaktiviert die automatische Verbindung für das Netzwerk.

    Dialog für die TOFU-Funktion

    Abbildung 1. Dialog für die TOFU-Funktion

Stellen Sie eine Verbindung zu einem vorhandenen Netzwerk her, wobei die automatische Verbindung aktiviert ist

Wenn Sie eine Verbindung zu einem Unternehmensnetzwerk herstellen, für das die automatische Verbindung aktiviert ist, das jedoch kein gültiges CA-Zertifikat besitzt, stellt das Gerät automatisch eine Verbindung her und zeigt anschließend eine Sticky-Benachrichtigung (nicht zu schließen) an.

  1. Tippen Sie auf die Benachrichtigung.

    Das Gerät zeigt einen Dialog an (Abbildung 1), um zu bestätigen, ob das Netzwerk vertrauenswürdig ist.

  2. Tippen Sie auf „Ja, Verbindung herstellen“, um die Netzwerkverbindung zu akzeptieren, oder auf „Nein, keine Verbindung herstellen“, 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, trennt das Gerät die Verbindung zum Netzwerk und deaktiviert die automatische Verbindung für das Netzwerk.

Implementierung

Um die TOFU-Funktion zu unterstützen, implementieren Sie 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 stehen in Android 13 zur Verwendung durch Apps zur Verfügung:

Validierung

Um die Implementierung von TOFU auf Ihrem Gerät zu validieren, verwenden Sie die folgenden Tests:

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest