abox.tools

भाषा: हिन्दी

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

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

Markdown के रूप में देखें

छोटा जवाब

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

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

ब्राउज़र की रैंडमनेस आती कहाँ से है

ब्राउज़र का हर संजीदा जेनरेटर एक ही कुएँ से पानी भरता है: crypto.getRandomValues, ब्राउज़र का क्रिप्टोग्राफ़िक रैंडम जेनरेटर, जिसे ऑपरेटिंग सिस्टम हार्डवेयर के शोर से सींचता है और सींचता रहता है। यही वह स्रोत है जिससे ब्राउज़र TLS की कुंजियाँ निकालता है — वही एन्क्रिप्शन जिस पर आपके बैंक का कनेक्शन चलता है। ऐसा कोई कारगर मतलब नहीं है जिसमें डेस्कटॉप प्रोग्राम के पास वेब पेज से बेहतर रैंडमनेस हो; दोनों उसी सिस्टम-कुएँ पर जाकर खत्म होते हैं।

पेज को जो नहीं इस्तेमाल करना चाहिए, वह है Math.random() — पासा फेंकने वाली घरेलू फ़ंक्शन। ब्राउज़र उसे एक तेज़ जेनरेटर से लागू करते हैं जिसकी भीतरी हालत लगातार की चंद आउटपुट देखकर फिर से खड़ी की जा सकती है — यानी उस पर बने पासवर्ड रैंडम दिखते हैं और उन्हें वह हर कोई निकाल सकता है जिसने उनमें से एक भी देखा हो। यह कोई सिद्धांत भर नहीं; चलते-फिरते जेनरेटरों के खिलाफ़ यह एक से ज़्यादा बार करके दिखाया गया है। और बाहर से यह दिखता नहीं — पढ़े जा सकने वाले कोड वाले जेनरेटरों के हक में इससे बड़ी दलील नहीं: दोनों फ़ंक्शनों का फ़र्क सोर्स में एक शब्द का है।

इसके आगे बारीकी का एक और दर्जा है। रैंडम 32-बिट शब्दों से सीधा बाकी निकालकर “26 से नीचे की संख्या” बनाना शुरुआती अक्षरों की ओर ज़रा-सा झुका होता है; सलीके वाला जेनरेटर बाकी लेने की जगह दोबारा पर्ची खींचता है। यहाँ का जेनरेटर यही करता है — जो झुकाव वह टालता है वह करीब 16.5 करोड़ में एक का है: इस्तेमाल में अदृश्य, और ठीक उसी किस्म की बारीकी जो काम के लिए बने टूल को फ़ोरम से चिपकाए टुकड़े से अलग करती है।

खराब जेनरेटर पेज क्या-क्या कर सकता है

नाकामियों के नाम साफ़-साफ़ लीजिए, क्योंकि हर एक जाँची जा सकती है:

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

कोई भी जेनरेटर कैसे जाँचें, यह वाला भी

पूरा तरीका अपलोड वाली गाइड में लिखा है, और सबसे पहले उसे इसी पेज पर आज़माना चाहिए:

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