WPA3 y Wi-Fi mejorado abierto

Android 10 presenta soporte para Wi-Fi Alliance (WFA) Wi-Fi Protected Access versión 3 (WPA3) y los estándares Wi-Fi Enhanced Open. Para obtener más información, consulte Seguridad en el sitio de WFA .

WPA3 es un nuevo estándar de seguridad WFA para redes personales y empresariales. Su objetivo es mejorar la seguridad Wi-Fi general mediante el uso de algoritmos de seguridad modernos y suites de cifrado más sólidas. WPA3 tiene dos partes:

  • WPA3-Personal: utiliza autenticación simultánea de iguales (SAE) en lugar de clave precompartida (PSK), lo que brinda a los usuarios protecciones de seguridad más sólidas contra ataques como ataques de diccionario fuera de línea, recuperación de claves y falsificación de mensajes.
  • WPA3-Enterprise: ofrece métodos de encriptación de nivel de enlace y autenticación más sólidos, y un modo de seguridad opcional de 192 bits para entornos de seguridad confidenciales.

Wi-Fi Enhanced Open es un nuevo estándar de seguridad WFA para redes públicas basado en el cifrado inalámbrico oportunista (OWE). Proporciona encriptación y privacidad en redes abiertas sin 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, brindando mayor privacidad y robustez contra ataques conocidos. Como muchos dispositivos aún no son compatibles con estos estándares o aún no han tenido actualizaciones de software para admitir estas funciones, WFA ha propuesto los siguientes modos de transición:

  • Modo de transición WPA2/WPA3: el punto de acceso de servicio admite los estándares WPA2 y WPA3 al mismo tiempo. 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 servicio admite los estándares WPA2-Enterprise y WPA3-Enterprise simultáneamente.
  • Modo de transición OWE: el punto de acceso de servicio admite OWE y estándares abiertos al mismo tiempo. En este modo, los dispositivos con Android 10 usan OWE para conectarse y los dispositivos con Android 9 o inferior se conectan al mismo punto de acceso sin ningún tipo de cifrado.

Android 12 admite la indicación de desactivación de transición, un mecanismo que le indica a un dispositivo que no use WPA2 y use WPA3 en su lugar. Cuando un dispositivo recibe esta indicación, utiliza WPA3 para conectarse a una red WPA3 que admita un modo de transición. Android 12 también es compatible con el intercambio de autenticación WPA3 Hash-to-Element (H2E). Para obtener más información, consulte la especificación WPA3 .

WPA3 y Wi-Fi Enhanced Open solo se admiten en modo cliente.

Implementación

Para admitir WPA3 y Wi-Fi Enhanced Open, implemente la interfaz Supplicant HAL. A partir de Android 13, la interfaz usa AIDL para la definición de HAL. Para versiones anteriores a Android 13, las interfaces y las particiones de proveedores usan 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_supplicant con soporte para SAE, SUITEB192 y OWE

  • Controlador Wi-Fi compatible con SAE, SUITEB192 y OWE

  • Firmware Wi-Fi compatible con SAE, SUITEB192 y OWE

  • Chip Wi-Fi con soporte para WPA3 y OWE

Los métodos de API pública están disponibles en Android 10 para permitir que las aplicaciones determinen la compatibilidad del dispositivo con estas funciones:

WifiConfiguration.java contiene nuevos tipos de gestión de claves, así como cifrados por pares, cifrados de grupo, cifrados de gestión de grupo y cifrados Suite B, que son necesarios para OWE, WPA3-Personal y WPA3-Enterprise.

Habilitación de WPA3 y Wi-Fi mejorado abierto

Para habilitar WPA3-Personal, WPA3-Enterprise y Wi-Fi Enhanced Open en el marco de Android:

  • WPA3-Personal: incluya la opción de compilación CONFIG_SAE en el archivo de configuración wpa_supplicant .

    # WPA3-Personal (SAE)
    CONFIG_SAE=y
    
  • WPA3-Enterprise: incluya las opciones de compilación CONFIG_SUITEB192 y CONFIG_SUITEB en el archivo de configuración wpa_supplicant .

    # WPA3-Enterprise (SuiteB-192)
    CONFIG_SUITEB=y
    CONFIG_SUITEB192=y
    
  • Wi-Fi Enhanced Open: incluya la opción de compilación CONFIG_OWE en el archivo de configuración wpa_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 este tipo de redes.

Validación

Para probar su implementación, ejecute las siguientes pruebas.

Pruebas unitarias

Ejecute SupplicantStaIfaceHalTest para verificar el comportamiento de los indicadores de capacidad para WPA3 y OWE.

atest SupplicantStaIfaceHalTest

Ejecute WifiManagerTest para verificar el comportamiento de las API públicas para esta función.

atest WifiManagerTest

Prueba de integración (ACTS)

Para ejecutar una prueba de integración, use el archivo Android Comms Test Suite (ACTS), WifiWpa3OweTest.py , ubicado en tools/test/connectivity/acts_tests/tests/google/wifi .

pruebas VTS

Si se implementa la interfaz HIDL, ejecute:

atest VtsHalWifiSupplicantV1_3TargetTest

Si la interfaz AIDL está implementada, ejecute:

atest VtsHalWifiSupplicantStaIfaceTargetTest