La funzionalità di randomizzazione dell'indirizzo MAC consente ai dispositivi di utilizzare un indirizzo MAC casuale quando si connettono a una rete Wi-Fi. Per istruzioni sull'implementazione, vedi Implementare la randomizzazione dell'indirizzo MAC. Questa pagina descrive il comportamento della randomizzazione dell'indirizzo MAC in Android.
Quando il dispositivo si connette a una rete Wi-Fi o a un punto di accesso, utilizza indirizzi MAC. Poiché questi indirizzi MAC vengono trasmessi senza crittografia, possono essere acquisiti e utilizzati per monitorare potenzialmente la posizione di un utente. In passato, i dispositivi utilizzavano l'indirizzo MAC di fabbrica per associarsi a una rete Wi-Fi. L'indirizzo MAC di fabbrica è statico e univoco a livello globale, consentendo di monitorare e identificare individualmente il dispositivo.
La funzionalità di randomizzazione dell'indirizzo MAC aumenta la privacy dell'utente utilizzando un indirizzo MAC casuale quando si connette a una rete Wi-Fi.
Gli indirizzi MAC sono lunghi 48 bit e di solito sono rappresentati da 12 cifre esadecimali
(6 ottetti, poiché ogni ottetto è composto da 8 bit), ad esempio 00:11:22:AA:BB:CC. La funzionalità di randomizzazione
dell'indirizzo MAC randomizza l'indirizzo impostando il bit amministrato
localmente su 1 e il bit unicast su 0. Gli altri 46 bit sono
randomizzati.
Per i dispositivi con Android 10 o versioni successive, il framework utilizza un indirizzo MAC randomizzato per impostazione predefinita. Puoi attivare o disattivare la randomizzazione dell'indirizzo MAC per singole reti tramite un'opzione nella schermata Dettagli rete in Impostazioni, come mostrato nella Figura 1. Se disattivi la randomizzazione dell'indirizzo MAC per una rete, il framework utilizza l'indirizzo MAC di fabbrica (indirizzo univoco a livello globale).
Figura 1. Opzione di randomizzazione MAC.
Tipi di randomizzazione dell'indirizzo MAC
Il framework Android utilizza due tipi di randomizzazione dell'indirizzo MAC: randomizzazione persistente e randomizzazione non persistente. Se l'utente disattiva la randomizzazione MAC, viene utilizzato l'indirizzo MAC di fabbrica.
Android determina il tipo di randomizzazione dell'indirizzo MAC da utilizzare quando il dispositivo si associa a una rete Wi-Fi. Per impostazione predefinita, Android utilizza la randomizzazione persistente. A partire da Android 12, Android utilizza la randomizzazione non persistente in queste situazioni:
- Un'app di suggerimento di rete specifica che per la rete deve essere utilizzata la randomizzazione non persistente tramite l'API
WifiNetworkSuggestion.Builder#setMacRandomizationSetting. - La rete è una rete aperta che non ha riscontrato un captive portal e
la sovrapposizione
config_wifiAllowEnhancedMacRandomizationOnOpenSsidsè impostata sutrue. Questa sovrapposizione è disattivata (impostata sufalse) per impostazione predefinita.
Randomizzazione persistente
Android utilizza il tipo di randomizzazione persistente per impostazione predefinita quando la randomizzazione MAC è abilitata. Android genera un indirizzo MAC casuale persistente in base ai parametri del profilo di rete, tra cui SSID, tipo di sicurezza o FQDN (per le reti Passpoint). Questo indirizzo MAC rimane invariato fino al ripristino dei dati di fabbrica. L'indirizzo MAC non viene riassegnato in modo casuale se dimentichi e aggiungi di nuovo la rete Wi-Fi, perché l'indirizzo MAC dipende dai parametri del profilo di rete.
Gli indirizzi MAC persistenti sono necessari quando le reti si basano sulla persistenza dell'indirizzo MAC per fornire funzionalità utili. Ad esempio, possono aiutarti a ricordare un dispositivo e a bypassare la schermata di accesso come previsto o ad attivare il controllo genitori.
Per Android 10 e 11, il framework utilizza la randomizzazione persistente per tutte le reti quando la randomizzazione MAC è abilitata.
Randomizzazione non persistente
Con la randomizzazione non persistente, utilizzata per alcune reti in Android 12 o versioni successive, il modulo Wi-Fi randomizza nuovamente l'indirizzo MAC all'inizio di ogni connessione oppure il framework utilizza l'indirizzo MAC randomizzato esistente per connettersi alla rete. Il modulo Wi-Fi riassegna in modo casuale l'indirizzo MAC in queste situazioni:
- La durata del lease DHCP è scaduta e sono trascorse più di 4 ore dall'ultima disconnessione del dispositivo da questa rete.
- L'attuale MAC casuale per il profilo di rete è stato generato più di 24 ore fa. La randomizzazione dell'indirizzo MAC avviene solo all'inizio di una nuova connessione. Il Wi-Fi non si disconnette attivamente per randomizzare nuovamente un indirizzo MAC.
Se nessuna di queste situazioni si verifica, il framework utilizza l'indirizzo MAC randomizzato in precedenza per connettersi alla rete.
Opzione sviluppatore per la randomizzazione non persistente
Per i dispositivi con Android 11 o versioni successive, puoi attivare la randomizzazione dell'indirizzo MAC non persistente a livello globale per tutte le reti Wi-Fi (con la randomizzazione dell'indirizzo MAC attivata) tramite la schermata Opzioni sviluppatore. Puoi trovare l'opzione per attivare la randomizzazione non persistente dell'indirizzo MAC per tutti i profili in Impostazioni > Opzioni sviluppatore > Randomizzazione non persistente dell'indirizzo MAC Wi-Fi.
Figura 2. Opzione di randomizzazione non persistente dell'indirizzo MAC Wi-Fi.