Android 10 presenta 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:
- Dispositivos Wi-Fi integrados (incluidos los dispositivos sin cabeza) a una red sin ingresar una contraseña.
- Únase a redes Wi-Fi sin saber o ingresar una contraseña.
El bootstrapping y la autenticación se configuran usando un URI, que se adquiere escaneando un código QR (usando una cámara), o se configura fuera de banda, por ejemplo, usando BLE o NFC.
Wi-Fi Easy Connect usa 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 es compatible con Wi-Fi Easy Connect solo en el modo de iniciador (el modo de respuesta no es compatible). Se admiten estos modos de funcionamiento:
- 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 es compatible en modo cliente (el modo SoftAP no es compatible).
Implementación
Para admitir Wi-Fi Easy Connect, implemente la interfaz de suplicante proporcionada en el Proyecto de código abierto de Android (AOSP). Dependiendo de la interfaz que se implementó, esto es 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 con soporte para DPP
Firmware Wi-Fi con soporte para DPP
Las API públicas están disponibles en Android 10 para que las usen las aplicaciones:
-
WifiManager#isEasyConnectSupported
: consulta el marco para determinar si el dispositivo es compatible con 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.
Habilitación de 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, use el archivo de 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 de la HAL suplicante.