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 इंटरफ़ेस डेफ़िनिशन लैंग्वेज (एआईडीएल) का इस्तेमाल करता है. Android 13 से पहले के वर्शन के लिए, इंटरफ़ेस और वेंडर पार्टिशन, एचएएल इंटरफ़ेस डेफ़िनिशन लैंग्वेज (एचआईडीएल) का इस्तेमाल करते हैं. एचआईडीएल इंटरफ़ेस hardware/interfaces/wifi/supplicant/1.3/ में और एआईडीएल इंटरफ़ेस hardware/interfaces/wifi/supplicant/aidl/ में देखा जा सकता है.
WPA3 और OWE के लिए, ये ज़रूरी हैं:
- SAE और OWE के साथ काम करने के लिए Linux कर्नेल पैच
- cfg80211
- nl80211
- SAE, SUITEB192, और OWE के साथ काम करने वाला
wpa_supplicant - SAE, SUITEB192, और OWE के साथ काम करने वाला वाई-फ़ाई ड्राइवर
- SAE, SUITEB192, और OWE के साथ काम करने वाला वाई-फ़ाई फ़र्मवेयर
- WPA3 और OWE के साथ काम करने वाला वाई-फ़ाई चिप
Android 10 में, सार्वजनिक एपीआई के तरीके उपलब्ध हैं. इनकी मदद से, ऐप्लिकेशन यह पता लगा सकते हैं कि डिवाइस पर ये सुविधाएं काम करती हैं या नहीं:
WifiManager#isWpa3SaeSupportedWifiManager#isWpa3SuiteBSupportedWifiManager#isEnhancedOpenSupported
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=yWPA3-एंटरप्राइज़:
wpa_supplicantकॉन्फ़िगरेशन फ़ाइल में,CONFIG_SUITEB192औरCONFIG_SUITEBकंपाइलेशन के विकल्प शामिल करें.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=yWi-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