SMS वाला टू-फैक्टर अब कुछ भी नहीं बचाता: इसकी जगह क्या इस्तेमाल करें

NIST ने SMS को प्रतिबंधित प्रमाणक घोषित कर दिया है। सिम स्वैप, SS7 की खामी, रीयल-टाइम फ़िशिंग और SMS कोड की ठोस जगह क्या ले सकता है।

|

पढ़ने का समय: 15 मिनट

SMS वाला टू-फैक्टर अब कुछ भी नहीं बचाता: इसकी जगह क्या इस्तेमाल करें

9 जनवरी 2024 को अमेरिकी वित्तीय बाज़ार नियामक, प्रतिभूति एवं विनिमय आयोग (SEC) के आधिकारिक X अकाउंट ने बिटकॉइन ETF की मंज़ूरी की घोषणा की, वह फ़ैसला जिसका बाज़ार महीनों से इंतज़ार कर रहा था। चंद मिनटों में बिटकॉइन प्रति इकाई 1,000 डॉलर से अधिक चढ़ गया। फिर SEC ने खंडन किया: अकाउंट हैक हो चुका था। भाव 2,000 डॉलर से ज़्यादा गिर गया।

इस मामले को शिक्षाप्रद बनाने वाली बात बाज़ार की हलचल का पैमाना नहीं, बल्कि इस्तेमाल किए गए तरीके का सामान्यपन है। अमेरिकी न्याय विभाग की विज्ञप्ति के अनुसार 26 वर्षीय एरिक काउंसिल जूनियर ने एक पोर्टेबल कार्ड प्रिंटर से नकली पहचान पत्र छापा, AT&T के एक स्टोर में गया और वहाँ के कर्मचारी को यह भरोसा दिला दिया कि अकाउंट से जुड़ा फ़ोन नंबर उसके नियंत्रण वाले सिम कार्ड पर स्थानांतरित कर दिया जाए। इसके बाद उसे पासवर्ड रीसेट कोड SMS पर मिले, जो उसने अपने साथियों को भेज दिए। 16 मई 2025 को उसे 14 महीने की क़ैद की सज़ा सुनाई गई।

एक स्पष्टीकरण ज़रूरी है, जो मामले की पढ़त बदल देता है पर उसकी सीख को कमज़ोर नहीं करता। SEC के आधिकारिक वक्तव्य के अनुसार, इस अकाउंट पर मल्टी-फैक्टर प्रमाणीकरण जुलाई 2023 में, स्वयं टीम के अनुरोध पर, बंद कर दिया गया था। यानी घटना के समय SMS दूसरा कारक नहीं, बल्कि खाता वापस पाने का रास्ता था। और यही बात इस उदाहरण को उपयोगी बनाती है: दूसरा कारक हो या पिछला दरवाज़ा, कड़ी जहाँ टूटती है वह जगह फ़ोन नंबर ही रहती है।

दूसरे कारक से क्या सुनिश्चित होना चाहिए

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

यह तर्क एक ऐसी मान्यता पर टिका है जिसे शायद ही कभी कहा जाता है: कि दूसरा कारक सचमुच आपके पास मौजूद किसी वस्तु से बंधा हो, और उसे प्रस्तुत करना इस बारे में कुछ सिद्ध करता हो कि आप कहाँ लॉगिन कर रहे हैं। SMS इन दोनों बिंदुओं पर विफल है।

SMS स्वामित्व का कारक नहीं है

SMS से कोड पाना यह सिद्ध नहीं करता कि आपके पास कोई उपकरण है, बल्कि यह कि किसी ऑपरेटर द्वारा आवंटित और उसी ऑपरेटर द्वारा बदला जा सकने वाला फ़ोन नंबर किसी हैंडसेट की ओर इशारा कर रहा है। ये एक ही बात नहीं है। तीन रास्ते इस अंतर का फ़ायदा उठाते हैं, और इन्हें एक ही तरीके से नहीं रोका जा सकता।

सिम स्वैप

