पासवर्ड और एन्ट्रॉपी: आपकी सुरक्षा के पीछे का विज्ञान

पुराने पासवर्ड नियमों को भूल जाइए। शैनन के एन्ट्रॉपी सिद्धांत, ग्रोवर के क्वांटम खतरे, और अपनी पहुंच को सुरक्षित करने के लिए वास्तविक OPSEC टिप्स की खोज करें।

|

पढ़ने का समय: 10 मिनट

पासवर्ड और एन्ट्रॉपी: आपकी सुरक्षा के पीछे का विज्ञान

« आपके पासवर्ड में 8 अक्षर, एक बड़ा अक्षर, एक छोटा अक्षर, एक संख्या और एक विशेष वर्ण होना चाहिए। »

हम सभी इस नियम को जानते हैं। और फिर भी, साइबर सुरक्षा में, इसे “सुरक्षा थिएटर (security theater)” कहा जाता है। P@ssw0rd1! जैसा पासवर्ड इन सभी नियमों का पालन करता है। लेकिन यह अनुमानित प्रतिस्थापनों वाला एक आम शब्द है, और क्रैकिंग टूल ठीक ऐसी ही चीज़ें सबसे पहले आज़माते हैं।

सच्ची सुरक्षा मनमाने दृश्य नियमों पर आधारित नहीं है, बल्कि एक क्षमा न करने वाली गणितीय वास्तविकता पर आधारित है: एन्ट्रॉपी (entropy)।

क्लॉड शैनन के अनुसार एन्ट्रॉपी

पासवर्ड की ताकत को समझने के लिए, हमें सूचना सिद्धांत (information theory) के जनक क्लॉड शैनन की ओर देखना चाहिए। एन्ट्रॉपी सूचना की अनिश्चितता या अप्रत्याशितता की डिग्री को मापती है।

पासवर्ड पर लागू होने पर, एन्ट्रॉपी की गणना बिट्स (bits) में की जाती है। बिट्स की संख्या जितनी अधिक होगी, कंप्यूटर के लिए पासवर्ड उतना ही अप्रत्याशित होगा। बेतरतीब ढंग से जनरेट किए गए पासवर्ड की एन्ट्रॉपी (E) का सरलीकृत सूत्र है:

E = L × log2(R)

  • L पासवर्ड की लंबाई (length) है।
  • R पूल का आकार (pool size) है (छोटे अक्षरों के लिए 26, बड़े अक्षरों और संख्याओं के साथ 62, सभी प्रिंट होने योग्य प्रतीकों के साथ 94)। हमारे जेनरेटर के चार अक्षर-समूह मिलकर 91 देते हैं, क्योंकि उसके प्रतीक-समूह में 29 अक्षर हैं।

पूल का आकार (प्रतीक जोड़ना) बढ़ाने से एन्ट्रॉपी बढ़ती है, लेकिन लंबाई (अक्षर जोड़ना) बढ़ाने से यह बहुत अधिक तीव्रता से बढ़ती है। हालाँकि, लंबाई केवल एक ही शर्त पर जटिलता को हराती है: पासवर्ड पूरी तरह से बेतरतीब ढंग से जनरेट किया जाना चाहिए।

ब्रूट फोर्स बनाम डिक्शनरी अटैक

यदि आप शब्दों या अनुमानित संरचनाओं का उपयोग करते हैं, तो शुद्ध लंबाई का नियम ढह जाता है।

हैकिंग सॉफ़्टवेयर एक-एक करके सभी अक्षर संयोजनों की कोशिश नहीं करते हैं (इसे ब्रूट फोर्स / Brute Force कहा जाता है)। वे पिछले डेटा लीक से मिले वास्तविक पासवर्ड की विशाल सूचियों का उपयोग करते हैं, साथ ही सामान्य शब्दों और वाक्यांशों का भी। यह डिक्शनरी अटैक (Dictionary Attack) है।

यदि आपका पासवर्ड लंबा है, लेकिन डिक्शनरी के शब्दों या अनुमानित प्रतिस्थापनों से बना है, तो इसकी वास्तविक एन्ट्रॉपी इसकी सैद्धांतिक गणितीय एन्ट्रॉपी से नाटकीय रूप से कम है।

नीचे की तालिका एक ही नियम का उपयोग करती है: प्रति सेकंड 100 अरब प्रयास, वह दर जो हमारे जेनरेटर का पेज एक तेज़ हैश के विरुद्ध ऑफ़लाइन हमले के लिए मानता है। समय औसत हैं (सभी संभावनाओं का आधा), और उसी पेज के सूत्र से नीचे की ओर पूर्णांकित हैं। हर पासवर्ड के लिए सबसे तेज़ रास्ता बोल्ड में है:

