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.

MAC adresleri, cihazlar tarafından kablosuz ağa veya erişim noktasına bağlanırken kullanılı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 seçimi özelliği, kablosuz ağa bağlanırken rastgele seçilmiş 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ümleri çalıştıran cihazlarda çerçeve, varsayılan olarak rastgele MAC adresi kullanır. Kullanıcılar, Ayarlar'daki Ağ ayrıntıları ekranında bulunan bir seçenek aracılığıyla MAC rastgeleleştirmeyi tek tek ağlar için etkinleştirebilir veya devre dışı bırakabilir. Bu seçenek, Şekil 1'de gösterilmektedir. Bir kullanıcı ağ için MAC adresini rastgeleleştirme özelliğini devre dışı bırakırsa çerçeve, fabrika MAC adresini (genel olarak benzersiz adres) kullanır.

MAC rastgele seçimi seçeneği

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

MAC rastgele seçimi 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 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ştirmenin 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 adresi rastgeleleştirme özelliği etkinleştirildiğinde varsayılan olarak kalıcı rastgeleleştirme türünü kullanır. Android, SSID, güvenlik türü veya FQDN (Passpoint ağları için) gibi ağ profilinin parametrelerine 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. MAC adresi, ağ profili parametrelerine bağlı olduğundan kullanıcı kablosuz ağı unutup tekrar eklerse yeniden rastgele seçilmez.

Ağların, kullanıcıya yararlı işlevler sağlamak için MAC adresinin kalıcılığına bağlı olduğu durumlarda kalıcı MAC adresleri gereklidir. Örneğin, bir cihazı hatırlamak ve kullanıcıların oturum açma ekranını beklendiği gibi atlamasına izin vermek veya ebeveyn denetimlerini etkinleştirmek için kalıcı MAC adresleri gereklidir.

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 rastgeleleştirme türünde, kablosuz modülü her bağlantının başında MAC adresini yeniden rastgeleleştirir ya da çerçeve, ağa bağlanmak için mevcut rastgeleleştirilmiş 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. Kablosuz, MAC adresini yeniden rastgele seçmek için aktif olarak bağlantıyı kesmez.

Bu durumlardan hiçbiri geçerli değilse çerçeve, ağa bağlanmak için daha önce rastgele oluşturulmuş 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 kullanıcılar, geliştirici seçenekleri ekranından MAC rastgeleleştirmenin etkinleştirildiği tüm kablosuz ağlar için kalıcı olmayan MAC rastgeleleştirmeyi genel olarak etkinleştirebilir. Tüm profiller için kalıcı olmayan MAC rastgele hale getirme özelliğini etkinleştirme seçeneği Ayarlar > Geliştirici Seçenekleri > Kablosuz kalıcı olmayan MAC rastgele hale getirme bölümünde bulunur.

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

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