मज़बूत पासवर्ड कैसे उत्पन्न करें

· 9 मिनट पढ़ने का समय

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

कंप्यूटर पासवर्ड का संक्षिप्त इतिहास

कंप्यूटर पासवर्ड 1961 के हैं, जब एमआईटी में Fernando Corbató की टीम ने Compatible Time-Sharing System (CTSS) के लिए इन्हें पेश किया, जिससे कई उपयोगकर्ता एक ही मेनफ़्रेम साझा करते हुए अपनी फ़ाइलें निजी रख सकें। 1962 में सिस्टम का पहला उल्लंघन हुआ जब पीएचडी छात्र Allan Scherr ने मास्टर पासवर्ड फ़ाइल छाप ली, ताकि अपने साप्ताहिक चार-घंटे के कोटे से ज़्यादा कंप्यूट समय हड़प सके। यह सबक, कि जिन खातों की वे रक्षा करते हैं उनके बगल में रहस्यों को सादे रूप में रखना बुरा विचार है, क्षेत्र को पूरी तरह पचाने में करीब बीस साल लगे।

1979 में, Robert Morris और Ken Thompson ने "Password Security: A Case History" प्रकाशित किया और Unix Version 7 में सॉल्ट किया हुआ DES हैशिंग शिप किया: 12-बिट यादृच्छिक सॉल्ट और DES की 25 इटरेशन ने पासवर्ड फ़ाइल को एक-झटके की ट्रॉफ़ी से एक मध्यम महंगे ब्रूट-फ़ोर्स लक्ष्य में बदल दिया। रेनबो टेबल्स, Alec Muffett का "Crack" (1991), और तेज़-से-तेज़ GPU अंततः इन बचावों को बहा ले गए, और क्षेत्र जान-बूझकर धीमे हैश फ़ंक्शन्स की ओर बढ़ा: bcrypt (1999), scrypt (2009), और Argon2 (2015, मौजूदा PHC विजेता)।

पासवर्ड सलाह का उपयोगकर्ता-पक्ष अधिक धीरे विकसित हुआ। NIST के 2003 के दिशानिर्देश (मुख्यत: Bill Burr द्वारा लिखे गए) ने मजबूर आवधिक रोटेशन और अनिवार्य कैरेक्टर-क्लास मिक्सिंग की सिफ़ारिश की, जो सलाह पंद्रह साल तक कॉर्पोरेट डिफ़ॉल्ट बनी रही। Burr ने स्वयं 2017 के एक इंटरव्यू में इन नियमों को अस्वीकार किया। उसी वर्ष, NIST SP 800-63B Revision 3 ने औपचारिक रूप से आवधिक रोटेशन और कंपोज़िशन नियम दोनों हटा दिए, और उनकी जगह दो सरल विचार रखे: लंबे याद किए हुए रहस्य पसंद करें, और स्वीकार करने से पहले उम्मीदवारों की लीक कोरपस के साथ जाँच करें।

पासवर्ड को मज़बूत क्या बनाता है

अनुमान लगाने के विरुद्ध पासवर्ड का प्रतिरोध एक ही मात्रा में सिमट जाता है: एन्ट्रॉपी, बिट्स में मापी जाती है। हर बिट खोज स्थान को दोगुना करता है। 4-अंकीय PIN में लगभग 13 बिट एन्ट्रॉपी होती है (10,000 संयोजन)। केवल लोअरकेस वाली 16-कैरेक्टर स्ट्रिंग में लगभग 75 बिट होती है। मिश्रित केस + अंक + प्रतीकों वाली 16-कैरेक्टर स्ट्रिंग में लगभग 105 बिट। 100 GH/s पर, जो एक उच्च-स्तरीय कंज़्यूमर GPU तेज़ सॉल्टेड हैशेस के विरुद्ध मार सकता है, 50 बिट दिनों में गिरते हैं, 70 बिट सहस्राब्दियों में।

दो व्यावहारिक निष्कर्ष।

लंबाई जटिलता पर हावी है। 70-प्रतीक वर्णमाला से एक अतिरिक्त कैरेक्टर खोज स्थान को 70 से गुणा करता है, लगभग वही जो 6.1 बिट जोड़ने जैसा है। एक अतिरिक्त कंपोज़िशन नियम जोड़ना (मसलन, समान लंबाई पर केस मिलाना) स्थान को बस दोगुना करता है, एक अतिरिक्त बिट। बारह यादृच्छिक लोअरकेस कैरेक्टर हर बार आठ मिश्रित-केस + प्रतीक कैरेक्टर को हराते हैं।

