O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Implementando a randomização de MAC

A partir do Android 8.0, os dispositivos Android usam endereços MAC aleatórios ao sondar por novas redes, embora não estejam atualmente associados a uma rede. Em Android 9, você pode ativar uma opção de desenvolvedor (é desabilitada por padrão) para fazer com que o dispositivo para usar um endereço MAC randomizados ao se conectar a uma rede Wi-Fi.

No Android 10, a randomização de MAC é habilitada por padrão para o modo cliente, SoftAp e Wi-Fi Direct.

A randomização de MAC impede que os ouvintes usem endereços MAC para construir um histórico de atividade do dispositivo, aumentando assim a privacidade do usuário.

Além disso, os endereços MAC são randomizados, como parte de Wi-Fi Consciente e Wi-Fi RTT operações.

Para mais informações, consulte MAC Randomization Comportamento .

Implementação

Para implementar a randomização MAC em seu dispositivo:

  1. Trabalhe com um fornecedor de chip Wi-Fi para implementar os seguintes métodos HAL:

    • IWifiStaIface#setMacAddress : Configura o endereço MAC da interface. A implementação padrão desativa a interface, altera o endereço MAC e ativa a interface novamente.
    • IWifiStaIface#getFactoryMacAddress : Obtém a fábrica MAC de wlan0 usando um ioctl chamada.
    • ISupplicantP2pIface#setMacRandomization : Define P2P MAC randomização on / off na suplicante.
  2. Set config_wifi_connected_mac_randomization_supported a true na Configurações config.xml (isso pode ser feito em um overlay personalizado dispositivo).

    • Este sinalizador é usado para controlar se a randomização MAC no modo cliente está habilitada.
  3. Set config_wifi_p2p_mac_randomization_supported a true na Configurações config.xml (isso pode ser feito em um overlay personalizado dispositivo).

    • Este sinalizador é usado para controlar se a randomização MAC direta de Wi-Fi está habilitada.
  4. Teste a sua implementação usando os métodos descritos na validação .

A IU do sistema deve:

  • Tem a opção de habilitar ou desabilitar a randomização para cada SSID.
  • Tenha a randomização MAC ativada por padrão para todas as redes recém-adicionadas.

Utilizar a implementação de referência de Configurações de UI para implementar novas instruções.

Dispositivos com Android 9 ou inferior podem não ter suporte para randomização MAC de Wi-Fi. Ao atualizar tais dispositivos para Android 10, o recurso de randomização Wi-Fi MAC pode ser desativado, definindo o WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION bandeira para true no arquivo make fornecedor HAL Wi-Fi.

Validação

Para validar se o recurso está funcionando conforme o esperado, execute um teste de integração (ACTS) e um teste manual.

Para executar um teste de integração, use os atos de arquivo, WifiMacRandomizationTest.py , localizada em tools/test/connectivity/acts/tests/google/wifi , para verificar se o dispositivo usa o endereço MAC randomizados e corretamente armazena o randomizado endereço MAC para cada rede.

Para executar um teste manual:

  1. Verifique se MAC randomização é ativado no dispositivo, verificando que config_wifi_connected_mac_randomization_supported está definido como true na sobreposição dispositivo.
  2. Conecte-se a uma rede Wi-Fi.
  3. Toque na rede para ir para a página de detalhes da rede. Verifique se a randomização MAC está ativada. Verifique se o endereço MAC exibido é um MAC aleatório, que tem o bit gerado localmente definido como 1 e o bit multicast definido como 0.
  4. Desligue a randomização MAC. Conecte-se à mesma rede e verifique se o MAC de fábrica está sendo usado.
  5. Excluir a rede tocando Esqueça na página de detalhes da rede.
  6. Conectar-se à mesma rede e verificar se o mesmo endereço MAC randomizado está sendo usado.

Para testar a randomização de MAC em um dispositivo pré-Android 10 (capaz de suportar randomização de MAC) atualizando para Android 10 ou superior:

  1. Ter pelo menos uma rede salva em um dispositivo com Android 9 ou inferior.
  2. Faça o flash da imagem do sistema Android 10.
  3. No seletor de Wi-Fi, verifique se a randomização MAC está desligada para todas as redes salvas.
  4. Ative a randomização MAC. Conecte-se à mesma rede e verifique se o MAC aleatório está sendo usado.