Android 10 incluye compatibilidad con los estándares de Wi-Fi Protected Access versión 3 (WPA3) y Wi-Fi Enhanced Open de Wi-Fi Alliance (WFA). Para obtener más información, consulta Security en el sitio de WFA.
WPA3 es un nuevo estándar de seguridad de WFA para redes personales y empresariales. Su objetivo es mejorar la seguridad general de Wi-Fi mediante el uso de algoritmos de seguridad modernos y conjuntos de cifrado más potentes. WPA3 tiene dos partes:
- WPA3-Personal: Usa la autenticación simultánea de iguales (SAE) en lugar de la clave precompartida (PSK), lo que proporciona a los usuarios protecciones de seguridad más potentes contra ataques como ataques con diccionarios sin conexión, recuperación de claves y falsificación de mensajes.
- WPA3-Enterprise: Ofrece métodos de autenticación y encriptación de capa de vínculo más potentes, y un modo de seguridad opcional de 192 bits para entornos de seguridad sensibles.
Wi-Fi Enhanced Open es un nuevo estándar de seguridad de WFA para redes públicas basado en la encriptación inalámbrica oportunista (OWE). Proporciona encriptación y privacidad en redes abiertas y no protegidas con contraseña en áreas como cafeterías, hoteles, restaurantes y bibliotecas. Enhanced Open no proporciona autenticación.
WPA3 y Wi-Fi Enhanced Open mejoran la seguridad general de Wi-Fi, lo que proporciona mayor privacidad y solidez frente a ataques conocidos. Como muchos dispositivos aún no admiten estos estándares o no se actualizaron para admitir estas funciones, WFA propuso los siguientes modos de transición:
- Modo de transición de WPA2/WPA3: El punto de acceso de servicio admite los estándares WPA2 y WPA3 de forma simultánea. En este modo, los dispositivos con Android 10 usan WPA3 para conectarse, y los dispositivos con Android 9 o versiones anteriores usan WPA2 para conectarse al mismo punto de acceso.
- Modo de transición de WPA2/WPA3-Enterprise: El punto de acceso de servicio admite los estándares WPA2-Enterprise y WPA3-Enterprise de forma simultánea.
- Modo de transición de OWE: El punto de acceso de servicio admite los estándares OWE y abiertos de forma simultánea. En este modo, los dispositivos con Android 10 usan OWE para conectarse, y los dispositivos con Android 9 o versiones anteriores se conectan al mismo punto de acceso sin encriptación.
Android 12 admite la indicación de inhabilitación de la transición, un mecanismo que le indica a un dispositivo que no use WPA2 y que use WPA3 en su lugar. Cuando un dispositivo recibe esta indicación, usa WPA3 para conectarse a una red WPA3 que admite un modo de transición. Android 12 también admite el intercambio de autenticación de Hash-to-Element (H2E) de WPA3. Para obtener más información, consulta la especificación de WPA3.
WPA3 y Wi-Fi Enhanced Open solo se admiten en el modo cliente.
Implementación
Para admitir WPA3 y Wi-Fi Enhanced Open, implementa la interfaz HAL de Supplicant.
A partir de Android 13, la interfaz usa el lenguaje de definición de la interfaz de Android (AIDL) para la definición de HAL. En las versiones anteriores a Android 13, las interfaces y las particiones del proveedor usan el lenguaje de definición de la interfaz de HAL (HIDL). La interfaz HIDL se puede encontrar en
hardware/interfaces/wifi/supplicant/1.3/, y la interfaz AIDL se puede
encontrar en hardware/interfaces/wifi/supplicant/aidl/.
Se requiere lo siguiente para admitir WPA3 y OWE:
- Parches del kernel de Linux para admitir SAE y OWE
- cfg80211
- nl80211
wpa_supplicantcon compatibilidad para SAE, SUITEB192 y OWE- Controlador de Wi-Fi con compatibilidad para SAE, SUITEB192 y OWE
- Firmware de Wi-Fi con compatibilidad para SAE, SUITEB192 y OWE
- Chip de Wi-Fi con compatibilidad para WPA3 y OWE
Los métodos de la API pública están disponibles en Android 10 para permitir que las apps determinen la compatibilidad del dispositivo con estas funciones:
WifiManager#isWpa3SaeSupportedWifiManager#isWpa3SuiteBSupportedWifiManager#isEnhancedOpenSupported
WifiConfiguration.java contiene nuevos tipos de administración de claves, así como cifrados por pares, cifrados de grupo, cifrados de administración de grupos y cifrados de Suite B, que son necesarios para OWE, WPA3-Personal y WPA3-Enterprise.
Habilita WPA3 y Wi-Fi Enhanced Open
Para habilitar WPA3-Personal, WPA3-Enterprise y Wi-Fi Enhanced Open en el framework de Android, haz lo siguiente:
WPA3-Personal: Incluye la opción de compilación
CONFIG_SAEen elwpa_supplicantarchivo de configuración.# WPA3-Personal (SAE) CONFIG_SAE=yWPA3-Enterprise: Incluye las opciones de compilación
CONFIG_SUITEB192yCONFIG_SUITEBen el archivo de configuraciónwpa_supplicant.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=yWi-Fi Enhanced Open: Incluye la opción de compilación
CONFIG_OWEen el archivo de configuraciónwpa_supplicant.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Si WPA3-Personal, WPA3-Enterprise o Wi-Fi Enhanced Open no están habilitados, los usuarios no podrán agregar, escanear ni conectarse manualmente a estos tipos de redes.
Validación
Para probar tu implementación, ejecuta las siguientes pruebas.
Pruebas de unidades
Ejecuta SupplicantStaIfaceHalTest para verificar el comportamiento de las marcas de capacidad
para WPA3 y OWE.
atest SupplicantStaIfaceHalTestEjecuta WifiManagerTest para verificar el comportamiento de las APIs públicas de esta
función.
atest WifiManagerTestPruebas de VTS
Si se implementa la interfaz HIDL, ejecuta lo siguiente:
atest VtsHalWifiSupplicantV1_3TargetTestSi se implementa la interfaz AIDL, ejecuta lo siguiente:
atest VtsHalWifiSupplicantStaIfaceTargetTest