पासवर्डएन्ट्रॉपी, यदि हर अक्षर यादृच्छिक होताब्रूट फोर्स (औसत)डिक्शनरी अटैक (हमारा अनुमान)
password12356 बिट्स (11 अक्षर, छोटे अक्षर और अंक)7 दिनएक सेकंड से कम
S3cr3t!9958 बिट्स (9 अक्षर, सभी चार प्रकार)24 दिनएक सेकंड से कम
correct horse battery staple133 बिट्स (28 अक्षर, छोटे अक्षर और स्पेस)10 खरब वर्ष से ज़्यादा1 मिनट
gL7!pQ9z#vX278 बिट्स (12 अक्षर, सभी चार प्रकार)51 हज़ार वर्षकोई शॉर्टकट नहीं

डिक्शनरी वाला कॉलम एक अनुमान है। यह मानता है कि हमलावर के अनुमान हर पासवर्ड की संरचना का पालन करते हैं, और हर मूल शब्द 1,000 सबसे आम शब्दों में से है:

  • password123: एक आम शब्द और तीन अंक। यानी 1,000 × 1,000, लगभग 10 लाख अनुमान।
  • S3cr3t!99: एक आम शब्द, बड़े अक्षर के साथ या बिना, हर “e” को “3” से बदला गया हो या नहीं, फिर तीन अक्षरों का कोई भी प्रत्यय। यानी लगभग 7 अरब अनुमान।
  • correct horse battery staple: चार आम शब्द। इसे मशहूर बनाने वाली xkcd कॉमिक 2,048 शब्दों की सूची से चुने गए चार शब्दों के लिए 44 बिट्स गिनती है। उसी दर पर यह औसतन 88 सेकंड है, जो नीचे की ओर पूर्णांकित होकर 1 मिनट बनता है।
  • gL7!pQ9z#vX2: न कोई शब्द, न कोई पैटर्न, इसलिए ब्रूट फोर्स ही सबसे तेज़ रास्ता है।

ये अनुमान हर पासवर्ड को हमलावर के लिए अज्ञात मानते हैं। इस लेख का हर पासवर्ड अब सार्वजनिक है, इसलिए हर एक डिक्शनरी में शामिल होने लायक है। प्रकाशित पासवर्ड एक जला हुआ पासवर्ड है।

Leetspeak का भ्रम और म्यूटेशन नियम

S3cr3t!99 का उदाहरण लें। देखने में, यह जटिल और मजबूत लगता है। फिर भी, यह केवल डिक्शनरी का शब्द “secret” है, जहाँ ’e’ को ‘3’ से बदल दिया गया है, जिसमें एक बहुत ही सामान्य प्रत्यय जोड़ा गया है (!99)। इसे leetspeak कहा जाता है।

डिक्शनरी अटैक के खिलाफ, यह पासवर्ड एक सेकंड से भी कम टिकता है, न कि वे 24 दिन जो इसकी लंबाई से लगते। आधुनिक क्रैकिंग सॉफ़्टवेयर (जैसे Hashcat) केवल स्थिर शब्द सूचियों का परीक्षण नहीं करते हैं; वे स्वचालित रूप से म्यूटेशन नियम (mutation rules) लागू करते हैं। वे अपने डिक्शनरी में हर शब्द लेंगे, सभी संभावित leetspeak संयोजनों का परीक्षण करेंगे, बड़े अक्षरों को स्वैप करेंगे, और वर्ष या प्रतीक जोड़ेंगे। Leetspeak सुरक्षा का झूठा एहसास प्रदान करता है।

कीबोर्ड शिफ्ट ट्रिक (Keyboard Shift)

एक यादगार वाक्यांश को जटिल बनाने के लिए, कुछ लोग कीबोर्ड लेआउट शिफ्ट ट्रिक का उपयोग करते हैं। उदाहरण के लिए, आप my-cat जैसे वाक्यांश को याद करते हैं। लेकिन इसे टाइप करते समय, आप अपनी उंगलियों को भौतिक QWERTY कीबोर्ड पर रखते हैं जबकि आपका ऑपरेटिंग सिस्टम AZERTY (फ्रेंच) पर कॉन्फ़िगर किया गया है।

  • सोचा गया शब्द: my-cat
  • टाइप किया गया परिणाम: ,y)cqt (’m’ कुंजी ‘,’ बन जाती है; ‘-’ कुंजी ‘)’ बन जाती है; ‘a’ कुंजी ‘q’ बन जाती है)।

