Android 13 या उसके बाद के वर्शन वाले डिवाइसों के लिए, Android, पुष्टि करने के लिए 'पहली बार इस्तेमाल करने पर भरोसा करें' (टीओएफ़यू) वाले तरीके (RFC7435) का इस्तेमाल करता है. इसकी मदद से, उपयोगकर्ता किसी एंटरप्राइज़ (ईएपी) नेटवर्क पर भरोसा कर सकते हैं. इसके लिए, सर्वर के इस्तेमाल किए गए रूट सीए को इंस्टॉल करना होता है और सेव किए गए नेटवर्क में उसका डोमेन नेम सेट करना होता है. जब कोई उपयोगकर्ता किसी एंटरप्राइज़ नेटवर्क से पहली बार कनेक्ट करता है, तो 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
- VTS:
VtsHalWifiSupplicantStaNetworkTargetTest