क्या आपका पासवर्ड डेटा लीक में है?

डेटा लीक वह है जो तब होता है जब किसी सेवा का पासवर्ड डेटाबेस खुले में निकल जाता है — और लीक संग्रह सैकड़ों ऐसे पलायनों से जुटाए गए पासवर्डों का संग्रह है, जिसे इस तरह अनुक्रमित किया गया है कि कोई भी पूछ सके कि कोई दिया गया पासवर्ड उनमें है या नहीं। अगर आपका है, तो हमलावरों के पास वह पहले से है: वह उन शब्द-सूचियों में है जिन्हें हर उस लॉगिन पृष्ठ पर अपने आप आज़माया जाता है जिस तक वे पहुँच सकते हैं। यह लेख बताता है कि जाँच पासवर्ड को कभी उजागर किए बिना कैसे काम करती है, “52 मिलियन बार मिला” की संख्या का वास्तव में क्या मतलब है, “नहीं मिला” स्वास्थ्य प्रमाणपत्र क्यों नहीं है, और पासवर्ड सुरक्षित है या नहीं, यह पूछने के लिए उसे चैटबॉट में कभी पेस्ट क्यों नहीं करना चाहिए। जाँच चलाने के लिए पासवर्ड लीक जाँच का उपयोग करें।

लीक संग्रह क्या है

हर बड़ा लीक एक ही अवशेष छोड़ता है: उपयोगकर्ता नामों और पासवर्डों का डेटाबेस, आमतौर पर हैश के रूप में सहेजा गया, किसी कंपनी के सिस्टम से कॉपी करके आगे बढ़ाया गया, बेचा गया या प्रकाशित किया गया। अलग-अलग, ये डेटाबेस एक कंपनी की विफलता के सबूत हैं; एक साथ जुटाए गए, दोहराव हटाए गए और अनुक्रमित किए गए, वे कुछ और बन जाते हैं — उन पासवर्डों की जनगणना जिन्हें लोग वास्तव में इस्तेमाल करते हैं। Have I Been Pwned का Pwned Passwords संग्रह, जिसे इस साइट का जाँचकर्ता पूछता है, सैकड़ों लीक से आए एक अरब से अधिक पासवर्ड रखता है, और हर बार जब कोई नया लीक सामने आता है तो बढ़ता है। यह सिद्धांतकारों द्वारा संकलित कमज़ोर पासवर्डों की सूची नहीं है। यह उन पासवर्डों का रिकॉर्ड है जिन्हें असली लोगों ने चुना, टाइप किया और खो दिया।

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

पाँच-अक्षर वाली जाँच कैसे काम करती है

एक अरब प्रविष्टियों वाले डेटाबेस के विरुद्ध पासवर्ड जाँचना ऐसा लगता है जैसे इसके लिए पासवर्ड किसी को भेजना पड़ेगा — और वर्षों तक यही हर लीक-जाँच सेवा पर ईमानदार आपत्ति थी। इसका समाधान k-गुमनामी (k-anonymity) नाम की एक तरकीब है, और यह एक वाक्य में कहने लायक सरल है: सेवा कभी नहीं जानती कि आपने किस पासवर्ड के बारे में पूछा, क्योंकि वह उसे पहचानने लायक पर्याप्त नहीं देखती। आपका पासवर्ड ब्राउज़र में SHA-1 से हैश किया जाता है, जिससे 40 अक्षरों का फ़िंगरप्रिंट बनता है। उस फ़िंगरप्रिंट के केवल पहले 5 अक्षर Have I Been Pwned को भेजे जाते हैं। सेवा उन 5 अक्षरों को साझा करने वाले सभी फ़िंगरप्रिंट प्रत्यय लौटाती है — आमतौर पर लगभग आठ सौ — और आपका ब्राउज़र उस सूची में अपना प्रत्यय स्थानीय रूप से, अपने डिवाइस पर खोजता है।

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

“N बार मिला” का क्या मतलब है — और क्या करना है

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

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

“नहीं मिला” का क्या मतलब नहीं है

शून्य की गिनती अच्छी खबर है, पर सख्त सीमा के साथ। इसका मतलब है कि पासवर्ड इस संग्रह को ज्ञात लीक में नहीं देखा गया है — बस इतना ही। इसका मतलब यह नहीं है कि पासवर्ड मज़बूत है: शब्दकोश शब्द और अंक से बना छोटा पासवर्ड संग्रह में न होकर भी कुछ ही मिनटों में अनुमान के हमले से हार सकता है, क्योंकि अनुमान लगाने के लिए पासवर्ड का पहले लीक होना ज़रूरी नहीं है। इसका मतलब यह नहीं है कि पासवर्ड सुरक्षित है: लीक सामने आने में महीनों या साल लगते हैं, और किसी बिना रिपोर्ट किए गए लीक में बैठा पासवर्ड उस दिन तक हर संग्रह के लिए अदृश्य है जब तक वह अदृश्य नहीं रहता। और इसका मतलब यह नहीं है कि दोहराया गया पासवर्ड ठीक है: दस साइटों पर इस्तेमाल होने वाला पासवर्ड एक लीक से सभी दस को खो देता है, आज की गिनती कुछ भी कहे।

