Aberto aprimorado para WPA3 e Wi-Fi

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. O objetivo é melhorar a segurança geral do Wi-Fi usando algoritmos de segurança modernos e conjuntos de criptografia 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 autenticação mais forte e métodos de criptografia de camada de link, além de um modo de segurança opcional de 192 bits para ambientes de segurança sensíveis.

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 suportam esses padrões ou ainda não tiveram atualizações de software para suportar 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 oferece suporte a padrões abertos e OWE simultaneamente. Nesse modo, os dispositivos Android 10 usam OWE para se conectar, e os dispositivos que executam o Android 9 ou inferior se conectam ao mesmo ponto de acesso sem qualquer criptografia.

O Android 12 oferece suporte à indicação Transition Disable, um mecanismo que instrui um dispositivo a não usar WPA2 e usar WPA3. Quando um dispositivo recebe esta indicação, ele usa WPA3 para se conectar a uma rede WPA3 que suporta 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 interface Supplicant HAL. A partir do Android 13, a interface usa AIDL para a definição de HAL. Para versões anteriores ao Android 13, as interfaces e partições de fornecedores usam HIDL. A interface HIDL pode ser encontrada em hardware/interfaces/wifi/supplicant/1.3/ , e a interface AIDL pode ser encontrada em hardware/interfaces/wifi/supplicant/aidl/ ,

Os itens a seguir são necessários para oferecer suporte a WPA3 e OWE:

  • Patches do kernel Linux para suportar SAE e OWE

    • cfg80211
    • nl80211
  • wpa_supplicant com suporte para SAE, SUITEB192 e OWE

  • Driver 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:

WifiConfiguration.java contém novos tipos de gerenciamento de chaves, bem como cifras de 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 ativar WPA3-Personal, WPA3-Enterprise e Wi-Fi Enhanced Open na estrutura Android:

  • WPA3-Personal: Inclui a opção de compilação CONFIG_SAE no arquivo de configuração wpa_supplicant .

    # WPA3-Personal (SAE)
    CONFIG_SAE=y
    
  • WPA3-Enterprise: inclua as opções de compilação CONFIG_SUITEB192 e CONFIG_SUITEB no arquivo de configuração wpa_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ção wpa_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 unitários

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 deste 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

Se a interface HIDL estiver implementada, execute:

atest VtsHalWifiSupplicantV1_3TargetTest

Se a interface AIDL estiver implementada, execute:

atest VtsHalWifiSupplicantStaIfaceTargetTest