Conexão fácil Wi-Fi

O Android 10 apresenta suporte para o protocolo Wi-Fi Easy Connect, também conhecido como protocolo de provisionamento de dispositivos (DPP). O Wi-Fi Easy Connect foi introduzido pela Wi-Fi Alliance (WFA) como uma alternativa ao Wi-Fi Protected Setup (WPS). WPS foi descontinuado no Android 9.

O Wi-Fi Easy Connect oferece um método simples e seguro para:

  • Integre dispositivos Wi-Fi (incluindo dispositivos headless) a uma rede sem inserir uma senha.
  • Junte-se a redes Wi-Fi sem saber ou inserir uma senha.

O bootstrapping e a autenticação são configurados usando um URI, que é adquirido pela leitura de um código QR (usando uma câmera) ou configurado fora da banda, por exemplo, usando BLE ou NFC.

O Wi-Fi Easy Connect usa um canal criptografado para enviar credenciais de Wi-Fi entre dispositivos e, como são usados ​​frames de ação pública, os dispositivos podem usar pontos de acesso existentes.

O Android 10 oferece suporte ao Wi-Fi Easy Connect apenas no modo iniciador (o modo de resposta não é compatível). Estes modos de operação são suportados:

  • Iniciador-Configurador: Envie credenciais de rede para um novo dispositivo digitalizando seu código QR.
  • Iniciador-Inscrito: Junte-se a uma rede digitalizando o código QR da rede.

O Android 10 oferece suporte ao protocolo de chave pré-compartilhada (PSK) para WPA2 e ao protocolo de autenticação simultânea de iguais (SAE) para WPA3.

O Wi-Fi Easy Connect é compatível apenas no modo cliente (o modo SoftAP não é compatível).

Implementação

Para oferecer suporte ao Wi-Fi Easy Connect, implemente a interface suplicante fornecida no Android Open Source Project (AOSP). Dependendo da interface que foi implementada, está em:

Os itens a seguir são necessários para oferecer suporte ao DPP:

  • Patches do kernel Linux para suporte ao DPP:

    • cfg80211
    • nl80211
  • wpa_supplicant com suporte para DPP

  • Driver Wi-Fi com suporte para DPP

  • Firmware Wi-Fi com suporte para DPP

APIs públicas estão disponíveis no Android 10 para uso por aplicativos:

Ativando o Wi-Fi Easy Connect

Para ativar o Wi-Fi Easy Connect na estrutura Android, inclua a opção de compilação CONFIG_DPP no arquivo de configuração wpa_supplicant , android.config :

# Easy Connect (Device Provisioning Protocol - DPP)
CONFIG_DPP=y

Validação

Para testar sua implementação, execute os testes a seguir.

Testes unitários

Execute DppManagerTest para verificar o comportamento dos sinalizadores de capacidade do DPP.

atest DppManagerTest

Teste de integração (ACTS)

Para executar um teste de integração, use o arquivo Android Comms Test Suite (ACTS), WifiDppTest.py , localizado em tools/test/connectivity/acts_tests/tests/google/wifi .

Testes VTS

Se a interface HIDL for implementada, execute VtsHalWifiSupplicantV1_2TargetTest para testar o comportamento do suplicante HAL v1.2.

Se a interface AIDL for implementada, execute VtsHalWifiSupplicantStaIfaceTargetTest para testar o comportamento do HAL suplicante.