MAC rastgele seçim davranışı

MAC rastgele hale getirme özelliği, cihazların bir kablosuz ağa bağlanırken rastgele bir MAC adresi kullanmasına olanak tanır. Uygulama talimatları için MAC adresini rastgeleleştirme başlıklı makaleyi inceleyin. Bu sayfada, Android'de MAC adresini rastgeleleştirme özelliği açıklanmaktadır.

Cihazınız bir kablosuz ağa veya erişim noktasına bağlandığında MAC adreslerini kullanır. Bu MAC adresleri şifrelenmeden iletildiğinden yakalanabilir ve kullanıcının konumunu izlemek için kullanılabilir. Geçmişte cihazlar, bir kablosuz ağa bağlanmak için fabrika MAC adresini kullanıyordu. Fabrika MAC adresi, cihazın izlenmesine ve ayrı ayrı tanımlanmasına olanak tanıyan, global olarak benzersiz ve statik bir adrestir.

MAC rastgele hale getirme özelliği, bir kablosuz ağa bağlanırken rastgele bir MAC adresi kullanarak kullanıcı gizliliğini artırır.

MAC adresleri 48 bit uzunluğundadır ve genellikle 12 onaltılık basamakla (her biri 8 bit olan 6 sekizli) gösterilir. Örneğin: 00:11:22:AA:BB:CC. MAC rastgeleleştirme özelliği, yerel olarak yönetilen biti 1'e ve tek yayın bitini 0'a ayarlayarak adresi rastgeleleştirir. Diğer 46 bit rastgele oluşturulur.

Android 10 veya sonraki sürümlerin yüklü olduğu cihazlarda, çerçeve varsayılan olarak rastgele bir MAC adresi kullanır. Şekil 1'de gösterildiği gibi, Ayarlar'daki Ağ ayrıntıları ekranında yer alan bir seçenekle MAC rastgeleleştirmeyi tek tek ağlar için etkinleştirebilir veya devre dışı bırakabilirsiniz. Bir ağ için MAC adresini rastgeleleştirme özelliğini devre dışı bırakırsanız çerçeve, fabrika MAC adresini (genel olarak benzersiz adres) kullanır.

MAC rastgele seçimi seçeneği

Şekil 1. MAC rastgele hale getirme seçeneği.

MAC rastgele hale getirme türleri

Android çerçevesi iki tür MAC rastgele hale getirme kullanır: kalıcı rastgele hale getirme ve kalıcı olmayan rastgele hale getirme. Kullanıcı MAC adresini rastgele hale getirme özelliğini devre dışı bırakırsa fabrika MAC adresi kullanılır.

Android, cihazınız bir kablosuz ağa bağlandığında hangi MAC rastgeleleştirme türünün kullanılacağını belirler. Android, varsayılan olarak kalıcı rastgeleleştirme kullanır. Android 12'den itibaren Android, aşağıdaki durumlarda kalıcı olmayan rastgeleleştirme kullanır:

  • Bir ağ önerisi uygulaması, WifiNetworkSuggestion.Builder#setMacRandomizationSetting API'si aracılığıyla ağ için kalıcı olmayan rastgeleleştirme kullanılacağını belirtiyor.
  • Ağ, giriş portalıyla karşılaşmamış açık bir ağdır ve config_wifiAllowEnhancedMacRandomizationOnOpenSsids yer paylaşımı true olarak ayarlanmıştır. Bu yer paylaşımı varsayılan olarak devre dışıdır (false olarak ayarlanmıştır).

Kalıcı rastgele hale getirme

Android, MAC rastgeleleştirme etkinleştirildiğinde varsayılan olarak kalıcı rastgeleleştirme türünü kullanır. Android, ağ profilinin parametrelerine (ör. SSID, güvenlik türü veya FQDN (Passpoint ağları için)) göre kalıcı bir rastgele MAC adresi oluşturur. Bu MAC adresi, fabrika ayarlarına sıfırlama işlemi yapılana kadar aynı kalır. Kablosuz ağı unutup tekrar eklerseniz MAC adresi, ağ profilinin parametrelerine bağlı olduğundan yeniden rastgele seçilmez.

Ağlar faydalı işlevler sağlamak için MAC adresinin kalıcılığına güvendiğinde kalıcı MAC adresleri gereklidir. Örneğin, bir cihazı hatırlamanıza yardımcı olabilir ve giriş ekranını beklendiği gibi atlamanıza olanak tanıyabilir veya ebeveyn denetimlerini etkinleştirebilir.

Android 10 ve 11'de, MAC rastgeleleştirme etkinleştirildiğinde çerçeve tüm ağlar için kalıcı rastgeleleştirme kullanır.

Kalıcı olmayan rastgele hale getirme

Android 12 veya sonraki sürümlerdeki bazı ağlarda kullanılan kalıcı olmayan rastgele MAC adresi oluşturma işleminde, kablosuz modülü her bağlantının başında MAC adresini yeniden rastgele hale getirir veya çerçeve, ağa bağlanmak için mevcut rastgele MAC adresini kullanır. Kablosuz modül, aşağıdaki durumlarda MAC adresini yeniden rastgele hale getirir:

  • DHCP kira süresi doldu ve cihazın bu ağla bağlantısı kesileli 4 saatten fazla zaman geçti.
  • Ağ profili için geçerli olan rastgele MAC adresi 24 saatten uzun bir süre önce oluşturuldu. MAC adresinin yeniden rastgele seçilmesi yalnızca yeni bir bağlantının başlangıcında gerçekleşir. Wi-Fi, MAC adresini yeniden rastgele hale getirmek için etkin olarak bağlantıyı kesmez.

Bu durumlardan hiçbiri geçerli değilse çerçeve, ağa bağlanmak için daha önce rastgele hale getirilmiş MAC adresini kullanır.

Kalıcı olmayan rastgeleleştirme için geliştirici seçeneği

Android 11 veya sonraki sürümlerin yüklü olduğu cihazlarda, geliştirici seçenekleri ekranından MAC rastgeleleştirmenin etkin olduğu tüm kablosuz ağlar için kalıcı olmayan MAC rastgeleleştirmeyi genel olarak etkinleştirebilirsiniz. Tüm profiller için kalıcı olmayan MAC rastgele hale getirmeyi etkinleştirme seçeneğini Ayarlar > Geliştirici Seçenekleri > Kablosuz kalıcı olmayan MAC rastgele hale getirme bölümünde bulabilirsiniz.

Kablosuz kalıcı olmayan MAC rastgele hale getirme seçeneği

Şekil 2. Kablosuz kalıcı olmayan MAC rastgele hale getirme seçeneği.