OTP, TOTP और HOTP: इनमें क्या अंतर है?

OTP एक बार इस्तेमाल होने वाले सत्यापन कोड का नाम है; HOTP इसे काउंटर से बनाता है, जबकि TOTP इसे समय से बनाता है।

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

हर शब्द का क्या अर्थ है?

OTP ऐसे कोड को कहते हैं जिसे केवल एक बार स्वीकार किया जाता है। HOTP और TOTP उस कोड को बनाने के एल्गोरिदम हैं।

शब्दकोड किससे बनता हैउपयोगकर्ता को क्या चाहिए
OTPसामान्य श्रेणी, जो कोड बनाने के तरीके पर निर्भर नहीं करतीचुने गए तरीके पर निर्भर करता है
HOTPएक साझा सीक्रेट और आगे बढ़ता काउंटरएनरोल किया गया टोकन या ऐप्लिकेशन
TOTPएक साझा सीक्रेट और वर्तमान समय अंतरालउपयोगी घड़ी वाला एक नामांकित ऑथेंटिकेटर

RFC 4226 HOTP के साझा सीक्रेट और काउंटर को परिभाषित करता है। RFC 6238 TOTP के लिए उस काउंटर की जगह समय का उपयोग करता है।

मेल खाने वाले कोड की गणना करने के लिए ऑथेंटिकेटर और सत्यापनकर्ता के पास एक ही सीक्रेट होना चाहिए। नामांकन और संग्रहण के दौरान उस सीक्रेट को सुरक्षित रखें, क्योंकि जिसके पास यह सीक्रेट है वह कोड बना सकता है।

HOTP अपना कोड कैसे बदलता है?

टोकन जब भी कोड बनाता है, तो अपना काउंटर आगे बढ़ाता है। अपेक्षित कोड स्वीकार करने के बाद सत्यापनकर्ता अपनी संबंधित स्थिति आगे बढ़ाता है।

HOTP कोड केवल समय बीतने से समाप्त नहीं होता। कोड बनाकर उन्हें जमा न करने से टोकन सत्यापनकर्ता से आगे निकल सकता है।

HOTP के विनिर्देश में आवश्यक काउंटर पुनः सिंक्रनाइज़ेशन उपलब्ध कराएँ। आगे के काउंटर मानों की खोज को सीमित रखें, क्योंकि जितने अधिक संभावित कोड आप स्वीकार करते हैं, अनुमान लगाने का अवसर उतना ही बढ़ता है।

इस प्रक्रिया के दौरान भी असफल प्रमाणीकरण प्रयासों को सीमित रखें। पुनः सिंक्रनाइज़ेशन असीमित अनुमानों का रास्ता नहीं बनना चाहिए।

TOTP अपना कोड कैसे बदलता है?

TOTP साझा सीक्रेट और वर्तमान समय अंतराल से कोड बनाता है, भले ही कोई नया कोड न माँगे।

RFC 6238 30 सेकंड के समय चरण की सिफ़ारिश करता है। घड़ी के अगले अंतराल में पहुँचते ही दिखाया गया कोड बदल जाता है।

किसी अंतराल के अंत के पास दर्ज किया गया कोड अगले अंतराल में सत्यापनकर्ता तक पहुँच सकता है। एक सीमित देरी की अनुमति दें, ताकि सामान्य रूप से कोड दर्ज करने में लगने वाले समय से अनावश्यक विफलताएँ न हों।

RFC नेटवर्क देरी के लिए अधिकतम एक स्टेप की सिफ़ारिश करता है। यह सिफ़ारिश ट्रांसमिशन में लगने वाली देरी से जुड़ी है; यह हर तरह के क्लॉक पुनःसिंक्रनाइज़ेशन पर लागू होने वाली सार्वभौमिक सीमा नहीं है।

डिवाइस और सर्वर की घड़ियों को एक-दूसरे से मिलाकर रखें। चौड़ी स्वीकृति विंडो घड़ी के ज़्यादा अंतर को संभाल लेती है। लेकिन वह ज़्यादा संभावित कोड भी स्वीकार करती है।

पहले से स्वीकार किए गए कोड को अस्वीकार करें, भले ही वह अभी अपने समय अंतराल के भीतर हो। बाद में घड़ी का अगले अंतराल में जाना अपने-आप यह सुनिश्चित नहीं करता कि कोड सिर्फ़ एक बार इस्तेमाल हो।

क्या Bird द्वारा भेजा गया सत्यापन कोड TOTP है?

नहीं। Bird Verify एक रैंडम सत्यापन कोड बनाता है और उसे चुने गए चैनल से भेजता है।

यह कोड पाने के लिए प्राप्तकर्ता को कोई साझा ऑथेंटिकेटर सीक्रेट एनरोल नहीं करना पड़ता। यह कोड कब तक मान्य रहेगा, यह ऑथेंटिकेटर के काउंटर या क्लॉक अंतराल से नहीं, बल्कि सत्यापन की समाप्ति और प्रयास नीति से तय होता है।

सत्यापन फ़्लो के लिए कोड की लंबाई, समाप्ति और प्रयास सीमा चुनें। जब प्राप्तकर्ता देरी की शिकायत करें, तो डिलीवरी और पूरा होने में लगने वाला समय मापें।

HOTP और TOTP एनरोलमेंट के बाद कोड स्थानीय रूप से बनाते हैं, इसलिए साइन-इन के समय उन्हें किसी संदेश का इंतज़ार नहीं करना पड़ता। इसके बजाय उनकी रिकवरी में खोए हुए ऑथेंटिकेटर या साझा सीक्रेट की स्थिति को ध्यान में रखना होता है।

मुझे कौन-सा तरीका चुनना चाहिए?

  1. जब फ़्लो को यह सत्यापित करना हो कि उपयोगकर्ता की पहुँच किसी उपलब्ध नंबर या पते तक है, तो भेजे गए सत्यापन कोड का इस्तेमाल करें।
  2. जब उपयोगकर्ता भरोसेमंद घड़ी वाला ऑथेंटिकेटर एनरोल कर सकें और उसे अपने पास रख सकें, तो TOTP का इस्तेमाल करें।
  3. जब टोकन समय पर निर्भर नहीं रह सकता और आप काउंटर का सिंक्रनाइज़ेशन बनाए रख सकते हैं, तब HOTP का उपयोग करें।
  4. हर तरीके के लिए लॉन्च से पहले अनुमानों को सीमित करें, हर कोड को केवल एक बार स्वीकार करें और खाता रिकवरी की प्रक्रिया तय करें।

संक्षेप में

  1. OTP एक श्रेणी है।

    HOTP और TOTP वन-टाइम कोड बनाने के तरीके हैं। सर्वर भी एक रैंडम सत्यापन कोड बनाकर भेज सकता है।

  2. HOTP काउंटर के अनुसार चलता है।

    बिना इस्तेमाल किए कोड बनाने से डिवाइस वेरिफ़ायर से आगे निकल सकता है। इन्हें फिर से सिंक करने का एक सीमित तरीका दें।

  3. TOTP घड़ी के अनुसार चलता है।

    अनुशंसित टाइम स्टेप 30 सेकंड है। कोड दर्ज करने में लगने वाली देरी का ध्यान रखें, लेकिन स्वीकृति विंडो को बेवजह चौड़ा न करें।

  4. एनरोलमेंट और रिकवरी का मॉडल चुनें।

    ऑथेंटिकेटर कोड के लिए पहले से साझा किया गया सीक्रेट चाहिए। भेजे गए कोड के लिए काम करता हुआ डिलीवरी चैनल चाहिए।

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

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

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