Two-Factor Authentication क्या है? सरल भाषा में गाइड
Two-factor authentication (2FA) एक ऐसा लॉगिन है जो यह साबित करने के लिए दो अलग-अलग तरह के सबूत माँगता है कि आप वही व्यक्ति हैं जो आप कहते हैं: आमतौर पर कुछ ऐसा जो आप जानते हैं, जैसे पासवर्ड, और कुछ ऐसा जो आपके पास है, जैसे आपका फ़ोन या security key। अगर कोई अपराधी आपका पासवर्ड चुरा लेता है या अनुमान लगा लेता है, तब भी दूसरे factor के बिना वह अंदर नहीं जा सकता। जरूरी अकाउंट्स की सुरक्षा का यह सबसे सरल तरीकों में से एक है।
AI से बनाते समय यह क्यों मायने रखता है
जब आप AI builder से "लॉगिन" माँगते हैं, तो आमतौर पर ईमेल और पासवर्ड मिलता है। यह एक अच्छी शुरुआत है, पर पासवर्ड दोबारा इस्तेमाल होते हैं, फ़िशिंग से हाथ लगते हैं और लीक हो जाते हैं। अगर आपकी ऐप में कोई कीमती चीज़ है, जैसे ग्राहक रिकॉर्ड, इनवॉइस, admin नियंत्रण या पेमेंट सेटिंग्स, तो एक चोरी हुआ पासवर्ड सब कुछ उजागर कर सकता है।
2FA कुछ ऐसे फ़ैसलों को भी प्रभावित करता है जिन्हें आप शुरू में नहीं सोचते:
- इसे कौन इस्तेमाल करेगा। सबके लिए वैकल्पिक, केवल admins के लिए ज़रूरी, या सभी के लिए ज़रूरी?
- कौन-से तरीके सपोर्ट करेंगे। App से बने कोड, text messages, passkeys, security keys।
- लॉक हो जाने पर क्या होगा। खोया हुआ फ़ोन किसी भी 2FA वाली ऐप के लिए सबसे आम support अनुरोध है।
- इसे कहाँ लागू किया जाता है। जाँच सर्वर पर होनी चाहिए। अगर 2FA स्क्रीन सिर्फ़ ब्राउज़र में पेज छिपाती है, तो उसे छोड़ा जा सकता है।
आपको cryptography खुद बनाने की ज़रूरत नहीं है; अच्छी तरह परखी हुई libraries और auth providers यह संभालते हैं। लेकिन यह जानना ज़रूरी है कि क्या माँगना है।
एक रोज़मर्रा की मिसाल
बैंक के safe-deposit box के बारे में सोचिए। उसे खोलने के लिए आपका ID (जिसे बैंक जाँचता है कि आप वही हैं या जो आप जानते हैं) और भौतिक चाबी (जो आपके पास है) दोनों चाहिए। जो चोर आपके दस्तखत की नकल कर ले, उसके पास चाबी नहीं होती। जो चोर चाबी जेब से निकाल ले, वह भी ID जाँच पास नहीं कर सकता।
2FA इसी तरह काम करता है। पासवर्ड दस्तखत जैसा है; फ़ोन या security key भौतिक चाबी जैसी। अकेला हर एक काफ़ी नहीं है।
तीन तरह के factors
सुरक्षा मानक, जैसे अमेरिका के National Institute of Standards and Technology के digital identity दिशानिर्देश, factors को तीन प्रकारों में बाँटते हैं:
| Factor | उदाहरण |
|---|---|
| कुछ ऐसा जो आप जानते हैं | पासवर्ड, PIN |
| कुछ ऐसा जो आपके पास है | Authenticator ऐप वाला फ़ोन, security key, passkey रखने वाला डिवाइस |
| कुछ ऐसा जो आप हैं | फ़िंगरप्रिंट, चेहरा — आमतौर पर किसी डिवाइस को अनलॉक करने के लिए, जो फिर असली जाँच करता है |
मुख्य शब्द है अलग। पासवर्ड और सुरक्षा प्रश्न, ये दोनों चीज़ें आप जानते हैं, इसलिए यह असली two-factor authentication नहीं है। अगर एक ही लीक से दोनों सामने आ सकते हैं, तो यह केवल एक factor गिना जाएगा।
आम 2FA तरीकों की तुलना
| तरीका | कैसे काम करता है | मज़बूती | टिप्पणी |
|---|---|---|---|
| SMS कोड | आपके फ़ोन नंबर पर कोड टेक्स्ट होता है | सबसे कमज़ोर | SIM swapping और फ़िशिंग से असुरक्षित, फिर भी बिना 2FA से कहीं बेहतर |
| Email कोड | कोड आपके ईमेल पर भेजा जाता है | कमज़ोर | केवल उतना सुरक्षित जितना ईमेल अकाउंट |
| Authenticator ऐप (TOTP) | Google Authenticator जैसी ऐप हर 30 सेकंड पर नया 6-अंकों का कोड बनाती है | अच्छा | ऑफ़लाइन काम करता है; फिर भी फ़िशिंग से जोखिम अगर नकली साइट कोड माँगे |
| Push approval | ऐप पूछती है "क्या यह आप हैं?" और आप approve दबाते हैं | अच्छा | "approve fatigue" से सावधान रहें, जहाँ यूज़र बार-बार आने वाले प्रॉम्प्ट रोकने के लिए हाँ दबा देते हैं |
| Passkey या security key | डिवाइस पर एक cryptographic key साबित करती है कि आप असली साइट पर हैं | सबसे मज़बूत | नकली डोमेन पर प्रतिक्रिया नहीं देती, इसलिए फ़िशिंग-प्रतिरोधी है |
NIST का मार्गदर्शन उन तरीकों को जिनमें आप कोड टाइप करते हैं (SMS, email, authenticator ऐप) फ़िशिंग-प्रतिरोधी नहीं मानता, और फ़ोन नेटवर्क पर कोड भेजने को "restricted" चिह्नित करता है। WebAuthn/FIDO2 मानकों पर आधारित passkeys और हार्डवेयर security keys को वह फ़िशिंग-प्रतिरोधी गिनता है।
व्यावहारिक सीख: ज़्यादातर ऐप्स के लिए authenticator ऐप एक मज़बूत और आसान डिफ़ॉल्ट है, और अगर आपके यूज़र सहज हैं तो passkeys देना भी उपयोगी है।
एक उदाहरण: क्लाइंट पोर्टल के लिए 2FA
मान लीजिए आपने एक पोर्टल बनाया है जहाँ एक छोटी अकाउंटिंग फ़र्म क्लाइंट्स के साथ टैक्स दस्तावेज़ साझा करती है। एक समझदार 2FA सेटअप चरण-दर-चरण ऐसे काम करता है।
चालू करना (enrolment)। प्रिया, एक क्लाइंट, Settings खोलती है और "Two-factor authentication चालू करें" पर क्लिक करती है। ऐप एक secret बनाती है और उसे QR code के रूप में दिखाती है। वह उसे अपनी authenticator ऐप से स्कैन करती है, जो छह-अंकों के कोड दिखाने लगती है। सेटअप सही है यह साबित करने के लिए वह मौजूदा कोड पोर्टल में टाइप करती है। ऐप दस recovery codes दिखाती है और उन्हें सुरक्षित जगह सहेजने को कहती है।
बाद में लॉगिन करना।
- प्रिया अपना ईमेल और पासवर्ड डालती है। सर्वर उन्हें जाँचता है।
- सीधे लॉगिन करने के बजाय सर्वर सेशन को "पासवर्ड ठीक, दूसरा factor बाकी" चिह्नित करता है और कोड स्क्रीन दिखाता है।
- वह अपनी ऐप का कोड टाइप करती है। सर्वर उसे उसकी सहेजी हुई secret से मिलाता है, थोड़े clock drift की छूट के साथ।
- तभी सर्वर पूरा सेशन बनाता है और वह दस्तावेज़ देख पाती है।
हमलावर क्या देखता है। अगर प्रिया का पासवर्ड किसी दूसरी साइट से लीक हो जाए, तो हमलावर चरण 3 पर अटक जाता है। हर गलत कोड प्रयास गिना जाता है, और कई गलत प्रयासों के बाद अकाउंट कुछ समय के लिए लॉक हो जाता है और प्रिया को ईमेल मिलता है।
फ़ोन खोने पर। प्रिया अपने एक recovery code से लॉगिन करती है, 2FA बंद करके नए फ़ोन के साथ फिर चालू करती है, और नए recovery codes पाती है। इस्तेमाल हुआ कोड फिर कभी काम नहीं करता।
स्टाफ़ के लिए। फ़र्म के अकाउंटेंट हर क्लाइंट की फ़ाइलें देख सकते हैं, इसलिए पोर्टल स्टाफ़ अकाउंट्स के लिए 2FA को ज़रूरी बनाता है; नामांकन पूरा होने तक वे डैशबोर्ड तक नहीं पहुँच सकते।
सामान्य शब्दों की व्याख्या
| शब्द | मतलब |
|---|---|
| 2FA / MFA | Two-factor / multi-factor authentication: एक से अधिक तरह के सबूत से लॉगिन। |
| Factor | सबूत का एक प्रकार: कुछ जो आप जानते हैं, रखते हैं या हैं। |
| TOTP | Time-based one-time password — authenticator ऐप के घूमते हुए कोड। |
| Shared secret | छिपा हुआ मान, जो QR code से सेट होता है, ताकि ऐप और आपका फ़ोन मेल खाते कोड बना सकें। |
| Recovery (backup) codes | जब दूसरा factor खो जाए तब अंदर जाने के एक-बार उपयोग होने वाले कोड। |
| Passkey | आपके डिवाइस पर सहेजा गया लॉगिन credential, जो पासवर्ड के बजाय public-key cryptography इस्तेमाल करता है। |
| Security key | एक छोटा भौतिक डिवाइस (USB या NFC), जो passkey जैसा ही काम करता है। |
| SIM swapping | मोबाइल carrier को धोखा देकर किसी का नंबर नए SIM पर ले जाना, ताकि टेक्स्ट हमलावर के पास जाएँ। |
| Phishing | नकली साइट या मैसेज जो लोगों को पासवर्ड या कोड देने पर मजबूर करता है। |
| Step-up authentication | किसी संवेदनशील कार्रवाई से पहले, जैसे भुगतान विवरण बदलना, दूसरा factor फिर से माँगना। |
आम गलतियाँ और गलतफ़हमियाँ
- "2FA अकाउंट को अभेद्य बना देता है।" यह उसे कहीं ज़्यादा मुश्किल बनाता है। फ़िशिंग साइटें टाइप किए गए कोड असली समय में चुरा सकती हैं, इसीलिए passkeys मौजूद हैं।
- केवल ब्राउज़र में कोड जाँचना। अगर पासवर्ड के बाद सर्वर पूरा सेशन दे देता है, तो कोड स्क्रीन सिर्फ़ दिखावा है। दूसरा factor पास होने तक सर्वर को पहुँच रोकनी होगी।
- कोड अनुमानों पर कोई सीमा नहीं। छह-अंकों के कोड की दस लाख संभावनाएँ होती हैं। Rate limiting और lockouts के बिना हमलावर बस अनुमान लगाता रह सकता है।
- Recovery भूल जाना। recovery codes न हों, तो हर खोया फ़ोन एक support टिकट या लॉक हुए ग्राहक में बदल जाता है।
- TOTP secret को लापरवाही से सहेजना। shared secret डेटाबेस में encrypted होना चाहिए, और सेटअप के बाद फिर कभी दिखाया नहीं जाना चाहिए।
- यूज़र्स को बिना दोबारा जाँच के 2FA बंद करने देना। 2FA बंद करना या अकाउंट ईमेल बदलना, इसके लिए पासवर्ड और मौजूदा कोड दोनों माँगे जाने चाहिए।
- पासवर्ड और सुरक्षा प्रश्न को 2FA मानना। ऐसा नहीं है; दोनों चीज़ें आप जानते हैं।
AI builder से क्या माँगें
- "वैकल्पिक two-factor authentication जोड़ें, authenticator ऐप (TOTP) से, setup के लिए QR code और चालू करने से पहले एक confirmation कोड के साथ।"
- "2FA चालू होने पर दस एक-बार उपयोग होने वाले recovery codes दिखाएँ। इन्हें पासवर्ड की तरह hash करके सहेजें।"
- "2FA सर्वर पर लागू करें: दूसरा factor पास होने तक कोई पूरा सेशन नहीं।"
- "कोड प्रयास सीमित करें, और बार-बार विफलता पर लॉगिन 15 मिनट के लिए लॉक करें। ऐसा होने पर यूज़र को ईमेल भेजें।"
- "Admin अकाउंट्स के लिए 2FA ज़रूरी करें।"
- "2FA बंद करने या अकाउंट ईमेल बदलने से पहले पासवर्ड और मौजूदा कोड माँगें।"
- "Cryptography खुद न लिखें; कोई प्रसिद्ध library या हमारे auth provider का built-in 2FA इस्तेमाल करें।"
- "बताएँ कि आपने कौन-सा तरीका इस्तेमाल किया और secrets कहाँ सहेजे जाते हैं।"
अगर आप किसी hosted auth provider का इस्तेमाल करते हैं, तो जाँचें कि क्या वह पहले से 2FA या passkeys देता है; built-in फ़ीचर चालू करना आम तौर पर custom कोड से सुरक्षित होता है। चरण-दर-चरण तरीका 2FA कैसे जोड़ें में है, और authentication क्या है इसके नीचे के लॉगिन की मूल बातें समझाता है।
Mythex में two-factor authentication
Mythex आपकी ऐप के यूज़र्स के लिए कोई built-in लॉगिन सिस्टम नहीं देता, इसलिए 2FA उस auth तरीके का हिस्सा है जो आप चुनते हैं: आपका अपना ईमेल-और-पासवर्ड लॉगिन, जो प्रोजेक्ट के डेटाबेस पर चलता है, या कोई hosted provider जो 2FA देता है। आप इसे चैट में जोड़ने के लिए एजेंट से कहते हैं, और कोई भी provider keys चैट में नहीं, बल्कि प्रोजेक्ट secrets में जाती हैं। ऐप में लॉगिन जोड़ना वाली docs रेसिपी में एक starter प्रॉम्प्ट है जिसे आप अनुकूलित कर सकते हैं, और आपकी ऐप के लिए सुरक्षा keys से जुड़ी आदतें समझाता है। लॉन्च से पहले AI से बनी ऐप्स के लिए सुरक्षा चेकलिस्ट से गुज़र लें।
सवाल
सरल शब्दों में two-factor authentication क्या है?
Two-factor authentication (2FA) का मतलब है कि लॉगिन के लिए दो अलग-अलग तरह के सबूत लगते हैं, आमतौर पर आपका पासवर्ड और आपके फ़ोन या security key से आया कोड। जो व्यक्ति सिर्फ़ आपका पासवर्ड चुराता है, वह फिर भी अंदर नहीं जा सकता।
क्या 2FA और MFA एक ही हैं?
लगभग। Multi-factor authentication (MFA) का मतलब दो या उससे अधिक factors है; two-factor authentication सबसे आम मामला है, जिसमें ठीक दो होते हैं। रोज़मर्रा के इस्तेमाल में दोनों शब्द एक-दूसरे की जगह इस्तेमाल होते हैं।
क्या SMS वाला two-factor authentication सुरक्षित है?
यह अकेले पासवर्ड से कहीं बेहतर है, लेकिन यह सबसे कमज़ोर आम विकल्प है। टेक्स्ट मैसेज को SIM swapping के ज़रिए रोका या मोड़ा जा सकता है, और कोई नकली लॉगिन पेज लोगों को कोड टाइप करने के लिए बहका सकता है। Authenticator apps ज़्यादा मज़बूत हैं, और passkeys या security keys उससे भी ज़्यादा मज़बूत।
क्या मेरी ऐप को two-factor authentication चाहिए?
अगर अकाउंट में पैसा, निजी डेटा, या दूसरे यूज़र्स पर admin अधिकार हैं, तो 2FA देना अच्छा विचार है, और admins के लिए इसे ज़रूरी बनाना आम है। एक सरल शौकिया ऐप के लिए यह वैकल्पिक हो सकता है या बाद के लिए छोड़ा जा सकता है।
अगर यूज़र अपना फ़ोन खो दे तो क्या होगा?
इसी के लिए recovery codes होते हैं: 2FA चालू करते समय दिखाए जाने वाले एक-बार उपयोग होने वाले backup codes की एक छोटी सूची। इनके बिना, वापसी आमतौर पर ऐप के मालिक द्वारा मैन्युअल पहचान जाँच से होती है, इसलिए लॉन्च से पहले इसकी योजना बना लें।