MAC র্যান্ডমাইজেশন বাস্তবায়ন

অ্যান্ড্রয়েড 8.0 থেকে শুরু করে, অ্যান্ড্রয়েড ডিভাইসগুলি এলোমেলো MAC ঠিকানাগুলি ব্যবহার করে যখন নতুন নেটওয়ার্কগুলির জন্য অনুসন্ধান করা হয় যদিও বর্তমানে কোনও নেটওয়ার্কের সাথে যুক্ত নয়৷ অ্যান্ড্রয়েড 9-এ, আপনি একটি ডেভেলপার বিকল্প সক্রিয় করতে পারেন (এটি ডিফল্টরূপে অক্ষম ) একটি Wi-Fi নেটওয়ার্কের সাথে সংযোগ করার সময় ডিভাইসটিকে একটি এলোমেলো MAC ঠিকানা ব্যবহার করতে পারে৷

অ্যান্ড্রয়েড 10-এ, ক্লায়েন্ট মোড, সফ্টঅ্যাপ এবং ওয়াই-ফাই ডাইরেক্টের জন্য ডিফল্টরূপে MAC র্যান্ডমাইজেশন সক্ষম করা আছে।

MAC র্যান্ডমাইজেশন শ্রোতাদের ডিভাইস কার্যকলাপের ইতিহাস তৈরি করতে MAC ঠিকানা ব্যবহার করতে বাধা দেয়, এইভাবে ব্যবহারকারীর গোপনীয়তা বৃদ্ধি করে।

উপরন্তু, MAC ঠিকানাগুলি Wi-Fi Aware এবং Wi-Fi RTT অপারেশনগুলির অংশ হিসাবে এলোমেলো করা হয়েছে৷

আরও তথ্যের জন্য, MAC র্যান্ডমাইজেশন আচরণ দেখুন।

বাস্তবায়ন

আপনার ডিভাইসে MAC র্যান্ডমাইজেশন বাস্তবায়ন করতে:

  1. নিম্নলিখিত HAL পদ্ধতিগুলি বাস্তবায়ন করতে Wi-Fi চিপ বিক্রেতার সাথে কাজ করুন:

    • IWifiStaIface#setMacAddress : ইন্টারফেসের MAC ঠিকানা কনফিগার করে। ডিফল্ট বাস্তবায়ন ইন্টারফেসকে নিচে নিয়ে আসে, MAC ঠিকানা পরিবর্তন করে এবং ইন্টারফেসটিকে ব্যাক আপ করে।
    • IWifiStaIface#getFactoryMacAddress : একটি ioctl কল ব্যবহার করে wlan0 এর ফ্যাক্টরি MAC পায়।
    • ISupplicantP2pIface#setMacRandomization : আবেদনকারীর মধ্যে P2P MAC র্যান্ডমাইজেশন চালু/বন্ধ সেট করে।
  2. সেটিংস config.xmlconfig_wifi_connected_mac_randomization_supported কে true সেট করুন (এটি একটি ডিভাইস কাস্টম ওভারলেতে করা যেতে পারে)।

    • ক্লায়েন্ট-মোড MAC র্যান্ডমাইজেশন সক্ষম কিনা তা নিয়ন্ত্রণ করতে এই পতাকা ব্যবহার করা হয়।
  3. সেটিংস config.xmlconfig_wifi_p2p_mac_randomization_supported কে true সেট করুন (এটি একটি ডিভাইস কাস্টম ওভারলেতে করা যেতে পারে)।

    • এই পতাকাটি Wi-Fi সরাসরি MAC র্যান্ডমাইজেশন সক্ষম কিনা তা নিয়ন্ত্রণ করতে ব্যবহৃত হয়৷
  4. বৈধকরণে বর্ণিত পদ্ধতিগুলি ব্যবহার করে আপনার বাস্তবায়ন পরীক্ষা করুন।

সিস্টেম UI অবশ্যই:

  • প্রতিটি SSID এর জন্য র্যান্ডমাইজেশন সক্ষম বা নিষ্ক্রিয় করার একটি বিকল্প আছে৷
  • নতুন যোগ করা সমস্ত নেটওয়ার্কের জন্য ডিফল্টরূপে MAC র্যান্ডমাইজেশন সক্ষম করুন৷

