Verify

OTP का क्या मतलब है? वन-टाइम पासवर्ड की पूरी जानकारी

OTP का मतलब है वन-टाइम पासवर्ड (कभी-कभी वन-टाइम पासकोड)।

OTP का मतलब है वन-टाइम पासवर्ड (कभी-कभी वन-टाइम पासकोड)। यह एक छोटा कोड होता है, आमतौर पर चार से आठ अंकों का, जो सिर्फ़ एक लॉगिन या एक ट्रांज़ैक्शन के लिए मान्य होता है और उसके बाद एक्सपायर हो जाता है। चूँकि हर कोड सिर्फ़ एक बार और एक छोटी अवधि के लिए काम करता है, इस्तेमाल के बाद लीक हुआ कोड हमलावर के लिए बेकार होता है। यही डिस्पोज़ेबल गुण OTP के अस्तित्व का पूरा कारण है।

आपने लगभग निश्चित रूप से कभी न कभी एक टाइप किया होगा: ट्रांसफ़र से पहले बैंक द्वारा भेजे गए छह अंक, साइन इन करते समय ऑथेंटिकेटर ऐप में दिखने वाला कोड, या पुष्टि के लिए वेबसाइट द्वारा ईमेल किया गया नंबर। ये सभी OTP हैं, जो मुख्य रूप से कोड कैसे जनरेट होता है और आप तक कैसे पहुँचता है, इसमें भिन्न हैं।

OTP कैसे काम करता है?

सर्विस और यूज़र को इस बात पर सहमत होने का एक तरीका चाहिए कि अभी वैध कोड क्या है, बिना पासवर्ड को अनुमान लगाने योग्य तरीके से इधर-उधर भेजे। दो मानक तरीके हैं, और अंतर यह है कि कोड को क्या बदलता है।

  • HOTP (HMAC-आधारित वन-टाइम पासवर्ड)। कोड एक साझा सीक्रेट और एक काउंटर से प्राप्त होता है। यूज़र का टोकन कोड जनरेट करते समय काउंटर आगे बढ़ाता है। सर्विस का वेरिफ़ायर अपेक्षित कोड स्वीकार करने के बाद अपनी संबंधित स्थिति आगे बढ़ाता है। HOTP कोड सिर्फ़ समय बीतने से एक्सपायर नहीं होता।
  • TOTP (समय-आधारित वन-टाइम पासवर्ड)। कोड एक साझा सीक्रेट और वर्तमान समय से प्राप्त होता है, जिसे एक विंडो में राउंड किया जाता है (आमतौर पर 30 सेकंड)। समय बीतने के साथ कोड अपने आप बदल जाता है, चाहे किसी ने इसका इस्तेमाल किया हो या नहीं। ऑथेंटिकेटर ऐप्स यही जनरेट करते हैं।

TOTP दोनों में से अधिक प्रचलित है क्योंकि स्वचालित एक्सपायरी चुराए गए कोड की उपयोगिता को सीमित करती है। HOTP अभी भी हार्डवेयर टोकन में और उन फ़्लो में दिखता है जहाँ टाइम-सिंक्ड क्लॉक की गारंटी देना कठिन होता है।

OTP कैसे डिलीवर होता है?

जनरेशन का तरीका और डिलीवरी चैनल अलग-अलग विकल्प हैं। कोड यूज़र के अपने डिवाइस पर कंप्यूट हो सकता है, या सर्वर पर जनरेट होकर उन्हें भेजा जा सकता है।

  • SMS। सर्वर एक कोड जनरेट करता है और यूज़र के फ़ोन नंबर पर टेक्स्ट करता है। सार्वभौमिक पहुँच, कोई ऐप ज़रूरी नहीं। यह सबसे अधिक इंटरसेप्ट किया जा सकने वाला चैनल भी है, SIM-swap या नेटवर्क हमलों के ज़रिए।
  • Email। कोड यूज़र के इनबॉक्स में आता है। सुविधाजनक और ऐप-मुक्त, लेकिन उतना ही सुरक्षित जितना ईमेल अकाउंट खुद है।
  • वॉइस कॉल। एक ऑटोमेटेड कॉल कोड ज़ोर से पढ़ती है, जो उन यूज़र्स की मदद करता है जो SMS प्राप्त नहीं कर सकते या जिन्हें एक सुलभ विकल्प चाहिए।
  • ऑथेंटिकेटर ऐप। कोड TOTP के साथ लोकल रूप से कंप्यूट होता है। नेटवर्क पर कुछ भी नहीं भेजा जाता, इसलिए ट्रांज़िट में इंटरसेप्ट करने को कुछ नहीं होता।

