पासवर्ड के आइडिया: आपके वाले काम क्यों नहीं आते

प्रकाशित लेखक David Carrero

एक खोज बार-बार लौटती है: पासवर्ड के आइडिया। और यह समझ में आता है, क्योंकि फ़ॉर्म इंतज़ार कर रहा है, कुछ तो गढ़ना ही है, और किसी ने कभी बताया नहीं कि यह कैसे किया जाता है।

दिक्कत यह है कि आइडिया शब्द ही गलती है। अच्छा पासवर्ड कोई अच्छा आइडिया नहीं होता। वह वह पासवर्ड होता है जिसके पीछे कोई आइडिया ही न हो।

यह लेख शुरू करने के लिए गढ़ा गया सुंदर वाक्य नहीं है। हमला अक्षरशः इसी तरह काम करता है।

जो आइडिया आपको सूझते हैं, वही सूची वह सबसे पहले चलाता है

डिक्शनरी हमला aaaaaaaa से शुरू होकर ऊपर नहीं गिनता। वह उन पासवर्डों से शुरू होता है जो पहले ही करोड़ों बार लीक हो चुके हैं, फिर नाम, आम संज्ञाएँ, शहर, फ़ुटबॉल क्लब और चार अंकों के साल। और इस आधार पर वह नियम लगाता है: शुरू में बड़ा अक्षर, अंत में अंक या !, a की जगह @, e की जगह 3, o की जगह 0, शब्द उल्टा, शब्द दो बार।

ये नियम न गुप्त हैं न नए। दशकों से लिखे हुए हैं और हर हमलावर औज़ार में पहले से मौजूद हैं। दूसरे शब्दों में: जिस सूची को आप «पासवर्ड के आइडिया» कहेंगे, वह लगभग उसी क्रम में, आप पर हमला करने वाले की कॉन्फ़िगरेशन फ़ाइल है।

यहाँ से आगे हर आँकड़ा इसी घर के चेकर से आता है, जो एक तेज़ हैश के ख़िलाफ़ ऑफ़लाइन हमला, प्रति सेकंड 10¹² कोशिशें मानकर चलता है। यह नतीजे के नीचे लिखा है, और इस जानकारी के बिना कोई भी समय-अवधि कुछ नहीं कहती। हर अंक आप ख़ुद दोहरा सकते हैं: उदाहरण टाइप कीजिए और देखिए।

पहला आइडिया: आपका नाम और आपके जन्म का साल

Anita1985। नौ अक्षर, एक बड़ा अक्षर, चार अंक। आधे इंटरनेट की माँग यह पूरी कर देता है।

चेकर इसे एक नज़र में दो हिस्सों में काट देता है: Anita के लिए «यह हमारी शब्दावलियों में है», 1985 के लिए «साल या तारीख जैसा लगता है»। नतीजा: 66,600 कोशिशें, यानी उस रफ़्तार पर एक सेकंड से भी कम

और ध्यान दीजिए कि यह 66,600 क्यों है, कोई खगोलीय संख्या क्यों नहीं। बात छोटा होने की नहीं है। बात यह है कि ये नौ फ़ैसले नहीं, दो फ़ैसले हैं: कौन-सा नाम और कौन-सा साल। आम नाम हज़ारों में गिने जाते हैं; जो साल लोग सचमुच पासवर्ड में डालते हैं, वे दर्जनों में। गुणा कीजिए और बात ख़त्म: आपने नौ अक्षर टाइप किए और सत्तर हज़ार से कम संभव पासवर्डों में से एक चुना।

दूसरा आइडिया: अक्षरों की जगह अंक रखना

यह वह नुस्ख़ा है जिस पर सब भरोसा करते हैं, और जो सबसे बुरी तरह पुराना पड़ता है।

