Comportement de randomisation MAC

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

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 dans 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 l'emplacement 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, ce qui permet de suivre et d'identifier individuellement l'appareil.

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 est de 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 supérieur, le framework utilise une adresse MAC aléatoire par défaut. 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é à la Figure 1. Si un utilisateur désactive la randomisation MAC pour un réseau, la structure utilise l'adresse MAC d'usine (adresse unique au monde).

Option de randomisation MAC

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 sur true . Cette superposition est désactivée (définie sur false ) par défaut.

Randomisation persistante

Android utilise le type de randomisation persistante par défaut lorsque la fonction 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, y compris 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.

Des 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 les contrôles parentaux.

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 persistante, qui est utilisé pour certains réseaux sous Android 12 ou supérieur, le module Wi-Fi re-randomise l'adresse MAC au début de chaque connexion ou le cadre 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 des adresses 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, la structure utilise l'adresse MAC précédemment randomisée pour se connecter au réseau.

Option développeur pour la randomisation non persistante

Pour les appareils exécutant Android 11 ou 12, 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 pour les développeurs > Wi-Fi randomisation MAC non persistante .

Option de randomisation MAC Wi-Fi non persistante

Figure 2. Option de randomisation MAC Wi-Fi non persistante.