MAC rastgele hale getirme davranışı

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

MAC adresleri, cihazlar bir kablosuz ağa veya erişim noktasına bağlanırken kullanılır. Bu MAC adresleri şifreleme olmadan iletildiğinden yakalanabilir ve kullanıcının konumunu izlemek için kullanılabilir. Cihazlar, kablosuz ağa bağlanmak için genellikle fabrika MAC adresini kullanır. Fabrika MAC adresi, cihazın izlenmesine ve tek tek tanımlanmasına olanak tanıyan, dünya genelinde benzersiz ve statik bir adrestir.

MAC rastgele seçimi özelliği, 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 00:11:22:AA:BB:CC gibi 12 onaltılık basamakla (her sekizlik 8 bit olduğundan 6 sekizlik) temsil edilir. MAC adres rastgeleleştirme özelliği, yerel olarak yönetilen bitini 1'e, tek adresli bitini ise 0'a ayarlayarak adresi rastgele hale getirir. 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, Şekil 1'de gösterildiği gibi Ayarlar'daki Ağ ayrıntıları ekranındaki bir seçenek aracılığıyla ağlar için MAC rastgeleleştirmeyi etkinleştirebilir veya devre dışı bırakabilir. Kullanıcı bir ağ için MAC adresini rastgele atama özelliğini devre dışı bırakırsa çerçeve, fabrika MAC adresini (dünya genelinde benzersiz adres) kullanır.

MAC rastgele hale getirme seçeneği

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

MAC rastgele seçim türleri

Android çerçevesi iki tür MAC rastgeleleştirme kullanır: kalıcı rastgeleleştirme ve kalıcı olmayan rastgeleleştirme. Kullanıcı MAC adresini rastgele hale getirmeyi devre dışı bırakırsa fabrika MAC adresi kullanılır.

Android, cihaz bir kablosuz ağa bağlanırken 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:

  • Ağ önerisi uygulaması, WifiNetworkSuggestion.Builder#setMacRandomizationSetting API'si aracılığıyla ağ için kalıcı olmayan rastgeleleştirmenin kullanılacağını belirtir.
  • 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 adresini rastgele atama özelliği etkinleştirildiğinde varsayılan olarak kalıcı rastgele atama türünü kullanır. Android, SSID, güvenlik türü veya FQDN (Passpoint ağları için) gibi ağ profili parametrelerine göre kalıcı, rastgele bir MAC adresi oluşturur. Bu MAC adresi, fabrika ayarlarına sıfırlanana kadar aynı kalır. MAC adresi, ağ profilinin parametrelerine bağlı olduğundan kullanıcı kablosuz ağı unutup yeniden eklerse MAC adresi yeniden rastgele seçilmez (seçilmez).

Kalıcı MAC adresleri, ağların kullanıcıya yararlı işlevler sunmak için MAC adresinin kalıcılığına ihtiyaç duyduğu durumlarda gereklidir. Örneğin, bir cihazı hatırlamak ve kullanıcıların beklendiği gibi giriş ekranını atlamasına izin vermek veya ebeveyn denetimlerini etkinleştirmek için kalıcı MAC adresleri gerekir.

Android 10 ve 11 için çerçeve, MAC adresini rastgele atama özelliği etkinleştirildiğinde tüm ağlar için kalıcı rastgele atama kullanır.

Kalıcı olmayan rastgele hale getirme

Android 12 veya sonraki sürümlerde bazı ağlar için kullanılan kalıcı olmayan rastgeleleştirme türüne göre, 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, MAC adresini aşağıdaki durumlarda yeniden rastgele oluşturur:

  • DHCP kiralama süresinin sona ermesi ve cihazın bu ağdan son bağlantısının kesilmesinden 4 saatten fazla zaman geçmesi.
  • Ağ profili için geçerli rastgele MAC, 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 ağ, MAC adresini yeniden rastgele hale getirmek amacıyla etkin bir şekilde 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ümleri çalıştıran cihazlarda kullanıcılar, geliştirici seçenekleri ekranını kullanarak tüm kablosuz ağlar (MAC rastgeleleştirme özelliği etkin olan) için kalıcı olmayan MAC rastgeleleştirme özelliğini dünya genelinde etkinleştirebilir. Tüm profiller için kalıcı olmayan MAC rastgele hale getirmeyi etkinleştirme seçeneği Ayarlar > Geliştirici Seçenekleri > Kablosuz kalıcı olmayan MAC rastgele hale getirme modu'nda 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.