यही SEC मामले वाला हमला है, और यह किसी तकनीकी खामी पर टिका नहीं है। हमलावर अपने लक्ष्य की निजी जानकारी जुटाता है, जो अक्सर पहले से सार्वजनिक लीक में उपलब्ध होती है, फिर उसी व्यक्ति के रूप में ऑपरेटर से संपर्क करता है: फ़ोन खो गया, नंबर नए सिम पर डाल दीजिए। यदि वह भरोसेमंद लगे, या कोई कर्मचारी मिला हुआ हो, तो नंबर हाथ बदल जाता है और सारे SMS उसी के पास पहुँचने लगते हैं। FBI के शिकायत केंद्र IC3 की 2024 की वार्षिक रिपोर्ट अकेले उस वर्ष सिम स्वैप की 982 शिकायतें और लगभग 2.6 करोड़ डॉलर का घोषित नुक़सान दर्ज करती है, और उसमें केवल वही पीड़ित गिने गए हैं जिन्होंने शिकायत दर्ज कराई। कोई सॉफ़्टवेयर अपडेट इस रास्ते को बंद नहीं करता: यह सॉफ़्टवेयर को नहीं, बल्कि इंसानों द्वारा चलाई जाने वाली एक व्यावसायिक प्रक्रिया को निशाना बनाता है।

SS7 के ज़रिए अवरोधन

Signaling System 7 वह प्रोटोकॉल है जिसकी बदौलत दुनिया भर के टेलीफ़ोन नेटवर्क आपस में बात करते हैं: कॉल की राह तय करना, रोमिंग संभालना, एक ऑपरेटर से दूसरे तक SMS पहुँचाना। इसे 1975 में डिज़ाइन किया गया था, जब ऑपरेटरों का दायरा बंद और छोटा था और हर कोई बाक़ियों को बनावट से ही भरोसेमंद मानता था। इसलिए इसमें नेटवर्कों के बीच कोई अंतर्निहित प्रमाणीकरण है ही नहीं: जो अनुरोध वैध दिखता है, उसे वैध मानकर निपटा दिया जाता है।

यह कोई सैद्धांतिक कमज़ोरी नहीं है। दिसंबर 2014 में जर्मन शोधकर्ता टोबियास एंगेल और कार्स्टन नोल ने कैओस कम्युनिकेशन कांग्रेस में इसका सार्वजनिक प्रदर्शन किया: केवल फ़ोन नंबर के आधार पर किसी ग्राहक की लोकेशन निकालना और उसके SMS पढ़ लेना। 2017 में वास्तविक दुरुपयोग की पुष्टि हुई: जर्मन ऑपरेटर O2-Telefónica ने माना कि कुछ ग्राहकों के बैंक खाते खाली कर दिए गए, जब हमलावरों ने एक विदेशी ऑपरेटर के नेटवर्क तक पहुँच हासिल की और बैंक के पुष्टिकरण कोड पकड़ने के लिए SMS फ़ॉरवर्डिंग लगा दी।

रीयल-टाइम फ़िशिंग

तीसरा रास्ता सबसे अहम है, क्योंकि यह किसी दूरसंचार खामी पर निर्भर नहीं करता और पहले दोनों में जो कुछ ठीक किया जा सकता है, उस सबको झेल जाता है।

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

इसे adversary-in-the-middle हमला कहते हैं। यह उद्योग बन चुका है: 2017 में आया रिवर्स प्रॉक्सी Evilginx जैसे औज़ार, या मासिक सदस्यता पर बिकने वाली किटें, इसे बिना किसी ख़ास हुनर के सुलभ बना देती हैं। और चोरी सिर्फ़ कोड की नहीं होती, सेशन कुकी की होती है, जिससे आगे बिना किसी प्रमाणीकरण के लॉगिन बना रहता है।

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

यह अब राय नहीं, आधिकारिक रुख़ है

SMS के ख़िलाफ़ सबसे मज़बूत दलील समाधान बेचने वालों से नहीं, बल्कि उन संस्थाओं से आती है जो मानक लिखती हैं।

