ویژگی تصادفیسازی MAC به دستگاهها اجازه میدهد هنگام اتصال به شبکه Wi-Fi از یک آدرس MAC تصادفی استفاده کنند. برای دستورالعملهای پیادهسازی، به «پیادهسازی تصادفیسازی MAC» مراجعه کنید. این صفحه رفتار تصادفیسازی MAC را در اندروید شرح میدهد.
وقتی دستگاه شما به یک شبکه Wi-Fi یا یک نقطه دسترسی متصل میشود، از آدرسهای MAC استفاده میکند. از آنجا که این آدرسهای MAC بدون رمزگذاری منتقل میشوند، میتوانند ضبط شده و برای ردیابی موقعیت مکانی کاربر استفاده شوند. از نظر تاریخی، دستگاهها از آدرس MAC کارخانه برای اتصال به یک شبکه Wi-Fi استفاده میکنند. آدرس MAC کارخانه در سطح جهانی منحصر به فرد و ثابت است و به دستگاه اجازه میدهد تا ردیابی و به صورت جداگانه شناسایی شود.
ویژگی تصادفیسازی مک آدرس (MAC randomization) با استفاده از یک آدرس مک تصادفی هنگام اتصال به شبکه وایفای، حریم خصوصی کاربر را افزایش میدهد.
آدرسهای MAC ۴۸ بیت طول دارند و معمولاً با ۱۲ رقم هگز (۶ اکتت، زیرا هر اکتت ۸ بیت است) نمایش داده میشوند، مانند 00:11:22:AA:BB:CC . ویژگی تصادفیسازی MAC با تنظیم بیت مدیریتشده محلی روی ۱ و بیت تکپخشی روی ۰، آدرس را تصادفی میکند. ۴۶ بیت دیگر تصادفی هستند.
برای دستگاههایی که اندروید ۱۰ یا بالاتر دارند، این چارچوب به طور پیشفرض از یک آدرس MAC تصادفی استفاده میکند. میتوانید تصادفیسازی MAC را برای شبکههای جداگانه از طریق گزینهای در صفحه جزئیات شبکه در تنظیمات ، همانطور که در شکل ۱ نشان داده شده است، فعال یا غیرفعال کنید. اگر تصادفیسازی MAC را برای یک شبکه غیرفعال کنید، این چارچوب از آدرس MAC کارخانه (آدرس منحصر به فرد جهانی) استفاده میکند.

شکل 1. گزینه تصادفیسازی MAC.
انواع تصادفیسازی MAC
چارچوب اندروید از دو نوع تصادفیسازی MAC استفاده میکند: تصادفیسازی پایدار و تصادفیسازی غیرپایدار . اگر کاربر تصادفیسازی MAC را غیرفعال کند، از آدرس MAC کارخانه استفاده میشود.
اندروید تعیین میکند که هنگام اتصال دستگاه شما به یک شبکه وایفای، از کدام نوع تصادفیسازی مک استفاده کند. اندروید بهطور پیشفرض از تصادفیسازی پایدار استفاده میکند. از اندروید ۱۲ به بعد، اندروید در این موقعیتها از تصادفیسازی غیرپایدار استفاده میکند:
- یک برنامه پیشنهاد شبکه مشخص میکند که از تصادفیسازی غیرپایدار برای شبکه از طریق
WifiNetworkSuggestion.Builder#setMacRandomizationSettingAPI استفاده شود. - این شبکه یک شبکه باز است که با پورتال تحت کنترل مواجه نشده است و پوشش
config_wifiAllowEnhancedMacRandomizationOnOpenSsidsرویtrueتنظیم شده است. این پوشش به طور پیشفرض غیرفعال است (رویfalseتنظیم شده است).
تصادفیسازی مداوم
اندروید به طور پیشفرض هنگام فعال بودن تصادفیسازی MAC از نوع تصادفیسازی مداوم استفاده میکند. اندروید بر اساس پارامترهای پروفایل شبکه، از جمله SSID، نوع امنیتی یا FQDN (برای شبکههای Passpoint)، یک آدرس MAC تصادفی مداوم تولید میکند. این آدرس MAC تا زمان تنظیم مجدد کارخانه ثابت میماند. اگر شبکه Wi-Fi را فراموش کرده و دوباره اضافه کنید، آدرس MAC دوباره تصادفی نمیشود ، زیرا آدرس MAC به پارامترهای پروفایل شبکه بستگی دارد.
آدرسهای MAC پایدار زمانی ضروری هستند که شبکهها برای ارائه قابلیتهای مفید به پایداری آدرس MAC متکی باشند. به عنوان مثال، آنها میتوانند به یادآوری یک دستگاه کمک کنند و به شما امکان دهند طبق انتظار از صفحه ورود عبور کنید یا کنترلهای والدین را فعال کنید.
برای اندروید ۱۰ و ۱۱، این چارچوب در صورت فعال بودن تصادفیسازی MAC، از تصادفیسازی مداوم برای همه شبکهها استفاده میکند.
تصادفیسازی غیرپایدار
با تصادفیسازی غیرپایدار، که برای برخی از شبکهها در اندروید ۱۲ یا بالاتر استفاده میشود، ماژول Wi-Fi آدرس MAC را در ابتدای هر اتصال دوباره تصادفی میکند، یا چارچوب از آدرس MAC تصادفی موجود برای اتصال به شبکه استفاده میکند. ماژول Wi-Fi در این شرایط آدرس MAC را دوباره تصادفی میکند:
- مدت زمان اجاره DHCP به پایان رسیده است و بیش از ۴ ساعت از آخرین باری که دستگاه از این شبکه جدا شده است، گذشته است.
- مک آدرس تصادفی فعلی برای پروفایل شبکه بیش از ۲۴ ساعت پیش ایجاد شده است. تصادفیسازی مجدد آدرس مک فقط در شروع یک اتصال جدید اتفاق میافتد. وایفای به طور فعال برای تصادفیسازی مجدد آدرس مک قطع نمیشود.
اگر هیچ یک از این شرایط صدق نکند، چارچوب از آدرس MAC تصادفی قبلی برای اتصال به شبکه استفاده میکند.
گزینه توسعهدهنده برای تصادفیسازی غیرپایدار
برای دستگاههایی که اندروید ۱۱ یا بالاتر دارند، میتوانید از طریق صفحه گزینههای توسعهدهنده، تصادفیسازی مک غیرپایدار را برای همه شبکههای وایفای (که تصادفیسازی مک در آنها فعال است) به صورت سراسری فعال کنید. میتوانید گزینه فعالسازی تصادفیسازی مک غیرپایدار برای همه پروفایلها را در تنظیمات > گزینههای توسعهدهندگان > تصادفیسازی مک غیرپایدار وایفای پیدا کنید.

شکل ۲. گزینه تصادفیسازی MAC غیردائمی Wi-Fi.