यादृच्छिकता पर समझौता नहीं। अंग्रेज़ी शब्दों से बनी 20-कैरेक्टर स्ट्रिंग 130 बिट एन्ट्रॉपी नहीं है; गंभीर हमलावर के सामने शायद 40 हो, क्योंकि क्रैकिंग टूल्स वर्डलिस्ट प्लस मैंगलिंग नियम चलाते हैं, अंधा ब्रूट-फ़ोर्स नहीं। जनरेट किए गए पासवर्ड हर कैरेक्टर पर पूरी एन्ट्रॉपी देते हैं। इंसान द्वारा चुने गए पासवर्ड लगभग कभी नहीं।

पासवर्ड जनरेटर कैसे काम करता है

ब्राउज़र-आधारित जनरेटर crypto.getRandomValues() का उपयोग करता है, यानी प्लेटफ़ॉर्म का क्रिप्टोग्राफ़िकली सुरक्षित यादृच्छिक संख्या जनरेटर (CSPRNG), जो ऑपरेटिंग सिस्टम के एन्ट्रॉपी पूल पर आधारित है। यह वही स्रोत है जो TLS सेशन कीज़ और AES इनिशियलाइज़ेशन वेक्टर निकालने के लिए इस्तेमाल होता है। पुराना Math.random() क्रिप्टोग्राफ़िकली सुरक्षित नहीं है और इसे पासवर्ड या किसी अन्य सुरक्षा उद्देश्य के लिए कभी इस्तेमाल नहीं करना चाहिए।

आप तीन चीज़ें चुनते हैं:

फिर जनरेटर चुनी हुई वर्णमाला से एक-समान सैम्पल लेता है जब तक माँगी हुई लंबाई पूरी न हो जाए, बिना किसी पूर्वाग्रह और बिना किसी पैटर्न के।

मज़बूत पासवर्ड कैसे बनाएँ

  1. लंबाई तय करें। नए खातों के लिए बारह कैरेक्टर एक उचित न्यूनतम है, पैसा या रहस्य रखने वाले खातों के लिए 16 से 20, मास्टर पासवर्ड और रूट क्रेडेंशियल्स के लिए 25 या अधिक।
  2. सभी कैरेक्टर क्लास सक्षम करें जब तक साइट प्रतीकों को अस्वीकार न करे। छिपे कंपोज़िशन नियम कुछ बिट एन्ट्रॉपी की क़ीमत वसूलते हैं, और कठिन-अनुमान वाले कैरेक्टर शामिल करना भी तभी ठीक है जब मैनेजर आपके लिए फ़ील्ड भर रहा हो।
  3. जनरेट करें, फिर ऑडिट करें। ज़्यादातर जनरेटर अनुमानित एन्ट्रॉपी दिखाते हैं; सामान्य खातों के लिए कम-से-कम 80 बिट लक्ष्य रखें, उच्च-मूल्य के लिए 100 या अधिक।
  4. पेस्ट करने से पहले पासवर्ड मैनेजर में सहेजें। टैब बंद करना पासवर्ड हमेशा के लिए खो देता है अगर पहले संग्रहीत नहीं किया गया। यह सबसे आम आत्म-गोल है।
  5. लॉगिन राउंड-ट्रिप परखें। साइटों का एक छोटा पर वास्तविक हिस्सा चुपके से पासवर्ड को 16, 20 या 32 कैरेक्टर पर काट देता है, या सर्वर-साइड पर कुछ प्रतीक हटा देता है। एक बार लॉग आउट और फिर इन करें, ताकि पुष्टि हो सके कि वास्तव में क्या स्वीकार हुआ।

लंबाई, वर्णमाला और एन्ट्रॉपी एक नज़र में

लंबाईवर्णमालासंयोजनएन्ट्रॉपी (बिट)
8केवल लोअरकेस (26)2.1 × 10^1138
12लोअरकेस + अंक (36)4.7 × 10^1862
16मिश्रित केस + अंक (62)4.8 × 10^2895
20मिश्रित केस + अंक + 32 प्रतीक4.5 × 10^37125
25पूरा कीबोर्ड (लगभग 94)2.0 × 10^49164

64 बिट से नीचे, यह दृढ़ ऑफ़लाइन हमलावर के सामने भुरभुरा है। 100 बिट से ऊपर, यह शास्त्रीय हार्डवेयर के विरुद्ध अगले दशक के लिए आरामदायक रूप से भविष्य-सुरक्षित है। क्वांटम हमले Grover के एल्गोरिथ्म से प्रभावी एन्ट्रॉपी आधी कर देते हैं, इसलिए 100 शास्त्रीय बिट 50 पोस्ट-क्वांटम बिट देते हैं, फिर भी किसी व्यावहारिक ख़तरे से ख़ासे ऊपर।

