Les entreprises, les gouvernements, etc. peuvent suivre passivement les analyses de réseau Bluetooth et WiFi en regardant une même adresse MAC dans l'espace et dans le temps ( Suivi d'identité Bluetooth/WiFi dans les espaces publics - Comment découvrir? ). À partir de Android 8. :
Les appareils Android utilisent des adresses MAC aléatoires lors de la recherche de nouveaux réseaux sans être actuellement associés à un réseau.
Dans Android 9, une option développeur peut être activée (elle est désactivée par défaut) pour que l'appareil utilise une adresse MAC aléatoire lors de la connexion à un réseau Wi-Fi. Une adresse MAC aléatoire différente est utilisée par SSID.
La randomisation MAC empêche les auditeurs d'utiliser des adresses MAC pour créer un historique de l'activité de l'appareil, augmentant ainsi la confidentialité des utilisateurs.
Peut-on implémenter quelque chose de similaire pour les adresses MAC Bluetooth? Est-il implémenté au démarrage ou ces adresses tournent-elles périodiquement?
Pour le Bluetooth à faible énergie (BLE), ce site explique principalement le problème: https://blog.bluetooth.com/bluetooth-technology-protecting-your-privacy
Pour protéger la confidentialité des utilisateurs, les fabricants peuvent utiliser une fonction Bluetooth Smart appelée "LE Privacy". Cette fonction entraîne le remplacement de l'adresse MAC dans les paquets publicitaires par une valeur aléatoire qui change à des intervalles de temps déterminés par le fabricant. Tout appareil malveillant placé à intervalles réguliers le long de votre itinéraire de voyage ne serait pas en mesure de déterminer que la série d'adresses MAC générées de manière aléatoire reçues de votre appareil se rapporte en fait au même appareil physique. Il ressemble en fait à une série d'appareils différents, il ne sera donc pas possible de vous suivre à l'aide de l'adresse MAC annoncée.
Au débordement de la pile, cela peut être intéressant: https://stackoverflow.com/questions/23471364/private-vs-public-addresses-in-bluetooth-low-energy-on-Android
À ma connaissance, tous les iPhones actuels implémentent cela. Et aussi de nombreux appareils Android (nouveau que 8.0)).
Et oui, ce n'est que 24 bits de hasard. On peut supposer que cela suffit. Depuis que votre appareil l'a changé MAC régulièrement, un renifleur a changé de 1/16.777.216 pour deviner quel est votre prochain MAC.
Ce (24 bits) n'est pas suffisant pour le chiffrement, mais ce n'est pas le problème à résoudre ici.
Pour plus d'informations, vous pouvez également consulter la section 5.4.5 des spécifications du cœur Bluetooth: https://www.bluetooth.com/specifications/bluetooth-core-specification
Notez également qu'un périphérique lié est capable de résoudre le MAC aléatoire en MAC permanent (public).
Cela est déjà implémenté dans Bluetooth Low Energy (BLE). Chaque fois que l'émetteur est redémarré sur Android, le MAC sera randomisé pour ses 3 derniers octets.