क्या OPSEC में यह एक अच्छा विचार है? नहीं, यदि इसे अकेले उपयोग किया जाए तो यह तरीका पर्याप्त नहीं है। बिल्कुल leetspeak की तरह, कीबोर्ड लेआउट का बदलाव एक निश्चित प्रतिस्थापन है: जिस हमलावर को इसका संदेह हो, वह हर अनुमान पर वही मैपिंग लागू कर देता है। OPSEC में, यह अस्पष्टता द्वारा सुरक्षा है: यह एक शौकिया हमलावर को विलंबित करता है, लेकिन एक लक्षित और सुसज्जित हमले को नहीं रोकेगा।

पहले से मज़बूत पासवर्ड (जैसे एक लंबा यादृच्छिक पासफ़्रेज़) के साथ जोड़ने पर यह बहुत कम जोड़ता है। अगर हमलावर एक हज़ार लेआउट जोड़ियाँ भी आज़माए, तो भी यह 10 बिट्स से कम जोड़ता है, क्योंकि log2(1,000) ≈ 9.97। ताकत अब भी नीचे के पासफ़्रेज़ से ही आती है।

मास्टर पासवर्ड बनाना (~250 बिट्स)

यदि शब्द सूचियों, leetspeak और टाइपिंग ट्रिक्स की अपनी सीमाएँ हैं, तो हम ऐसा मास्टर पासवर्ड कैसे बनाएँ जो लंबे समय तक टिके? हमारा जेनरेटर 80 बिट्स को पहले से ही “मजबूत” और 100 बिट्स को “बहुत मजबूत” आँकता है। दशकों तक चलने वाले मास्टर पासवर्ड के लिए यह लेख कहीं ऊँचा लक्ष्य रखता है: लगभग 250 बिट्स एन्ट्रॉपी। नीचे का क्वांटम खंड बताता है कि ऐसा क्यों है, और यह मार्जिन क्या नहीं दिलाता।

आपकी आवश्यकताओं के आधार पर इसे प्राप्त करने के दो तरीके हैं:

1. यादृच्छिक अक्षर (पासवर्ड मैनेजर के लिए)

पूरी तरह यादृच्छिक रूप से बनाई गई अक्षरों की एक स्ट्रिंग, जिसमें मशीन के फ़ायदा उठाने लायक कोई पैटर्न नहीं है: 8}8,_$-p)M&n,XvUCT0o+.5hDE6P^w6b@U-evS0 हमारे जेनरेटर के 91 अक्षरों में से यादृच्छिक रूप से चुने गए 39 अक्षर: ≈ 253 बिट। इसे इस लेख के लिए बनाया गया था, इसलिए यह अब सार्वजनिक है। इसका कभी उपयोग न करें।

2. यादृच्छिक पासफ़्रेज़ (उस पासवर्ड के लिए जिसे आप याद रखते हैं)

यादृच्छिक अक्षरों की तुलना में यादृच्छिक शब्द याद रखना आसान है। 7,776 शब्दों वाली EFF सूची से चुना गया हर शब्द लगभग 12.9 बिट्स जोड़ता है, इसलिए एन्ट्रॉपी शब्दों की संख्या से तय होती है। 12 शब्द ≈ 155 बिट देते हैं, जो हमारे जेनरेटर की “बहुत मजबूत” सीमा से बहुत ऊपर है। साधारण शब्द 250 बिट्स केवल 20 शब्दों पर पार करते हैं।

हमारा जेनरेटर 12 शब्दों पर रुक जाता है। कम शब्दों में 250 बिट्स पार करने के लिए “प्रत्येक शब्द के बाद यादृच्छिक अंक” चुनें और विभाजक के रूप में “अंक + प्रतीक” चुनें। तब 11 शब्द ≈ 260 बिट देते हैं: depletion78$sporting14~overlap11>macaw86>paced95,paramedic41}blot41$flagstone07;uncanny92/broadways77#say2 इस लेख के लिए ठीक इन्हीं सेटिंग्स के साथ यादृच्छिक रूप से बनाया गया। प्रकाशित पासवर्ड एक जला हुआ पासवर्ड है: इसे, या पढ़े गए किसी भी उदाहरण को, कभी उपयोग न करें। केवल वही गिना जाता है जो यादृच्छिक रूप से चुना गया हो। हर शब्द का पहला अक्षर बड़ा करने से कुछ नहीं जुड़ता, और आपके खुद चुने गए शब्द यादृच्छिक शब्दों से कहीं कमज़ोर होते हैं।

क्वांटम खतरा: ग्रोवर का एल्गोरिथम

250 बिट्स का लक्ष्य क्यों रखें जबकि 128 बिट्स आज के सुपर कंप्यूटरों को पहले ही ब्लॉक कर देते हैं? इसका उत्तर बड़े क्वांटम कंप्यूटरों की संभावना में निहित है।