जुलाई 2025 में अमेरिकी NIST ने SP 800-63B-4, Digital Identity Guidelines: Authentication and Authenticator Management का अंतिम संस्करण प्रकाशित किया। यह दस्तावेज़ प्रतिबंधित प्रमाणकों की एक स्पष्ट श्रेणी बनाता है, जो उन तरीक़ों के लिए है जिनकी प्रतिरोध क्षमता ख़तरों के विकास के साथ घट चुकी है। धारा 3.1.3.3 सार्वजनिक टेलीफ़ोन नेटवर्क के उपयोग को, यानी SMS या वॉइस कॉल से भेजे गए कोड को, इसी श्रेणी में रखती है: «Use of the PSTN for out-of-band verification is restricted as described in this section and SHALL satisfy the requirements of Sec. 3.2.9.» व्यावहारिक रूप से, जो सेवा अब भी इसका सहारा लेती है उसे एक गैर-प्रतिबंधित विकल्प देना होगा, उपयोगकर्ताओं को जोखिम बताना होगा और एक संक्रमण योजना रखनी होगी।

इससे पहले, दिसंबर 2024 में अमेरिकी साइबर सुरक्षा एजेंसी CISA ने अपना Mobile Communications Best Practice Guidance प्रकाशित किया था, उस साल्ट टाइफ़ून जासूसी अभियान के बाद जिसमें चीनी राज्य से जुड़े तत्वों ने कई अमेरिकी दूरसंचार कंपनियों में सेंध लगाई थी। शब्दावली में व्याख्या की कोई गुंजाइश नहीं: «Do not use SMS as a second factor for authentication. SMS messages are not encrypted», और आगे, बिना लाग-लपेट: «Only FIDO authentication is phishing-resistant.» दस्तावेज़ Yubico और Google Titan का नाम लेकर FIDO हार्डवेयर कुंजियों की स्पष्ट सिफ़ारिश करता है, और साफ़ कहता है कि FIDO चालू करने के बाद SMS बंद करना ज़रूरी है, वरना वह एक दुरुपयोग योग्य वैकल्पिक रास्ता बनकर बचा रहता है।

प्रमाणक ऐप: सच्ची प्रगति, पर अधूरा समाधान

TOTP ऐप, यानी Time-based One-Time Password, हर तीस सेकंड में बदलने वाला छह अंकों का कोड बनाते हैं, जो सक्रियण के समय साझा किए गए गोपनीय मान और मौजूदा समय से उपकरण पर ही गणना होता है। टेलीफ़ोन नेटवर्क से कुछ भी नहीं गुज़रता।

लाभ तत्काल है: नंबर की भूमिका ख़त्म होने से सिम स्वैप बेअसर हो जाता है, और कोई संदेश भेजा ही नहीं जाता इसलिए SS7 अवरोधन भी। जो खाता इससे आगे नहीं जा सकता, उसके लिए प्रमाणक ऐप पर जाना करने लायक क़दम है।

पर तीसरा रास्ता ज्यों का त्यों बचा रहता है। नक़ली साइट पर डाला गया TOTP कोड असली साइट को ठीक वैसे ही भेज दिया जाता है जैसे SMS का कोड। ऐप को पता ही नहीं कि आप कहाँ लॉगिन कर रहे हैं: वह एक संख्या दिखाता है, और वह संख्या अपनी तीस सेकंड की खिड़की में जो भी उसे पेश करे, उसके लिए मान्य है। CISA भी यही कहती है: प्रमाणक कोड SMS से बेहतर हैं पर फ़िशिंग के आगे कमज़ोर बने रहते हैं।

TOTP एक ईमानदार बीच का पड़ाव है, मंज़िल नहीं।

FIDO2 कुंजी समस्या की प्रकृति ही क्यों बदल देती है

FIDO2/WebAuthn हार्डवेयर कुंजी हमले को केवल कठिन नहीं बनाती, उसकी यांत्रिक संभावना ही ख़त्म कर देती है।

किसी सेवा पर पंजीकरण के समय कुंजी उसी सेवा के लिए समर्पित एक क्रिप्टोग्राफ़िक जोड़ी बनाती है। सार्वजनिक हिस्सा सेवा के पास जाता है, निजी हिस्सा चिप से कभी बाहर नहीं निकलता और न निर्यात हो सकता है न पढ़ा जा सकता है। न कोई साझा गोपनीय मान जिसकी नक़ल हो सके, न कोई छह अंकों का कोड जिसे बीच में पकड़ा जा सके।

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

FIDO2 कुंजी फ़िशिंग को सफल होने में कठिन नहीं बनाती। वह फ़िशिंग के नतीजे को बेकार बना देती है।

