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.
MAC-Adressen werden von Geräten verwendet, wenn sie eine Verbindung zu einem WLAN oder einem Zugangspunkt herstellen. 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 MAC-Adressrandomisierung erhöht den Datenschutz, 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.
Bei Geräten mit Android 10 oder höher wird im Framework standardmäßig eine zufällige MAC-Adresse verwendet. Nutzer können die MAC-Adressen-Randomisierung für einzelne Netzwerke über eine Option auf dem Bildschirm Netzwerkdetails in den Einstellungen aktivieren oder deaktivieren, wie in Abbildung 1 dargestellt. Wenn ein Nutzer die MAC-Adress-Randomisierung für ein Netzwerk deaktiviert, verwendet das Framework die werkseitige MAC-Adresse (global eindeutige Adresse).
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 MAC-Randomisierungstyp verwendet werden soll, wenn das 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 auftrue
eingestellt. Dieses Overlay ist standardmäßig deaktiviert (auffalse
eingestellt).
Dauerhafte Randomisierung
Unter Android wird standardmäßig der Typ „Persistent“ verwendet, wenn die Funktion zur MAC-Adressen-Randomisierung 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 unverändert. Die MAC-Adresse wird nicht neu randomisiert, wenn der Nutzer das WLAN vergisst und wieder hinzufügt, da die MAC-Adresse von den Parametern des Netzwerkprofils abhängt.
Persistente MAC-Adressen sind in Fällen erforderlich, in denen Netzwerke auf die Persistenz der MAC-Adresse angewiesen sind, um dem Nutzer nützliche Funktionen zur Verfügung zu stellen, z. B. um sich ein Gerät zu merken und Nutzern zu ermöglichen, den Anmeldebildschirm wie erwartet zu umgehen, oder um die Elternaufsicht zu 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
Beim nicht persistenten Randomisierungstyp, der für einige Netzwerke in Android 12 oder höher verwendet wird, wird die MAC-Adresse vom WLAN-Modul zu Beginn jeder Verbindung neu randomisiert oder das Framework verwendet 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 MAC-Adresse neu zu randomisieren.
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 Nutzer die nicht persistente MAC-Adressen-Randomisierung global für alle WLANs aktivieren, für die die MAC-Adressen-Randomisierung aktiviert ist. Dies erfolgt über 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.
Abbildung 2: Option für die nicht persistente, zufällige Generierung von MAC-Adressen für WLAN.