सभी लेख

TOTP: ऑथेंटिकेटर ऐप्स में वन-टाइम कोड कैसे काम करते हैं

भारतीय रिज़र्व बैंक (RBI) ने 2009 से ऑनलाइन कार्ड ट्रांज़ैक्शन के लिए "एडिशनल फ़ैक्टर ऑफ़ ऑथेंटिकेशन" (AFA) अनिवार्य कर रखा है — यानी सिर्फ़ कार्ड नंबर काफ़ी नहीं, एक दूसरा फ़ैक्टर ज़रूर चाहिए। शुरुआत में ज़्यादातर बैंकों ने इसके लिए SMS OTP चुना, लेकिन SIM-स्वैप फ़्रॉड बढ़ने के साथ कई फ़िनटेक और बैंक अब TOTP जैसे ऐप-आधारित तरीक़ों की तरफ़ बढ़ रहे हैं, जहाँ सीक्रेट डिवाइस से कभी बाहर नहीं जाता।

एक शेयर्ड सीक्रेट प्लस समय

सेटअप के दौरान, सर्वर और ऑथेंटिकेटर ऐप एक शेयर्ड सीक्रेट की एक्सचेंज करते हैं (यही ठीक QR कोड में एनकोड होता है)। इसके बाद, दोनों पक्ष स्वतंत्र रूप से इस सीक्रेट और मौजूदा unix समय से, जिसे 30-सेकंड के इंटरवल पर राउंड किया गया है, एक HMAC कैलकुलेट करते हैं — और बिना एक-दूसरे से बात किए एक जैसे कोड पर पहुँचते हैं।

यह बिना इंटरनेट के क्यों काम करता है

चूँकि कोड डिवाइस के सीक्रेट और सिस्टम क्लॉक से लोकली कैलकुलेट होता है, ऑथेंटिकेटर ऐप को कोड जनरेट करने के लिए नेटवर्क कनेक्शन की ज़रूरत नहीं होती। एकमात्र शर्त यह है कि सर्वर और फ़ोन की घड़ियाँ एक छोटे से इजाज़त वाले फ़र्क़ (आमतौर पर ±30–60 सेकंड) में सिंक रहें।

कोड हर 30 सेकंड में क्यों बदलता है

छोटा टाइम इंटरवल उस विंडो को सीमित करता है जिसमें इंटरसेप्ट किया गया कोड मान्य रहता है, जिससे अटैकर द्वारा उसे दोबारा इस्तेमाल करने का ख़तरा कम होता है। कोड डालते वक़्त होने वाली थोड़ी नेटवर्क देरी की भरपाई के लिए सर्वर आमतौर पर मौजूदा इंटरवल और उससे पहले वाला इंटरवल दोनों स्वीकार करता है।

यह किस काम आता है

  • ऑथेंटिकेटर ऐप्स सेट करते या उनकी समस्या सुलझाते वक़्त टू-फ़ैक्टर ऑथेंटिकेशन की मैकेनिक्स समझना।
  • ऑथेंटिकेशन सिस्टम बनाते समय अपने TOTP इम्प्लीमेंटेशन को टेस्ट करना।
  • फ़ोन से मैनुअली डाले बिना ऑटोमेटेड टेस्टिंग के लिए कोड जनरेट करना।

TOTP किससे बचाव नहीं करता

TOTP पासवर्ड को कोड से अलग चुराए जाने से भरोसेमंद बचाव करता है, लेकिन रियल-टाइम फ़िशिंग से नहीं: अगर पीड़ित नकली साइट पर पासवर्ड और मौजूदा TOTP कोड दोनों डालता है, तो हमलावर तुरंत दोनों वैल्यूज़ को असली साइट पर इस्तेमाल कर सकता है, जब तक कोड वैध है। ऐसे अटैक से सिर्फ़ FIDO2/WebAuthn स्टैंडर्ड वाली हार्डवेयर कीज़ बचाती हैं, जो क्रिप्टोग्राफिकली किसी ख़ास डोमेन से जुड़ी होती हैं।

टूल आज़माएँ