Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Implementación de la aleatorización de MAC

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 activar una opción de desarrollador (que está desactivado por defecto) para hacer que el dispositivo para utilizar una dirección MAC asignados al azar cuando se conecta 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 son asignados al azar como parte de Wi-Fi Consciente y Wi-Fi RTT operaciones.

Para obtener más información, consulte Comportamiento MAC aleatorización .

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 fábrica MAC del wlan0 utilizando un ioctl llamada.
    • ISupplicantP2pIface#setMacRandomization : Establece la aleatorización P2P MAC de encendido / apagado en el suplicante.
  2. Conjunto config_wifi_connected_mac_randomization_supported a true en la configuración config.xml (esto se puede hacer en una plantilla personalizada dispositivo).

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

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

La interfaz de usuario del sistema debe:

  • Tiene una opción para 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.

Usar la implementación de referencia de la interfaz de usuario Configuración de implementar nuevas indicaciones.

Es posible que los dispositivos que ejecutan Android 9 o versiones anteriores no sean compatibles con la aleatorización MAC de Wi-Fi. Al actualizar estos dispositivos a Android 10, la función de aleatorización Wi-Fi MAC puede ser desactivado mediante el establecimiento de la WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION marca como true en el archivo make proveedor HAL 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, por utilizar los actos de archivos, WifiMacRandomizationTest.py , situada en tools/test/connectivity/acts/tests/google/wifi , para verificar que el dispositivo utiliza la dirección MAC asignados al azar y correcta almacena la dirección MAC al azar para cada la red.

Para ejecutar una prueba manual:

  1. Compruebe que la aleatorización MAC está activado en el dispositivo mediante la comprobación de que config_wifi_connected_mac_randomization_supported se establece en true en la superposición 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. Eliminar la red pulsando en Borrar en la página de detalles de red.
  6. Se conecta a la misma red y verificar que se está utilizando la misma dirección MAC aleatorizado.

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.