عملکرد تصادفی‌سازی کد اصالت‌سنجی پیام

ویژگی تصادفی‌سازی مک آدرس به دستگاه‌ها امکان می‌دهد هنگام اتصال به شبکه Wi-Fi از مک آدرس تصادفی استفاده کنند. برای دستورالعمل‌های پیاده‌سازی، به پیاده‌سازی تصادفی‌سازی مک آدرس مراجعه کنید. این صفحه رفتار تصادفی‌سازی مک آدرس در Android را شرح می‌دهد.

وقتی دستگاهتان به شبکه Wi-Fi یا نقطه دسترسی متصل می‌شود، از نشانی‌های MAC استفاده می‌کند. ازآنجایی‌که این نشانی‌های MAC بدون رمزگذاری منتقل می‌شوند، می‌توان آن‌ها را ضبط کرد و از آن‌ها برای ردیابی احتمالی مکان کاربر استفاده کرد. ازنظر تاریخی، دستگاه‌ها از نشانی MAC کارخانه برای مرتبط شدن با شبکه Wi-Fi استفاده می‌کنند. مک آدرس کارخانه در سطح جهانی یکتا و ثابت است، که اجازه می‌دهد دستگاه ردیابی و به‌طور جداگانه شناسایی شود.

ویژگی تصادفی‌سازی MAC بااستفاده از نشانی MAC تصادفی هنگام اتصال به شبکه Wi-Fi، حریم خصوصی کاربر را افزایش می‌دهد.

مک آدرس‌ها ۴۸ بیت طول دارند و معمولاً با ۱۲ رقم هگزادسیمال (۶ هشت‌تایی که هر هشت‌تایی ۸ بیت است) نشان داده می‌شوند، مانند 00:11:22:AA:BB:CC. ویژگی تصادفی‌سازی MAC با تنظیم بیت اداره محلی روی ۱ و بیت تک‌فرستی روی ۰، نشانی را تصادفی‌سازی می‌کند. ۴۶ بیت دیگر تصادفی‌سازی شده است.

برای دستگاه‌هایی که از Android نسخه ۱۰ یا بالاتر استفاده می‌کنند، چارچوب به‌طور پیش‌فرض از نشانی MAC تصادفی استفاده می‌کند. می‌توانید تصادفی‌سازی MAC را برای شبکه‌های جداگانه ازطریق گزینه‌ای در صفحه جزئیات شبکه در تنظیمات فعال یا غیرفعال کنید، همان‌طور که در «شکل ۱» نشان داده شده است. اگر تصادفی‌سازی MAC را برای شبکه‌ای غیرفعال کنید، چارچوب از مک آدرس کارخانه (نشانی جهانی منحصربه‌فرد) استفاده می‌کند.

گزینه تصادفی‌سازی مک آدرس

شکل ۱. گزینه تصادفی‌سازی مک آدرس.

انواع تصادفی‌سازی کد اصالت‌سنجی پیام

چارچوب Android از دو نوع تصادفی‌سازی MAC استفاده می‌کند: تصادفی‌سازی پایدار و تصادفی‌سازی ناپایدار. اگر کاربر تصادفی‌سازی MAC را غیرفعال کند، از مک آدرس کارخانه‌ای استفاده می‌شود.

Android تعیین می‌کند که وقتی دستگاهتان با شبکه Wi-Fi مرتبط می‌شود، از کدام نوع تصادفی‌سازی MAC استفاده شود. به‌طور پیش‌فرض، Android از تصادفی‌سازی پایدار استفاده می‌کند. از Android 12 به بعد، Android در این شرایط از تصادفی‌سازی غیرپایدار استفاده می‌کند:

  • برنامه پیشنهاد شبکه مشخص می‌کند که از تصادفی‌سازی غیرماندگار برای شبکه ازطریق میانای برنامه‌سازی کاربردی WifiNetworkSuggestion.Builder#setMacRandomizationSetting استفاده شود.
  • شبکه، شبکه بازی است که با درگاه مهمان مواجه نشده است و رونهاد config_wifiAllowEnhancedMacRandomizationOnOpenSsids روی true تنظیم شده است. این رونهاد به‌طور پیش‌فرض غیرفعال است (روی false تنظیم شده است).

