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 tramite lo stack Wi-Fi dalle richieste di rete. A partire da Android 10, sono in vigore ulteriori restrizioni che limitano l'accesso agli identificatori di dispositivo (ID) alle app con il livello di autorizzazione privilegiato . Questo protegge gli ID dispositivo come

  • telefonia numeri IMEI, MEID, ESN e IMSI.
  • 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 da

Accesso privilegiato ai pacchetti

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

Per informazioni su come ottenere un ID univoco per un pacchetto senza privilegi , fare riferimento a Casi d'uso comuni e l'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 probe che per le richieste associate e devono avere un indirizzo MAC randomizzato diverso per ciascun SSID. Non utilizzare l'indirizzo MAC di fabbrica del dispositivo in modalità client, punto di accesso software (AP) o casi d'uso Wi-Fi Direct. Deve rimanere nascosto dalle API accessibili pubblicamente che non sono app privilegiate. Le app con privilegi 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 è visualizzabile 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 come randomizzato in Privacy in Dettagli rete

App che richiamano le API dell'ID dispositivo

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

  • App destinate ad Android 10
  • App destinate ad Android 9 o precedenti
    • Se dispongono dell'autorizzazione READ_PHONE_STATE , viene 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 dispositivo immutabili, vedere Identificatori di dispositivo non ripristinabili e procedure consigliate per 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 abbonato. Le app con autorizzazione ad accedere a questi ID devono inoltre soddisfare uno dei criteri elencati in Chi può accedere agli ID dispositivo .