ID dispositivo immutabili

In Android 6 e versioni successive, ai provider di servizi Wi-Fi e agli analizzatori di pacchetti è stato impedito di recuperare l'indirizzo MAC di fabbrica di un dispositivo attraverso lo stack Wi-Fi dalle richieste di rete. A partire da Android 10, sono in vigore restrizioni aggiuntive che limitano l'accesso agli identificatori del dispositivo (ID) alle app con il livello di autorizzazione privilegiato . Ciò protegge gli ID del dispositivo come

  • numeri IMEI, MEID, ESN e IMSI di telefonia.
  • build, SIM o numeri di serie USB.

Chi può accedere agli ID dispositivo

Gli ID dispositivo sono limitati su tutti i dispositivi Android 10, anche se le app hanno come target Android 9 o versioni precedenti. È possibile accedere agli ID dispositivo tramite

Accesso privilegiato ai pacchetti

Un pacchetto deve avere privilegi per accedere agli ID dispositivo. Deve avere l'autorizzazione READ_PRIVILEGED_PHONE_STATE nella classe Manifest.permission ed essere inserito nella lista consentita nel file privapp-permission.xml . Per informazioni sul processo della lista consentita, consulta Inserimento nella lista consentita delle autorizzazioni privilegiate .

Per informazioni su come ottenere un ID univoco per un pacchetto non privilegiato , fare riferimento a Casi d'uso comuni e all'identificatore appropriato da utilizzare .

ID dispositivo limitati e indirizzi MAC randomizzati

Per limitare ulteriormente gli ID dispositivo, tutti i dispositivi su Android 10 trasmettono indirizzi MAC randomizzati per impostazione predefinita sia per il sondaggio che per le richieste associate e devono avere un indirizzo MAC randomizzato diverso per ciascun SSID. Non utilizzare l'indirizzo MAC predefinito del dispositivo in modalità client, punto di accesso software (AP) o casi d'uso Wi-Fi Direct. Deve rimanere nascosto alle API accessibili pubblicamente che non siano app privilegiate. Le app privilegiate che richiedono la restituzione dell'indirizzo MAC di fabbrica devono disporre dell'autorizzazione LOCAL_MAC_ADDRESS .

Gli utenti hanno la possibilità di mantenere l'indirizzo MAC casuale predefinito assegnato a ciascun SSID. L'opzione è visibile in Privacy in Impostazioni > Dettagli rete . Per informazioni su come ottenere un indirizzo MAC randomizzato, vedere Indirizzi MAC randomizzati .

Screen shows if device ID uses a randomized MAC address for privacy
Figura 1. L'indirizzo MAC viene visualizzato in modo casuale in Privacy nei dettagli della rete

App che richiamano le API dell'ID dispositivo

Le app che richiamano le API ID dispositivo devono soddisfare i requisiti di Android 10. Altrimenti, quando tentano di accedere agli ID dispositivo, viene restituito quanto segue:

  • App destinate ad Android 10
  • App destinate ad Android 9 o versioni precedenti
    • Se dispongono dell'autorizzazione READ_PHONE_STATE , verrà restituita una risposta null o dati segnaposto.
    • In caso contrario, le API dell'ID dispositivo generano un'eccezione SecurityException che contiene il nome del metodo chiamato e un'indicazione che l'app chiamante non soddisfa i requisiti per accedere all'ID richiesto.

Per ulteriori informazioni sugli ID dei dispositivi immutabili, consulta Identificatori dei dispositivi non ripristinabili e best practice per gli identificatori univoci .

Test

È necessario impedire alle app di accedere al numero di serie del dispositivo e, ove applicabile, all'IMEI/MEID, al numero di serie della SIM e all'ID dell'abbonato. Le app autorizzate ad accedere a questi ID devono soddisfare anche uno dei criteri elencati in Chi può accedere agli ID dispositivo .