@nit@1985 देता है 66,600 कोशिशें। थोड़ा भी नहीं बढ़ा — आख़िरी अंक तक वही संख्या। यह बदलाव यहाँ सचमुच शून्य कमाता है, क्योंकि उसने कोई नया पासवर्ड नहीं बनाया। उसने बस एक हाँ-या-ना सवाल जोड़ा जिसे हमलावर पहले ही हिसाब में रख चुका था: इस व्यक्ति ने a बदला या नहीं?

ग़ौर कीजिए, चेकर अपना फ़ैसला भी नहीं बदलता। वह अब भी कहता है «यह हमारी शब्दावलियों में है», इस बार अक्षरों की जगह अंकों के साथ की टिप्पणी के साथ। शब्द उसे फिर भी मिल गया।

यह बात कहाँ तक जाती है, यह देखना हो तो शास्त्रीय उदाहरण आज़माइए। P@ssw0rd — बड़ा अक्षर, एट-द-रेट, शून्य, और सोच-समझकर बनाए जाने का पूरा रौब — 17 कोशिशों में गिर जाता है। सत्रह। दोनों हाथों की उँगलियों और थोड़े धैर्य से गिनी जा सकती हैं।

तीसरा आइडिया: उसे उल्टा लिखना

atina1985 देता है 66,600 कोशिशें। आख़िरी अंक तक वही संख्या जो Anita1985 की थी।

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

दोहराने पर भी यही होता है: AnitaAnita गिरकर 1,135 कोशिशें रह जाता है — दोगुने अक्षर टाइप करने के बाद आप पहले से बदतर हालत में हैं, क्योंकि «एक हिस्सा दोहराता है» भी अपने नाम वाला एक पैटर्न है।

चौथा आइडिया: उँगलियों से कीबोर्ड पर उतरना

जब सोचने का मन न हो, आदमी कीबोर्ड देखता है और कोई आकृति खींच देता है। निकलता है qwerty123, या 1qaz2wsx, या 1q2w3e4r, या asdfghjkl

यह बेतरतीब लगता है क्योंकि इसका कोई अर्थ नहीं। लेकिन कीबोर्ड की ज्यामिति तय है और बहुत छोटी है, और उस पर चलना ठीक वही काम है जो एक प्रोग्राम आपसे बेहतर करता है:

  • qwerty123273 कोशिशें
  • 1qaz2wsx29 कोशिशें

उनतीस। ये पासवर्ड इतने घिस चुके हैं कि कीबोर्ड के नियमों की ज़रूरत ही नहीं पड़ती: लीक हुए पासवर्डों की सूचियों में वे ज्यों के त्यों मौजूद हैं, और चेकर उन्हें सूखे-से «यह हमारी शब्दावलियों में है» के साथ निपटा देता है।

पाँचवाँ आइडिया: कुत्ता, और वह तारीख जो कभी नहीं भूलती

Toby2015! जीवनी वाला पासवर्ड है: कुत्ते का नाम, वह साल जब वह घर आया, और फ़ॉर्म को खुश करने के लिए एक विस्मयादिबोधक चिह्न। यह देता है 1,2 × 10⁸ कोशिशें, और फिर भी एक सेकंड से कम

सबसे आम पालतू नाम कुछ हज़ार ही हैं, और वे उन्हीं सूचियों में हैं जिनमें इंसानों के नाम। अंत का ! उतना ही जोड़ता है जितना वह नियम जोड़ता है जिसे सब लगाते हैं: कुछ नहीं।

ख़ास तारीख के साथ बात और असहज हो जाती है। 24121985 — एक दिन, एक महीना, एक साल — आठ अंकों जैसी पढ़ी जाती है, पर चेकर उस पर «इसमें तारीख है» का लेबल लगाकर 14,966 कोशिशों में निपटा देता है। वजह कैलेंडर में है: 31 दिन, 12 महीने और सवा सदी भर के संभावित साल। जो आठ अंक एक करोड़ संयोजन जैसे दिखते हैं, असल में पंद्रह हज़ार के आसपास हैं।

