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

অ্যান্ড্রয়েড ৮.০ থেকে শুরু করে, কোনো নেটওয়ার্কের সাথে সংযুক্ত না থাকা অবস্থায় অ্যান্ড্রয়েড ডিভাইসগুলো নতুন নেটওয়ার্ক খোঁজার জন্য র‍্যান্ডমাইজড ম্যাক অ্যাড্রেস ব্যবহার করে। অ্যান্ড্রয়েড ৯-এ, আপনি একটি ডেভেলপার অপশন চালু করতে পারেন (যা ডিফল্টরূপে নিষ্ক্রিয় থাকে ) যাতে ডিভাইসটি কোনো ওয়াই-ফাই নেটওয়ার্কে সংযোগ করার সময় একটি র‍্যান্ডমাইজড ম্যাক অ্যাড্রেস ব্যবহার করে।

অ্যান্ড্রয়েড ১০-এ ক্লায়েন্ট মোড, সফটএপি এবং ওয়াই-ফাই ডিরেক্ট-এর জন্য ম্যাক র‍্যান্ডমাইজেশন ডিফল্টরূপে সক্রিয় থাকে।

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

এছাড়াও, Wi-Fi Aware এবং Wi-Fi RTT অপারেশনের অংশ হিসেবে MAC অ্যাড্রেসগুলো র‍্যান্ডমাইজ করা হয়।

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

বাস্তবায়ন

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

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

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

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

    • এই ফ্ল্যাগটি ওয়াই-ফাই ডিরেক্ট ম্যাক র‍্যান্ডমাইজেশন চালু থাকবে কিনা তা নিয়ন্ত্রণ করতে ব্যবহৃত হয়।
  4. ভ্যালিডেশন- এ বর্ণিত পদ্ধতিগুলো ব্যবহার করে আপনার ইমপ্লিমেন্টেশনটি পরীক্ষা করুন।

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

  • প্রতিটি SSID-এর জন্য র‍্যান্ডমাইজেশন চালু বা বন্ধ করার একটি বিকল্প থাকবে।
  • নতুন যোগ করা সমস্ত নেটওয়ার্কের জন্য ডিফল্টরূপে MAC র‍্যান্ডমাইজেশন সক্রিয় রাখুন।

নতুন প্রম্পটগুলো প্রয়োগ করতে সেটিংস UI-এর রেফারেন্স ইমপ্লিমেন্টেশনটি ব্যবহার করুন।

অ্যান্ড্রয়েড ৯ বা তার নিচের সংস্করণে চালিত ডিভাইসগুলিতে ওয়াই-ফাই ম্যাক র‍্যান্ডমাইজেশনের সাপোর্ট নাও থাকতে পারে। এই ধরনের ডিভাইসগুলিকে অ্যান্ড্রয়েড ১০-এ আপগ্রেড করার সময়, ওয়াই-ফাই ভেন্ডরের HAL মেক ফাইলে WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION ফ্ল্যাগটিকে true সেট করে ওয়াই-ফাই ম্যাক র‍্যান্ডমাইজেশন ফিচারটি নিষ্ক্রিয় করা যেতে পারে।

বৈধতা

ফিচারটি উদ্দেশ্য অনুযায়ী কাজ করছে কিনা তা যাচাই করতে, একটি ম্যানুয়াল টেস্ট চালান:

  1. ডিভাইস ওভারলে-তে config_wifi_connected_mac_randomization_supported মান true সেট করা আছে কিনা তা পরীক্ষা করে নিশ্চিত করুন যে ডিভাইসটিতে MAC র‍্যান্ডমাইজেশন সক্রিয় আছে।
  2. একটি ওয়াই-ফাই নেটওয়ার্কে সংযুক্ত হন।
  3. নেটওয়ার্ক ডিটেইলস পেজে যেতে নেটওয়ার্কটিতে ট্যাপ করুন। MAC র‍্যান্ডমাইজেশন চালু আছে কিনা তা যাচাই করুন। প্রদর্শিত MAC অ্যাড্রেসটি একটি র‍্যান্ডমাইজড MAC কিনা তা যাচাই করুন, যেটির লোকালি জেনারেটেড বিট ১ এবং মাল্টিকাস্ট বিট ০-তে সেট করা আছে।
  4. MAC র‍্যান্ডমাইজেশন বন্ধ করুন। একই নেটওয়ার্কে সংযুক্ত হয়ে যাচাই করুন যে ফ্যাক্টরি MAC ব্যবহৃত হচ্ছে।
  5. নেটওয়ার্ক বিবরণ পৃষ্ঠায় ‘ভুলে যান’ (Forget) ট্যাপ করে নেটওয়ার্কটি মুছে ফেলুন।
  6. একই নেটওয়ার্কে সংযোগ করুন এবং যাচাই করুন যে একই র‍্যান্ডমাইজড MAC অ্যাড্রেস ব্যবহৃত হচ্ছে।

অ্যান্ড্রয়েড ১০-এর পূর্ববর্তী কোনো ডিভাইসে (যা MAC র‍্যান্ডমাইজেশন সমর্থন করতে সক্ষম) MAC র‍্যান্ডমাইজেশন পরীক্ষা করতে, অ্যান্ড্রয়েড ১০ বা তার উচ্চতর সংস্করণে আপগ্রেড করতে হবে:

  1. অ্যান্ড্রয়েড ৯ বা তার নিম্নতর সংস্করণে চালিত ডিভাইসটিতে অন্তত একটি সংরক্ষিত নেটওয়ার্ক থাকতে হবে।
  2. অ্যান্ড্রয়েড ১০ সিস্টেম ইমেজ ফ্ল্যাশ করুন।
  3. ওয়াই-ফাই পিকার-এ, সংরক্ষিত সমস্ত নেটওয়ার্কের জন্য MAC র‍্যান্ডমাইজেশন বন্ধ আছে কিনা তা যাচাই করুন।
  4. MAC র‍্যান্ডমাইজেশন চালু করুন। একই নেটওয়ার্কে সংযুক্ত হয়ে যাচাই করুন যে র‍্যান্ডমাইজড MAC-টিই ব্যবহৃত হচ্ছে।