Android 13 या उसके बाद के वर्शन वाले डिवाइसों पर, Android में, 'पहले इस्तेमाल पर ट्रस्ट' (टीओएफ़यू) की पुष्टि करने का तरीका (आरएफ़सी7435) काम करता है. इसकी मदद से, उपयोगकर्ता किसी एंटरप्राइज़ (ईएपी) नेटवर्क पर भरोसा करते हैं. इसके लिए, सर्वर में इस्तेमाल किए जाने वाले रूट CA को इंस्टॉल किया जाता है और सेव किए गए नेटवर्क में उसका डोमेन नेम सेट किया जाता है. जब कोई उपयोगकर्ता किसी एंटरप्राइज़ नेटवर्क से पहली बार कनेक्ट करता है, तो TOFU की मदद से डिवाइस, पुष्टि नहीं की गई सार्वजनिक कुंजी हासिल कर सकता है. साथ ही, बाद के कनेक्शन के लिए कुंजी को सेव रख सकता है.
बैकग्राउंड
जिन निजी नेटवर्क के लिए सिर्फ़ पासवर्ड ज़रूरी होता है उनके मुकाबले, एंटरप्राइज़ नेटवर्क पब्लिक-की इन्फ़्रास्ट्रक्चर (पीकेआई) की पुष्टि करते हैं. इसके लिए, क्लाइंट को सर्टिफ़िकेट पहले से इंस्टॉल करने की ज़रूरत होती है. Android 11 या उससे पहले के वर्शन में, उपयोगकर्ता नेटवर्क सेटिंग में जाकर, सर्वर CA सर्टिफ़िकेट के लिए पुष्टि न करें विकल्प चुन सकते हैं. इससे, सर्वर साइड सर्टिफ़िकेट की पुष्टि की प्रक्रिया को बायपास किया जा सकता है. हालांकि, सुरक्षा को मज़बूत करने और WPA R2 की शर्तों का पालन करने के लिए, Android 12 ने एंटरप्राइज़ नेटवर्क के लिए एक शर्त शुरू की. इसमें, एंटरप्राइज़ नेटवर्क के लिए सर्वर के सर्टिफ़िकेट की पुष्टि करना ज़रूरी था. इस अतिरिक्त शर्त को पूरा करने से, उपयोगकर्ताओं के लिए समस्या पैदा हो गई, क्योंकि उन्हें ऐसे नेटवर्क के लिए सीए सर्टिफ़िकेट इंस्टॉल करना पड़ता है. TOFU की मदद से, उपयोगकर्ता अपने रूट सीए को स्वीकार करके, पीकेआई पर आधारित एंटरप्राइज़ नेटवर्क से कनेक्ट कर सकते हैं.
सुविधा का काम करने का तरीका
जब कोई उपयोगकर्ता किसी ऐसे एंटरप्राइज़ नेटवर्क से कनेक्ट करता है जिसमें पहले से इंस्टॉल की गई पुष्टि की गई सार्वजनिक कुंजी नहीं होती, तो टीओएफ़यू की सुविधा वाले डिवाइसों पर यह तरीका अपनाया जाता है.
वाई-फ़ाई पिकर की मदद से नए नेटवर्क से कनेक्ट करें
वाई-फ़ाई पिकर में, कोई नया एंटरप्राइज़ नेटवर्क चुनें.
डिवाइस पर एक डायलॉग (पहली इमेज) दिखता है. इससे यह पुष्टि की जाती है कि नेटवर्क भरोसेमंद है या नहीं.
नेटवर्क कनेक्शन स्वीकार करने के लिए, हां, कनेक्ट करें पर टैप करें. इसके अलावा, अस्वीकार करने के लिए, नहीं, कनेक्ट न करें पर टैप करें.
हां, कनेक्ट करें पर टैप करने पर, डिवाइस अपने-आप सुरक्षा पैरामीटर कॉन्फ़िगर करता है, नेटवर्क से कनेक्ट हो जाता है, और नेटवर्क के लिए अपने-आप कनेक्ट होने की सुविधा चालू कर देता है.
नहीं, कनेक्ट न करें पर टैप करने पर, डिवाइस नेटवर्क से डिसकनेक्ट हो जाता है और नेटवर्क के लिए अपने-आप कनेक्ट होने की सुविधा बंद हो जाती है.
पहला डायग्राम. TOFU सुविधा के लिए डायलॉग
अपने-आप कनेक्ट होने की सुविधा चालू करके, मौजूदा नेटवर्क से कनेक्ट करें
किसी ऐसे एंटरप्राइज़ नेटवर्क से कनेक्ट करने पर जिस पर अपने-आप कनेक्ट होने की सुविधा चालू है, लेकिन उसके पास मान्य सीए सर्टिफ़िकेट नहीं है, तो डिवाइस अपने-आप कनेक्ट हो जाता है. इसके बाद, वह एक स्टिक सूचना दिखाता है, जिसे हटाया नहीं जा सकता.
नोटिफ़िकेशन पर टैप करें.
डिवाइस पर एक डायलॉग (पहली इमेज) दिखता है. इससे यह पुष्टि की जाती है कि नेटवर्क भरोसेमंद है या नहीं.
नेटवर्क कनेक्शन स्वीकार करने के लिए, हां, कनेक्ट करें पर टैप करें. इसके अलावा, अस्वीकार करने के लिए, नहीं, कनेक्ट न करें पर टैप करें.
हां, कनेक्ट करें पर टैप करने पर, डिवाइस अपने-आप सुरक्षा पैरामीटर कॉन्फ़िगर करता है, नेटवर्क से कनेक्ट हो जाता है, और नेटवर्क के लिए अपने-आप कनेक्ट होने की सुविधा चालू कर देता है.
नहीं, कनेक्ट न करें पर टैप करने पर, डिवाइस नेटवर्क से डिसकनेक्ट हो जाता है और नेटवर्क के लिए अपने-आप कनेक्ट होने की सुविधा बंद हो जाती है.
लागू करना
TOFU सुविधा का इस्तेमाल करने के लिए, /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant
पर Android Open Source Project (AOSP) में दिए गए supplicant HAL लागू करें.
Android 13 में, ऐप्लिकेशन के इस्तेमाल के लिए ये सार्वजनिक एपीआई उपलब्ध हैं:
WifiManager#isTrustOnFirstUseSupported()
: इससे पता चलता है कि डिवाइस पर TOFU काम करता है या नहीं.WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)
: TOFU को चालू करता है.WifiEnterpriseConfig#isTrustOnFirstUseEnabled()
: इससे पता चलता है कि TOFU चालू है या नहीं.
पुष्टि करें
अपने डिवाइस पर TOFU के लागू होने की पुष्टि करने के लिए, नीचे दिए गए टेस्ट का इस्तेमाल करें:
- सीटीएस:
CtsWifiTestCases
- वीटीएस:
VtsHalWifiSupplicantStaNetworkTargetTest