हर चैनल पहुँच और हमले की कठिनाई के बीच ट्रेड-ऑफ़ करता है। SMS और ईमेल लगभग सबके पास पहुँचते हैं; ऐप-आधारित कोड चुराना कठिन है लेकिन यूज़र को पहले से ऐप सेट अप करना ज़रूरी है।

OTP कहाँ इस्तेमाल होते हैं?

सबसे परिचित उपयोग टू-फ़ैक्टर ऑथेंटिकेशन में दूसरे फ़ैक्टर के रूप में है, जहाँ OTP पासवर्ड के अलावा फ़ोन या डिवाइस पर कब्ज़े को प्रमाणित करता है। लेकिन OTP लॉगिन से कहीं आगे भी दिखते हैं।

  • लॉगिन सत्यापन: साइन-इन की पुष्टि, विशेष रूप से नए डिवाइस या लोकेशन से।
  • ट्रांज़ैक्शन पुष्टि: पेमेंट, ट्रांसफ़र, या पेआउट विवरण में बदलाव को अप्रूव करना।
  • अकाउंट रिकवरी: पासवर्ड रीसेट करने से पहले फ़ोन नंबर या ईमेल पर नियंत्रण की पुष्टि करना।
  • स्टेप-अप जाँच: सेशन के बीच में भी संवेदनशील कार्रवाई से पहले एक नया कोड माँगना।

क्या OTP किसी लॉगिन को वाकई "two-factor" बनाता है, यह बाकी फ़्लो पर निर्भर करता है। इस अंतर को टू-फ़ैक्टर ऑथेंटिकेशन बनाम दो-चरणीय सत्यापन में समझाया गया है।

सुरक्षा संबंधी विचार और सर्वोत्तम अभ्यास

OTP सरल हैं, और यही कारण है कि विवरण मायने रखते हैं। कुछ आदतें उन्हें प्रभावी बनाए रखती हैं।

  • छोटी एक्सपायरी। कोड को सख़्त समय-सीमा में रखें। SMS और ईमेल के लिए कुछ मिनट, TOTP के लिए मानक 30-सेकंड विंडो। विंडो जितनी छोटी, कोड के दोबारा इस्तेमाल होने की संभावना उतनी कम।
  • अनुरोध दर सीमित करना। यूज़र कितने कोड अनुरोध कर सकता है और कितनी बार अनुमान लगा सकता है, दोनों पर सीमा लगाएँ। छह अंकों के कोड में दस लाख संभावनाएँ होती हैं, जिन्हें बिना थ्रॉटलिंग के हमलावर ब्रूट-फ़ोर्स कर सकता है; प्रति कोड कुछ ही प्रयासों की सीमा यह रास्ता बंद कर देती है।
  • एकल उपयोग, सर्वर-साइड लागू। कोड स्वीकार होते ही और बहुत अधिक विफलताओं पर उसे अमान्य कर दें। दोबारा उपयोग रोकने के लिए क्लाइंट पर निर्भर न रहें।
  • कोड कभी लॉग न करें। OTP को एप्लिकेशन लॉग, एनालिटिक्स और एरर रिपोर्ट से बाहर रखें। लॉग फ़ाइल में पड़ा कोड वह कोड है जिसे कोई इनसाइडर या लॉग ब्रीच पढ़ सकता है।
  • कोड को संदर्भ से बाँधें। कोड को उस विशिष्ट यूज़र और कार्रवाई से जोड़ें जिसके लिए वह जारी किया गया था, ताकि एक उद्देश्य के लिए बना कोड किसी अन्य उद्देश्य के लिए रिप्ले न किया जा सके।