विकल्प के रूप में पासफ़्रेज़

उन छोटे-से समूह वाले पासवर्डों के लिए जो आपको सचमुच याद रखने हैं (आपके पासवर्ड मैनेजर का मास्टर पासवर्ड, डिवाइस अनलॉक, आपात रिकवरी कोड), पासफ़्रेज़ यादगारी में यादृच्छिक स्ट्रिंग को हरा देता है, बिना सुरक्षा से समझौता किए। क्लासिक नुस्ख़ा Diceware है, जिसे Arnold Reinhold ने 1995 में ईजाद किया: पाँच वास्तविक पासे फेंकें, पाँच अंकों की संख्या को 7,776-प्रविष्टि वाली सूची (7,776 = 6^5) में देखें, अपने इच्छित शब्द-संख्या तक दोहराएँ। हर शब्द लगभग 12.9 बिट एन्ट्रॉपी जोड़ता है, इसलिए छह-शब्दी वाक्यांश जैसे correct horse battery staple cargo lumen लगभग 77 बिट देता है, जो 13-कैरेक्टर मिश्रित-केस + अंक यादृच्छिक स्ट्रिंग के समतुल्य है।

2016 में, Electronic Frontier Foundation ने नवीनीकृत Diceware-शैली वर्डलिस्ट प्रकाशित कीं, लंबे और अधिक यादगार शब्दों के साथ (Reinhold की 4.3 के मुक़ाबले औसत 7 कैरेक्टर), अब भी 7,776 प्रविष्टियाँ, अब भी हर शब्द पर वही एन्ट्रॉपी, टाइप करने और फ़ोन पर बोलने में आसान। दोनों में से कोई भी काम करती है।

पासफ़्रेज़ की सुरक्षा को नष्ट करने वाली एकमात्र ग़लती यह है कि पासे फेंकने के बजाय शब्द स्वयं चुनें। इंसान 1,000 से 2,000 आम संज्ञाओं और क्रियाओं के इर्द-गिर्द जमा रहते हैं, इसलिए स्वयं-निर्मित छह-शब्दी वाक्यांश अक्सर 60 बिट प्रभावी एन्ट्रॉपी के क़रीब होता है और कभी-कभी सीधे क्रैकर की वर्डलिस्ट में होता है (correct horse battery staple स्वयं, xkcd कॉमिक से लोकप्रिय, अब हर आधुनिक डिक्शनरी हमले में मिलता है)।

बेहतर पासवर्ड के लिए टिप्स

आम ग़लतियाँ

पासवर्ड से आगे: मैनेजर, MFA और पासकीज़

पासवर्ड मैनेजर अब वैकल्पिक नहीं है। यथार्थवादी विकल्प या तो कमज़ोर पासवर्ड दोहराना है या उन्हें लिख रखना, दोनों किसी भी प्रतिष्ठित मैनेजर से बदतर। मुख्य विकल्पों की संक्षिप्त तुलना:

उपकरणक़ीमतसंग्रहण मॉडलविशेष ताक़त
Bitwardenमुफ्त / सशुल्कक्लाउड सिंक, सेल्फ़-होस्ट विकल्पओपन सोर्स, ऑडिटेड, उदार मुफ्त स्तर
1Passwordसशुल्कक्लाउड सिंक, एंड-टू-एंड एन्क्रिप्टेडपरिष्कृत UX, परिवार साझा, Travel Mode
Dashlaneसशुल्कक्लाउड सिंकडार्क-वेब निगरानी, VPN बंडल
KeePassXCमुफ्तस्थानीय फ़ाइल (सिंक अपने तरीक़े से)पूर्णतः ऑफ़लाइन, विक्रेता जोखिम नहीं
Proton Passमुफ्त / सशुल्कक्लाउड सिंक, एंड-टू-एंड एन्क्रिप्टेडProton खाते के साथ शामिल, ईमेल उपनाम
Apple KeychainApple डिवाइसों पर मुफ्तiCloud सिंकदेशी, मुफ्त, Apple पारिस्थितिकी से बँधा
ब्राउज़र अंतर्निहितमुफ्तब्राउज़र-खाता सिंकमुफ्त और अंतर्निहित, मेज़बान पर मैलवेयर के सामने कमज़ोर