शून्य को ईमानदारी से पढ़ने का तरीका यह है कि इसे कई जाँचों में से एक पास हुई जाँच मानें। पासवर्ड लीक हुआ ज्ञात नहीं है — यह जानने लायक है, और यही एकमात्र बात है जो जाँच आपको बता सकती है। क्या यह पर्याप्त लंबा भी है, पर्याप्त यादृच्छिक भी है और ठीक एक जगह इस्तेमाल होता है, यह अलग सवाल है, और जाँच इसका जवाब नहीं दे सकती। जिस मानक को बनाए रखना चाहिए वह नीचे सूचीबद्ध NIST की स्मृति-गुप्त मार्गदर्शिका में है: जटिलता नियमों पर लंबाई को तरजीह दें, कभी भी अपने आप में आवधिक बदलाव की माँग न करें, और नए पासवर्डों को उनके चुने जाने के क्षण में लीक संग्रहों के विरुद्ध जाँचें — यही वह जाँच है जिसका वर्णन यह लेख करता है। लंबा, यादृच्छिक, अनोखा और नहीं मिला पासवर्ड एक अच्छा पासवर्ड है। इन चार गुणों में से कोई एक हटा दें और शून्य का बहुत कम मतलब रह जाता है।

कभी भी पासवर्ड को चैटबॉट में पेस्ट न करें

“क्या मेरा पासवर्ड सुरक्षित है?” पूछने का सबसे खतरनाक तरीका यह है कि पासवर्ड को चैटबॉट या AI सहायक में पेस्ट करके सीधे पूछा जाए। चैट एक प्रतिलेख रखता है: आपका पासवर्ड किसी और के सर्वर पर सहेजा जाएगा, उनकी प्रतिधारण नीति के तहत रखा जाएगा, मॉडल को प्रशिक्षित या बेहतर बनाने में इस्तेमाल होगा, और संभवतः बाद के उत्तर में शब्दशः उद्धृत किया जाएगा — किसी और व्यक्ति को पूरी तरह से। यही बात हर उस वेबसाइट पर लागू होती है जो आपसे अपने फ़ॉर्म में पासवर्ड टाइप करने को कहती है और उसे जाँचने का वादा करती है: जब तक पृष्ठ स्थानीय रूप से हैश न करे और तंत्र न दिखाए, जैसा इस साइट का जाँचकर्ता करता है, मान लें कि पासवर्ड भेजा, सहेजा और लॉग किया जा रहा है। लीक जाँच करने लायक इसलिए है क्योंकि इसे बिना किसी को रहस्य सौंपे किया जा सकता है — और जिस क्षण आप रहस्य को चैट में पेस्ट करके उसके बारे में पूछते हैं, आपने वही जोखिम पैदा कर दिया है जिसे पता लगाने के लिए जाँच मौजूद है।

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

स्रोत और आगे पढ़ना

अक्सर पूछे जाने वाले प्रश्न

क्या Have I Been Pwned से पासवर्ड जाँचना सुरक्षित है?

हाँ, जब यह रेंज API के तरीके से किया जाता है: पासवर्ड आपके ब्राउज़र में हैश किया जाता है और हैश के केवल पहले 5 अक्षर भेजे जाते हैं। Have I Been Pwned कभी पासवर्ड या उसका पूरा हैश नहीं देखता, और यह नहीं जान सकता कि उस उपसर्ग को साझा करने वाले सैकड़ों पासवर्डों में से आपने किसके बारे में पूछा। कभी भी पासवर्ड को चैटबॉट या ऐसे फ़ॉर्म में पेस्ट न करें जो उसे पूरा भेज दे, वही सवाल पूछने के लिए।

मेरा पासवर्ड लीक में मिला। पहले क्या बदलूँ?

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

क्या पासवर्ड संग्रह में न होकर भी कमज़ोर हो सकता है?

हाँ। “नहीं मिला” का मतलब केवल इतना है कि पासवर्ड ज्ञात लीक में नहीं देखा गया है। छोटा या अनुमान लगाने योग्य पासवर्ड — शब्दकोश शब्द और अंक, नाम और साल — संग्रह में न होकर भी कुछ ही मिनटों में अनुमान से हार सकता है। पासवर्ड तभी रखें जब वह लंबा हो, यादृच्छिक हो, एक साइट के लिए अनोखा हो, और नहीं मिला हो।