Easy Connect para Wi-Fi

Android 10 introduce compatibilidad con el protocolo Wi-Fi Easy Connect, también conocido como protocolo de aprovisionamiento de dispositivos (DPP). Wi-Fi Alliance (WFA) presentó Wi-Fi Easy Connect como una alternativa a Wi-Fi Protected Setup (WPS). WPS dejó de estar disponible en Android 9.

Wi-Fi Easy Connect proporciona un método simple y seguro para lo siguiente:

  • Integrar dispositivos Wi-Fi (incluidos los dispositivos sin interfaz gráfica) a una red sin ingresar una contraseña
  • Unirse a redes Wi-Fi sin conocer 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 usa un canal encriptado para enviar credenciales de Wi-Fi entre dispositivos y, como se usan tramas de acción públicas, los dispositivos pueden usar puntos de acceso existentes.

Android 10 admite Wi-Fi Easy Connect solo en el modo de iniciador (no se admite el modo de respondedor). Se admiten los siguientes modos de operación:

  • Iniciador-configurador: Envía credenciales de red a un dispositivo nuevo escaneando su código QR.
  • Iniciador-inscrito: Escanea el código QR de la red para unirte a ella.

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 con el modo cliente (no se admite el modo SoftAP).

Implementación

Para admitir Wi-Fi Easy Connect, implementa la interfaz de solicitante proporcionada en el Proyecto de código abierto de Android (AOSP). Según la interfaz que se implementó, esto se encuentra en:

Se requiere lo siguiente para admitir el DPP:

  • Parches del kernel de Linux para admitir DPP:

    • cfg80211
    • nl80211
  • wpa_supplicant con compatibilidad con DPP

  • Controlador de Wi-Fi compatible con DPP

  • Firmware de Wi-Fi con compatibilidad con DPP

Las APIs públicas están disponibles en Android 10 para que las usen las apps:

Cómo 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 capacidades de DPP.

atest DppManagerTest

Pruebas de VTS

Si se implementa la interfaz HIDL, ejecuta VtsHalWifiSupplicantV1_2TargetTest para probar el comportamiento del supplicant HAL v1.2.

Si se implementa la interfaz AIDL, ejecuta VtsHalWifiSupplicantStaIfaceTargetTest para probar el comportamiento del HAL del solicitante.