Mit der Funktion zur MAC-Randomisierung können Geräte eine zufällig generierte 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 Zugangspunkt herstellt, werden MAC-Adressen verwendet. Da diese MAC-Adressen unverschlüsselt übertragen werden, können sie erfasst und verwendet werden, um den Standort eines Nutzers zu ermitteln. Bisher verwenden Geräte die werkseitige MAC-Adresse, um sich mit einem WLAN zu verbinden. Die werkseitige MAC-Adresse ist weltweit eindeutig und statisch, sodass das Gerät verfolgt und individuell identifiziert werden kann.
Die Funktion zur MAC-Randomisierung erhöht den Datenschutz der Nutzer, da beim Herstellen einer Verbindung zu einem WLAN eine zufällig generierte MAC-Adresse verwendet wird.
MAC-Adressen sind 48 Bit lang und werden normalerweise durch 12 Hexadezimalziffern (6 Oktette, da jedes Oktett 8 Bit umfasst) dargestellt, z. B. 00:11:22:AA:BB:CC. Bei der MAC-Randomisierung wird die Adresse zufällig generiert, indem das Bit für die lokal verwaltete Adresse auf 1 und das Bit für die Unicast-Adresse auf 0 gesetzt wird. Die anderen 46 Bit werden zufällig generiert.
Auf Geräten mit Android 10 oder höher verwendet das Framework standardmäßig eine zufällig generierte MAC-Adresse. Sie können die MAC-Randomisierung für einzelne Netzwerke über eine Option auf dem Netzwerkdetails-Bildschirm in den Einstellungen aktivieren oder deaktivieren, wie in Abbildung 1 dargestellt. Wenn Sie die MAC-Randomisierung für ein Netzwerk deaktivieren, verwendet das Framework die werkseitige MAC-Adresse (weltweit eindeutige Adresse).
Abbildung 1 : Option zur MAC-Randomisierung
Arten der MAC-Randomisierung
Das Android-Framework verwendet zwei Arten der MAC-Randomisierung: persistente Randomisierung und nicht persistente Randomisierung. Wenn der Nutzer die MAC-Randomisierung deaktiviert, wird die werkseitige MAC-Adresse verwendet.
Android bestimmt, welche Art der MAC-Randomisierung verwendet werden soll, wenn sich Ihr Gerät mit einem WLAN verbindet. Standardmäßig verwendet Android die persistente Randomisierung. Ab Android 12 verwendet Android in den folgenden Situationen die nicht persistente Randomisierung:
- Eine App für Netzwerkvorschläge gibt an, dass für das Netzwerk die nicht persistente Randomisierung
über die
WifiNetworkSuggestion.Builder#setMacRandomizationSettingAPI verwendet werden soll. - Das Netzwerk ist ein offenes Netzwerk, bei dem kein Captive Portal aufgetreten ist, und das Overlay
config_wifiAllowEnhancedMacRandomizationOnOpenSsidsist auftruegesetzt. Dieses Overlay ist standardmäßig deaktiviert (false).
Persistente Randomisierung
Android verwendet standardmäßig die persistente Randomisierung, wenn die MAC-Randomisierung aktiviert ist. Android generiert eine persistente zufällig generierte 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 zufällig generiert, wenn Sie das WLAN vergessen 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. So können sie beispielsweise dazu beitragen, ein Gerät zu erkennen, und Ihnen ermöglichen, den Anmeldebildschirm wie erwartet zu umgehen oder die Jugendschutzeinstellungen zu aktivieren.
Bei Android 10 und 11 verwendet das Framework die persistente Randomisierung für alle Netzwerke, wenn die MAC-Randomisierung aktiviert ist.
Nicht persistente Randomisierung
Bei der nicht persistenten Randomisierung, die für einige Netzwerke in Android 12 oder höher verwendet wird, generiert das WLAN-Modul die MAC-Adresse zu Beginn jeder Verbindung neu zufällig oder das Framework verwendet die vorhandene zufällig generierte MAC-Adresse, um eine Verbindung zum Netzwerk herzustellen. Das WLAN-Modul generiert die MAC-Adresse in den folgenden Situationen neu zufällig:
- Die DHCP-Leasedauer ist abgelaufen und seit der letzten Trennung des Geräts von diesem Netzwerk sind mehr als 4 Stunden vergangen.
- Die aktuelle zufällig generierte MAC-Adresse für das Netzwerkprofil wurde vor mehr als 24 Stunden generiert. Die MAC-Adresse wird nur zu Beginn einer neuen Verbindung neu zufällig generiert. Die WLAN-Verbindung wird nicht aktiv getrennt, um eine MAC-Adresse neu zufällig 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 Randomisierung global für alle WLANs aktivieren, für die die MAC-Randomisierung aktiviert ist. Dazu rufen Sie den Bildschirm mit den Entwickleroptionen auf. Die Option zum Aktivieren der nicht persistenten MAC-Randomisierung für alle Profile finden Sie unter Einstellungen > Entwickleroptionen > Nicht persistente, zufällige Generierung von MAC-Adressen für WLAN.
Abbildung 2 : Option zur nicht persistenten, zufälligen Generierung von MAC-Adressen für WLAN