Wo werden die WLAN-MAC-Randomisierungsdaten gespeichert?

In den neueren Androiden gibt es eine Funktion namens WiFi MAC Randomization. In seiner Grundform berechnet der Mechanismus den zufälligen MAC für eine gegebene ESSID. Jedes Mal, wenn Sie sich mit demselben WLAN verbinden, verwendet Android den zuvor generierten MAC. Selbst wenn Sie das WLAN-Netzwerk vergessen und neu hinzufügen, verwendet Android denselben MAC wie zuvor. Wo genau werden also die WLAN-MAC-Randomisierungsdaten gespeichert?

Antworten (1)

Laut der Android-Dokumentation wird die persistente Randomisierung nirgendwo gespeichert.

Stattdessen wird die "zufällige MAC-Adresse" jedes Mal generiert, wenn Sie sich mit dem WLAN verbinden. Diese Generation basiert auf den WLAN-Netzwerkparametern:

Android generiert eine persistente randomisierte MAC-Adresse basierend auf den Parametern des Netzwerkprofils, einschließlich SSID, Sicherheitstyp oder FQDN (für Passpoint-Netzwerke).

Und ich gehe davon aus, dass zusätzlich ein geheimer Faktor, der einzigartig für Ihr Gerät ist, in die Berechnung einbezogen wird, da sonst jedes Android-Gerät dieselbe zufällige MAC-Adresse für dasselbe Netzwerk generieren würde. Sie sind sich nicht sicher, was sie tatsächlich verwenden, möglicherweise ANDROID_ID oder einige zufällige ~ 128-Bit-Daten, die irgendwo in Ihrem Benutzerprofil gespeichert sind.

In solchen Situationen wird typischerweise ein HMAC-Algorithmus verwendet, um eine pseudozufällige Ausgabe zu erzeugen, die dann für die 46 Bits des MAC verwendet werden kann, die randomisiert werden. Dies macht es nahezu unmöglich, den verwendeten geheimen Teil anhand der randomisierten MAC-Adresse zu ermitteln und MAC-Adressen zu berechnen, die Sie in anderen Netzwerken verwenden würden.

Beachten Sie, dass es bei dieser Antwort nur um AOSP geht. Der Android-Hersteller kann die Randomisierung ändern. Laut einer Studie zur WLAN-MAC-Randomisierung implementiert zB Motorola ein benutzerdefiniertes MAC-Randomisierungsschema (nicht das in AOSP beschriebene 46-Bit-Schema).