Android 10 incluye compatibilidad con los estándares Wi-Fi Protected Access 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 seguros. 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 la WFA para redes públicas basado en la encriptación inalámbrica oportunista (OWE). Proporciona encriptación y privacidad en redes abiertas no protegidas por contraseña 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 de WPA2/WPA3: El punto de acceso de publicación admite los estándares WPA2 y WPA3 de forma simultánea. En este modo, los dispositivos Android 10 usan WPA3 para conectarse, y los dispositivos que ejecutan Android 9 o versiones anteriores usan WPA2 para conectarse al mismo punto de acceso.
- Modo de transición de WPA2/WPA3-Empresarial: El punto de acceso de publicación admite los estándares WPA2-Empresarial y WPA3-Empresarial de forma simultánea.
- Modo de transición de OWE: El punto de acceso de publicación admite OWE y estándares 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, 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/
.
Se requiere lo siguiente para admitir WPA3 y OWE:
Parches del kernel de Linux para admitir SAE y OWE
- cfg80211
- nl80211
wpa_supplicant
con compatibilidad 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.
Habilita 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-Empresarial: 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 de esta función.
atest WifiManagerTest
Pruebas de VTS
Si se implementó la interfaz HIDL, ejecuta lo siguiente:
atest VtsHalWifiSupplicantV1_3TargetTest
Si se implementa la interfaz AIDL, ejecuta lo siguiente:
atest VtsHalWifiSupplicantStaIfaceTargetTest