Fiducia al primo utilizzo (TOFU)

Per i dispositivi con Android 13 o versioni successive, Android supporta l'approccio di autenticazione Trust on First Use (TOFU) ( RFC7435 ), che consente agli utenti di fidarsi di una rete aziendale (EAP) installando la CA root utilizzata dal server e impostando il relativo nome di dominio in un rete salvata. TOFU consente al dispositivo di ottenere una chiave pubblica non autenticata quando un utente si connette per la prima volta a una rete aziendale e di conservare la chiave per le connessioni successive.

Sfondo

Rispetto alle reti personali che richiedono solo una password, le reti aziendali utilizzano l'autenticazione PKI (Public Key Infrastructure), che richiede al client di preinstallare i certificati. In Android 11 o versioni precedenti, gli utenti possono selezionare l'opzione Non convalidare per il certificato CA del server nelle impostazioni di rete, ignorando la convalida del certificato lato server. Tuttavia, per rafforzare la sicurezza e conformarsi alla specifica WPA R2, Android 12 ha introdotto l'obbligo per le reti aziendali di disporre della convalida del certificato del server. Questo requisito aggiuntivo ha creato una barriera per gli utenti poiché devono installare un certificato CA per tali reti. TOFU fornisce agli utenti un modo per connettersi a una rete aziendale basata su PKI semplicemente accettandone la CA radice.

Comportamento delle funzionalità

I dispositivi che supportano TOFU mostrano il comportamento seguente quando un utente si connette a una rete aziendale che non dispone di una chiave pubblica autenticata già installata .

Connettiti alla nuova rete tramite il selettore Wi-Fi

  1. Seleziona una nuova rete aziendale nel selettore Wi-Fi.

    Il dispositivo visualizza una finestra di dialogo (Figura 1) per confermare se la rete è attendibile.

  2. Tocca Sì, connetti per accettare la connessione di rete oppure tocca No, non connetterti per rifiutarla.

    • Se si tocca Sì, connetti , il dispositivo configura automaticamente i parametri di sicurezza, si connette alla rete e abilita la connessione automatica per la rete.

    • Se tocchi No, non connetterti , il dispositivo si disconnette dalla rete e disattiva la connessione automatica per la rete.

    Finestra di dialogo per la funzionalità TOFU

    Figura 1. Finestra di dialogo per la funzione TOFU

Connettiti alla rete esistente con la connessione automatica abilitata

Quando ci si connette a una rete aziendale in cui è abilitata la connessione automatica ma non dispone di un certificato CA valido, il dispositivo si connette automaticamente, quindi visualizza una notifica permanente (non ignorabile).

  1. Tocca la notifica.

    Il dispositivo visualizza una finestra di dialogo (Figura 1) per confermare se la rete è attendibile.

  2. Tocca Sì, connetti per accettare la connessione di rete oppure tocca No, non connetterti per rifiutarla.

    • Se si tocca Sì, connetti , il dispositivo configura automaticamente i parametri di sicurezza, si connette alla rete e abilita la connessione automatica per la rete.

    • Se tocchi No, non connetterti , il dispositivo si disconnette dalla rete e disattiva la connessione automatica per la rete.

Implementazione

Per supportare la funzionalità TOFU, implementare gli HAL supplicant forniti nel progetto Android Open Source (AOSP) in /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant .

Le seguenti API pubbliche sono disponibili in Android 13 per l'utilizzo da parte delle app:

Validazione

Per convalidare l'implementazione di TOFU sul tuo dispositivo, utilizza i seguenti test:

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest