एमएसी रैंडमाइज़ेशन लागू करें

Android 8.0 से शुरू होने वाले, किसी नेटवर्क से जुड़े न होने पर भी नए नेटवर्क ढूंढने के लिए, Android डिवाइस बिना किसी क्रम के MAC पतों का इस्तेमाल करते हैं. Android 9 में, डिवाइस को वाई-फ़ाई नेटवर्क से कनेक्ट करते समय, किसी भी क्रम में लगाए गए एमएसी पते का इस्तेमाल करने के लिए, डेवलपर के विकल्प को चालू किया जा सकता है. यह विकल्प डिफ़ॉल्ट रूप से बंद होता है.

Android 10 में, क्लाइंट मोड, SoftAP, और वाई-फ़ाई डायरेक्ट के लिए, मैक पते को बदलने की सुविधा डिफ़ॉल्ट रूप से चालू होती है.

MAC पते को किसी भी क्रम में लगाने की सुविधा, लोगों को डिवाइस पर की गई गतिविधि का इतिहास बनाने के लिए MAC पतों का इस्तेमाल करने से रोकती है. इससे, उपयोगकर्ता की निजता का ध्यान रखा जाता है.

इसके अलावा, Wi-Fi Aware और Wi-Fi RTT ऑपरेशन के तहत, एमएसी पते को रैंडम तरीके से बदला जाता है.

ज़्यादा जानकारी के लिए, एमएसी रैंडमाइज़ेशन व्यवहार देखें.

लागू करना

अपने डिवाइस पर मैक पते को बदलने की सुविधा लागू करने के लिए:

  1. इन एचएएल तरीकों को लागू करने के लिए, वाई-फ़ाई चिप वेंडर के साथ काम करें:

    • IWifiStaIface#setMacAddress: इंटरफ़ेस के MAC पते को कॉन्फ़िगर करता है. डिफ़ॉल्ट तौर पर लागू होने पर, इंटरफ़ेस बंद हो जाता है, MAC पता बदल जाता है, और इंटरफ़ेस फिर से चालू हो जाता है.
    • IWifiStaIface#getFactoryMacAddress: ioctl कॉल का इस्तेमाल करके, wlan0 का फ़ैक्ट्री MAC मिलता है.
    • ISupplicantP2pIface#setMacRandomization: supplicant में P2P मैक पता बदलने की सुविधा को चालू/बंद करता है.
  2. सेटिंग config.xml में जाकर, config_wifi_connected_mac_randomization_supported को true पर सेट करें. ऐसा डिवाइस के कस्टम ओवरले में किया जा सकता है.

    • इस फ़्लैग का इस्तेमाल यह कंट्रोल करने के लिए किया जाता है कि क्लाइंट-मोड में मैक पते को बदलने की सुविधा चालू है या नहीं.
  3. सेटिंग config.xml में जाकर, config_wifi_p2p_mac_randomization_supported को true पर सेट करें. ऐसा डिवाइस के कस्टम ओवरले में किया जा सकता है.

    • इस फ़्लैग का इस्तेमाल यह कंट्रोल करने के लिए किया जाता है कि वाई-फ़ाई डायरेक्ट एमएसी रैंडमाइज़ेशन चालू है या नहीं.
  4. पुष्टि में बताए गए तरीकों का इस्तेमाल करके, लागू करने की प्रक्रिया की जांच करें.

सिस्टम यूज़र इंटरफ़ेस (यूआई) को:

  • हर SSID के लिए रैंडमाइज़ेशन को चालू या बंद करने का विकल्प रखें.
  • जोड़े गए सभी नए नेटवर्क के लिए, मैक पते को बदलने की सुविधा डिफ़ॉल्ट रूप से चालू हो.

नए प्रॉम्प्ट लागू करने के लिए, सेटिंग यूज़र इंटरफ़ेस (यूआई) के रेफ़रंस लागू करने का इस्तेमाल करें.

ऐसा हो सकता है कि Android 9 या इससे पहले के वर्शन वाले डिवाइसों में, वाई-फ़ाई मैक पते को रैंडमाइज़ करने की सुविधा काम न करे. ऐसे डिवाइसों को Android 10 पर अपग्रेड करते समय, वाई-फ़ाई वेंडर एचएएल मेक फ़ाइल में WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION फ़्लैग को 'सही है' पर सेट करके, वाई-फ़ाई के मैक पते को बदलने की सुविधा बंद की जा सकती है.

पुष्टि करें

इस बात की पुष्टि करने के लिए कि सुविधा सही तरीके से काम कर रही है, मैन्युअल टेस्ट चलाएं:

  1. डिवाइस पर एमएसी रैंडमाइज़ेशन की सुविधा चालू है या नहीं, इसकी पुष्टि करें. इसके लिए, डिवाइस ओवरले में देखें कि config_wifi_connected_mac_randomization_supported, true पर सेट है या नहीं.
  2. अपने डिवाइस को वाई-फ़ाई नेटवर्क से कनेक्ट करें.
  3. नेटवर्क की ज़्यादा जानकारी वाले पेज पर जाने के लिए, नेटवर्क पर टैप करें. पुष्टि करें कि एमएसी को रैंडमाइज़ करने की सुविधा चालू है. पुष्टि करें कि दिखाया गया MAC पता, अपने-आप चुना गया MAC पता है. इसमें, स्थानीय तौर पर जनरेट किया गया बिट 1 पर सेट है और मल्टीकास्ट बिट 0 पर सेट है.
  4. एमएसी पता बदलने की सुविधा बंद करें. उसी नेटवर्क से कनेक्ट करें और पुष्टि करें कि फ़ैक्ट्री एमएसी का इस्तेमाल किया जा रहा है.
  5. नेटवर्क की जानकारी वाले पेज पर, भूल जाएं पर टैप करके नेटवर्क मिटाएं.
  6. एक ही नेटवर्क से कनेक्ट करें और पुष्टि करें कि रैंडम मैक पते का इस्तेमाल एक ही डिवाइस के लिए किया जा रहा है.

Android 10 या इसके बाद वाले वर्शन वाले डिवाइस पर MAC रैंडमाइज़ेशन की जांच करने के लिए, Android 10 या इसके बाद वाले वर्शन में अपग्रेड करने की सुविधा (इसमें एमएसी रैंडमाइज़ेशन की सुविधा मौजूद है)

  1. Android 9 या उससे पहले के वर्शन वाले डिवाइस पर, कम से कम एक नेटवर्क सेव किया गया हो.
  2. Android 10 सिस्टम इमेज को फ़्लैश करें.
  3. वाई-फ़ाई पिकर में, पुष्टि करें कि सेव किए गए सभी नेटवर्क के लिए, मैक पता बदलने की सुविधा बंद हो.
  4. एमएसी पता बदलने की सुविधा चालू करें. एक ही नेटवर्क से कनेक्ट करें और पुष्टि करें कि किसी भी MAC का इस्तेमाल किया जा रहा है.