নতুন প্রম্পট বাস্তবায়ন করতে সেটিংস UI এর রেফারেন্স বাস্তবায়ন ব্যবহার করুন।

অ্যান্ড্রয়েড 9 বা তার কম সংস্করণে চলমান ডিভাইসগুলিতে Wi-Fi MAC র্যান্ডমাইজেশনের জন্য সমর্থন নাও থাকতে পারে। এই জাতীয় ডিভাইসগুলিকে Android 10 এ আপগ্রেড করার সময়, Wi-Fi বিক্রেতা HAL মেক ফাইলে WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION ফ্ল্যাগটিকে সত্য হিসাবে সেট করে Wi-Fi MAC র্যান্ডমাইজেশন বৈশিষ্ট্যটি নিষ্ক্রিয় করা যেতে পারে।

বৈধতা

বৈশিষ্ট্যটি উদ্দেশ্য অনুযায়ী কাজ করছে তা যাচাই করতে, একটি ইন্টিগ্রেশন টেস্ট (ACTS) এবং একটি ম্যানুয়াল পরীক্ষা উভয়ই চালান৷

একটি ইন্টিগ্রেশন পরীক্ষা চালানোর জন্য, ACTS ফাইলটি ব্যবহার করুন, WifiMacRandomizationTest.py , যা tools/test/connectivity/acts_tests/tests/google/wifi তে অবস্থিত, ডিভাইসটি এলোমেলো MAC ঠিকানা ব্যবহার করে এবং প্রতিটির জন্য সঠিকভাবে এলোমেলো MAC ঠিকানা সংরক্ষণ করে কিনা তা যাচাই করতে অন্তর্জাল.

একটি ম্যানুয়াল পরীক্ষা চালানোর জন্য:

  1. ডিভাইস ওভারলেতে config_wifi_connected_mac_randomization_supported true হিসাবে সেট করা আছে তা পরীক্ষা করে ডিভাইসে MAC র্যান্ডমাইজেশন সক্ষম হয়েছে কিনা তা যাচাই করুন।
  2. একটি Wi-Fi নেটওয়ার্কে সংযোগ করুন৷
  3. নেটওয়ার্ক বিশদ পৃষ্ঠায় যেতে নেটওয়ার্কে আলতো চাপুন৷ যাচাই করুন যে MAC র্যান্ডমাইজেশন চালু আছে। যাচাই করুন যে প্রদর্শিত MAC ঠিকানাটি একটি র্যান্ডমাইজড MAC, যেটিতে স্থানীয়ভাবে তৈরি করা বিটটি 1 এবং মাল্টিকাস্ট বিটটি 0 এ সেট করা আছে।
  4. MAC র্যান্ডমাইজেশন বন্ধ করুন। একই নেটওয়ার্কে সংযোগ করুন এবং ফ্যাক্টরি MAC ব্যবহার করা হচ্ছে কিনা তা যাচাই করুন।
  5. নেটওয়ার্ক বিশদ পৃষ্ঠায় ভুলে যান ট্যাপ করে নেটওয়ার্ক মুছুন।
  6. একই নেটওয়ার্কে সংযোগ করুন এবং যাচাই করুন যে একই এলোমেলো MAC ঠিকানা ব্যবহার করা হচ্ছে৷

একটি প্রি-অ্যান্ড্রয়েড 10 ডিভাইসে MAC র্যান্ডমাইজেশন পরীক্ষা করতে (MAC র্যান্ডমাইজেশন সমর্থন করতে সক্ষম) Android 10 বা উচ্চতর সংস্করণে আপগ্রেড করা:

  1. অ্যান্ড্রয়েড 9 বা তার আগে চলমান ডিভাইসে অন্তত একটি সংরক্ষিত নেটওয়ার্ক থাকতে হবে।
  2. Android 10 সিস্টেমের ছবি ফ্ল্যাশ করুন।
  3. Wi-Fi পিকারে, যাচাই করুন যে সমস্ত সংরক্ষিত নেটওয়ার্কের জন্য MAC র্যান্ডমাইজেশন বন্ধ আছে।
  4. MAC র্যান্ডমাইজেশন চালু করুন। একই নেটওয়ার্কে সংযোগ করুন এবং যাচাই করুন যে এলোমেলো MAC ব্যবহার করা হচ্ছে৷