फ़िशिंग पर एक संक्षिप्त नोट: यूज़र को धोखे से SMS या ऐप कोड किसी नकली साइट पर हमलावर को पढ़कर सुनाने के लिए फँसाया जा सकता है, इसलिए OTP हार्डवेयर कुंजियों की तरह फ़िशिंग-प्रूफ़ नहीं हैं। फिर भी वे कहीं अधिक सामान्य हमले को रोकते हैं, जो है सिर्फ़ चुराए गए पासवर्ड से लॉगिन करना।

OTP भेजना और सत्यापित करना

आप OTP फ़्लो खुद चला सकते हैं: कोड जनरेट करें, एक्सपायरी के साथ स्टोर करें, भेजें, और विंडो के भीतर यूज़र के इनपुट से मिलान करें। अगर आप चाहते हैं कि डिलीवरी और सत्यापन आपके लिए संभाला जाए (अनुरोध दर सीमित करना और एक्सपायरी सहित), तो Bird का Verifications प्रोडक्ट SMS, वॉइस और ईमेल पर कोड भेजता और वैलिडेट करता है। अगर आपको सिर्फ़ ट्रांसपोर्ट चाहिए और सत्यापन लॉजिक खुद रखना है, तो SMS प्रोडक्ट फ़ोन पर कोड डिलीवरी को कवर करता है।

FAQ

HOTP और TOTP में क्या अंतर है?

HOTP कोड जनरेट करते समय यूज़र के टोकन काउंटर को आगे बढ़ाता है। सर्विस का वेरिफ़ायर अपेक्षित कोड स्वीकार करने के बाद अपनी स्थिति आगे बढ़ाता है। TOTP अपना कोड वर्तमान समय से प्राप्त करता है, इसलिए यह एक निश्चित शेड्यूल पर बदलता है (आमतौर पर हर 30 सेकंड)। TOTP अधिक प्रचलित है क्योंकि स्वचालित एक्सपायरी चुराए गए कोड की उपयोगिता को सीमित करती है।

क्या SMS OTP सुरक्षित हैं?

ये अधिकांश अकाउंट के लिए पर्याप्त सुरक्षित हैं और केवल-पासवर्ड हमलों का बड़ा हिस्सा रोकते हैं, लेकिन SMS को SIM-swap धोखाधड़ी या नेटवर्क हमलों से इंटरसेप्ट किया जा सकता है। उच्च-मूल्य अकाउंट के लिए ऑथेंटिकेटर ऐप या हार्डवेयर कुंजी को प्राथमिकता दें।

OTP कितनी देर तक मान्य रहना चाहिए?

इतना कि यूज़र इसे पढ़ और टाइप कर सके, और उससे अधिक नहीं। SMS या ईमेल के लिए कुछ मिनट, और TOTP के लिए मानक 30-सेकंड विंडो। छोटी विंडो लीक हुए कोड के अभी भी उपयोग योग्य होने की संभावना कम करती है।

क्या एक ही OTP दो बार इस्तेमाल किया जा सकता है?

नहीं किया जाना चाहिए। सही ढंग से लागू किया गया सिस्टम कोड स्वीकार होते ही और बहुत अधिक विफल प्रयासों के बाद भी उसे अमान्य कर देता है। एकल उपयोग सर्वर पर लागू करें, क्लाइंट पर कभी नहीं।

वन-टाइम पासवर्ड एक छोटा विचार है जो अकाउंट सुरक्षा में बहुत बड़ा महत्व रखता है। यह जानने के लिए कि ये पूर्ण लॉगिन सुरक्षा में कैसे फ़िट होते हैं, पढ़ें टू-फ़ैक्टर ऑथेंटिकेशन क्या है, या देखें कि Bird Verifications प्रोडक्ट में कोड कैसे जनरेट, डिलीवर और जाँचता है।

व्यवहार में लाएँ।

इस विषय के लिए डॉक्यूमेंटेशन, गाइड और उदाहरणों के साथ आगे बढ़ें। संसाधन अंग्रेज़ी में हैं।

अभ्यास करें और इम्प्लीमेंटेशन ब्रीफ़ पाएँ

उसी नेटवर्क पर बनाएँ।

एक टेस्ट API key आपको तुरंत मिल जाती है। भुगतान विधि जोड़ने और सेंडर सत्यापित करने पर प्रोडक्शन अनलॉक होता है।

आपका अगला आइडिया।
जुड़ने के लिए तैयार।