تنفيذ التوزيع العشوائي لعنوان MAC

بدءًا من الإصدار 8.0 من Android، تستخدم أجهزة Android عناوين MAC عشوائية عند البحث عن شبكات جديدة عندما لا تكون مرتبطة بشبكة. في Android 9، يمكنك تفعيل أحد خيارات المطوّرين (يكون غير مفعَّل تلقائيًا) لكي يستخدم الجهاز عنوان MAC عشوائيًا عند الاتصال بشبكة Wi-Fi.

في نظام التشغيل Android 10، يتم تفعيل التوزيع العشوائي لعناوين MAC تلقائيًا لوضع العميل وSoftAp وWi-Fi Direct.

يمنع التوزيع العشوائي لـ MAC المستمعين من استخدام عناوين MAC لإنشاء سجل بنشاط الجهاز، وبالتالي زيادة خصوصية المستخدم.

بالإضافة إلى ذلك، يتم اختيار عناوين MAC بشكل عشوائي كجزء من عمليات Wi-Fi Aware و Wi-Fi RTT.

لمزيد من المعلومات، يُرجى الاطّلاع على سلوك تخصيص عناوين MAC بشكل عشوائي.

التنفيذ

لتنفيذ التوزيع العشوائي لعناوين MAC على جهازك:

  1. يمكنك التعاون مع مورّد شرائح Wi-Fi لتنفيذ طرق HAL التالية:

    • IWifiStaIface#setMacAddress: لضبط عنوان MAC لسمة الواجهة يؤدي التنفيذ التلقائي إلى إيقاف الواجهة وتغيير عنوان MAC وإعادة تشغيل الواجهة.
    • IWifiStaIface#getFactoryMacAddress: تحصل على عنوان MAC الأصلي لجهاز wlan0 باستخدام طلب ioctl.
    • ISupplicantP2pIface#setMacRandomization: لضبط التوزيع العشوائي لـ P2P MAC على تفعيل/إيقاف في برنامج العرض
  2. اضبط config_wifi_connected_mac_randomization_supported على true في الإعدادات config.xml (يمكن إجراء ذلك في شاشة ملف شخصي مخصّصة للجهاز).

    • تُستخدَم هذه العلامة للتحكّم في ما إذا كان يتم تفعيل التوزيع العشوائي لعناوين MAC في وضع العميل.
  3. اضبط config_wifi_p2p_mac_randomization_supported على true في الإعدادات config.xml (يمكن إجراء ذلك في شاشة ملف شخصي مخصّصة للجهاز).

    • تُستخدَم هذه العلامة للتحكّم في ما إذا كان يتم تفعيل ميزة "العنوان MAC العشوائي" في Wi-Fi Direct.
  4. اختبِر عملية التنفيذ باستخدام الطرق الموضّحة في التحقّق من الصحة.

يجب أن تستوفي واجهة مستخدم النظام الشروط التالية:

  • توفُّر خيار لتفعيل أو إيقاف وضع الاختيار العشوائي لكلّ معرّف SSID
  • تفعيل التوزيع العشوائي لعناوين MAC تلقائيًا لجميع الشبكات التي تمت إضافتها حديثًا

استخدِم التطبيق المرجعي لواجهة مستخدم "الإعدادات" من أجل تنفيذ طلبات جديدة.

قد لا تتوفّر في الأجهزة التي تعمل بالإصدار 9 من نظام التشغيل Android أو الإصدارات الأقدم إمكانية إنشاء عناوين MAC عشوائية لشبكة Wi-Fi. عند ترقية هذه الأجهزة إلى الإصدار Android 10، يمكن إيقاف ميزة التوزيع العشوائي لعناوين MAC في Wi-Fi من خلال ضبط العلامة WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION على "صحيح" فيملف الإنشاء HAL لموفِّر Wi-Fi.

التحقُّق

للتأكّد من أنّ الميزة تعمل على النحو المطلوب، يمكنك إجراء اختبار يدوي:

  1. تأكَّد من تفعيل وضع "الترقيم العشوائي لعنوان MAC" على الجهاز من خلال التحقّق من ضبط config_wifi_connected_mac_randomization_supported على true في التراكب على الجهاز.
  2. اتّصِل بشبكة Wi-Fi.
  3. انقر على الشبكة للانتقال إلى صفحة "تفاصيل الشبكة". تأكَّد من تفعيل ميزة MAC randomization. تأكَّد من أنّ عنوان MAC المعروض هو عنوان MAC عشوائي تم ضبط القيمة 1 على القيمة التي تم إنشاؤها محليًا وقيمة 0 على القيمة المخصّصة للبث المتعدد.
  4. أوقِف اختيار عنوان MAC عشوائيًا. اتصل بالشبكة نفسها وتأكَّد من استخدام عنوان MAC التلقائي.
  5. يمكنك حذف الشبكة من خلال النقر على حذف في صفحة "تفاصيل الشبكة".
  6. يُرجى الاتصال بالشبكة نفسها والتأكّد من استخدام عنوان MAC العشوائي نفسه.

لاختبار التوزيع العشوائي لعنوان MAC على جهاز يعمل بإصدار أقدم من Android 10 (يمكنه إتاحة التوزيع العشوائي لعنوان MAC) عند الترقية إلى Android 10 أو الإصدارات الأحدث:

  1. امتلاك شبكة محفوظة واحدة على الأقل على جهاز يعمل بالإصدار 9 من نظام التشغيل Android أو إصدار أقدم
  2. وضِّع فلاشًا لصورة نظام Android 10.
  3. في أداة اختيار Wi-Fi، تأكَّد من إيقاف ميزة التوزيع العشوائي لعناوين MAC لجميع الشبكات المحفوظة.
  4. فعِّل التوزيع العشوائي لعناوين MAC. يُرجى الاتصال بالشبكة نفسها والتأكّد مما يلي: يتم استخدام عنوان MAC العشوائي.