adversary-in-the-middle हमले को फिर से देखें, इस बार कुंजी के साथ। नक़ली साइट बेदाग़ है, पीड़ित को कुछ भी नहीं भाँपता और वह अपनी कुंजी छू देता है। ब्राउज़र पेज का असली डोमेन भेजता है, यानी उस धोखाधड़ी वाली साइट का। कुंजी पाती है कि इस डोमेन के लिए कोई जोड़ी है ही नहीं, या उसी के लिए हस्ताक्षर कर देती है और ऐसा हस्ताक्षर बनता है जिसे असली सेवा ठुकरा देगी। दोनों ही स्थितियों में हमलावर के हाथ काम की कोई चीज़ नहीं लगती।

प्रकृति का फ़र्क़ यहीं है। SMS या TOTP के साथ सुरक्षा अंततः उपयोगकर्ता की सतर्कता पर टिकी होती है, इस पर कि वह जल्दबाज़ी के उस क्षण में, जब पेज सामान्य दिख रहा हो, एड्रेस बार में नक़ली डोमेन पहचान पाता है या नहीं। FIDO2 के साथ यह जाँच एक मशीन करती है, हर बार, बिना किसी के ध्यान पर निर्भर हुए। क्रिप्टोग्राफ़ी की मज़बूती से ज़्यादा यही ज़िम्मेदारी का हस्तांतरण मायने रखता है।

असर मापा जा सकता है। गूगल ने 2017 की शुरुआत में अपने कर्मचारियों के लिए कुंजियाँ अनिवार्य कीं और 85,000 से अधिक लोगों में 2018 में बताया कि खाता समझौते की एक भी घटना दर्ज नहीं हुई।

हार्डवेयर कुंजियों की वास्तविक सीमाएँ

इन्हें निर्दोष बताना बेईमानी होगी, और असली फ़ैसलों की तैयारी के लिए बेकार भी।

लागत है। मॉडल के अनुसार 25 से 60 यूरो, बायोमेट्रिक संस्करणों में उससे अधिक, और इसे दो से गुणा कीजिए।

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

कवरेज अधूरा है। कई सेवाएँ, ख़ासकर यूरोप की बैंकिंग सेवाएँ, अभी FIDO2 का समर्थन नहीं करतीं, इसीलिए आगे दी गई प्राथमिकता ज़रूरी है।

कुंजी चोरी हो सकती है। इसलिए कुंजी पर PIN लगाना, या अंगुलिचिह्न वाला मॉडल चुनना ज़रूरी है: वरना जिसे वह मिल जाए उसके लिए अकेली वस्तु ही काफ़ी है।

वैकल्पिक रास्ता सबसे कमज़ोर कड़ी बना रहता है। SMS बंद किए बिना FIDO2 चालू करना किसी चीज़ से नहीं बचाता: हमलावर बस उसी रास्ते जाएगा जो खुला रह गया। संक्रमण तभी पूरा होता है जब पुराना तरीक़ा खाते से हटा दिया जाए, रिकवरी विकल्पों सहित।

हार्डवेयर की बात करें तो YubiKey श्रृंखला प्रोटोकॉल का सबसे विस्तृत दायरा समेटती है, Google Titan सस्ती है और केवल FIDO तक सीमित, Nitrokey और SoloKeys खुले तथा जाँचे जा सकने वाले फ़र्मवेयर के विकल्प देती हैं, और Token2 ऐसे मॉडल बनाती है जिनमें अंकपटल भीतर ही होता है और PIN कीबोर्ड की जगह कुंजी पर ही डाला जाता है। FIDO2 प्रमाणित कुंजियों में कोई ग़लत चुनाव नहीं है: प्रोटोकॉल एक ही है, फ़र्क़ केवल अतिरिक्त उपयोगों का है।

जब सब कुछ एक साथ नहीं बदला जा सकता, तो शुरुआत कहाँ से