तारीख का जाल यही है: वह आपको लंबाई देती है, अनिश्चितता नहीं — और क़ीमत सिर्फ़ अनिश्चितता की मिलती है।

छठा आइडिया: गाड़ी का नंबर, और वह जो चेकर देख नहीं सकता

4521KDR अलग मामला है, और यहाँ रुकना बनता है।

यहाँ चेकर कहता है «हमें कोई ज्ञात पैटर्न नहीं मिला» और 3,9 × 10¹⁰ कोशिशें गिनता है। पर वह इस संख्या पर छत का निशान लगाता है, और यही शब्द असली बात है: उसे आपका पैटर्न नहीं मिला, जिससे यह साबित नहीं होता कि आपका कोई पैटर्न है ही नहीं। इतने पर भी, उदारता से गिनने पर, समय एक सेकंड से कम ही रहता है।

और यहीं वह खाई है जिसे समझना ज़रूरी है। चेकर को नहीं पता आप कौन-सी गाड़ी चलाते हैं। जो आपको जानता है, जिसके सामने आपका इंस्टाग्राम खुला है, या जिसने वह डेटा ख़रीदा है जिसमें आपका नंबर दर्ज है — उसे 3,9 × 10¹⁰ कोशिशें नहीं चाहिए: उसे एक चाहिए। पैटर्न न मिलने पर जो संख्या दिखती है, वह एक अजनबी की नासमझी नापती है, उस आदमी की नहीं जिसने आपको ढूँढ़ा है।

यही बात मकान नंबर, आधार नंबर, फ़ोन और शादी की तारीख पर लागू होती है।

छहों में साझा क्या है

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

जटिलता जोड़ने से कुछ ठीक नहीं होता, क्योंकि जो जटिलता आप लगाते हैं वह भी आपका ही फ़ैसला है और वह भी सूची में है। इसीलिए @nit@1985 एक अंक भी नहीं कमाता और atina1985 भी नहीं।

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

रास्ता कोई बेहतर आइडिया नहीं है: आइडिया छोड़ देना है

उस सूची से निकलने का इकलौता तरीक़ा यह है कि पासवर्ड आपके दिमाग़ से न निकले।

Diceware ठीक यही करता है: आप पाँच पासे फेंकते हैं, उस संख्या को 7,776 शब्दों की सूची में ढूँढ़ते हैं और जो निकले उसे लिख लेते हैं। हर फेंक 12.9 बिट का है, और वह सच्चा 12.9 है, क्योंकि पासों की न कोई पसंद होती है, न याददाश्त, न आपके जन्म का साल। छह शब्द मिलकर लगभग 77 बिट बनते हैं।

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

तो «मुझे पासवर्ड के कुछ आइडिया दीजिए» का ईमानदार जवाब यह है कि आपको उनकी ज़रूरत नहीं, बल्कि वे आपके पास ज़रूरत से ज़्यादा हैं। जो कमी है, वह एक पासे की है।


स्रोत: इस लेख के सभी आँकड़े password.es के चेकर से आते हैं, जो अपना मॉडल नतीजे के नीचे घोषित करता है — प्रति सेकंड 10¹² कोशिशें, ऑफ़लाइन हमला, तेज़ हैश — और हर उदाहरण को /hi/checker/ पर टाइप करके दोहराया जा सकता है · पैटर्न विश्लेषण का इंजन zxcvbn है, Daniel Lowe Wheeler (Dropbox) का, जो USENIX Security 2016 में «zxcvbn: Low-Budget Password Strength Estimation» के रूप में प्रस्तुत हुआ · जिन प्रतिस्थापन, उलटाव और दोहराव के नियमों का ज़िक्र है, वे वही हैं जो डिक्शनरी हमले के औज़ारों में पहले से आते हैं · Arnold G. Reinhold, «The Diceware Passphrase Home Page» (1995), 7,776 शब्दों और हर फेंक के 12.9 बिट के लिए।

तस्वीर: RDNE Stock project · Pexels

← ब्लॉग पर वापस