O Android 10 apresenta suporte para os padrões Wi-Fi Protected Access versão 3 (WPA3) e Wi-Fi Enhanced Open da Wi-Fi Alliance (WFA). Para obter mais informações, consulte Segurança no site WFA .
WPA3 é um novo padrão de segurança WFA para redes pessoais e empresariais. Ele visa melhorar a segurança geral do Wi-Fi usando algoritmos de segurança modernos e conjuntos de cifras mais fortes. WPA3 tem duas partes:
- WPA3-Personal: Usa autenticação simultânea de iguais (SAE) em vez de chave pré-compartilhada (PSK), fornecendo aos usuários proteções de segurança mais fortes contra ataques como ataques de dicionário offline, recuperação de chave e falsificação de mensagens.
- WPA3-Enterprise: Oferece métodos de autenticação e criptografia de camada de link mais fortes e um modo de segurança opcional de 192 bits para ambientes de segurança confidenciais.
Wi-Fi Enhanced Open é um novo padrão de segurança WFA para redes públicas baseado em criptografia sem fio oportunista (OWE). Ele fornece criptografia e privacidade em redes abertas e não protegidas por senha em áreas como cafés, hotéis, restaurantes e bibliotecas. O Enhanced Open não fornece autenticação.
WPA3 e Wi-Fi Enhanced Open melhoram a segurança geral do Wi-Fi, proporcionando melhor privacidade e robustez contra ataques conhecidos. Como muitos dispositivos ainda não oferecem suporte a esses padrões ou ainda não tiveram atualizações de software para oferecer suporte a esses recursos, o WFA propôs os seguintes modos de transição:
- Modo de transição WPA2/WPA3: O ponto de acesso de serviço suporta os padrões WPA2 e WPA3 simultaneamente. Nesse modo, os dispositivos Android 10 usam WPA3 para se conectar e os dispositivos com Android 9 ou inferior usam WPA2 para se conectar ao mesmo ponto de acesso.
- Modo de transição WPA2/WPA3-Enterprise: O ponto de acesso de serviço suporta os padrões WPA2-Enterprise e WPA3-Enterprise simultaneamente.
- Modo de transição OWE: O ponto de acesso de serviço suporta OWE e padrões abertos simultaneamente. Nesse modo, os dispositivos Android 10 usam o OWE para se conectar e os dispositivos com Android 9 ou inferior se conectam ao mesmo ponto de acesso sem qualquer criptografia.
O Android 12 é compatível com a indicação Transition Disable, um mecanismo que instrui um dispositivo a não usar WPA2 e usar WPA3. Quando um dispositivo recebe essa indicação, ele usa WPA3 para se conectar a uma rede WPA3 que suporte um modo de transição. O Android 12 também oferece suporte à troca de autenticação WPA3 Hash-to-Element (H2E). Para obter mais informações, consulte a Especificação WPA3 .
WPA3 e Wi-Fi Enhanced Open são suportados apenas no modo cliente.
Implementação
Para oferecer suporte a WPA3 e Wi-Fi Enhanced Open, implemente a linguagem de design de interface HAL suplicante (HIDL) fornecida no Android Open Source Project (AOSP) em hardware/interfaces/wifi/supplicant/1.3/
.
O seguinte é necessário para suportar WPA3 e OWE:
Correções do kernel do Linux para suportar SAE e OWE
- cfg80211
- nl80211
wpa_supplicant
com suporte para SAE, SUITEB192 e OWEDriver Wi-Fi com suporte para SAE, SUITEB192 e OWE
Firmware Wi-Fi com suporte para SAE, SUITEB192 e OWE
Chip Wi-Fi com suporte para WPA3 e OWE
Os métodos de API pública estão disponíveis no Android 10 para permitir que os aplicativos determinem o suporte do dispositivo para estes recursos:
-
WifiManager#isWpa3SaeSupported
-
WifiManager#isWpa3SuiteBSupported
-
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
contém novos tipos de gerenciamento de chaves, bem como cifras em pares, cifras de grupo, cifras de gerenciamento de grupo e cifras Suite B, que são necessárias para OWE, WPA3-Personal e WPA3-Enterprise.
Ativando WPA3 e Wi-Fi Enhanced Open
Para habilitar WPA3-Personal, WPA3-Enterprise e Wi-Fi Enhanced Open na estrutura do Android:
WPA3-Personal: Inclua a opção de compilação
CONFIG_SAE
no arquivo de configuraçãowpa_supplicant
.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: Inclua as opções de compilação
CONFIG_SUITEB192
eCONFIG_SUITEB
no arquivo de configuraçãowpa_supplicant
.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Wi-Fi Enhanced Open: Inclua a opção de compilação
CONFIG_OWE
no arquivo de configuraçãowpa_supplicant
.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Se WPA3-Personal, WPA3-Enterprise ou Wi-Fi Enhanced Open não estiverem habilitados, os usuários não poderão adicionar, verificar ou conectar-se manualmente a esses tipos de redes.
Validação
Para testar sua implementação, execute os testes a seguir.
Testes de unidade
Execute SupplicantStaIfaceHalTest
para verificar o comportamento dos sinalizadores de capacidade para WPA3 e OWE.
atest SupplicantStaIfaceHalTest
Execute WifiManagerTest
para verificar o comportamento das APIs públicas para este recurso.
atest WifiManagerTest
Teste de integração (ACTS)
Para executar um teste de integração, use o arquivo Android Comms Test Suite (ACTS), WifiWpa3OweTest.py
, localizado em tools/test/connectivity/acts_tests/tests/google/wifi
.
Testes VTS
Execute VtsHalWifiSupplicantV1_3TargetTest
para testar o comportamento do suplicante HAL 1.3.
vts-tradefed run commandAndExit vts --skip-all-system-status-check --primary-abi-only --skip-preconditions --module VtsHalWifiSupplicantV1_3Target