यह पेज हिन्दी में दिखाया जा रहा है, क्योंकि आपका ब्राउज़र यही भाषा माँगता है।
इस पेज का कोड चालू नहीं हुआ।
index.html को सीधे किसी फ़ोल्डर से खोलने पर ब्राउज़र JavaScript मॉड्यूल रोक देता है, इसलिए लंबाई चुनने पर कुछ नहीं होगा। इसके बजाय फ़ोल्डर को http पर सर्व कीजिए:
ऊपर फ़ाइल चुनते ही यह खुल जाएगा।तैयार — इंटरनेट काट दीजिए, यह फिर भी चलता रहेगा।इस ब्राउज़र में उपलब्ध नहीं (बाकी सब फिर भी चलता है)।ऑफ़लाइन कैश के लिए https:// या localhost चाहिए।यहाँ कैश नहीं हो सकता, पर अपलोड फिर भी कुछ नहीं होता।आपकी फ़ाइलें कहीं नहीं गईं। {total} फ़ाइलें लोड हुईं, और वे सब इसी साइट की अपनी हैं। {platform}किसी चीज़ ने {hosts} से संपर्क किया, और यह टूल ऐसा कभी नहीं करता। यह देखने लायक बात है। {platform}विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को न कोई फ़ाइल मिली, न उसका एक बाइट।विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को न कोई फ़ाइल मिली, न उसका एक बाइट।कुछ गड़बड़ हो गई: {detail}। दोबारा शुरू करने के लिए पेज फिर से लोड कीजिए।{count} फ़ाइल पढ़ी जा रही है…{count} फ़ाइलें पढ़ी जा रही हैं…कोई उदाहरण आज़माइएउदाहरण बनाया जा रहा है…यह ब्राउज़र उदाहरण नहीं बना सका। इसके बजाय कोई फ़ाइल चुनिए।
पासवर्ड और पासफ़्रेज़ — मज़बूत और रैंडम, आपके ब्राउज़र में बना
यहीं बनता है, आपके अपने ब्राउज़र से, और कहीं नहीं भेजा जाता। कुछ भी सेव नहीं होता और कोई हिस्ट्री नहीं रहती।
● यह टूल पासवर्ड और पासफ़्रेज़ कभी अपलोड नहीं करता। यहाँ कोई सर्वर है ही नहीं।
हर कैरेक्टर crypto.getRandomValues से आता है, यानी ब्राउज़र के अपने क्रिप्टोग्राफ़िक जनरेटर से, और हर शब्द इसी फ़ोल्डर में रखी src/wordlist.js से। src/ में कहीं भी न fetch है, न XMLHttpRequest, न sendBeacon, इसलिए यहाँ बना पासवर्ड हम तक या किसी और तक पहुँचे, ऐसा कोई रास्ता ही नहीं है। सेव भी कुछ नहीं होता, यानी इस पेज को दोबारा लोड करते ही वे सारे पासवर्ड मिट जाते हैं जो इसने आपको दिखाए थे।
✗ कोई अपलोड नहीं
✗ कोई अकाउंट नहीं
✗ कुछ सेव नहीं
✓ ऑफ़लाइन चलता है
✓ ओपन सोर्स
लाइव जाँच:जाँच जारी…
ऑफ़लाइन:जाँच जारी…
हमारी बात पर यकीन करने की ज़रूरत नहीं। DevTools खोलिए, नेटवर्क टैब देखते रहिए, और एक और बनाएँ जितनी बार चाहें दबाइए। एक भी रिक्वेस्ट नतीजे का एक कैरेक्टर तक नहीं ले जाती। या इंटरनेट काट दीजिए और बनाते रहिए।
प्राइवेसी का यह दावा कैसे जाँचा जा सकता है
पासवर्ड वहीं बनता है जहाँ आप यह पढ़ रहे हैं। इसी पेज में, इसी पेज के ज़रिए, उस रैंडमनेस से जो आपका अपना ऑपरेटिंग सिस्टम ब्राउज़र को देता है। इसे बनाने के लिए कुछ मँगाया नहीं जाता, और बन जाने के बाद कहीं कुछ बताया नहीं जाता। Content-Security-Policy में वह हर पता लिखा है जिससे यह पेज बात कर सकता है, और उनमें से एक भी हमारा नहीं है। यहाँ ऐसी कोई जगह ही नहीं जहाँ बना हुआ पासवर्ड जमा हो सके, और अगर होती भी तो कोड में उसे वहाँ भेजने वाली कोई लाइन नहीं है।
यहाँ कुछ भी कहीं से कुछ नहीं मँगाता।src/ में कहीं भी न fetch है, न XMLHttpRequest, न sendBeacon। शब्द सूची डाउनलोड नहीं होती, वह src/wordlist.js है, बाकी पेज के साथ इसी ऑरिजिन से आती है, और आप उसे खोलकर पढ़ सकते हैं।
रैंडमनेस ब्राउज़र की है, और सही किस्म की है।crypto.getRandomValues वही जनरेटर है जो ब्राउज़र चाबियों और टोकन के लिए देते हैं, और जिसे ऑपरेटिंग सिस्टम बीज देता रहता है। Math.random इस फ़ोल्डर में कहीं नहीं है, और होता तो वह असली खामी होती, क्योंकि उसकी अंदरूनी स्थिति मुट्ठी भर आउटपुट से दोबारा निकाली जा सकती है। इसका मतलब है कि जिसने उसका एक पासवर्ड देख लिया, वह उसके आगे बनने वाले सारे पासवर्ड गिन सकता है।
कुछ सेव नहीं होता, इसलिए मिटाने को कोई हिस्ट्री ही नहीं। न localStorage, न sessionStorage, न कुकी, न URL में कोई पैरामीटर, और न ही ऐसा कोई <input> जिसे याद रखने की पेशकश ब्राउज़र करे। स्क्रीन पर जो है वह इस पेज की मेमोरी में सिर्फ़ एक ऐरे में है, और टैब बंद कर देना ही पूरी सफ़ाई है। यहाँ जो बनता है उसकी कॉपी सिर्फ़ वही है जो आप साथ ले जाते हैं।
गूगल क्या लोड करता है, और उसे क्या नहीं मिलता। विज्ञापन और माप वाली स्क्रिप्ट गूगल की हैं, और दान वाला बटन Buy Me a Coffee का। इनमें से किसी को भी इस पेज के बनाए हुए का एक कैरेक्टर नहीं मिलता, न उसकी लंबाई, न उसकी मज़बूती, न यह कि किन सेटिंग्स से बना। जो भी लाइन कोई कैरेक्टर या शब्द निकालती है, वह इसी ऑरिजिन से आती है और रिपॉज़िटरी में मौजूद है।
यह ऑफ़लाइन चलता है। नेटवर्क काट दीजिए, टूल वैसा का वैसा रहता है, क्योंकि इसमें नेटवर्क वाला कदम कभी था ही नहीं। यही सबसे आसान सबूत है। जो जनरेटर अपनी रैंडमनेस सर्वर से मँगाता हो, वह तार निकालते ही रुक जाएगा।
खुद जाँच लीजिए। ऊपर लिखी किसी भी बात को भरोसे पर मानने की ज़रूरत नहीं। यह पेज रिपॉज़िटरी के टेम्पलेट और कॉन्फ़िग से बनता है, एक ऐसी बिल्ड स्क्रिप्ट के ज़रिए जिसे आप पढ़ भी सकते हैं और खुद चला भी सकते हैं। उसका नतीजा dist ब्रांच पर कमिट रहता है, यानी जो सर्व हो रहा है और सोर्स से बिल्ड करने पर जो बनता है, दोनों का फ़र्क आप खुद देख सकते हैं:
सबसे पहले पढ़ने लायक फ़ाइलें ये हैं — Content-Security-Policy के लिए config/site.toml, src/random.js उन चालीस लाइनों के लिए जो इस पेज और इसके बनाए हर पासवर्ड के बीच खड़ी हैं। उनका इनपुट एक ही है, और वह ब्राउज़र का अपना जनरेटर है। src/generate.js यह देखने के लिए कि सेटिंग्स कैसे एक स्ट्रिंग बनती हैं, और src/strength.js उस संख्या के पीछे के गणित के लिए, जो अंदाज़ा लगाने के बजाय गिनता है।
अगर आपके दफ़्तर का सुरक्षा सॉफ़्टवेयर अपलोड की चेतावनी दे। वह उस पल पर नज़र रखता है जब ब्राउज़र में फ़ाइल चुनी जाती है, और यह नहीं जान सकता कि पन्ना उसे भेजने वाला है या नहीं — इसलिए चुनने पर ही चेतावनी देता है। यहाँ से कुछ नहीं भेजा जाता: ब्राउज़र के डेवलपर टूल खोलिए, Network पर जाइए, और एक फ़ाइल चुनिए। उसे ले जाने वाला कोई अनुरोध नहीं है, और पन्ने की अपनी स्थानीय झलक के अलावा कोई अनुरोध ही नहीं। यही जाँच आपकी IT टीम आधे मिनट में कर सकती है।
1 तय कीजिए क्या बनाना है
पासवर्ड कैरेक्टरों की एक लड़ी है, छोटा, मज़बूत, और ऐसा जिसे आप पासवर्ड मैनेजर में रखेंगे। पासफ़्रेज़ एक सूची से रैंडम चुने गए शब्द हैं। टाइप करने में वह लंबा है, पर याद रखने और बोलकर बताने में कहीं आसान, और वही उन गिने-चुने राज़ों के लिए सही जवाब है जो आपको याद से टाइप करने पड़ते हैं, जैसे पासवर्ड मैनेजर का अपना पासवर्ड, लैपटॉप का पासवर्ड, फ़ोन का रिकवरी कोड।
2 सेट कीजिए
लंबाई लंबाई बाकी सब पर भारी पड़ती है। चौरानबे कैरेक्टर के सेट में एक कैरेक्टर और जोड़ना उस हर नियम से ज़्यादा काम का है कि उसमें कौन-से कैरेक्टर आने ही चाहिए।
कौन-से चिह्न ये रहे: । स्पेस, दोनों तरह के उद्धरण चिह्न, बैकटिक और बैकस्लैश दोनों सेटों से जानबूझकर बाहर हैं। वे बाकी कैरेक्टरों जितने ही रैंडम हैं, पर चलते हुए पासवर्ड को सपोर्ट टिकट में अक्सर यही बदलते हैं।
हर सेट में से कम से कम एक कैरेक्टर उस साइन-अप फ़ॉर्म के लिए जो इस पर अड़ जाता है। यह पासवर्ड को मज़बूत नहीं, कमज़ोर करता है, क्योंकि यह उनमें से कुछ पासवर्ड बाहर कर देता है जो पहले संभव थे। नीचे का आँकड़ा उतना पहले ही घटा चुका है।
मिलते-जुलते दिखने वाले कैरेक्टर नहींI l 1 | और O 0 हटा देता है, उस पासवर्ड के लिए जिसे स्क्रीन से पढ़कर कहीं और टाइप करना है। इसकी कीमत एक-दो कैरेक्टर लंबाई बढ़ाकर चुका दीजिए।
शब्द चार शब्द वाली तस्वीर मशहूर है और आज उस स्तर से नीचे है जिसे इस्तेमाल करना ठीक कहा जाए। जो चीज़ मायने रखती है उसके लिए छह समझदार न्यूनतम है, और जो पासवर्ड बाकी सबकी रखवाली करता है उसके लिए सात।
शब्द सूची लंबी सूची में हर शब्द के लिए छह बार पासा, यानी 12.9 बिट। छोटी में चार बार, यानी 10.3 बिट, उसका हर शब्द पाँच अक्षर या उससे कम का है और कोई शब्द किसी दूसरे की शुरुआत नहीं है। जो पासफ़्रेज़ आपको टीवी के रिमोट पर टाइप करना है या फ़ोन की स्क्रीन से पढ़ना है, उसके लिए यही चुनिए।
शब्दों के बीच इनमें से कुछ जोड़ता है तो सिर्फ़ रैंडम अंक, क्योंकि वह हर जोड़ पर एक नया चुनाव है, कोई नियम नहीं। बाकी की बात यह है कि जिस डिब्बे में आप चिपकाएँगे वह क्या लेता है। स्पेस सबसे आसानी से पढ़ा जाता है और सबसे आसानी से बिगड़ता भी है।
बड़े अक्षर इन तीनों में से कोई मज़बूती नहीं जोड़ता। कौन-सा चालू है, यह इसी पेज से कोई भी पढ़ सकता है, इसलिए हमलावर को उसका अंदाज़ा लगाने की ज़रूरत नहीं। यह उस फ़ॉर्म के लिए है जो एक बड़ा अक्षर माँगता है।
आखिर में एक चिह्न लगाइए उसी अड़ियल फ़ॉर्म के लिए। अंक एक असली चुनाव है और 3.3 बिट का है; चिह्न आठ में से निकलता है और 3 बिट का।
किन कैरेक्टरों में से चुनना है
3 ले जाइए
या एक साथ कई बनाइए डाउनलोड होने वाली सूची एक सादी टेक्स्ट फ़ाइल है, जिसे यही पेज उसी चीज़ से लिखता है जो पहले से आपकी स्क्रीन पर है। उसे सहेजता आपका ब्राउज़र है, आपकी अपनी डिस्क पर, और कुछ भी उसे कहीं नहीं भेजता। फिर भी डिस्क पर पड़ी पासवर्डों से भरी फ़ाइल पासवर्डों से भरी फ़ाइल ही रहती है। उन्हें पासवर्ड मैनेजर में ले जाइए और फ़ाइल मिटा दीजिए।
अब चुनने को कुछ बचा ही नहीं। चरण 2 में कम से कम एक कैरेक्टर सेट फिर से चालू कीजिए।
बिट एन्ट्रॉपी
हमलावर को पक्का ढूँढ़ने के लिए संभावनाएँ खंगालनी पड़ेंगी।
यह अनुमान किन बातों को मानकर चलता है
यह कि हमलावर ने वह फ़ाइल चुरा ली है जिसमें आपका पासवर्ड रखा था, और अपनी मशीन पर हर सेकंड सौ अरब कोशिशें कर रहा है। यह मोटे तौर पर ग्राफ़िक्स कार्डों की एक पूरी रैक है जो किसी तेज़ हैश के खिलाफ़ चल रही है, और लीक में बार-बार मिलता भी वही तेज़ हैश है। अगर वहाँ पासवर्ड के लिए ठीक से चुना गया हैश हो, यानी bcrypt या Argon2, तो वही मशीन हर सेकंड कुछ हज़ार ही कर पाती है और ऊपर का हर जवाब लगभग पच्चीस बिट और कठिन हो जाता है। और जो लॉगिन फ़ॉर्म हर सेकंड दस बार जवाब देता है, उसके सामने इनमें से कोई भी पहुँच के भीतर नहीं है।
यह आँकड़ा जानबूझकर निराशावादी वाला है, और यह पक्का पहचानने तक की कोशिशों की संख्या है। औसत हमला जवाब तक उसके आधे में पहुँच जाता है, और ऊपर का अनुमान वही आधा इस्तेमाल करता है।
यहाँ कुछ याद नहीं रखा जाता
यह पेज जो बनाता है वह कभी सेव नहीं होता, कभी किसी सूची में नहीं आता, और कभी भेजा नहीं जाता। मिटाने को कोई हिस्ट्री इसलिए नहीं क्योंकि रखी ही नहीं जाती। पेज दोबारा लोड कीजिए और जो भी पासवर्ड इसने आपको दिखाए थे वे चले जाते हैं, इसकी अपनी मेमोरी से भी। कॉपी सिर्फ़ वही हैं जो आप खुद बनाते हैं, यानी क्लिपबोर्ड और वह टेक्स्ट फ़ाइल, अगर आपने माँगी हो।
इस पन्ने ने जो बनाया वह कहीं नहीं गया। {total} फ़ाइलें लोड हुईं। {platform}किसी चीज़ ने {hosts} से संपर्क किया, और यह टूल ऐसा कभी नहीं करता। {platform}विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को उसका एक अक्षर भी नहीं मिला।विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को उसका एक अक्षर भी नहीं मिला।
क्या इससे काम बन गया?
क्या गड़बड़ हुई?
शुक्रिया — इससे मदद मिलती है।
सिर्फ़ आपका जवाब भेजा जाता है, वह भी तभी जब आप बटन दबाते हैं। आपकी फ़ाइल, उसका नाम या उससे जुड़ी कोई बात कभी नहीं।
# पासवर्ड और पासफ़्रेज़ — मज़बूत और रैंडम, आपके ब्राउज़र में बना
यहीं बनता है, आपके अपने ब्राउज़र से, और कहीं नहीं भेजा जाता। कुछ भी सेव नहीं होता और कोई हिस्ट्री नहीं रहती।
> एक मज़बूत रैंडम पासवर्ड बनाइए, या पेज के साथ आने वाली 7,776 शब्दों की सूची से डाइसवेयर पासफ़्रेज़ बनाइए। ब्राउज़र के अपने क्रिप्टोग्राफ़िक जनरेटर से निकलता है, कहीं नहीं जाता और कहीं सेव नहीं होता। मुफ़्त, बिना साइन-अप।
यह पेज एक इंटरैक्टिव टूल है जो पूरी तरह आपके ब्राउज़र में चलता है, https://abox.tools/hi/password-generator/ पर — आप इसे जो भी देते हैं, वह कहीं अपलोड नहीं होता। आगे वह सब कुछ है जो यह पेज इस टूल के बारे में शब्दों में कहता है; इसे इस्तेमाल करने के लिए यह पता खोलें।
## यह टूल पासवर्ड और पासफ़्रेज़ **कभी अपलोड नहीं करता**। यहाँ कोई सर्वर है ही नहीं।
हर कैरेक्टर `crypto.getRandomValues` से आता है, यानी ब्राउज़र के अपने क्रिप्टोग्राफ़िक जनरेटर से, और हर शब्द इसी फ़ोल्डर में रखी `src/wordlist.js` से। `src/` में कहीं भी न `fetch` है, न `XMLHttpRequest`, न `sendBeacon`, इसलिए यहाँ बना पासवर्ड हम तक या किसी और तक पहुँचे, ऐसा कोई रास्ता ही नहीं है। सेव भी कुछ नहीं होता, यानी इस पेज को दोबारा लोड करते ही वे सारे पासवर्ड मिट जाते हैं जो इसने आपको दिखाए थे।
- ✗ कोई अपलोड नहीं
- ✗ कोई अकाउंट नहीं
- ✗ कुछ सेव नहीं
- ✓ ऑफ़लाइन चलता है
- ✓ ओपन सोर्स
## बिना किसी वेबसाइट को दिखाए मज़बूत पासवर्ड कैसे बनाएँ
1. **पहले तय कीजिए, पासवर्ड या पासफ़्रेज़।** पासवर्ड रैंडम कैरेक्टरों की एक लड़ी है। रखने में छोटा, टाइप करने में झंझट, और उन सैकड़ों अकाउंट के लिए बिलकुल सही जिन्हें आपका पासवर्ड मैनेजर खुद भर देता है। पासफ़्रेज़ एक सूची से रैंडम निकाले गए शब्द हैं। वह लंबा होता है, पर याद रहता है और बोला जा सकता है, और यही उन गिने-चुने राज़ों के लिए चाहिए जो आपको खुद याद से टाइप करने पड़ते हैं, जैसे पासवर्ड मैनेजर का अपना पासवर्ड, लैपटॉप का पासवर्ड, फ़ोन का रिकवरी कोड।
2. **लंबाई तय कीजिए, या शब्दों की संख्या।** असल सेटिंग यही है, बाकी ज़्यादातर नहीं। जो चीज़ बचाने लायक है उसके लिए बीस कैरेक्टर, या छह शब्द, एक समझदार न्यूनतम है। जिस अकाउंट से बाकी सारे रीसेट हो सकते हों, उसके लिए इससे ऊपर जाइए। नीचे का आँकड़ा स्लाइडर खींचते ही बदलता है, इसलिए हर अतिरिक्त कैरेक्टर से क्या मिलता है, वह आप वहीं देख लेंगे।
3. **वे नियम चालू कीजिए जिन पर फ़ॉर्म अड़ेगा।** “हर तरह से कम से कम एक”, आखिर में एक अंक, उस छोटी सूची में से एक चिह्न जिसे हर साइट लेती है। इनमें से कोई भी किसी चीज़ को मज़बूत नहीं करता, और पहला तो उसे ज़रा-सा कमज़ोर कर देता है, जिसे यह पेज पहले ही घटा चुका है। पर छह पासवर्ड लगातार बनाए बिना किसी साइन-अप फ़ॉर्म से निकलने का तरीका यही है।
4. **संख्या पढ़िए, रंग नहीं।** बिट उन्हीं सेटिंग्स से गिने जाते हैं जिनसे वह स्ट्रिंग बनी है, यानी कैरेक्टर सेट कितना बड़ा था और कितनी बार चुनाव हुआ, और बस इतना ही। यह असली माप है, साइन-अप पेज के उस मीटर जैसा नहीं जो सामने पड़े कैरेक्टरों को नंबर देने के अलावा कुछ नहीं कर सकता, और जिसके पास यह जानने का कोई ज़रिया नहीं कि उन्हें आपने चुना था या किसी जनरेटर ने।
5. **जाने से पहले कॉपी कीजिए और कहीं रख दीजिए।** यहाँ कोई हिस्ट्री नहीं है और दोबारा माँगने का कोई तरीका नहीं। पेज दोबारा लोड होते ही वह मिट जाता है। पहले पासवर्ड मैनेजर में चिपकाइए और उसके बाद साइन-अप फ़ॉर्म में, ताकि जिसे उसे याद रखना है उसके पास वह पहले पहुँच जाए।
6. **ज़रूरत हो तो एक साथ कई बनाइए।** सबसे नीचे वाला स्लाइडर एक बार में सौ तक बनाता है और उन्हें सादी टेक्स्ट फ़ाइल में सहेज देता है, जिसे यही पेज उसी चीज़ से लिखता है जो पहले से आपकी स्क्रीन पर है। नए अकाउंट बनाने या शुरुआती पासवर्ड बाँटने में काम आता है, और जैसे ही वे किसी बेहतर जगह पहुँच जाएँ, फ़ाइल मिटा देना ठीक रहता है। डिस्क पर पड़ी पासवर्डों से भरी फ़ाइल आखिर पासवर्डों से भरी फ़ाइल ही है।
## बॉक्स में और भी टूल
- [JSON फ़ॉर्मैटर](https://abox.tools/hi/json-formatter/): JSON, XML, HTML, CSS और YAML, सजाए हुए या बदले हुए। कुछ भी किसी और के सर्वर में चिपकाया नहीं जाता।
- [YAML से JSON कन्वर्टर](https://abox.tools/hi/yaml-to-json/): दोनों दिशाएँ, और हर दिशा की कीमत भी बताई जाती है। इनमें से कुछ भी किसी और के सर्वर में पेस्ट नहीं होता।
- [XML फ़ॉर्मैटर](https://abox.tools/hi/xml-formatter/): पढ़ने के लिए सजाया गया XML या भेजने के लिए दबाकर सपाट किया गया XML, और दोनों तरफ़ JSON में बदला हुआ। इनमें से कुछ भी किसी और के सर्वर में पेस्ट नहीं होता।
- [टेक्स्ट डिफ़](https://abox.tools/hi/text-diff/): दो टेक्स्ट भीतर, हर फ़र्क निशान लगाकर बाहर, पंक्ति-दर-पंक्ति और शब्द-दर-शब्द। कुछ भी किसी और के सर्वर में चिपकाया नहीं जाता।
## सवाल
### क्या पासवर्ड कहीं भेजे जाते हैं या सेव होते हैं?
दोनों में से कुछ नहीं। वे आपके ब्राउज़र में, आपके अपने डिवाइस पर बनते हैं, और इस टूल में नेटवर्क वाला कोई फ़ीचर है ही नहीं। यह न कभी कुछ मँगाता है, न कभी कुछ भेजता है। स्टोरेज में भी कुछ नहीं लिखा जाता, न localStorage, न कुकी, न हिस्ट्री। पेज दोबारा लोड कीजिए और जो पासवर्ड इसने दिखाए थे वे स्क्रीन से भी और इसकी अपनी मेमोरी से भी चले जाते हैं। पेज की `Content-Security-Policy` में वह हर पता लिखा है जिससे यह बात कर सकता है, और उनमें से कोई हमारा नहीं, इसलिए कुछ भेजना चाहे भी तो कहीं पहुँचेगा नहीं।
### रैंडमनेस कहाँ से आती है?
`crypto.getRandomValues` से, यानी उस जनरेटर से जो ब्राउज़र क्रिप्टोग्राफ़ी के लिए देते हैं और जिसे आपके ऑपरेटिंग सिस्टम का अपना एन्ट्रॉपी पूल बीज देता रहता है। ब्राउज़र TLS की चाबियाँ भी इसी स्रोत से निकालता है। इस टूल में `Math.random` कहीं इस्तेमाल नहीं होता, और यह फ़र्क बाल की खाल निकालना नहीं है। `Math.random` एक तेज़ गणितीय जनरेटर है जिसकी पूरी अंदरूनी स्थिति लगातार आए कुछ आउटपुट से दोबारा बनाई जा सकती है, इसलिए उस पर बना पासवर्ड जनरेटर ऐसे पासवर्ड देता है जो रैंडम दिखते हैं और जिन्हें उनमें से एक देख लेने वाला कोई भी गिन सकता है।
### क्या ब्राउज़र में बना पासवर्ड कंप्यूटर पर इंस्टॉल किसी प्रोग्राम जितना ही अच्छा है?
रैंडमनेस के मामले में हाँ। दोनों जगह वही ऑपरेटिंग सिस्टम वाला स्रोत है, बस दरवाज़ा अलग है। फ़र्क इसमें है कि कमरे में और कौन है। ब्राउज़र का टैब आपकी एक्सटेंशनों के साथ चलता है, और जिस एक्सटेंशन को पेज पढ़ने की इजाज़त है वह इसे भी पढ़ सकती है। यह वेब के हर जनरेटर पर लागू होता है, इस पर भी, और यही वह ईमानदार वजह है कि अगर आपके पास पासवर्ड मैनेजर है तो उसी का बिल्ट-इन जनरेटर इस्तेमाल कीजिए। गणित वही है, बस उस प्रोसेस के बगल में कम चीज़ें खड़ी हैं। यह पेज उस वक्त के लिए है जब वह हाथ में न हो।
### पासवर्ड लूँ या पासफ़्रेज़?
जो कुछ भी पासवर्ड मैनेजर आपकी जगह टाइप कर देता है, उसके लिए पासवर्ड, क्योंकि आप उसे कभी देखेंगे ही नहीं और वहाँ लंबाई मुफ़्त है। जो गिनी-चुनी चीज़ें आपको याद से टाइप करनी हैं या बोलकर बतानी हैं, उनके लिए पासफ़्रेज़, जैसे मैनेजर का मास्टर पासवर्ड, डिस्क एन्क्रिप्शन की चाबी, या दूर बैठकर सेट किया जाने वाला कोई डिवाइस। लंबी सूची से छह शब्द 77 बिट होते हैं, यानी बारह कैरेक्टर के रैंडम पासवर्ड से भी मज़बूत, और रात के चार बजे सही टाइप करने में कहीं ज़्यादा आसान।
### पासवर्ड कितना लंबा होना चाहिए?
पूरे कैरेक्टर सेट के साथ बीस कैरेक्टर लगभग 130 बिट होते हैं, यानी उस जगह से काफ़ी आगे जहाँ लंबाई चिंता की बात रह जाती है। सोलह भी ठीक है। बारह उस हर चीज़ के लिए न्यूनतम है जिसका खोना खलेगा, और वह न्यूनतम है, लक्ष्य नहीं। उससे नीचे आप इस भरोसे पर हैं कि साइट ने उसे ठीक से रखा होगा, और पिछले बीस साल की लीक की खबरें यह दाँव लगाने से मना करती हैं। लंबाई इस पेज की हर दूसरी सेटिंग पर भारी पड़ती है। एक कैरेक्टर बढ़ाना उस हर नियम से ज़्यादा काम करता है कि कौन-से कैरेक्टर आने ही चाहिए।
### पासफ़्रेज़ में कितने शब्द होने चाहिए?
लंबी सूची से छह, और अगर वह दूसरे पासवर्डों की रखवाली करता है तो सात। चार शब्दों वाली मशहूर तस्वीर 2011 की है, 51 बिट की है, और आज एक गंभीर ऑफ़लाइन हमले की पहुँच में है। पाँच शब्द 64 हैं। छह शब्द 77 हैं, यानी उससे ज़्यादा जितना कोई हमलावर एक आम अकाउंट पर खर्च करेगा। लंबी सूची का हर अतिरिक्त शब्द 12.9 बिट जोड़ता है, और जोड़ते सिर्फ़ शब्द हैं। हाइफ़न और बड़े अक्षर कुछ नहीं जोड़ते।
### “बिट” क्या है, और यह पेज उन्हें गिनता क्यों है?
एक बिट यानी दोगुना हो जाना। साठ बिट का मतलब है कि इस पेज के सामने 2^60 बराबर संभावना वाले नतीजे थे, इसलिए जो पूरी तरह जानता हो कि यह कैसे काम करता है, उसे भी उतने ही आज़माने पड़ेंगे। यह उस स्ट्रिंग का नहीं, उस *तरीके* का गुण है। पेज इसे ठीक-ठीक बता सकता है क्योंकि चुनाव उसी ने किया था और उसे पता है कि कितनी बार किया। साइन-अप फ़ॉर्म की उस रंगीन पट्टी से फ़र्क यही है, जो कैरेक्टर पढ़कर अंदाज़ा लगाती है। उस पट्टी पर `correct horse battery staple` का नंबर खराब आता है जबकि वह असल में 44 बिट है, और `P@ssw0rd!` का नंबर अच्छा आता है जबकि वह असल में करीब-करीब बेकार है।
### “एक चिह्न ज़रूरी है” वाला नियम पासवर्ड को कमज़ोर क्यों करता है?
क्योंकि नियम सिर्फ़ संभावनाएँ घटा सकता है। हर तरह से कम से कम एक कैरेक्टर माँगने पर वे सारे पासवर्ड बाहर हो जाते हैं जिनमें संयोग से कोई नहीं आया था, और संभव पासवर्डों का छोटा समूह खोजने के लिए भी छोटा समूह है। असर कम है, आम लंबाई पर लगभग आधा बिट, पर असली है, और यह पेज उसे घटा देता है, अपने हक में वाला आँकड़ा नहीं बताता। और हिसाब ठीक-ठीक है, क्योंकि उसमें वे पासवर्ड गिने जाते हैं जिन्हें नियम सचमुच चलने देता है, वे नहीं जिन्हें वह रोकता है।
### यह कौन-सी शब्द सूची है, और क्या हमलावर के इसे डाउनलोड कर सकने से फ़र्क पड़ता है?
यह Electronic Frontier Foundation की डाइसवेयर सूचियाँ हैं, बिना बदलाव के साथ भेजी गईं: लंबी में 7,776 शब्द और छोटी में 1,296। वे ठीक इसी काम के लिए बनाई गई थीं, इसलिए उनमें कुछ भी आपत्तिजनक नहीं है, समान सुनाई देने वाले शब्द नहीं हैं, ऐसे जोड़े नहीं हैं जो मिलकर तीसरा शब्द बन जाएँ, और छोटी सूची में कोई शब्द किसी दूसरे शब्द की शुरुआत नहीं है। और नहीं, सूची सार्वजनिक होने से फ़र्क नहीं पड़ता। यहाँ जो मज़बूती बताई गई है वह पहले ही मान लेती है कि हमलावर के पास सूची है, वह इस पेज का सोर्स पढ़ रहा है, और आपकी हर सेटिंग जानता है। उसे बस यह नहीं पता कि हर बार 7,776 में से कौन-सा शब्द निकला। यही मान्यता उस संख्या को भरोसेमंद बनाती है।
### क्या पासफ़्रेज़ डिक्शनरी अटैक को न्योता नहीं है?
इस तरह चुने गए शब्दों के साथ नहीं। डिक्शनरी अटैक उन वाक्यों पर चलता है जो *लोग* खुद सोचते हैं, क्योंकि लोग ऐसे शब्द चुनते हैं जो आपस में जँचते हों, ऐसे क्रम में जिसका मतलब बनता हो, और उन्हीं कुछ हज़ार शब्दों में से जो वे रोज़ बोलते हैं। यह पेज हर शब्द एक तय सूची से अलग-अलग और बराबर संभावना के साथ निकालता है, इस बात की परवाह किए बिना कि नतीजा पढ़ने में कैसा लगेगा, इसीलिए वह अक्सर अटपटा ही लगता है। जो हमलावर सूची भी जानता हो और शब्दों की संख्या भी, उसके सामने फिर भी 7,776 की उतनी घात रहती है।
### पेज छोड़ने के बाद क्या पासवर्ड वापस मिल सकता है?
नहीं, और यह जानबूझकर है। कहीं कुछ लिखा ही नहीं जाता, इसलिए वापस पाने को कुछ है ही नहीं। न कोई हिस्ट्री पैनल, न “हाल में बनाए गए” की कोई सूची, न कोई कैश। जो जनरेटर आपको पिछले मंगलवार का पासवर्ड दिखा सकता हो, वह उसे सेव कर चुका जनरेटर है, और जहाँ आप पहुँच सकते हैं वहाँ सेव होने का मतलब है कि वहाँ कोई और भी पहुँच सकता है। पेज छोड़ने से पहले उसे पासवर्ड मैनेजर में कॉपी कर लीजिए।
### क्लिपबोर्ड पर कॉपी करना सुरक्षित है?
यह आम जोखिम है, और इससे डरने के बजाय इसे जान लेना बेहतर है। क्लिपबोर्ड उन सब के साथ साझा है जो आपके ही नाम से चल रहा है, वह आमतौर पर अगली कॉपी तक बना रहता है, और कुछ सेटअप में डिवाइसों के बीच सिंक भी होता है। इसीलिए उसे फ़ौरन वहीं चिपका दीजिए जहाँ जाना है और उसके बाद कुछ और कॉपी कर लीजिए। पर यह हाथ से कोई कमज़ोर पासवर्ड टाइप करने की वजह नहीं है। यह पेज आपका क्लिपबोर्ड पढ़ नहीं सकता, सिर्फ़ उसमें लिख सकता है, और वह भी तभी जब आप बटन दबाएँ।
### क्या एक ही पासवर्ड एक से ज़्यादा जगह इस्तेमाल कर सकते हैं?
नहीं, और इस पेज की यही एक सलाह बाकी सब पर भारी है। जो अकाउंट हाथ से निकलते हैं उनमें से लगभग हर एक ऐसे पासवर्ड से निकलता है जो पहले कहीं और सही था। कोई साइट टूटती है, सूची छप जाती है, और वही पता उसी पासवर्ड के साथ हर जगह आज़माया जाता है। हर साइट के लिए अलग पासवर्ड एक लीक को सब अकाउंट के बजाय एक अकाउंट तक सीमित कर देता है, और पासवर्ड मैनेजर रखने की असली वजह यही है, न कि उसमें रखे किसी एक पासवर्ड की मज़बूती।
### क्या यह मुफ़्त है, और क्या अकाउंट चाहिए?
यह मुफ़्त है, कोई अकाउंट नहीं, कोई साइन-इन नहीं, कोई ट्रायल नहीं, और कितने भी बनाइए, कोई सीमा नहीं। साइट पर विज्ञापन हैं और उन्हीं से इसका खर्च चलता है। विज्ञापनों को इस पेज के बनाए हुए के बारे में कुछ भी नहीं दिया जाता, न उसकी लंबाई, न उसकी मज़बूती।
### क्या यह ऑफ़लाइन काम करता है?
हाँ। पेज एक बार लोड कीजिए, फिर इंटरनेट काट दीजिए, और यह पासवर्ड बनाता रहेगा। रैंडमनेस आपके अपने डिवाइस से आती है और शब्द सूची पहले से पेज में है। यही सबसे आसान सबूत भी है कि न कुछ मँगाया जा रहा है, न भेजा जा रहा है। जो जनरेटर अपनी संख्याएँ सर्वर से माँगता हो, वह तार निकालते ही रुक जाएगा।
## प्राइवेसी का यह दावा कैसे जाँचा जा सकता है
- **पासवर्ड वहीं बनता है जहाँ आप यह पढ़ रहे हैं।** इसी पेज में, इसी पेज के ज़रिए, उस रैंडमनेस से जो आपका अपना ऑपरेटिंग सिस्टम ब्राउज़र को देता है। इसे बनाने के लिए कुछ मँगाया नहीं जाता, और बन जाने के बाद कहीं कुछ बताया नहीं जाता। `Content-Security-Policy` में वह हर पता लिखा है जिससे यह पेज बात कर सकता है, और उनमें से एक भी हमारा नहीं है। यहाँ ऐसी कोई जगह ही नहीं जहाँ बना हुआ पासवर्ड जमा हो सके, और अगर होती भी तो कोड में उसे वहाँ भेजने वाली कोई लाइन नहीं है।
- **यहाँ कुछ भी कहीं से कुछ नहीं मँगाता।** `src/` में कहीं भी न `fetch` है, न `XMLHttpRequest`, न `sendBeacon`। शब्द सूची डाउनलोड नहीं होती, वह `src/wordlist.js` है, बाकी पेज के साथ इसी ऑरिजिन से आती है, और आप उसे खोलकर पढ़ सकते हैं।
- **रैंडमनेस ब्राउज़र की है, और सही किस्म की है।** `crypto.getRandomValues` वही जनरेटर है जो ब्राउज़र चाबियों और टोकन के लिए देते हैं, और जिसे ऑपरेटिंग सिस्टम बीज देता रहता है। `Math.random` इस फ़ोल्डर में कहीं नहीं है, और होता तो वह असली खामी होती, क्योंकि उसकी अंदरूनी स्थिति मुट्ठी भर आउटपुट से दोबारा निकाली जा सकती है। इसका मतलब है कि जिसने उसका एक पासवर्ड देख लिया, वह उसके आगे बनने वाले सारे पासवर्ड गिन सकता है।
- **कुछ सेव नहीं होता, इसलिए मिटाने को कोई हिस्ट्री ही नहीं।** न localStorage, न sessionStorage, न कुकी, न URL में कोई पैरामीटर, और न ही ऐसा कोई `<input>` जिसे याद रखने की पेशकश ब्राउज़र करे। स्क्रीन पर जो है वह इस पेज की मेमोरी में सिर्फ़ एक ऐरे में है, और टैब बंद कर देना ही पूरी सफ़ाई है। यहाँ जो बनता है उसकी कॉपी सिर्फ़ वही है जो आप साथ ले जाते हैं।
- **गूगल क्या लोड करता है, और उसे क्या नहीं मिलता।** विज्ञापन और माप वाली स्क्रिप्ट गूगल की हैं, और दान वाला बटन Buy Me a Coffee का। इनमें से किसी को भी इस पेज के बनाए हुए का एक कैरेक्टर नहीं मिलता, न उसकी लंबाई, न उसकी मज़बूती, न यह कि किन सेटिंग्स से बना। जो भी लाइन कोई कैरेक्टर या शब्द निकालती है, वह इसी ऑरिजिन से आती है और रिपॉज़िटरी में मौजूद है।
- **यह ऑफ़लाइन चलता है।** नेटवर्क काट दीजिए, टूल वैसा का वैसा रहता है, क्योंकि इसमें नेटवर्क वाला कदम कभी था ही नहीं। यही सबसे आसान सबूत है। जो जनरेटर अपनी रैंडमनेस सर्वर से मँगाता हो, वह तार निकालते ही रुक जाएगा।
**खुद जाँच लीजिए।** ऊपर लिखी किसी भी बात को भरोसे पर मानने की ज़रूरत नहीं। यह पेज रिपॉज़िटरी के टेम्पलेट और कॉन्फ़िग से बनता है, एक ऐसी बिल्ड स्क्रिप्ट के ज़रिए जिसे आप पढ़ भी सकते हैं और खुद चला भी सकते हैं। उसका नतीजा `dist` ब्रांच पर कमिट रहता है, यानी जो सर्व हो रहा है और सोर्स से बिल्ड करने पर जो बनता है, दोनों का फ़र्क आप खुद देख सकते हैं: https://github.com/A-Box-of-Tools/website
सबसे पहले पढ़ने लायक फ़ाइलें ये हैं — Content-Security-Policy के लिए `config/site.toml`, `src/random.js` उन चालीस लाइनों के लिए जो इस पेज और इसके बनाए हर पासवर्ड के बीच खड़ी हैं। उनका इनपुट एक ही है, और वह ब्राउज़र का अपना जनरेटर है। `src/generate.js` यह देखने के लिए कि सेटिंग्स कैसे एक स्ट्रिंग बनती हैं, और `src/strength.js` उस संख्या के पीछे के गणित के लिए, जो अंदाज़ा लगाने के बजाय गिनता है।
बिना किसी वेबसाइट को दिखाए मज़बूत पासवर्ड कैसे बनाएँ
पहले तय कीजिए, पासवर्ड या पासफ़्रेज़। पासवर्ड रैंडम कैरेक्टरों की एक लड़ी है। रखने में छोटा, टाइप करने में झंझट, और उन सैकड़ों अकाउंट के लिए बिलकुल सही जिन्हें आपका पासवर्ड मैनेजर खुद भर देता है। पासफ़्रेज़ एक सूची से रैंडम निकाले गए शब्द हैं। वह लंबा होता है, पर याद रहता है और बोला जा सकता है, और यही उन गिने-चुने राज़ों के लिए चाहिए जो आपको खुद याद से टाइप करने पड़ते हैं, जैसे पासवर्ड मैनेजर का अपना पासवर्ड, लैपटॉप का पासवर्ड, फ़ोन का रिकवरी कोड।
लंबाई तय कीजिए, या शब्दों की संख्या। असल सेटिंग यही है, बाकी ज़्यादातर नहीं। जो चीज़ बचाने लायक है उसके लिए बीस कैरेक्टर, या छह शब्द, एक समझदार न्यूनतम है। जिस अकाउंट से बाकी सारे रीसेट हो सकते हों, उसके लिए इससे ऊपर जाइए। नीचे का आँकड़ा स्लाइडर खींचते ही बदलता है, इसलिए हर अतिरिक्त कैरेक्टर से क्या मिलता है, वह आप वहीं देख लेंगे।
वे नियम चालू कीजिए जिन पर फ़ॉर्म अड़ेगा। “हर तरह से कम से कम एक”, आखिर में एक अंक, उस छोटी सूची में से एक चिह्न जिसे हर साइट लेती है। इनमें से कोई भी किसी चीज़ को मज़बूत नहीं करता, और पहला तो उसे ज़रा-सा कमज़ोर कर देता है, जिसे यह पेज पहले ही घटा चुका है। पर छह पासवर्ड लगातार बनाए बिना किसी साइन-अप फ़ॉर्म से निकलने का तरीका यही है।
संख्या पढ़िए, रंग नहीं। बिट उन्हीं सेटिंग्स से गिने जाते हैं जिनसे वह स्ट्रिंग बनी है, यानी कैरेक्टर सेट कितना बड़ा था और कितनी बार चुनाव हुआ, और बस इतना ही। यह असली माप है, साइन-अप पेज के उस मीटर जैसा नहीं जो सामने पड़े कैरेक्टरों को नंबर देने के अलावा कुछ नहीं कर सकता, और जिसके पास यह जानने का कोई ज़रिया नहीं कि उन्हें आपने चुना था या किसी जनरेटर ने।
जाने से पहले कॉपी कीजिए और कहीं रख दीजिए। यहाँ कोई हिस्ट्री नहीं है और दोबारा माँगने का कोई तरीका नहीं। पेज दोबारा लोड होते ही वह मिट जाता है। पहले पासवर्ड मैनेजर में चिपकाइए और उसके बाद साइन-अप फ़ॉर्म में, ताकि जिसे उसे याद रखना है उसके पास वह पहले पहुँच जाए।
ज़रूरत हो तो एक साथ कई बनाइए। सबसे नीचे वाला स्लाइडर एक बार में सौ तक बनाता है और उन्हें सादी टेक्स्ट फ़ाइल में सहेज देता है, जिसे यही पेज उसी चीज़ से लिखता है जो पहले से आपकी स्क्रीन पर है। नए अकाउंट बनाने या शुरुआती पासवर्ड बाँटने में काम आता है, और जैसे ही वे किसी बेहतर जगह पहुँच जाएँ, फ़ाइल मिटा देना ठीक रहता है। डिस्क पर पड़ी पासवर्डों से भरी फ़ाइल आखिर पासवर्डों से भरी फ़ाइल ही है।
दोनों में से कुछ नहीं। वे आपके ब्राउज़र में, आपके अपने डिवाइस पर बनते हैं, और इस टूल में नेटवर्क वाला कोई फ़ीचर है ही नहीं। यह न कभी कुछ मँगाता है, न कभी कुछ भेजता है। स्टोरेज में भी कुछ नहीं लिखा जाता, न localStorage, न कुकी, न हिस्ट्री। पेज दोबारा लोड कीजिए और जो पासवर्ड इसने दिखाए थे वे स्क्रीन से भी और इसकी अपनी मेमोरी से भी चले जाते हैं। पेज की Content-Security-Policy में वह हर पता लिखा है जिससे यह बात कर सकता है, और उनमें से कोई हमारा नहीं, इसलिए कुछ भेजना चाहे भी तो कहीं पहुँचेगा नहीं।
रैंडमनेस कहाँ से आती है?
crypto.getRandomValues से, यानी उस जनरेटर से जो ब्राउज़र क्रिप्टोग्राफ़ी के लिए देते हैं और जिसे आपके ऑपरेटिंग सिस्टम का अपना एन्ट्रॉपी पूल बीज देता रहता है। ब्राउज़र TLS की चाबियाँ भी इसी स्रोत से निकालता है। इस टूल में Math.random कहीं इस्तेमाल नहीं होता, और यह फ़र्क बाल की खाल निकालना नहीं है। Math.random एक तेज़ गणितीय जनरेटर है जिसकी पूरी अंदरूनी स्थिति लगातार आए कुछ आउटपुट से दोबारा बनाई जा सकती है, इसलिए उस पर बना पासवर्ड जनरेटर ऐसे पासवर्ड देता है जो रैंडम दिखते हैं और जिन्हें उनमें से एक देख लेने वाला कोई भी गिन सकता है।
क्या ब्राउज़र में बना पासवर्ड कंप्यूटर पर इंस्टॉल किसी प्रोग्राम जितना ही अच्छा है?
रैंडमनेस के मामले में हाँ। दोनों जगह वही ऑपरेटिंग सिस्टम वाला स्रोत है, बस दरवाज़ा अलग है। फ़र्क इसमें है कि कमरे में और कौन है। ब्राउज़र का टैब आपकी एक्सटेंशनों के साथ चलता है, और जिस एक्सटेंशन को पेज पढ़ने की इजाज़त है वह इसे भी पढ़ सकती है। यह वेब के हर जनरेटर पर लागू होता है, इस पर भी, और यही वह ईमानदार वजह है कि अगर आपके पास पासवर्ड मैनेजर है तो उसी का बिल्ट-इन जनरेटर इस्तेमाल कीजिए। गणित वही है, बस उस प्रोसेस के बगल में कम चीज़ें खड़ी हैं। यह पेज उस वक्त के लिए है जब वह हाथ में न हो।
पासवर्ड लूँ या पासफ़्रेज़?
जो कुछ भी पासवर्ड मैनेजर आपकी जगह टाइप कर देता है, उसके लिए पासवर्ड, क्योंकि आप उसे कभी देखेंगे ही नहीं और वहाँ लंबाई मुफ़्त है। जो गिनी-चुनी चीज़ें आपको याद से टाइप करनी हैं या बोलकर बतानी हैं, उनके लिए पासफ़्रेज़, जैसे मैनेजर का मास्टर पासवर्ड, डिस्क एन्क्रिप्शन की चाबी, या दूर बैठकर सेट किया जाने वाला कोई डिवाइस। लंबी सूची से छह शब्द 77 बिट होते हैं, यानी बारह कैरेक्टर के रैंडम पासवर्ड से भी मज़बूत, और रात के चार बजे सही टाइप करने में कहीं ज़्यादा आसान।
पासवर्ड कितना लंबा होना चाहिए?
पूरे कैरेक्टर सेट के साथ बीस कैरेक्टर लगभग 130 बिट होते हैं, यानी उस जगह से काफ़ी आगे जहाँ लंबाई चिंता की बात रह जाती है। सोलह भी ठीक है। बारह उस हर चीज़ के लिए न्यूनतम है जिसका खोना खलेगा, और वह न्यूनतम है, लक्ष्य नहीं। उससे नीचे आप इस भरोसे पर हैं कि साइट ने उसे ठीक से रखा होगा, और पिछले बीस साल की लीक की खबरें यह दाँव लगाने से मना करती हैं। लंबाई इस पेज की हर दूसरी सेटिंग पर भारी पड़ती है। एक कैरेक्टर बढ़ाना उस हर नियम से ज़्यादा काम करता है कि कौन-से कैरेक्टर आने ही चाहिए।
पासफ़्रेज़ में कितने शब्द होने चाहिए?
लंबी सूची से छह, और अगर वह दूसरे पासवर्डों की रखवाली करता है तो सात। चार शब्दों वाली मशहूर तस्वीर 2011 की है, 51 बिट की है, और आज एक गंभीर ऑफ़लाइन हमले की पहुँच में है। पाँच शब्द 64 हैं। छह शब्द 77 हैं, यानी उससे ज़्यादा जितना कोई हमलावर एक आम अकाउंट पर खर्च करेगा। लंबी सूची का हर अतिरिक्त शब्द 12.9 बिट जोड़ता है, और जोड़ते सिर्फ़ शब्द हैं। हाइफ़न और बड़े अक्षर कुछ नहीं जोड़ते।
“बिट” क्या है, और यह पेज उन्हें गिनता क्यों है?
एक बिट यानी दोगुना हो जाना। साठ बिट का मतलब है कि इस पेज के सामने 2^60 बराबर संभावना वाले नतीजे थे, इसलिए जो पूरी तरह जानता हो कि यह कैसे काम करता है, उसे भी उतने ही आज़माने पड़ेंगे। यह उस स्ट्रिंग का नहीं, उस तरीके का गुण है। पेज इसे ठीक-ठीक बता सकता है क्योंकि चुनाव उसी ने किया था और उसे पता है कि कितनी बार किया। साइन-अप फ़ॉर्म की उस रंगीन पट्टी से फ़र्क यही है, जो कैरेक्टर पढ़कर अंदाज़ा लगाती है। उस पट्टी पर correct horse battery staple का नंबर खराब आता है जबकि वह असल में 44 बिट है, और P@ssw0rd! का नंबर अच्छा आता है जबकि वह असल में करीब-करीब बेकार है।
“एक चिह्न ज़रूरी है” वाला नियम पासवर्ड को कमज़ोर क्यों करता है?
क्योंकि नियम सिर्फ़ संभावनाएँ घटा सकता है। हर तरह से कम से कम एक कैरेक्टर माँगने पर वे सारे पासवर्ड बाहर हो जाते हैं जिनमें संयोग से कोई नहीं आया था, और संभव पासवर्डों का छोटा समूह खोजने के लिए भी छोटा समूह है। असर कम है, आम लंबाई पर लगभग आधा बिट, पर असली है, और यह पेज उसे घटा देता है, अपने हक में वाला आँकड़ा नहीं बताता। और हिसाब ठीक-ठीक है, क्योंकि उसमें वे पासवर्ड गिने जाते हैं जिन्हें नियम सचमुच चलने देता है, वे नहीं जिन्हें वह रोकता है।
यह कौन-सी शब्द सूची है, और क्या हमलावर के इसे डाउनलोड कर सकने से फ़र्क पड़ता है?
यह Electronic Frontier Foundation की डाइसवेयर सूचियाँ हैं, बिना बदलाव के साथ भेजी गईं: लंबी में 7,776 शब्द और छोटी में 1,296। वे ठीक इसी काम के लिए बनाई गई थीं, इसलिए उनमें कुछ भी आपत्तिजनक नहीं है, समान सुनाई देने वाले शब्द नहीं हैं, ऐसे जोड़े नहीं हैं जो मिलकर तीसरा शब्द बन जाएँ, और छोटी सूची में कोई शब्द किसी दूसरे शब्द की शुरुआत नहीं है। और नहीं, सूची सार्वजनिक होने से फ़र्क नहीं पड़ता। यहाँ जो मज़बूती बताई गई है वह पहले ही मान लेती है कि हमलावर के पास सूची है, वह इस पेज का सोर्स पढ़ रहा है, और आपकी हर सेटिंग जानता है। उसे बस यह नहीं पता कि हर बार 7,776 में से कौन-सा शब्द निकला। यही मान्यता उस संख्या को भरोसेमंद बनाती है।
क्या पासफ़्रेज़ डिक्शनरी अटैक को न्योता नहीं है?
इस तरह चुने गए शब्दों के साथ नहीं। डिक्शनरी अटैक उन वाक्यों पर चलता है जो लोग खुद सोचते हैं, क्योंकि लोग ऐसे शब्द चुनते हैं जो आपस में जँचते हों, ऐसे क्रम में जिसका मतलब बनता हो, और उन्हीं कुछ हज़ार शब्दों में से जो वे रोज़ बोलते हैं। यह पेज हर शब्द एक तय सूची से अलग-अलग और बराबर संभावना के साथ निकालता है, इस बात की परवाह किए बिना कि नतीजा पढ़ने में कैसा लगेगा, इसीलिए वह अक्सर अटपटा ही लगता है। जो हमलावर सूची भी जानता हो और शब्दों की संख्या भी, उसके सामने फिर भी 7,776 की उतनी घात रहती है।
पेज छोड़ने के बाद क्या पासवर्ड वापस मिल सकता है?
नहीं, और यह जानबूझकर है। कहीं कुछ लिखा ही नहीं जाता, इसलिए वापस पाने को कुछ है ही नहीं। न कोई हिस्ट्री पैनल, न “हाल में बनाए गए” की कोई सूची, न कोई कैश। जो जनरेटर आपको पिछले मंगलवार का पासवर्ड दिखा सकता हो, वह उसे सेव कर चुका जनरेटर है, और जहाँ आप पहुँच सकते हैं वहाँ सेव होने का मतलब है कि वहाँ कोई और भी पहुँच सकता है। पेज छोड़ने से पहले उसे पासवर्ड मैनेजर में कॉपी कर लीजिए।
क्लिपबोर्ड पर कॉपी करना सुरक्षित है?
यह आम जोखिम है, और इससे डरने के बजाय इसे जान लेना बेहतर है। क्लिपबोर्ड उन सब के साथ साझा है जो आपके ही नाम से चल रहा है, वह आमतौर पर अगली कॉपी तक बना रहता है, और कुछ सेटअप में डिवाइसों के बीच सिंक भी होता है। इसीलिए उसे फ़ौरन वहीं चिपका दीजिए जहाँ जाना है और उसके बाद कुछ और कॉपी कर लीजिए। पर यह हाथ से कोई कमज़ोर पासवर्ड टाइप करने की वजह नहीं है। यह पेज आपका क्लिपबोर्ड पढ़ नहीं सकता, सिर्फ़ उसमें लिख सकता है, और वह भी तभी जब आप बटन दबाएँ।
क्या एक ही पासवर्ड एक से ज़्यादा जगह इस्तेमाल कर सकते हैं?
नहीं, और इस पेज की यही एक सलाह बाकी सब पर भारी है। जो अकाउंट हाथ से निकलते हैं उनमें से लगभग हर एक ऐसे पासवर्ड से निकलता है जो पहले कहीं और सही था। कोई साइट टूटती है, सूची छप जाती है, और वही पता उसी पासवर्ड के साथ हर जगह आज़माया जाता है। हर साइट के लिए अलग पासवर्ड एक लीक को सब अकाउंट के बजाय एक अकाउंट तक सीमित कर देता है, और पासवर्ड मैनेजर रखने की असली वजह यही है, न कि उसमें रखे किसी एक पासवर्ड की मज़बूती।
क्या यह मुफ़्त है, और क्या अकाउंट चाहिए?
यह मुफ़्त है, कोई अकाउंट नहीं, कोई साइन-इन नहीं, कोई ट्रायल नहीं, और कितने भी बनाइए, कोई सीमा नहीं। साइट पर विज्ञापन हैं और उन्हीं से इसका खर्च चलता है। विज्ञापनों को इस पेज के बनाए हुए के बारे में कुछ भी नहीं दिया जाता, न उसकी लंबाई, न उसकी मज़बूती।
क्या यह ऑफ़लाइन काम करता है?
हाँ। पेज एक बार लोड कीजिए, फिर इंटरनेट काट दीजिए, और यह पासवर्ड बनाता रहेगा। रैंडमनेस आपके अपने डिवाइस से आती है और शब्द सूची पहले से पेज में है। यही सबसे आसान सबूत भी है कि न कुछ मँगाया जा रहा है, न भेजा जा रहा है। जो जनरेटर अपनी संख्याएँ सर्वर से माँगता हो, वह तार निकालते ही रुक जाएगा।