Mit der MAC-Zufallsmix-Funktion können Geräte beim Herstellen einer Verbindung zu einem WLAN eine zufällige MAC-Adresse verwenden. Eine Anleitung zur Implementierung finden Sie unter MAC-Zufallsmix implementieren. Auf dieser Seite wird das Verhalten der MAC-Zufallsgenerierung unter 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. Bisher wurde die MAC-Adresse aus der Produktion verwendet, um Geräte mit einem WLAN zu verknüpfen. 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.
Auf Geräten mit Android 10 oder höher verwendet das Framework standardmäßig eine zufällige MAC-Adresse. 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-Randomisierung
Das Android-Framework verwendet zwei Arten der MAC-Zufallsmixung: persistente Zufallsmixung und nicht persistente Zufallsmixung. 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 (false
).
Dauerhafte Zufallsmix-Funktion
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 unverändert. 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 die 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 vom WLAN-Modul zu Beginn jeder Verbindung 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.
- Die aktuelle zufällige MAC-Adresse für das Netzwerkprofil wurde vor mehr als 24 Stunden generiert. Die MAC-Adress-Neurandomisierung erfolgt nur zu Beginn 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 nicht persistente MAC-Zufallsmixung über den Bildschirm Entwickleroptionen global für alle WLANs aktivieren, für die die MAC-Zufallsmixung aktiviert ist. Die Option zum Aktivieren der nicht persistenten MAC-Zufallsgenerierung 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.