Verhalten der MAC-Adressrandomisierung

Mit der Funktion zur Randomisierung von MAC-Adressen können Geräte eine zufällige MAC-Adresse verwenden, wenn sie eine Verbindung zu einem WLAN herstellen. Eine Anleitung zur Implementierung finden Sie unter MAC-Randomisierung implementieren. Auf dieser Seite wird das Verhalten der MAC-Randomisierung in Android beschrieben.

Wenn Ihr Gerät eine Verbindung zu einem WLAN oder einem Zugriffspunkt herstellt, werden MAC-Adressen verwendet. Da diese MAC-Adressen unverschlüsselt übertragen werden, können sie erfasst und möglicherweise verwendet werden, um den Standort eines Nutzers zu verfolgen. Bisher haben Geräte die werkseitige MAC-Adresse verwendet, um sich mit einem WLAN zu verbinden. Die MAC-Adresse des Geräts ist global eindeutig und statisch, sodass das Gerät verfolgt und individuell identifiziert werden kann.

Die Funktion zur Randomisierung der MAC-Adresse erhöht den Datenschutz für Nutzer, da beim Herstellen einer Verbindung zu einem WLAN eine zufällige MAC-Adresse verwendet wird.

MAC-Adressen sind 48 Bit lang und werden in der Regel durch 12 Hexadezimalziffern (6 Oktette, da jedes Oktett 8 Bit umfasst) wie 00:11:22:AA:BB:CC dargestellt. Bei der MAC-Randomisierung wird die Adresse randomisiert, indem das lokal verwaltete Bit auf 1 und das Unicast-Bit auf 0 gesetzt wird. Die anderen 46 Bits werden zufällig generiert.

Auf Geräten mit Android 10 oder höher wird im Framework standardmäßig eine zufällige MAC-Adresse verwendet. Sie können die MAC-Adressen-Randomisierung für einzelne Netzwerke über eine Option auf dem Bildschirm Netzwerkdetails in den Einstellungen aktivieren oder deaktivieren (siehe Abbildung 1). Wenn Sie die MAC-Adressrandomisierung für ein Netzwerk deaktivieren, verwendet das Framework die werkseitige MAC-Adresse (global eindeutige Adresse).

Option für die MAC‑Randomisierung

Abbildung 1: Option zur MAC‑Randomisierung

Typen der MAC‑Randomisierung

Das Android-Framework verwendet zwei Arten der MAC-Adressen-Zufallsgenerierung: persistente Zufallsgenerierung und nicht persistente Zufallsgenerierung. Wenn der Nutzer die MAC-Adress-Randomisierung deaktiviert, wird die werkseitige MAC-Adresse verwendet.

Android bestimmt, welcher Typ der MAC-Adressen-Zufallsgenerierung verwendet wird, wenn Ihr Gerät mit einem WLAN verbunden wird. Standardmäßig verwendet Android die persistente Randomisierung. Ab Android 12 wird in den folgenden Situationen eine nicht persistente Randomisierung verwendet:

  • Eine App für Netzwerkvorschläge gibt an, dass für das Netzwerk über die API WifiNetworkSuggestion.Builder#setMacRandomizationSetting eine nicht persistente Randomisierung verwendet werden soll.
  • Das Netzwerk ist ein offenes Netzwerk, in dem kein Captive Portal gefunden wurde, und das config_wifiAllowEnhancedMacRandomizationOnOpenSsids-Overlay ist auf true eingestellt. Dieses Overlay ist standardmäßig deaktiviert (auf false eingestellt).

Dauerhafte Randomisierung

Unter Android wird standardmäßig der Typ „Persistent“ verwendet, wenn die MAC-Adressen-Zufallsgenerierung aktiviert ist. Android generiert eine dauerhafte zufällige MAC-Adresse basierend auf den Parametern des Netzwerkprofils, einschließlich SSID, Sicherheitstyp oder FQDN (für Passpoint-Netzwerke). Diese MAC-Adresse bleibt bis zum Zurücksetzen auf die Werkseinstellungen gleich. Die MAC-Adresse wird nicht neu randomisiert, wenn Sie das WLAN entfernen und wieder hinzufügen, da die MAC-Adresse von den Parametern des Netzwerkprofils abhängt.

Persistente MAC-Adressen sind erforderlich, wenn Netzwerke auf die Persistenz von MAC-Adressen angewiesen sind, um nützliche Funktionen bereitzustellen. Sie können beispielsweise dazu beitragen, dass sich ein Gerät gemerkt wird und Sie den Anmeldebildschirm wie erwartet umgehen können, oder die Elternaufsicht aktivieren.

Unter Android 10 und 11 verwendet das Framework eine dauerhafte Randomisierung für alle Netzwerke, wenn die MAC-Adressen-Randomisierung aktiviert ist.

Nicht persistente Randomisierung

Bei der nicht persistenten Randomisierung, die für einige Netzwerke in Android 12 oder höher verwendet wird, wird die MAC-Adresse vom WLAN-Modul bei jeder Verbindungsaufnahme neu randomisiert. Alternativ verwendet das Framework die vorhandene randomisierte MAC-Adresse, um eine Verbindung zum Netzwerk herzustellen. Das WLAN-Modul randomisiert die MAC-Adresse in den folgenden Situationen neu:

  • Die DHCP-Lease-Dauer ist abgelaufen und seit der letzten Trennung des Geräts von diesem Netzwerk sind mehr als 4 Stunden vergangen.
  • Die aktuelle zufällige MAC-Adresse für das Netzwerkprofil wurde vor mehr als 24 Stunden generiert. Die MAC-Adressrandomisierung erfolgt nur zu Beginn einer neuen Verbindung. Die WLAN-Verbindung wird nicht aktiv getrennt, um eine neue zufällige MAC-Adresse zu generieren.

Wenn keine dieser Situationen zutrifft, verwendet das Framework die zuvor zufällig generierte MAC-Adresse, um eine Verbindung zum Netzwerk herzustellen.

Entwickleroption für nicht persistente Randomisierung

Auf Geräten mit Android 11 oder höher können Sie die nicht persistente MAC-Adressen-Randomisierung global für alle WLANs aktivieren, für die die MAC-Adressen-Randomisierung aktiviert ist. Verwenden Sie dazu den Bildschirm Entwickleroptionen. Die Option zum Aktivieren der nicht persistenten, zufälligen Generierung von MAC-Adressen für alle Profile finden Sie unter Einstellungen > Entwickleroptionen > Nicht persistente, zufällige Generierung von MAC-Adressen für WLAN.

Option für nicht persistente, zufällige Generierung von MAC-Adressen für WLAN

Abbildung 2: Option für die nicht persistente, zufällige Generierung von MAC-Adressen für WLAN.