La fonction de randomisation MAC permet aux appareils d'utiliser une adresse MAC aléatoire lors de la connexion à un réseau Wi-Fi. Pour obtenir des instructions d’implémentation, consultez Implémentation de la randomisation MAC . Cette page décrit le comportement de la randomisation MAC sous Android.
Les adresses MAC sont utilisées par les appareils lors de la connexion à un réseau Wi-Fi ou à un point d'accès. Étant donné que ces adresses MAC sont transmises sans cryptage, elles peuvent être capturées et utilisées pour potentiellement suivre la localisation d'un utilisateur. Historiquement, les appareils utilisent l' adresse MAC d'usine pour s'associer à un réseau Wi-Fi. L'adresse MAC d'usine est globalement unique et statique, permettant au périphérique d'être suivi et identifié individuellement.
La fonction de randomisation MAC augmente la confidentialité des utilisateurs en utilisant une adresse MAC aléatoire lors de la connexion à un réseau Wi-Fi.
Les adresses MAC ont une longueur de 48 bits et sont généralement représentées par 12 chiffres hexadécimaux (6 octets car chaque octet fait 8 bits), tels que 00:11:22:AA:BB:CC
. La fonction de randomisation MAC randomise l'adresse en définissant le bit administré localement sur 1 et le bit de monodiffusion sur 0. Les 46 autres bits sont randomisés.
Pour les appareils exécutant Android 10 ou version ultérieure, le framework utilise par défaut une adresse MAC aléatoire. Les utilisateurs peuvent activer ou désactiver la randomisation MAC pour des réseaux individuels via une option dans l'écran Détails du réseau dans Paramètres , comme illustré dans la figure 1. Si un utilisateur désactive la randomisation MAC pour un réseau, l'infrastructure utilise l'adresse MAC d'usine (adresse globalement unique).
Figure 1. Option de randomisation MAC.
Types de randomisation MAC
Le framework Android utilise deux types de randomisation MAC : la randomisation persistante et la randomisation non persistante . Si l'utilisateur désactive la randomisation MAC, l'adresse MAC d'usine est utilisée.
Android détermine le type de randomisation MAC à utiliser lorsque l'appareil s'associe à un réseau Wi-Fi. Par défaut, Android utilise la randomisation persistante. À partir d’Android 12, Android utilise la randomisation non persistante dans les situations suivantes :
- Une application de suggestion de réseau spécifie que la randomisation non persistante doit être utilisée pour le réseau via l'API
WifiNetworkSuggestion.Builder#setMacRandomizationSetting
. - Le réseau est un réseau ouvert qui n'a pas rencontré de portail captif et la superposition
config_wifiAllowEnhancedMacRandomizationOnOpenSsids
est définie surtrue
. Cette superposition est désactivée (définie surfalse
) par défaut.
Randomisation persistante
Android utilise le type de randomisation persistante par défaut lorsque la fonctionnalité de randomisation MAC est activée. Android génère une adresse MAC aléatoire persistante basée sur les paramètres du profil réseau, notamment le SSID, le type de sécurité ou le FQDN (pour les réseaux Passpoint). Cette adresse MAC reste la même jusqu'à la réinitialisation d'usine. L'adresse MAC n'est pas re-randomisée si l'utilisateur oublie et rajoute le réseau Wi-Fi puisque l'adresse MAC dépend des paramètres du profil réseau.
Les adresses MAC persistantes sont nécessaires dans les cas où les réseaux s'appuient sur la persistance de l'adresse MAC pour fournir des fonctionnalités utiles à l'utilisateur, par exemple pour mémoriser un appareil et permettre aux utilisateurs de contourner l'écran de connexion comme prévu, ou pour activer le contrôle parental.
Pour Android 10 et 11, le framework utilise la randomisation persistante pour tous les réseaux lorsque la randomisation MAC est activée.
Randomisation non persistante
Sous le type de randomisation non persistant, utilisé pour certains réseaux sous Android 12 ou version ultérieure, le module Wi-Fi re-randomise l'adresse MAC au début de chaque connexion ou le framework utilise l'adresse MAC randomisée existante pour se connecter au réseau. Le module Wi-Fi re-randomise l'adresse MAC dans les situations suivantes :
- La durée du bail DHCP a expiré et plus de 4 heures se sont écoulées depuis la dernière déconnexion de l'appareil de ce réseau.
- Le MAC randomisé actuel pour le profil réseau a été généré il y a plus de 24 heures. La re-randomisation de l'adresse MAC ne se produit qu'au début d'une nouvelle connexion. Le Wi-Fi ne se déconnectera pas activement dans le but de re-randomiser une adresse MAC.
Si aucune de ces situations ne s'applique, le framework utilise l'adresse MAC précédemment aléatoire pour se connecter au réseau.
Option développeur pour la randomisation non persistante
Pour les appareils exécutant Android 11 ou version ultérieure, les utilisateurs peuvent activer la randomisation MAC non persistante à l'échelle mondiale pour tous les réseaux Wi-Fi (sur lesquels la randomisation MAC est activée) via l'écran des options du développeur . L'option permettant d'activer la randomisation MAC non persistante pour tous les profils se trouve dans Paramètres > Options du développeur > Randomisation MAC non persistante Wi-Fi .
Figure 2. Option de randomisation MAC Wi-Fi non persistante.