Mit der Funktion zur zufälligen MAC-Zuordnung können Geräte beim Herstellen einer WLAN-Verbindung eine zufällige MAC-Adresse verwenden. Eine Anleitung zur Implementierung finden Sie unter MAC-Zufallsmix implementieren. Auf dieser Seite wird das Verhalten der MAC-Randomisierung in Android beschrieben.
MAC-Adressen werden von Geräten verwendet, wenn eine Verbindung zu einem WLAN oder einem Zugangspunkt hergestellt wird. Da diese MAC-Adressen ohne Verschlüsselung übertragen werden, können sie erfasst und verwendet werden, um den Standort eines Nutzers zu ermitteln. In der Vergangenheit haben Geräte die Factory-MAC-Adresse zur Verknüpfung mit einem WLAN verwendet. Die MAC-Adresse des Herstellers ist weltweit eindeutig und statisch, sodass das Gerät verfolgt und individuell identifiziert werden kann.
Die MAC-Adressrandomisierung 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 hat) wie 00:11:22:AA:BB:CC
dargestellt. Die MAC-Zufallsmix-Funktion generiert eine zufällige Adresse, indem das Bit locally administered (lokal verwaltet) auf „1“ und das Bit unicast (Unicast) auf „0“ gesetzt wird. Die anderen 46 Bits werden zufällig ausgewählt.
Bei Geräten mit Android 10 oder höher verwendet das Framework standardmäßig zufällige MAC-Adressen. Nutzer können die MAC-Zufallsmix-Funktion 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-Zufallsmixung für ein Netzwerk deaktiviert, verwendet das Framework die MAC-Adresse des Herstellers (global eindeutige Adresse).
Abbildung 1: Option für die MAC-Adressrandomisierung
Arten der MAC-Zufallsgenerierung
Das Android-Framework verwendet zwei Arten der MAC-Randomisierung: persistente Randomisierung und nicht persistente Randomisierung. Wenn der Nutzer die MAC-Zufallsmixung deaktiviert, wird die werkseitige MAC-Adresse verwendet.
Android bestimmt, welcher MAC-Zufallsmix verwendet werden soll, wenn das Gerät mit einem WLAN verbunden wird. Standardmäßig verwendet Android die persistente Zufallsmix-Technologie. Ab Android 12 verwendet Android die nicht persistente Zufallsmix-Technologie in den folgenden Fällen:
- Eine App für Netzwerkvorschläge gibt an, dass für das Netzwerk eine nicht persistente Zufallsmix-Funktion über die
WifiNetworkSuggestion.Builder#setMacRandomizationSetting
API verwendet werden soll. - Das Netzwerk ist ein offenes Netzwerk, in dem kein Captive Portal gefunden wurde, und das
config_wifiAllowEnhancedMacRandomizationOnOpenSsids
-Overlay ist auftrue
festgelegt. Dieses Overlay ist standardmäßig deaktiviert (auffalse
festgelegt).
Dauerhafte Randomisierung
Android verwendet standardmäßig die dauerhafte Zufallsmix-Methode, wenn die MAC-Zufallsmix-Funktion aktiviert ist. Android generiert eine persistente 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 zufällig generiert, wenn der Nutzer das WLAN vergisst und wieder hinzufügt, da die MAC-Adresse von den Parametern des Netzwerkprofils abhängt.
Dauerhafte MAC-Adressen sind erforderlich, wenn Netzwerke auf die Dauerhaftigkeit der MAC-Adresse angewiesen sind, um dem Nutzer nützliche Funktionen zur Verfügung zu stellen, z. B. um ein Gerät zu speichern und Nutzer wie erwartet den Anmeldebildschirm überspringen zu lassen oder Jugendschutzeinstellungen zu aktivieren.
Unter Android 10 und 11 verwendet das Framework eine dauerhafte Zufallsmix-Funktion für alle Netzwerke, wenn die MAC-Zufallsmix-Funktion aktiviert ist.
Nicht persistente Zufallsmix-Funktion
Bei der nicht dauerhaften Zufallsmix-Methode, die für einige Netzwerke in Android 12 oder höher verwendet wird, wird die MAC-Adresse zu Beginn jeder Verbindung vom WLAN-Modul neu zufällig generiert oder das Framework verwendet die vorhandene zufällige MAC-Adresse, um eine Verbindung zum Netzwerk herzustellen. Das WLAN-Modul generiert die MAC-Adresse in den folgenden Fällen neu:
- Die DHCP-Leasingdauer ist abgelaufen und seit der letzten Trennung des Geräts von diesem Netzwerk sind mehr als 4 Stunden vergangen.
- Der aktuelle zufällige MAC für das Netzwerkprofil wurde vor mehr als 24 Stunden generiert. Die erneute Randomisierung der MAC-Adresse erfolgt nur beim Start einer neuen Verbindung. Die WLAN-Verbindung wird nicht aktiv getrennt, um eine MAC-Adresse noch einmal 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 Zufallsmix-Funktion
Auf Geräten mit Android 11 oder höher können Nutzer die dauerhafte MAC-Randomisierung global für alle WLAN-Netzwerke (bei denen die MAC-Randomisierung aktiviert ist) über den Bildschirm Entwickleroptionen aktivieren. Die Option zur Aktivierung der persistenten MAC-Randomisierung für alle Profile finden Sie unter Einstellungen > Entwickleroptionen > Wi-Fi – nicht persistente MAC-Randomisierung.
Abbildung 2: Option für nicht dauerhafte MAC-Randomisierung für WLAN.