WPA3 और वाई-फ़ाई Enhanced Open

Android 10 में, Wi-Fi Alliance (WFA) के Wi-Fi Protected Access वर्शन 3 (WPA3) और Wi-Fi Enhanced Open स्टैंडर्ड के लिए सहायता उपलब्ध है. ज़्यादा जानकारी के लिए, WFA की साइट पर सुरक्षा देखें.

WPA3, WFA का नया सुरक्षा स्टैंडर्ड है. यह निजी और एंटरप्राइज़ नेटवर्क के लिए है. इसका मकसद, आधुनिक सुरक्षा एल्गोरिदम और ज़्यादा सुरक्षित साइफ़र सुइट का इस्तेमाल करके, वाई-फ़ाई की सुरक्षा को बेहतर बनाना है. WPA3 के दो हिस्से होते हैं:

  • WPA3-Personal: यह पहले से शेयर की गई कुंजी (पीएसके) के बजाय, एक साथ कई लोगों की पुष्टि करने की सुविधा (एसएई) का इस्तेमाल करता है. इससे उपयोगकर्ताओं को ज़्यादा सुरक्षा मिलती है. जैसे, ऑफ़लाइन डिक्शनरी अटैक, कुंजी रिकवरी, और मैसेज फ़ोर्जिंग जैसे हमलों से सुरक्षा मिलती है.
  • WPA3-एंटरप्राइज़: यह पुष्टि करने और लिंक-लेयर को एन्क्रिप्ट (सुरक्षित) करने के ज़्यादा सुरक्षित तरीके उपलब्ध कराता है. साथ ही, संवेदनशील सुरक्षा एनवायरमेंट के लिए 192-बिट सुरक्षा मोड का विकल्प भी देता है.

Wi-Fi Enhanced Open, WFA का नया सुरक्षा स्टैंडर्ड है. यह सार्वजनिक नेटवर्क के लिए है और यह ओपर्च्यूनिस्टिक वायरलेस एन्क्रिप्शन (OWE) पर आधारित है. यह कैफ़े, होटल, रेस्टोरेंट, और लाइब्रेरी जैसी जगहों पर, खुले और पासवर्ड से सुरक्षित न किए गए नेटवर्क पर एन्क्रिप्शन और निजता की सुविधा देता है. बेहतर ओपन की सुविधा से पुष्टि नहीं की जाती है.

WPA3 और Wi-Fi Enhanced Open, वाई-फ़ाई की सुरक्षा को बेहतर बनाते हैं. साथ ही, ये जाने-पहचाने हमलों से बेहतर सुरक्षा और निजता देते हैं. कई डिवाइसों पर अब भी ये स्टैंडर्ड काम नहीं करते या इन सुविधाओं के साथ काम करने के लिए, उनके सॉफ़्टवेयर अपग्रेड नहीं किए गए हैं. इसलिए, WFA ने ट्रांज़िशन के इन मोड का सुझाव दिया है:

  • WPA2/WPA3 ट्रांज़िशन मोड: इस मोड में, ऐक्सेस पॉइंट एक साथ WPA2 और WPA3, दोनों स्टैंडर्ड के साथ काम करता है. इस मोड में, Android 10 डिवाइस कनेक्ट करने के लिए WPA3 का इस्तेमाल करते हैं. वहीं, Android 9 या इससे पहले के वर्शन पर काम करने वाले डिवाइस, उसी ऐक्सेस पॉइंट से कनेक्ट करने के लिए WPA2 का इस्तेमाल करते हैं.
  • WPA2/WPA3-एंटरप्राइज़ ट्रांज़िशन मोड: इस मोड में, ऐक्सेस पॉइंट एक साथ WPA2-एंटरप्राइज़ और WPA3-एंटरप्राइज़ स्टैंडर्ड के साथ काम करता है.
  • OWE ट्रांज़िशन मोड: इस मोड में, ऐक्सेस पॉइंट एक साथ OWE और ओपन स्टैंडर्ड, दोनों के साथ काम करता है. इस मोड में, Android 10 डिवाइस कनेक्ट करने के लिए OWE का इस्तेमाल करते हैं. वहीं, Android 9 या इससे पहले के वर्शन पर काम करने वाले डिवाइस, बिना किसी एन्क्रिप्शन के उसी ऐक्सेस पॉइंट से कनेक्ट होते हैं.

Android 12 में ट्रांज़िशन डिसैबल इंडिकेशन की सुविधा काम करती है. यह एक ऐसा तरीका है जो डिवाइस को WPA2 का इस्तेमाल न करने और इसके बजाय WPA3 का इस्तेमाल करने का निर्देश देता है. जब किसी डिवाइस को यह सूचना मिलती है, तो वह WPA3 का इस्तेमाल करके, WPA3 नेटवर्क से कनेक्ट होता है. यह नेटवर्क, ट्रांज़िशन मोड के साथ काम करता है. Android 12 में, WPA3 हैश-टू-एलिमेंट (H2E) ऑथेंटिकेशन एक्सचेंज की सुविधा भी काम करती है. ज़्यादा जानकारी के लिए, WPA3 की खास बातें देखें.

