Android 10 introduce compatibilidad con el protocolo Wi-Fi Easy Connect, también conocido como protocolo de aprovisionamiento de dispositivos (DPP). Wi-Fi Easy Connect fue presentado por Wi-Fi Alliance (WFA) como una alternativa a la configuración protegida de Wi-Fi (WPS). WPS quedó obsoleto en Android 9.
Wi-Fi Easy Connect proporciona un método simple y seguro para:
- Incorpore dispositivos Wi-Fi (incluidos dispositivos sin cabeza) a una red sin ingresar una contraseña.
- Únase 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 (usando una cámara), o se configura fuera de banda, por ejemplo, mediante BLE o NFC.
Wi-Fi Easy Connect utiliza un canal cifrado para enviar credenciales de Wi-Fi entre dispositivos y, debido a que se utilizan marcos de acción públicos, los dispositivos pueden usar puntos de acceso existentes.
Android 10 admite Wi-Fi Easy Connect solo en el modo iniciador (el modo respondedor no es compatible). Estos modos de operación son compatibles:
- Iniciador-Configurador: envía credenciales de red a un nuevo dispositivo escaneando su código QR.
- Iniciador-Inscrito: Únase a una red escaneando el código QR de la red.
Android 10 admite el protocolo de clave precompartida (PSK) para WPA2 y el protocolo de autenticación simultánea de iguales (SAE) para WPA3.
Wi-Fi Easy Connect solo se admite en modo cliente (el modo SoftAP no es compatible).
Implementación
Para admitir Wi-Fi Easy Connect, implemente la interfaz del solicitante proporcionada en el Proyecto de código abierto de Android (AOSP). Dependiendo de la interfaz que se implementó, esta se encuentra en:
-
hardware/interfaces/wifi/supplicant/1.2/
o una versión posterior para HIDL -
hardware/interfaces/wifi/supplicant/aidl/
para AIDL
Se requiere lo siguiente para admitir DPP:
Parches del kernel de Linux para admitir DPP:
- cfg80211
- nl80211
wpa_supplicant
con soporte para DPPControlador Wi-Fi compatible con DPP
Firmware Wi-Fi compatible con DPP
Las API públicas están disponibles en Android 10 para que las utilicen las aplicaciones:
-
WifiManager#isEasyConnectSupported
: consulta el marco para determinar si el dispositivo admite Wi-Fi Easy Connect. -
Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: permite que las aplicaciones integren Wi-Fi Easy Connect en su flujo de incorporación/configuración.
Habilitar Wi-Fi Easy Connect
Para habilitar Wi-Fi Easy Connect en el marco de Android, incluya 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 su implementación, ejecute las siguientes pruebas.
Pruebas unitarias
Ejecute DppManagerTest
para verificar el comportamiento de los indicadores de capacidad para DPP.
atest DppManagerTest
Prueba de integración (ACTS)
Para ejecutar una prueba de integración, utilice el archivo Android Comms Test Suite (ACTS), WifiDppTest.py
, ubicado en tools/test/connectivity/acts_tests/tests/google/wifi
.
pruebas VTS
Si se implementa la interfaz HIDL, ejecute VtsHalWifiSupplicantV1_2TargetTest
para probar el comportamiento del suplicante HAL v1.2.
Si se implementa la interfaz AIDL, ejecute VtsHalWifiSupplicantStaIfaceTargetTest
para probar el comportamiento del HAL suplicante.