1. परिचय
पासवर्ड प्रमाणीकरण से जुड़ी कमजोरियों को कम करने के लिए सुरक्षा विशेषज्ञों द्वारा पासवर्ड मैनेजर (PM) महत्वपूर्ण उपकरणों के रूप में अनुशंसित हैं। ये मजबूत, अद्वितीय पासवर्ड के उपयोग को सुगम बनाते हैं, जिससे उपयोगकर्ताओं पर संज्ञानात्मक भार कम होता है। हालाँकि, इन अनुप्रयोगों में विश्वास की कमी के कारण व्यापक उपयोगकर्ता अपनाने में बाधा आती है। यह पत्र यादृच्छिक पासवर्ड जनरेशन (RPG) सुविधा को उपयोगकर्ता विश्वास को प्रभावित करने वाला एक प्रमुख कारक के रूप में पहचानता है। लेखकों का तर्क है कि इस विश्वास अंतर को पाटने और PM अपनाने को प्रोत्साहित करने के लिए एक औपचारिक रूप से सत्यापित, प्रमाणित रूप से सुरक्षित RPG कार्यान्वयन आवश्यक है। पत्र का मुख्य योगदान ऐसे एक संदर्भ कार्यान्वयन का प्रस्ताव है, जिसमें EasyCrypt ढांचे का उपयोग करके कार्यात्मक शुद्धता और सुरक्षा गुणों के औपचारिक प्रमाण शामिल हैं।
2. वर्तमान पासवर्ड जनरेशन एल्गोरिदम
पत्र ने 15 पासवर्ड मैनेजरों का सर्वेक्षण किया है, जिसमें तीन ओपन-सोर्स, व्यापक रूप से उपयोग किए जाने वाले उदाहरणों पर ध्यान केंद्रित किया गया है: Google Chrome का अंतर्निहित मैनेजर, Bitwarden, और KeePass। विश्लेषण से मौजूदा कार्यान्वयन में सामान्य पैटर्न और गंभीर कमियाँ सामने आती हैं।
2.1 पासवर्ड संरचना नीतियाँ
PM उपयोगकर्ताओं को जनरेट किए गए पासवर्ड को सीमित करने वाली नीतियों को परिभाषित करने की अनुमति देते हैं। ये नीतियाँ लंबाई, अनुमत वर्ण समुच्चय (जैसे, लोअरकेस, अपरकेस, संख्याएँ, विशेष वर्ण), और प्रति समुच्चय न्यूनतम/अधिकतम घटनाओं को निर्दिष्ट करती हैं। पत्र तीनों अध्ययन किए गए PM में नीति विकल्पों को दर्शाने वाली एक विस्तृत तुलनात्मक तालिका (PDF में तालिका 1) प्रदान करता है। प्रमुख अवलोकनों में भिन्न-भिन्न अधिकतम लंबाई (KeePass में 30,000 तक), "विशेष वर्ण" की भिन्न परिभाषाएँ, और दृश्य अस्पष्टता से बचने के लिए "समान वर्ण" (जैसे 'l', '1', 'O', '0') के असंगत प्रबंधन शामिल हैं। KeePass सबसे सूक्ष्म नियंत्रण प्रदान करता है, जो कस्टम समावेश/बहिष्करण समुच्चय और डुप्लिकेट हटाने की अनुमति देता है।
2.2 यादृच्छिक पासवर्ड जनरेशन
सर्वेक्षित एल्गोरिदम आम तौर पर दो-चरणीय प्रक्रिया का पालन करते हैं: 1) प्रत्येक निर्दिष्ट वर्ण समुच्चय के लिए आवश्यक न्यूनतम घटनाओं को पूरा करने के लिए यादृच्छिक वर्ण उत्पन्न करें। 2) शेष पासवर्ड लंबाई को किसी भी ऐसे समुच्चय से यादृच्छिक वर्णों से भरें जिसने अपनी अधिकतम घटना सीमा तक नहीं पहुँचाया है। अंत में, वर्णों के अनुक्रम को यादृच्छिक रूप से क्रमबद्ध किया जाता है। पत्र का संकेत है कि हालांकि यह तर्क सीधा है, इसका कार्यान्वयन—विशेष रूप से यादृच्छिकता स्रोत और जटिल बाधाओं का प्रवर्तन—शायद ही कभी औपचारिक रूप से निर्दिष्ट या सत्यापित किया जाता है, जिससे सूक्ष्म बग के लिए गुंजाइश रह जाती है जो सुरक्षा को कमजोर कर सकते हैं।
3. औपचारिक सत्यापन दृष्टिकोण
लेखक कार्यान्वयन त्रुटियों को समाप्त करने के लिए औपचारिक विधियों के उपयोग की वकालत करते हैं। उन्होंने EasyCrypt का चयन किया, जो गेम-आधारित क्रिप्टोग्राफिक प्रमाणों के निर्माण और सत्यापन के लिए एक ढांचा है। इस दृष्टिकोण में शामिल हैं:
- विनिर्देश: RPG की कार्यात्मक आवश्यकताओं को औपचारिक रूप से परिभाषित करना (इनपुट नीति -> आउटपुट पासवर्ड जो नीति को संतुष्ट करता है)।
- कार्यान्वयन: EasyCrypt के भीतर एल्गोरिदम कोड लिखना।
- सत्यापन: यह सिद्ध करना कि कार्यान्वयन विनिर्देश को सही ढंग से परिष्कृत करता है (कार्यात्मक शुद्धता).
- सुरक्षा प्रमाण: एल्गोरिदम को एक क्रिप्टोग्राफिक गेम के रूप में मॉडल करके आउटपुट के समान वितरण जैसे गुणों को सिद्ध करना (सुरक्षा).
यह पद्धति गणितीय निश्चितता प्रदान करती है कि कोड बिल्कुल इरादे के अनुसार व्यवहार करता है और वांछित सुरक्षा गुण रखता है, यह मानते हुए कि अंतर्निहित क्रिप्टोग्राफिक आदिम (यादृच्छिक संख्या जनरेटर) सुरक्षित हैं।
4. प्रस्तावित संदर्भ कार्यान्वयन
पत्र एक नए, मॉड्यूलर RPG डिजाइन का प्रस्ताव करता है जिसका उद्देश्य एक सत्यापित संदर्भ के रूप में सेवा करना है। हालाँकि प्रदान किए गए अंश में पूरा कोड नहीं दिखाया गया है, डिजाइन तार्किक रूप से अलग करता है:
- नीति पार्सर और वैलिडेटर: यह सुनिश्चित करता है कि उपयोगकर्ता-परिभाषित नीतियाँ आंतरिक रूप से सुसंगत हैं (जैसे, न्यूनतम अधिकतम से अधिक नहीं होते, कुल न्यूनतम पासवर्ड लंबाई से अधिक नहीं होते)।
- बाधित सैंपलर: मुख्य इंजन जो नीति बाधाओं के तहत दो-चरणीय जनरेशन करता है।
- यादृच्छिक क्रमचय: वर्ण अनुक्रम पर अंतिम शफल लागू करता है।
प्रत्येक मॉड्यूल का EasyCrypt में एक औपचारिक विनिर्देश और सत्यापित कार्यान्वयन होगा।
5. तकनीकी विवरण एवं गणितीय सूत्रीकरण
एक RPG की सुरक्षा इसके आउटपुट की एंट्रॉपी और समान वितरण पर निर्भर करती है। मान लीजिए $\mathcal{P}$ एक नीति द्वारा परिभाषित सभी पासवर्डों का समुच्चय है (लंबाई $l$, वर्ण समुच्चय $C_1, C_2, ..., C_n$ न्यूनतम/अधिकतम बाधाओं के साथ)। आदर्श RPG एक फ़ंक्शन $G$ है जो $\mathcal{P}$ से समान रूप से सैंपल लेता है।
किसी विशिष्ट पासवर्ड $p \in \mathcal{P}$ के जनरेट होने की संभावना होनी चाहिए: $$Pr[G() = p] = \frac{1}{|\mathcal{P}|}$$ जहाँ $|\mathcal{P}|$ पासवर्ड स्पेस का आकार है। सरल कार्यान्वयन में एक सामान्य दोष पूर्वाग्रह पैदा करना है, जिससे कुछ पासवर्ड दूसरों की तुलना में अधिक संभावित हो जाते हैं। उदाहरण के लिए, यदि एल्गोरिदम पहले अनिवार्य समुच्चयों के लिए वर्ण चुनता है और फिर बाकी को भरता है, तो शुरुआत में अनिवार्य वर्ण वाले पासवर्ड अधिक प्रतिनिधित्व करते हैं जब तक कि एक पूर्ण शफल लागू नहीं किया जाता। औपचारिक सत्यापन ऐसे पूर्वाग्रह की अनुपस्थिति सिद्ध करता है।
जनरेट किए गए पासवर्ड की एंट्रॉपी $H$ (बिट्स में) है: $$H = \log_2(|\mathcal{P}|)$$ सत्यापन यह सुनिश्चित करता है कि कार्यान्वयन इस एंट्रॉपी को नीति के लिए सैद्धांतिक अधिकतम से नीचे नहीं लाता।
6. प्रायोगिक परिणाम एवं चार्ट विवरण
हालाँकि प्रदान किया गया PDF अंश पारंपरिक प्रायोगिक परिणाम या चार्ट नहीं रखता, इसका मुख्य "परिणाम" स्वयं औपचारिक प्रमाण है। EasyCrypt में सफल सत्यापन अंतिम साक्ष्य के रूप में कार्य करता है। कोई आश्वासन स्तरों की तुलना करने वाले चार्ट की अवधारणा बना सकता है:
काल्पनिक चार्ट: आश्वासन स्तर बनाम विकास विधि
- पारंपरिक परीक्षण: परीक्षण किए गए मामलों के लिए उच्च आत्मविश्वास, लेकिन अटेस्टेड एज केस (नीति संघर्ष, सीमा मान) के लिए अज्ञात। कवरेज सीमित है।
- कोड समीक्षा: मध्यम आत्मविश्वास। समीक्षक कौशल पर अत्यधिक निर्भर। सूक्ष्म तार्किक त्रुटियाँ या साइड-चैनल मुद्दे छूट सकते हैं।
- औपचारिक सत्यापन (जैसा प्रस्तावित): संभव उच्चतम आश्वासन। सभी संभावित इनपुट और स्पष्ट सुरक्षा गुणों के लिए शुद्धता का गणितीय प्रमाण प्रदान करता है। "चार्ट" इसे "आश्वासन" अक्ष पर अधिकतम बिंदु के रूप में दिखाएगा।
पत्र का योगदान RPG को पहली दो श्रेणियों से तीसरी में ले जाना है।
7. विश्लेषण ढांचा: एक गैर-कोड केस स्टडी
एक नीति पर विचार करें: लंबाई=8, कम से कम 1 अपरकेस, 1 संख्या, 1 विशेष वर्ण आवश्यक। एक दोषपूर्ण एल्गोरिदम यह कर सकता है:
- स्थिति 1: यादृच्छिक अपरकेस चुनें।
- स्थिति 2: यादृच्छिक संख्या चुनें।
- स्थिति 3: यादृच्छिक विशेष वर्ण चुनें।
- स्थिति 4-8: सभी समुच्चयों से यादृच्छिक वर्णों से भरें।
- सभी 8 वर्णों को शफल करें।
दोष: शफल से पहले प्रारंभिक निश्चित क्रम (U, N, S) एक पूर्वाग्रह पैदा करता है। हालाँकि शफल अंतिम स्थितियों को यादृच्छिक बनाता है, प्रक्रिया मध्यवर्ती अवस्थाओं के गैर-समान वितरण से शुरू होती है। एक औपचारिक रूप से सत्यापित एल्गोरिदम बाधित स्पेस $\mathcal{P}$ से एकल, निष्पक्ष सैंपलिंग प्रक्रिया के माध्यम से संपूर्ण पासवर्ड का निर्माण करेगा, या यह सिद्ध करेगा कि इसकी बहु-चरणीय प्रक्रिया ऐसे समान सैंपलिंग के बराबर है।
8. मूल अंतर्दृष्टि एवं विश्लेषक का परिप्रेक्ष्य
मूल अंतर्दृष्टि: पत्र पासवर्ड मैनेजरों में एक महत्वपूर्ण, फिर भी अक्सर अनदेखी की जाने वाली, हमले की सतह की सही पहचान करता है: पासवर्ड जनरेटर की विश्वसनीयता। एक मजबूत वॉल्ट होना पर्याप्त नहीं है; यदि स्रोत सामग्री (पासवर्ड) एक बगी जनरेटर के कारण कमजोर या अनुमानित है, तो पूरी प्रणाली विफल हो जाती है। लेखकों का इस उपभोक्ता सुरक्षा समस्या पर औपचारिक विधियों—हार्डवेयर या विमानन सॉफ्टवेयर में अधिक सामान्य तकनीक—को लागू करने का कदम महत्वाकांक्षी और आवश्यक दोनों है।
तार्किक प्रवाह: तर्क ठोस है: 1) विश्वास PM अपनाने में बाधा है। 2) RPG एक विश्वास-महत्वपूर्ण घटक है। 3) वर्तमान RPG बिना कठोर आश्वासन के एड-हॉक कार्यान्वित हैं। 4) औपचारिक सत्यापन उच्चतम स्तर का आश्वासन प्रदान करता है। 5) हम EasyCrypt का उपयोग करके एक सत्यापित RPG के लिए एक खाका प्रदान करते हैं। तर्क एक उपयोगकर्ता-केंद्रित समस्या (विश्वास) को एक गहन तकनीकी समाधान (औपचारिक विधियों) से जोड़ता है।
शक्तियाँ एवं दोष:
शक्तियाँ: ओपन-सोर्स PM पर ध्यान केंद्रित करना व्यावहारिक है। तुलनात्मक नीति विश्लेषण मूल्यवान है। एक संदर्भ कार्यान्वयन का प्रस्ताव केवल दूसरों की आलोचना करने से अधिक उपयोगी है; यह एक मानक स्थापित करता है। EasyCrypt का उपयोग इस कार्य को स्थापित क्रिप्टोग्राफिक सत्यापन अभ्यास से जोड़ता है, जैसे "The Security of Cryptographic Primitives" (M. Bellare, P. Rogaway) में एल्गोरिदम के सत्यापन के समान।
दोष: प्रदान किया गया अंश एक प्रारंभिक बिंदु है। वास्तविक परीक्षण वास्तविक-विश्व नीतियों के लिए पूर्ण EasyCrypt प्रमाणों की जटिलता है। यह दृष्टिकोण एक आदर्श RNG मानता है; वहाँ एक भेद्यता सभी औपचारिक गारंटियों को दरकिनार कर देती है। यह अंतिम संकलित बाइनरी में साइड-चैनल हमलों (टाइमिंग, मेमोरी) को भी संबोधित नहीं करता है, जो अन्य औपचारिक सत्यापन परियोजनाओं जैसे seL4 माइक्रोकर्नल सत्यापन में उल्लिखित एक सीमा है।
कार्रवाई योग्य अंतर्दृष्टि:
1. PM डेवलपर्स के लिए: इस सत्यापित कोर, या इसके जैसे किसी अन्य को, एक लाइब्रेरी के रूप में एकीकृत करें। औपचारिक सत्यापन की लागत प्रारंभ में अधिक है लेकिन दीर्घकालिक सुरक्षा समीक्षा बोझ और दायित्व को कम करती है।
2. ऑडिटर और शोधकर्ताओं के लिए: अन्य PM का विश्लेषण करने के लिए इस कार्य को एक टेम्पलेट के रूप में उपयोग करें। नीति तुलना तालिका सुरक्षा मूल्यांकन के लिए एक तैयार चेकलिस्ट है।
3. मानक निकायों के लिए (जैसे, NIST, FIDO): पासवर्ड जनरेशन मॉड्यूल को प्रमाणित करने के लिए औपचारिक सत्यापन को एक आवश्यकता के रूप में विचार करें, जैसे Common Criteria उच्च-आश्वासन उत्पादों के लिए कठोर विकास प्रक्रियाओं को अनिवार्य करता है।
4. उपयोगकर्ताओं के लिए: पारदर्शिता की मांग करें। ऐसे PM को प्राथमिकता दें जो अपने RPG एल्गोरिदम और, आदर्श रूप से, अपने सत्यापन साक्ष्य को प्रकाशित करते हैं। यह पत्र इसके लिए पूछने की शब्दावली प्रदान करता है।
सार रूप में, यह शोध एक मूलभूत सुरक्षा घटक के लिए इंजीनियरिंग मानकों को बढ़ाने का आह्वान है। यह लक्ष्य को "उम्मीद से सुरक्षित" से "प्रमाणित रूप से सही" में स्थानांतरित करता है, जो हमारी डिजिटल पहचान की रक्षा करने वाले उपकरणों के लिए एकमात्र स्वीकार्य मानदंड है।
9. भविष्य के अनुप्रयोग एवं शोध दिशाएँ
निहितार्थ पासवर्ड मैनेजरों से परे हैं:
- API और सेवा टोकन: क्लाउड सेवाएँ और माइक्रोसर्विसेज आर्किटेक्चर को अक्सर जनरेट किए गए टोकन की आवश्यकता होती है। एक सत्यापित जनरेटर यह सुनिश्चित करता है कि ये रहस्य क्रिप्टोग्राफिक रूप से मजबूत हैं।
- क्रिप्टोग्राफिक कुंजी जनरेशन: सिद्धांत क्रिप्टोग्राफिक कुंजियों के लिए मानव-पठनीय रिकवरी कोड या पासफ्रेज (डाइसवेयर जैसी विधियों के माध्यम से) उत्पन्न करने पर लागू होते हैं, जहाँ पूर्वाग्रह समान रूप से खतरनाक है।
- हार्डवेयर सुरक्षा के साथ एकीकरण: भविष्य का कार्य RPG सॉफ्टवेयर और हार्डवेयर ट्रू रैंडम नंबर जनरेटर (TRNG) या ट्रस्टेड एक्जीक्यूशन एनवायरनमेंट (TEE) के बीच संपर्क को सत्यापित कर सकता है।
- स्वचालित नीति विश्लेषण: ऐसे उपकरण बनाएँ जो जनरेशन से पहले ही उपयोगकर्ता-परिभाषित नीतियों का कमजोरियों (जैसे, स्पष्ट जटिलता के बावजूद प्रभावी रूप से छोटे खोज स्थान) के लिए औपचारिक रूप से विश्लेषण करते हैं।
- मानकीकरण: सबसे बड़ी भविष्य की दिशा इस संदर्भ कार्यान्वयन को एक व्यापक रूप से अपनाए गए मानक में बदलना है, शायद एक स्टैंडअलोन लाइब्रेरी (क्रिप्टो के लिए libsodium की तरह) के रूप में जिसे कोई भी अनुप्रयोग सत्यापित रहस्य जनरेशन के लिए उपयोग कर सकता है।
10. संदर्भ
- Grilo, M., Ferreira, J. F., & Almeida, J. B. (2021). Towards Formal Verification of Password Generation Algorithms used in Password Managers. arXiv preprint arXiv:2106.03626.
- Bellare, M., & Rogaway, P. (2005). Introduction to Modern Cryptography. Chapter on Pseudorandom Functions and Permutations.
- Klein, G., et al. (2009). seL4: Formal verification of an OS kernel. Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles.
- National Institute of Standards and Technology (NIST). (2017). Digital Identity Guidelines (SP 800-63B).
- Common Criteria Recognition Agreement (CCRA). Common Criteria for Information Technology Security Evaluation.
- Chiasson, S., van Oorschot, P. C., & Biddle, R. (2006). A second look at the usability of click-based graphical passwords. Proceedings of the 3rd symposium on Usable privacy and security.
- EasyCrypt Proof Assistant. Official Documentation and Tutorials. https://easycrypt.info/