क्रिप्टोग्राफी में, ग्रोवर का एल्गोरिथ्म (Grover’s algorithm) एक क्वांटम कंप्यूटर को क्लासिकल कंप्यूटर की तुलना में बहुत तेज़ी से अनसॉर्टेड डेटाबेस को खोजने की अनुमति देता है। संक्षेप में, ग्रोवर एक सममित कुंजी (symmetric key) या पासवर्ड के प्रभावी सुरक्षा स्तर को आधा कर देता है।

ग्रोवर के एल्गोरिथ्म को चलाने वाले क्वांटम कंप्यूटर के खिलाफ, 128 बिट्स की एन्ट्रॉपी वाला पासवर्ड सैद्धांतिक रूप से केवल 64 बिट्स के बराबर प्रतिरोध देगा। यह कहीं पतला मार्जिन है।

एन्ट्रॉपी को दोगुना करने से मार्जिन बना रहता है: लगभग 256 बिट्स ग्रोवर के सामने भी लगभग 128 बिट्स छोड़ देंगे। इस लेख का 250 बिट्स का लक्ष्य यहीं से आता है। यह एक सावधानी है जिसे यह लेख चुनता है, किसी मानक से लिया गया आँकड़ा नहीं।

इस मार्जिन की भी सीमाएँ हैं। ग्रोवर से मिलने वाली गति-वृद्धि द्विघातीय (quadratic) है, असीमित नहीं। इसके हर चरण में अब भी साइट के पासवर्ड हैश की गणना करनी पड़ती है, और वह भी इतने बड़े क्वांटम कंप्यूटर पर जो उसे चला सके। तुलना के लिए, प्रति सेकंड 100 अरब प्रयासों की उस दर पर जो हमारे जेनरेटर का पेज मानता है, 100 बिट्स की औसत खोज में ही कम से कम 2 खरब वर्ष लगते हैं।

यह तर्क Harvest Now, Decrypt Later (HNDL) जैसा है: पासवर्ड हैश का चुराया गया डेटाबेस आज रखा जा सकता है और बाद में बेहतर मशीनों से उस पर हमला किया जा सकता है। बड़ा मार्जिन इसके ख़िलाफ़ सुरक्षा के स्तर को ऊँचा उठाता है। यह कोई स्थायी गारंटी नहीं है।

Arpokrat Password Generator: अपना खुद का बनाएँ

अपनी पहुँच की सुरक्षा को संयोग पर न छोड़ें। हमारा मुफ़्त जेनरेटर यादृच्छिक पासवर्ड और पासफ़्रेज़ बनाता है। हर एक के लिए यह बिट्स में एन्ट्रॉपी और किसी खोज में लगने वाला औसत समय दिखाता है।

यह केवल बनाता है: आप जो पासवर्ड पहले से इस्तेमाल करते हैं, उसे यह नहीं आँकता। ऊपर के 250 बिट्स के लक्ष्य के लिए, सभी चार प्रकार के अक्षरों वाला 39 अक्षरों का पासवर्ड चुनें। जेनरेटर इसे “≈ 253 बिट” दिखाता है।

👉 Arpokrat Password Generator

यह आपके ब्राउज़र में चलता है। यह जो बनाता है, वह कभी भेजा या सहेजा नहीं जाता।

अंतिम कमजोर कड़ी: पुनर्चक्रण और पहुंच प्रबंधन

गणितीय एन्ट्रॉपी मानवीय भूल से नहीं बचाती है। 250-बिट पासवर्ड भी लीक होने पर अपनी ताकत खो देता है, यदि इसे कई साइटों पर फिर से इस्तेमाल किया जाता है (एक हमला जिसे Credential Stuffing कहा जाता है) या यदि यह दूसरे प्रमाणीकरण कारक (2FA) द्वारा सुरक्षित नहीं है।

डिजिटल स्वच्छता का सुनहरा नियम यह है कि आपको केवल एक ही पासवर्ड याद रखना होगा: आपका 250-बिट मास्टर पासवर्ड (ऊपर बताए अनुसार एक यादृच्छिक पासफ़्रेज़)। आपके अन्य सभी एक्सेस (बैंक, सोशल नेटवर्क, सर्वर) को विशेष रूप से उनके लिए जनरेट किए गए अद्वितीय यादृच्छिक पासवर्ड का उपयोग करना चाहिए।

जिन पासवर्डों को आप याद नहीं रख सकते, उन सबको रखने के लिए पासवर्ड मैनेजर का उपयोग करें। ऐसा चुनें जो सिंक करने से पहले आपके वॉल्ट को आपके डिवाइस पर एन्क्रिप्ट करे (जिसे अक्सर Zero-Knowledge कहा जाता है), संभव हो तो ऐसा जो ओपन सोर्स हो और स्वतंत्र रूप से ऑडिट किया गया हो।