एक ऑथेंटिकेटर ऐप बिना कोई संदेश प्राप्त किए कोड बना सकता है। टेक्स्ट किया गया सत्यापन कोड डिलीवरी चैनल से आता है, इसलिए सेटअप और विफलता प्रबंधन अलग होते हैं।
प्रत्येक शब्द का क्या अर्थ है?
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 एनरोलमेंट के बाद कोड स्थानीय रूप से जनरेट करते हैं, इसलिए साइन-इन पर किसी संदेश की प्रतीक्षा नहीं होती। उनकी रिकवरी में खोए हुए ऑथेंटिकेटर या साझा सीक्रेट को ध्यान में रखना आवश्यक है।
कौन सी विधि चुनें?
- जब फ़्लो को किसी पहुँच योग्य नंबर या पते तक पहुँच सत्यापित करनी हो तो डिलीवर किए गए सत्यापन कोड का उपयोग करें।
- TOTP का उपयोग करें जब उपयोगकर्ता एक विश्वसनीय घड़ी वाला ऑथेंटिकेटर एनरोल और बनाए रख सकें।
- HOTP का उपयोग करें जब टोकन समय पर निर्भर न हो सके और आप काउंटर सिंक्रोनाइज़ेशन बनाए रख सकें।
- हर विधि के लिए, अनुमानों को सीमित करें, एकल उपयोग लागू करें और लॉन्च से पहले खाता रिकवरी परिभाषित करें।
संक्षेप में
OTP श्रेणी है।
HOTP और TOTP वन-टाइम कोड जनरेट करने के तरीके हैं। सर्वर एक रैंडम सत्यापन कोड भी जनरेट और डिलीवर कर सकता है।
HOTP काउंटर का अनुसरण करता है।
अप्रयुक्त कोड जनरेट करने से डिवाइस वेरिफ़ायर से आगे निकल सकता है। उन्हें री-सिंक्रोनाइज़ करने का एक सीमित तरीका प्रदान करें।
TOTP घड़ी का अनुसरण करता है।
अनुशंसित टाइम स्टेप 30 सेकंड है। एंट्री विलंब को ध्यान में रखें, लेकिन स्वीकृति विंडो को अनावश्यक रूप से चौड़ा न करें।
एनरोलमेंट और रिकवरी मॉडल चुनें।
ऑथेंटिकेटर कोड के लिए पहले से साझा किया गया सीक्रेट आवश्यक है। डिलीवर किए गए कोड के लिए एक कार्यशील डिलीवरी चैनल आवश्यक है।