संक्रमण का क्रम पसंद का मामला नहीं, यह आपके खातों के आपसी संबंधों से निकलता है।

  1. पहले मुख्य ईमेल। बाक़ी लगभग हर चीज़ के रीसेट लिंक यहीं आते हैं। जो हमलावर इसे क़ाबू कर ले, वह बाक़ी खाते एक-एक कर ले लेता है, बिना किसी पर सीधे हमला किए। इससे पहले सुरक्षित करने लायक कुछ भी नहीं।
  2. पासवर्ड मैनेजर। यह आपकी सारी पहुँच का पहला कारक एक जगह समेटता है, इसलिए इसकी सुरक्षा उस सबसे सुरक्षित खाते के बराबर होनी चाहिए जो इसके भीतर है। यही मौक़ा है मास्टर पासवर्ड की गुणवत्ता जाँचने का, जिस विषय को हमने एंट्रॉपी और आपकी सुरक्षा के पीछे का विज्ञान लेख में विस्तार से लिया है।
  3. वित्तीय खाते और क्रिप्टो प्लेटफ़ॉर्म। तात्कालिक मूल्य वाले निशाने, जहाँ सेंध कुछ ही मिनटों में अपरिवर्तनीय नुक़सान बन जाती है।
  4. पाठक वर्ग वाले सोशल अकाउंट। SEC का मामला दिखाता है कि जिस अकाउंट को लोग फ़ॉलो करते हैं उसकी बात का वज़न कितना है, और नुक़सान हमेशा उसके मालिक को ही नहीं होता।
  5. बाक़ी इंतज़ार कर सकता है, SMS की जगह TOTP ऐप के साथ। किसी फ़ोरम या स्ट्रीमिंग सेवा के लिए उतनी मेहनत जायज़ नहीं।

जो खाते अभी FIDO2 का समर्थन नहीं करते, उनके लिए: जहाँ संभव हो TOTP पर जाइए, और अपने ऑपरेटर से नंबर पोर्टिंग पर रोक लगवाइए, जो अधिकतर के यहाँ निःशुल्क विकल्प है।

यह Arpokrat के दृष्टिकोण के बारे में क्या कहता है

यह लेख जिस समस्या का वर्णन करता है, वह केवल इसलिए मौजूद है क्योंकि एक पहचानकर्ता को व्यवस्था के केंद्र में बिठा दिया गया। फ़ोन नंबर कभी पहचान के प्रमाण के रूप में बनाया ही नहीं गया था: वह आदत के चलते ऑनलाइन प्रमाणीकरण की रीढ़ बन गया, और ऊपर बताए तीनों हमले इसी उपयोग-विचलन का फ़ायदा उठाते हैं।

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

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

निष्कर्ष

SMS वाला टू-फैक्टर ख़राब ढंग से बनाया गया नहीं था। 2010 के दशक की शुरुआत में जब यह आम हुआ, अकेले पासवर्ड की तुलना में यह काफ़ी बड़ी प्रगति थी, और बड़े पैमाने पर मायने रखने वाला इकलौता गुण इसके पक्ष में था: फ़ोन तो सबके पास पहले से था।

समस्या इसका ईजाद होना नहीं, इसका टिके रहना है। SS7 के प्रदर्शन 2014 के हैं, बैंकिंग में असली दुरुपयोग 2017 का, रीयल-टाइम फ़िशिंग का उद्योग बनना उसी दशक के अंत का। CISA ने 2024 में लिखा कि इसे अब न इस्तेमाल किया जाए, NIST ने 2025 में प्रतिबंध को औपचारिक रूप दिया। जिस क्षण ये खामियाँ बड़े पैमाने पर दुरुपयोग योग्य हुईं और जिस क्षण संस्थाओं ने इसे काग़ज़ पर उतारा, उनके बीच लगभग एक दशक है। और SMS आज भी आम उपभोक्ता सेवाओं में डिफ़ॉल्ट दूसरा कारक बना हुआ है।

यही फ़ासला इस लेख की असली जानकारी है। सुरक्षा के तरीक़े तब ग़ायब नहीं होते जब वे काम करना बंद कर देते हैं, बल्कि तब होते हैं जब उतनी ही आसान कोई चीज़ उनकी जगह ले लेती है, और उसमें कहीं ज़्यादा वक़्त लगता है। इसलिए सवाल यह नहीं कि आपको SMS छोड़ना चाहिए या नहीं, वह तो सालों पहले तय हो चुका। सवाल यह है कि जिन दूसरी सुरक्षाओं को आप स्वतःसिद्ध मानते हैं, उनमें से कौन-कौन सी पहले से इसी हालत में हैं, बस अभी किसी ने लिखा नहीं है।

स्रोत