تصادفی‌سازی پایدار

وقتی تصادفی‌سازی MAC فعال باشد، Android به‌طور پیش‌فرض از نوع تصادفی‌سازی ماندگار استفاده می‌کند. ‫Android براساس پارامترهای نمایه شبکه، ازجمله SSID، نوع امنیت، یا FQDN (برای شبکه‌های Passpoint)، نشانی MAC تصادفی‌سازی‌شده ماندگاری تولید می‌کند. این مک آدرس تا زمان بازنشانی کارخانه‌ای تغییر نمی‌کند. اگر شبکه Wi-Fi را فراموش کنید و دوباره اضافه کنید، آدرس فیزیکی به‌صورت تصادفی تغییر نمی‌کند، زیرا آدرس فیزیکی به پارامترهای نمایه شبکه بستگی دارد.

وقتی شبکه‌ها برای ارائه عملکرد مفید به ماندگاری نشانی MAC متکی هستند، نشانی‌های MAC ماندگار ضروری است. برای مثال، می‌توانند به یادآوری دستگاه و عبور از صفحه ورود به سیستم طبق انتظار کمک کنند، یا کنترل‌های والدین را فعال کنند.

برای Android 10 و 11، وقتی تصادفی‌سازی مک آدرس فعال باشد، چارچوب از تصادفی‌سازی ماندگار برای همه شبکه‌ها استفاده می‌کند.

تصادفی‌سازی غیردائمی

با تصادفی‌سازی غیرماندگار، که برای برخی‌از شبکه‌ها در Android 12 یا بالاتر استفاده می‌شود، واحد Wi-Fi در ابتدای هر اتصال نشانی MAC را دوباره تصادفی‌سازی می‌کند، یا چارچوب از نشانی MAC تصادفی‌سازی‌شده موجود برای اتصال به شبکه استفاده می‌کند. واحد Wi-Fi در این شرایط مک آدرس را دوباره تصادفی‌سازی می‌کند:

  • مدت اجاره DHCP منقضی شده است و بیش‌از ۴ ساعت از آخرین باری که دستگاه از این شبکه قطع شده است می‌گذرد.
  • مک تصادفی فعلی برای نمایه شبکه بیش‌از ۲۴ ساعت پیش تولید شده است. تغییر تصادفی نشانی MAC فقط در ابتدای اتصال جدید انجام می‌شود. ‫Wi-Fi برای تصادفی‌سازی مجدد نشانی MAC به‌طور فعال قطع نخواهد شد.

اگر هیچ‌کدام از این شرایط اعمال نشود، چارچوب از نشانی MAC تصادفی‌سازی‌شده قبلی برای اتصال به شبکه استفاده می‌کند.

گزینه توسعه‌دهنده برای تصادفی‌سازی غیرپایدار

برای دستگاه‌های دارای Android 11 یا بالاتر، می‌توانید تصادفی‌سازی مک آدرس غیرماندگار را به‌صورت سراسری برای همه شبکه‌های Wi-Fi (که تصادفی‌سازی مک آدرس در آن‌ها فعال است) ازطریق صفحه گزینه‌های توسعه‌دهندگان فعال کنید. می‌توانید گزینه فعال کردن تصادفی‌سازی مک آدرس غیرپایدار برای همه نمایه‌ها را در تنظیمات > گزینه‌های توسعه‌دهندگان > تصادفی‌سازی مک آدرس غیرپایدار Wi-Fi پیدا کنید.

گزینه تصادفی‌سازی مک آدرس Wi-Fi غیردائمی

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