Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Privacidad: MAC Randomization

A partir de Android 8.0, los dispositivos Android utilizan direcciones MAC aleatorias cuando buscan nuevas redes mientras no están asociadas actualmente a una red. En Android 9, puede habilitar una opción de desarrollador (está deshabilitada de manera predeterminada) para hacer que el dispositivo use una dirección MAC aleatoria al conectarse a una red Wi-Fi.

En Android 10, la aleatorización de MAC está habilitada de forma predeterminada para el modo cliente, SoftAp y Wi-Fi Direct.

La aleatorización de MAC evita que los oyentes utilicen direcciones MAC para crear un historial de la actividad del dispositivo, lo que aumenta la privacidad del usuario.

Además, las direcciones MAC se asignan al azar como parte de las operaciones Wi-Fi Aware y Wi-Fi RTT .

Implementación

Para implementar la aleatorización de MAC en su dispositivo:

  1. Trabaje con un proveedor de chips Wi-Fi para implementar los siguientes métodos HAL:

    • IWifiStaIface#setMacAddress : Configura la dirección MAC de la interfaz. La implementación predeterminada baja la interfaz, cambia la dirección MAC y vuelve a activar la interfaz.
    • IWifiStaIface#getFactoryMacAddress : Obtiene la MAC de fábrica de wlan0 usando una ioctl .
    • ISupplicantP2pIface#setMacRandomization : ISupplicantP2pIface#setMacRandomization o desactiva la aleatorización de MAC P2P en el solicitante.
  2. Establezca config_wifi_connected_mac_randomization_supported en true en la configuración config.xml (esto se puede hacer en una superposición personalizada del dispositivo).

    • Este indicador se utiliza para controlar si la aleatorización de MAC en modo cliente está habilitada.
  3. Establezca config_wifi_p2p_mac_randomization_supported en true en la configuración config.xml (esto se puede hacer en una superposición personalizada del dispositivo).

    • Esta bandera se utiliza para controlar si la aleatorización MAC directa de Wi-Fi está habilitada.
  4. Pruebe su implementación utilizando los métodos descritos en Validación .

La interfaz de usuario del sistema debe:

  • Tiene la opción de habilitar o deshabilitar la aleatorización para cada SSID.
  • Tener habilitada la aleatorización de MAC de forma predeterminada para todas las redes recién agregadas.

Utilice la implementación de referencia de la interfaz de usuario de Configuración para implementar nuevas solicitudes.

Es posible que los dispositivos que ejecutan Android 9 o versiones anteriores no admitan la aleatorización MAC Wi-Fi. Al actualizar dichos dispositivos a Android 10, la función de aleatorización MAC de Wi-Fi se puede deshabilitar configurando el indicador WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION en verdadero en el archivo de creación HAL del proveedor de Wi-Fi.

Validación

Para validar que la función funciona según lo previsto, ejecute una prueba de integración (ACTS) y una prueba manual.

Para ejecutar una prueba de integración, use el archivo ACTS, WifiMacRandomizationTest.py , que se encuentra en tools/test/connectivity/acts/tests/google/wifi WifiMacRandomizationTest.py / WifiMacRandomizationTest.py tools/test/connectivity/acts/tests/google/wifi , para verificar que el dispositivo usa la dirección MAC aleatoria y almacena correctamente la dirección MAC aleatoria para cada la red.

Para ejecutar una prueba manual:

  1. Verifique que la aleatorización de MAC esté habilitada en el dispositivo verificando que config_wifi_connected_mac_randomization_supported esté establecido en true en la superposición del dispositivo.
  2. Conéctese a una red Wi-Fi.
  3. Toque la red para ir a la página de detalles de la red. Verifique que la aleatorización de MAC esté activada. Verifique que la dirección MAC mostrada sea una MAC aleatoria, que tenga el bit generado localmente establecido en 1 y el bit de multidifusión establecido en 0.
  4. Desactive la aleatorización de MAC. Conéctese a la misma red y verifique que se esté utilizando la MAC de fábrica.
  5. Elimina la red tocando Olvidar en la página de detalles de la red.
  6. Conéctese a la misma red y verifique que se esté utilizando la misma dirección MAC aleatoria.

Para probar la aleatorización de MAC en un dispositivo anterior a Android 10 (capaz de admitir la aleatorización de MAC) actualizando a Android 10 o superior:

  1. Tener al menos una red guardada en un dispositivo con Android 9 o una versión anterior.
  2. Actualice la imagen del sistema Android 10.
  3. En el selector de Wi-Fi, verifique que la aleatorización de MAC esté desactivada para todas las redes guardadas.
  4. Active la aleatorización de MAC. Conéctese a la misma red y verifique que se esté utilizando la MAC aleatoria.