Android 10 incluye compatibilidad con los estándares 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 Seguridad en el sitio de la WFA.
WPA3 es un nuevo estándar de seguridad de la 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 algoritmos de cifrado más sólidos. 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 sólidas contra ataques como los ataques con diccionarios sin conexión, la recuperación de claves y la falsificación de mensajes.
- WPA3-Empresarial: Ofrece métodos de autenticación y encriptación de capa de vínculo más seguros, 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 que no están protegidas por contraseñas en áreas como cafeterías, hoteles, restaurantes y bibliotecas. La apertura mejorada no proporciona autenticación.
WPA3 y Wi-Fi Enhanced Open mejoran la seguridad general de Wi-Fi, lo que proporciona una mayor privacidad y solidez frente a ataques conocidos. Como muchos dispositivos aún no admiten estos estándares o aún no tienen actualizaciones de software para admitir estas funciones, la WFA propuso los siguientes modos de transición:
- Modo de transición WPA2/WPA3: El punto de acceso de entrega 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 WPA2/WPA3-Enterprise: El punto de acceso de entrega es compatible con los estándares WPA2-Enterprise y WPA3-Enterprise al mismo tiempo.
- Modo de transición OWE: El punto de acceso de entrega admite estándares abiertos y OWE al mismo tiempo. En este modo, los dispositivos con Android 10 usan la OWE para conectarse, y los dispositivos que ejecutan 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, en su lugar, use WPA3. Cuando un dispositivo recibe esta indicación, usa WPA3 para conectarse a una red WPA3 que admita un modo de transición. Android 12 también admite el intercambio de autenticación de hash a elemento (H2E) de WPA3. Para obtener más información, consulta la Especificación de WPA3.
WPA3 y Wi-Fi Enhanced Open solo son compatibles con el modo cliente.
Implementación
Para admitir WPA3 y Wi-Fi Enhanced Open, implementa la interfaz de HAL del solicitante.
A partir de Android 13, la interfaz usa AIDL para la definición de HAL.
En las versiones anteriores a Android 13, las interfaces y las particiones del proveedor usan HIDL.
La interfaz HIDL se encuentra en hardware/interfaces/wifi/supplicant/1.3/
y la interfaz AIDL se encuentra en hardware/interfaces/wifi/supplicant/aidl/
.
Para admitir WPA3 y OWE, se requiere lo siguiente:
Parches del kernel de Linux para admitir SAE y OWE
- cfg80211
- nl80211
wpa_supplicant
compatible con SAE, SUITEB192 y OWEControlador de Wi-Fi compatible con SAE, SUITEB192 y OWE
Firmware de Wi-Fi compatible con SAE, SUITEB192 y OWE
Chip Wi-Fi compatible con WPA3 y OWE
Los métodos de API públicos están disponibles en Android 10 para permitir que las apps determinen la compatibilidad del dispositivo con estas funciones:
WifiManager#isWpa3SaeSupported
WifiManager#isWpa3SuiteBSupported
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
contiene nuevos tipos de administración de claves, así como algoritmos de cifrado por pares, algoritmos de cifrado de grupo, algoritmos de cifrado de administración de grupos y algoritmos de cifrado de Suite B, que son obligatorios para OWE, WPA3-Personal y WPA3-Empresarial.
Habilitar WPA3 y Wi-Fi Enhanced Open
Para habilitar WPA3-Personal, WPA3-Empresarial y Wi-Fi Enhanced Open en el framework de Android, haz lo siguiente:
WPA3-Personal: Incluye la opción de compilación
CONFIG_SAE
en el archivo de configuraciónwpa_supplicant
.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: Incluye las opciones de compilación
CONFIG_SUITEB192
yCONFIG_SUITEB
en el archivo de configuraciónwpa_supplicant
.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Wi-Fi Enhanced Open: Incluye la opción de compilación
CONFIG_OWE
en el archivo de configuraciónwpa_supplicant
.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Si no están habilitados WPA3-Personal, WPA3-Enterprise o Wi-Fi Enhanced Open, los usuarios no podrán agregar, escanear ni conectarse a estos tipos de redes de forma manual.
Validación
Para probar tu implementación, ejecuta las siguientes pruebas.
Pruebas de unidades
Ejecuta
SupplicantStaIfaceHalTest
para verificar el comportamiento de las marcas de capacidades de WPA3 y OWE.
atest SupplicantStaIfaceHalTest
Ejecuta WifiManagerTest
para verificar el comportamiento de las APIs públicas para esta función.
atest WifiManagerTest
Pruebas de VTS
Si se implementa la interfaz HIDL, ejecuta lo siguiente:
atest VtsHalWifiSupplicantV1_3TargetTest
Si la interfaz de AIDL está implementada, ejecuta lo siguiente:
atest VtsHalWifiSupplicantStaIfaceTargetTest