दो-कारक प्रमाणीकरण (2FA) चोरी पासवर्ड की लागत तत्काल खाते पर क़ब्ज़े से बढ़ाकर "हमलावर को दूसरा कारक भी रोकना होगा" कर देती है। समय-आधारित एक-बार-पासवर्ड (TOTP, Aegis, Raivo या 2FAS जैसे ऑथेंटिकेटर ऐप के माध्यम से) को SMS पर वरीयता दें, जो SIM-स्वैप हमलों के लिए संवेदनशील है। उच्चतम-मूल्य खातों पर हार्डवेयर सुरक्षा कीज़ (YubiKey, Titan, SoloKey) को TOTP पर वरीयता दें।

पासकीज़ (FIDO2 / WebAuthn) पासवर्ड की जगह डिवाइस-बँधी क्रिप्टोग्राफ़िक कुंजी रखती हैं। Apple, Google और Microsoft ने मई 2022 में पासकी समर्थन के विस्तार की संयुक्त घोषणा की, और पासकीज़ अब iOS 16+, Android, Chrome, Safari, Edge और Windows Hello पर उपलब्ध हैं। पासकी फ़िश-नहीं-होने वाली है क्योंकि ब्राउज़र उसे ऐसी डोमेन पर इस्तेमाल करने से इनकार करता है जिसके लिए वह पंजीकृत नहीं हुई, और सर्वर-साइड डेटाबेस में कोई साझा रहस्य नहीं है जो उल्लंघन में लीक हो। जहाँ कोई साइट पासकीज़ देती है, उन्हें सक्षम करें; पारिस्थितिकी के परिपक्व होते समय आप अक्सर पासवर्ड को बैकअप के रूप में रख सकते हैं।

गोपनीयता और जनरेटर

पासवर्ड जनरेटर पूरी तरह आपके ब्राउज़र में चलता है। यह हर कैरेक्टर के लिए crypto.getRandomValues() को एक बार बुलाता है, चुनी हुई वर्णमाला से सैम्पल लेता है, और परिणाम पृष्ठ पर दिखाता है। कुछ भी लॉग नहीं होता, कुछ भी सर्वर पर नहीं भेजा जाता, पृष्ठ से जाने के बाद कुछ भी सहेजा नहीं जाता। जनरेट किया गया पासवर्ड आपके डिवाइस को नहीं छोड़ता जब तक आप उसे कहीं चिपकाने का चुनाव न करें। खाते की कुंजी जैसी बुनियादी चीज़ के लिए, यह सख़्ती से स्थानीय प्रवाह सही डिफ़ॉल्ट है: कोई टेलीमेट्री नहीं, कोई एनालिटिक्स नहीं, कोई तृतीय-पक्ष स्क्रिप्ट नहीं, कोई कैश नहीं। पूरा टूल पृष्ठ लोड होने के बाद ऑफ़लाइन चल सकता है, जिसे आप नेटवर्क बंद करके और फिर से जनरेट क्लिक करके सत्यापित कर सकते हैं।

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

मेरा पासवर्ड कितना लंबा होना चाहिए?

पर्याप्त सुरक्षा के लिए कम से कम 12 वर्ण का उपयोग करें, संवेदनशील खातों के लिए 16 या अधिक। प्रत्येक अतिरिक्त वर्ण पासवर्ड को तोड़ना घातीय रूप से कठिन बनाता है।

क्या विशेष वर्ण शामिल करने चाहिए?

हाँ। अपरकेस (A-Z), लोअरकेस (a-z), अंक (0-9) और विशेष वर्णों (!@#$%^&*) को संयोजित करना उस वर्ण सेट का विस्तार करके मज़बूती को काफ़ी बढ़ाता है जिसे एक हमलावर को अनुमान लगाना होगा।

क्या पासवर्ड जनरेटर सुरक्षित है?

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

पासवर्ड को कितनी बार बदलें?

वर्तमान सिफ़ारिशें (NIST और अन्य) पासवर्ड को केवल समझौता के प्रमाण होने पर बदलने की सलाह देती हैं, एक निश्चित कार्यक्रम पर नहीं। बार-बार मजबूर परिवर्तन कमज़ोर पासवर्ड उत्पन्न करते हैं, क्योंकि लोग याद रखने में सरल पासवर्ड चुनते हैं।

Is a passphrase as good as a random password?

Yes, if it is long enough and the words are chosen randomly (for example with Diceware or the EFF wordlist). Six randomly-chosen words give about 77 bits of entropy, comparable to a 13-character random password. Self-invented phrases are usually much weaker because humans cluster around the same few thousand common words.