Confiança no primeiro uso (TOFU)

Para dispositivos com o Android 13 ou versões mais recentes, o Android oferece suporte à abordagem de autenticação Trust on First Use (TOFU) (RFC7435), que permite que os usuários confiem em uma rede empresarial (EAP) instalando a CA raiz usada pelo servidor e definindo o nome de domínio dela em uma rede salva. O TOFU permite que o dispositivo receba uma chave pública não autenticada quando um usuário se conecta pela primeira vez a uma rede corporativa e retém a chave para conexões subsequentes.

Contexto

Em comparação com as redes pessoais, que exigem apenas uma senha, as redes corporativas usam a autenticação de infraestrutura de chave pública (ICP), que exige que o cliente pré-instale certificados. No Android 11 ou versões anteriores, os usuários podem selecionar a opção Do not validate (não validar) para o certificado da AC do servidor nas configurações de rede, ignorando a validação do certificado do lado do servidor. No entanto, para fortalecer a segurança e obedecer à especificação WPA R2, o Android 12 introduziu um requisito para que as redes corporativas tenham a validação do certificado do servidor. Esse requisito extra criou uma barreira para os usuários, já que eles precisam instalar um certificado de AC para essas redes. O TOFU permite que os usuários se conectem a uma rede corporativa baseada em PKI simplesmente aceitando a AC raiz.

Funcionamento do recurso

Os dispositivos compatíveis com o TOFU apresentam o seguinte comportamento quando um usuário se conecta a uma rede corporativa que não tem uma chave pública já instalada autenticada.

Conectar a uma nova rede pelo seletor de Wi-Fi

  1. Selecione uma nova rede corporativa no seletor de Wi-Fi.

    O dispositivo mostra uma caixa de diálogo (Figura 1) para confirmar se a rede é confiável.

  2. Toque em Sim, conectar para aceitar a conexão de rede ou em Não, não conectar para recusar.

    • Se você tocar em Sim, conectar, o dispositivo vai configurar automaticamente os parâmetros de segurança, conectar à rede e ativar a conexão automática com a rede.

    • Se você tocar em Não, não conecte, o dispositivo será desconectado da rede e a conexão automática será desativada.

    Caixa de diálogo do recurso TOFU

    Figura 1. Caixa de diálogo para o recurso TOFU

Conectar à rede atual com a conexão automática ativada

Ao se conectar a uma rede corporativa com a conexão automática ativada, mas sem um certificado de AC válido, o dispositivo se conecta automaticamente e mostra uma notificação fixa (não dispensável).

  1. Toque na notificação.

    O dispositivo mostra uma caixa de diálogo (Figura 1) para confirmar se a rede é confiável.

  2. Toque em Sim, conectar para aceitar a conexão de rede ou em Não, não conectar para recusar.

    • Se você tocar em Sim, conectar, o dispositivo vai configurar automaticamente os parâmetros de segurança, conectar à rede e ativar a conexão automática com a rede.

    • Se você tocar em Não, não conectar, o dispositivo será desconectado da rede e desativará a conexão automática dela.

Implementação

Para oferecer suporte ao recurso TOFU, implemente as HALs suplicantes fornecidas no Android Open Source Project (AOSP) em /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant.

As APIs públicas a seguir estão disponíveis no Android 13 para uso por apps:

Validação

Para validar a implementação do TOFU no seu dispositivo, use os seguintes testes:

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest