Android 10 presenta compatibilidad con el protocolo Wi-Fi Easy Connect, también conocido como protocolo de aprovisionamiento de dispositivos (DPP). Wi-Fi Alliance (WFA) presentó Easy Connect para Wi-Fi como alternativa a la configuración Wi-Fi protegida (WPS). WPS dejó de estar disponible en Android 9.
Easy Connect para Wi-Fi ofrece un método simple y seguro para hacer lo siguiente:
- Integrar dispositivos Wi-Fi (incluidos los dispositivos sin interfaz gráfica) a una red sin ingresar una contraseña
- Únete a redes Wi-Fi sin saber ni ingresar una contraseña.
El arranque y la autenticación se configuran mediante un URI, que se adquiere escaneando un código QR (con una cámara) o se configuran fuera de banda, por ejemplo, con BLE o NFC.
Wi-Fi Easy Connect utiliza un canal encriptado para enviar credenciales de Wi-Fi entre dispositivos y, debido a que se usan marcos de acción pública, los dispositivos pueden usar puntos de acceso existentes.
Android 10 admite Easy Connect para Wi-Fi solo en el modo de iniciador (el modo de respuesta no es compatible). Se admiten los siguientes modos de operación:
- Initiator-Configurator: Escanea el código QR para enviar las credenciales de red a un dispositivo nuevo.
- Inscrito en el iniciador: Escanea el código QR de una red para unirte a ella.
Android 10 admite el protocolo de clave precompartida (PSK) para WPA2 y la autenticación simultánea de iguales (SAE) para WPA3.
Easy Connect para Wi-Fi solo es compatible en el modo cliente (el modo SoftAP no es compatible).
Implementación
Para admitir Wi-Fi Easy Connect, implementa la interfaz solicitante proporcionada en el Proyecto de código abierto de Android (AOSP). Según la interfaz que se haya implementado, sucederá lo siguiente:
hardware/interfaces/wifi/supplicant/1.2/
o una versión posterior para HIDLhardware/interfaces/wifi/supplicant/aidl/
para AIDL
Para admitir DPP, se requiere lo siguiente:
Parches del kernel de Linux para admitir DPP:
- cfg80211
- NL80211
wpa_supplicant
compatible con DPPControlador de Wi-Fi compatible con DPP
Firmware de Wi-Fi compatible con DPP
Las APIs públicas están disponibles en Android 10 para que las usen las apps:
WifiManager#isEasyConnectSupported
: Consulta el framework para determinar si el dispositivo es compatible con Wi-Fi Easy Connect.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Permite que las apps integren Wi-Fi Easy Connect en su flujo de integración o configuración.
Habilitar Easy Connect para Wi-Fi
Para habilitar Wi-Fi Easy Connect en el framework de Android, incluye la opción de compilación CONFIG_DPP
en el archivo de configuración wpa_supplicant
, android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Validación
Para probar tu implementación, ejecuta las siguientes pruebas.
Pruebas de unidades
Ejecuta DppManagerTest
para verificar el comportamiento de las marcas de capacidad para DPP.
atest DppManagerTest
Pruebas de VTS
Si se implementa la interfaz HIDL, ejecuta VtsHalWifiSupplicantV1_2TargetTest
para probar el comportamiento de la HAL del solicitante v1.2.
Si se implementa la interfaz del AIDL, ejecuta VtsHalWifiSupplicantStaIfaceTargetTest
para probar el comportamiento de la HAL del solicitante.