Easy Connect para Wi-Fi

Android 10 introduce compatibilidad con el protocolo Easy Connect de Wi-Fi, también conocido como protocolo de provisión de dispositivo (DPP). Wi-Fi Easy Connect fue presentado por Wi-Fi Alliance (WFA) 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 sencillo y seguro para realizar las siguientes acciones:

  • Incorporar dispositivos Wi-Fi (incluidos los dispositivos sin pantalla) a una red sin ingresar una contraseña
  • Unirse a redes Wi-Fi sin saber o ingresar una contraseña

El proceso de arranque y la autenticación se configuran con un URI, que se adquiere escaneando un código QR (con una cámara) o se configura fuera de banda, por ejemplo, con BLE o NFC.

Easy Connect para Wi-Fi 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 solo admite Wi-Fi Easy Connect en el modo de iniciador (no se admite el modo de respuesta). 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: Únete 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 el modo de cliente (no se admite el modo SoftAP).

Implementación

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

Para admitir el DPP, se requiere lo siguiente:

  • 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 compatible 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 para DPP.

atest DppManagerTest

Pruebas de VTS

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

Si se implementa la interfaz de AIDL, ejecuta VtsHalWifiSupplicantStaIfaceTargetTest para probar el comportamiento de la HAL de supplicant.