WPA3 और Wi-Fi Enhanced Open, सिर्फ़ क्लाइंट मोड में काम करते हैं.

लागू करना

WPA3 और Wi-Fi Enhanced Open के साथ काम करने के लिए, Supplicant HAL इंटरफ़ेस लागू करें. Android 13 से, इंटरफ़ेस एचएएल डेफ़िनिशन के लिए एआईडीएल का इस्तेमाल करता है. Android 13 से पहले की रिलीज़ के लिए, इंटरफ़ेस और वेंडर पार्टीशन HIDL का इस्तेमाल करते हैं. एचआईडीएल इंटरफ़ेस hardware/interfaces/wifi/supplicant/1.3/ में और एआईडीएल इंटरफ़ेस hardware/interfaces/wifi/supplicant/aidl/ में देखा जा सकता है,

WPA3 और OWE के साथ काम करने के लिए, ये ज़रूरी हैं:

  • SAE और OWE के साथ काम करने के लिए Linux कर्नेल पैच

    • cfg80211
    • nl80211
  • wpa_supplicant SAE, SUITEB192, और OWE के साथ काम करता है

  • SAE, SUITEB192, और OWE के साथ काम करने वाला वाई-फ़ाई ड्राइवर

  • SAE, SUITEB192, और OWE के साथ काम करने वाला वाई-फ़ाई फ़र्मवेयर

  • WPA3 और OWE के साथ काम करने वाली वाई-फ़ाई चिप

Android 10 में, सार्वजनिक एपीआई के तरीके उपलब्ध हैं. इनकी मदद से, ऐप्लिकेशन यह पता लगा सकते हैं कि डिवाइस पर ये सुविधाएं काम करती हैं या नहीं:

WifiConfiguration.java इसमें नए तरह के कुंजी मैनेजमेंट के साथ-साथ, पेयरवाइज़ सिफ़र, ग्रुप सिफ़र, ग्रुप मैनेजमेंट सिफ़र, और Suite B सिफ़र शामिल हैं. ये OWE, WPA3-Personal, और WPA3-Enterprise के लिए ज़रूरी हैं.

WPA3 और Wi-Fi Enhanced Open को चालू करना

Android फ़्रेमवर्क में WPA3-Personal, WPA3-Enterprise, और Wi-Fi Enhanced Open को चालू करने के लिए:

  • WPA3-Personal: wpa_supplicant कॉन्फ़िगरेशन फ़ाइल में CONFIG_SAE कंपाइलेशन विकल्प शामिल करें.

    # WPA3-Personal (SAE)
    CONFIG_SAE=y
    
  • WPA3-एंटरप्राइज़: wpa_supplicant कॉन्फ़िगरेशन फ़ाइल में, CONFIG_SUITEB192 और CONFIG_SUITEB कंपाइलेशन के विकल्प शामिल करें.

    # WPA3-Enterprise (SuiteB-192)
    CONFIG_SUITEB=y
    CONFIG_SUITEB192=y
    
  • Wi-Fi Enhanced Open: wpa_supplicant कॉन्फ़िगरेशन फ़ाइल में CONFIG_OWE कंपाइलेशन विकल्प शामिल करें.

    # Opportunistic Wireless Encryption (OWE)
    # Experimental implementation of draft-harkins-owe-07.txt
    CONFIG_OWE=y
    

अगर WPA3-Personal, WPA3-Enterprise या Wi-Fi Enhanced Open चालू नहीं है, तो उपयोगकर्ता इन नेटवर्क को मैन्युअल तरीके से न तो जोड़ पाएंगे, न ही स्कैन कर पाएंगे, और न ही कनेक्ट कर पाएंगे.

Validation

लागू की गई ट्रैकिंग की जांच करने के लिए, ये टेस्ट चलाएं.

यूनिट टेस्ट

WPA3 और OWE के लिए, क्षमता के फ़्लैग के व्यवहार की पुष्टि करने के लिए, SupplicantStaIfaceHalTest चलाएं.

atest SupplicantStaIfaceHalTest

इस सुविधा के लिए सार्वजनिक एपीआई के व्यवहार की पुष्टि करने के लिए, WifiManagerTest चलाएं.

atest WifiManagerTest

वीटीएस टेस्ट

अगर एचआईडीएल इंटरफ़ेस लागू किया गया है, तो यह कमांड चलाएं:

atest VtsHalWifiSupplicantV1_3TargetTest

अगर एआईडीएल इंटरफ़ेस लागू किया गया है, तो यह कमांड चलाएं:

atest VtsHalWifiSupplicantStaIfaceTargetTest