Unveränderliche Geräte-IDs

In Android 6 und höher wurde es Wi-Fi-Dienstanbietern und Paketanalysatoren untersagt, die werkseitige MAC-Adresse eines Geräts über den Wi-Fi-Stack aus Netzwerkanfragen abzurufen. Ab Android 10 gelten zusätzliche Einschränkungen, die den Zugriff auf Gerätekennungen (IDs) auf Apps mit der privilegierten Berechtigungsstufe beschränken. Dies schützt Geräte-IDs wie z

  • Telefonie-IMEI-, MEID-, ESN- und IMSI-Nummern.
  • Build-, SIM- oder USB-Seriennummern.

Wer kann auf Geräte-IDs zugreifen?

Geräte-IDs sind auf allen Android 10-Geräten eingeschränkt, auch wenn Apps auf Android 9 oder niedriger ausgerichtet sind. Auf Geräte-IDs kann zugegriffen werden

Zugriff auf privilegierte Pakete

Ein Paket muss berechtigt sein, auf Geräte-IDs zuzugreifen. Es muss über die Berechtigung READ_PRIVILEGED_PHONE_STATE in der Manifest.permission Klasse verfügen und in der Datei privapp-permission.xml auf der Zulassungsliste stehen. Informationen zum Zulassungsprozess finden Sie unter Zulassungsliste für privilegierte Berechtigungen .

Informationen zum Erhalten einer eindeutigen ID für ein nicht privilegiertes Paket finden Sie unter Häufige Anwendungsfälle und der entsprechende zu verwendende Bezeichner .

Eingeschränkte Geräte-IDs und zufällige MAC-Adressen

Um Geräte-IDs weiter einzuschränken, übertragen alle Geräte unter Android 10 standardmäßig zufällige MAC-Adressen sowohl für Tests als auch für zugehörige Anfragen und müssen für jede SSID eine andere zufällige MAC-Adresse haben. Verwenden Sie die werkseitige MAC-Adresse des Geräts nicht im Client-Modus, Soft Access Point (AP) oder Wi-Fi Direct-Anwendungsfällen. Es muss vor öffentlich zugänglichen APIs verborgen bleiben, bei denen es sich nicht um privilegierte Apps handelt. Privilegierte Apps, die die Rückgabe der werkseitigen MAC-Adresse erfordern, benötigen die Berechtigung LOCAL_MAC_ADDRESS .

Benutzer haben die Möglichkeit, die standardmäßige zufällige MAC-Adresse beizubehalten, die jeder SSID zugewiesen ist. Die Option ist unter „Datenschutz“ unter „Einstellungen > Netzwerkdetails“ sichtbar. Informationen zum Erhalten einer zufälligen MAC-Adresse finden Sie unter Zufällige MAC-Adressen .

Screen shows if device ID uses a randomized MAC address for privacy
Abbildung 1. Die MAC-Adresse wird unter „Datenschutz“ in den Netzwerkdetails als zufällig angezeigt

Apps, die Geräte-ID-APIs aufrufen

Apps, die Geräte-ID-APIs aufrufen, müssen die Anforderungen von Android 10 erfüllen. Andernfalls wird beim Versuch, auf Geräte-IDs zuzugreifen, Folgendes zurückgegeben:

  • Apps für Android 10
  • Apps für Android 9 oder früher
    • Wenn sie über die Berechtigung READ_PHONE_STATE verfügen, werden entweder eine null oder Platzhalterdaten zurückgegeben.
    • Ist dies nicht der Fall, lösen die Geräte-ID-APIs eine SecurityException aus, die den Namen der aufgerufenen Methode und einen Hinweis darauf enthält, dass die aufrufende App die Anforderungen für den Zugriff auf die angeforderte ID nicht erfüllt.

Weitere Informationen zu unveränderlichen Geräte-IDs finden Sie unter Nicht zurücksetzbare Geräte-IDs und Best Practices für eindeutige Identifikatoren .

Testen

Es muss verhindert werden, dass Apps auf die Geräteseriennummer und ggf. IMEI/MEID, SIM-Seriennummer und Teilnehmer-ID zugreifen. Apps mit der Berechtigung zum Zugriff auf diese IDs müssen außerdem eines der Kriterien erfüllen, die unter „Wer kann auf Geräte-IDs zugreifen“ aufgeführt sind.