Para dispositivos com Android 13 ou superior, o Android oferece suporte à abordagem de autenticação Trust on First Use (TOFU) ( RFC7435 ), que permite aos usuários confiar em uma rede corporativa (EAP) instalando a CA raiz usada pelo servidor e definindo seu nome de domínio em um rede salva. O TOFU permite que o dispositivo obtenha 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.
Fundo
Em comparação com redes pessoais que exigem apenas uma senha, as redes corporativas usam autenticação de infraestrutura de chave pública (PKI), que exige que o cliente pré-instale certificados. No Android 11 ou inferior, os usuários podem selecionar a opção Não validar para o certificado CA 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 cumprir a especificação WPA R2, o Android 12 introduziu um requisito para que as redes corporativas tenham validação de certificado de servidor. Este requisito adicional criou uma barreira para os usuários, pois eles precisam instalar um certificado CA para essas redes. O TOFU fornece uma maneira para os usuários se conectarem a uma rede corporativa baseada em PKI simplesmente aceitando sua CA raiz.
Comportamento do recurso
Os dispositivos que suportam TOFU exibem o seguinte comportamento quando um usuário se conecta a uma rede corporativa que não possui uma chave pública autenticada já instalada .
Conecte-se à nova rede através do seletor de Wi-Fi
Selecione uma nova rede corporativa no seletor de Wi-Fi.
O dispositivo exibe uma caixa de diálogo (Figura 1) para confirmar se a rede é confiável.
Toque em Sim, conectar para aceitar a conexão de rede ou toque em Não, não conectar para recusar.
Se você tocar em Sim, conectar , o dispositivo configurará automaticamente os parâmetros de segurança, conectará à rede e ativará a conexão automática para a rede.
Se você tocar em Não, não conecte , o dispositivo se desconectará da rede e desativará a conexão automática da rede.
Figura 1. Caixa de diálogo para o recurso TOFU
Conecte-se à rede existente com a conexão automática ativada
Ao se conectar a uma rede corporativa com conexão automática habilitada, mas sem um certificado CA válido, o dispositivo se conecta automaticamente e exibe uma notificação fixa (não dispensável).
Toque na notificação.
O dispositivo exibe uma caixa de diálogo (Figura 1) para confirmar se a rede é confiável.
Toque em Sim, conectar para aceitar a conexão de rede ou toque em Não, não conectar para recusar.
Se você tocar em Sim, conectar , o dispositivo configurará automaticamente os parâmetros de segurança, conectará à rede e ativará a conexão automática para a rede.
Se você tocar em Não, não conecte , o dispositivo se desconectará da rede e desativará a conexão automática da rede.
Implementação
Para oferecer suporte ao recurso TOFU, implemente os HALs suplicantes fornecidos no Android Open Source Project (AOSP) em /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant
.
As seguintes APIs públicas estão disponíveis no Android 13 para uso por apps:
-
WifiManager#isTrustOnFirstUseSupported()
: Indica se o dispositivo suporta TOFU. -
WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)
: ativa o TOFU. -
WifiEnterpriseConfig#isTrustOnFirstUseEnabled()
: Indica se o TOFU está habilitado.
Validação
Para validar a implementação do TOFU no seu dispositivo, utilize os seguintes testes:
- CTS:
CtsWifiTestCases
- VTS:
VtsHalWifiSupplicantStaNetworkTargetTest