Encrypted LeaseSets के साथ अपने I2P कौशल को अगले स्तर पर ले जाएँ
अतीत में कहा गया है कि I2P, Hidden Services (छिपी सेवाएँ) के समर्थन पर ज़ोर देता है, जो कई मायनों में सही है। हालाँकि, इसका अर्थ उपयोगकर्ताओं, डेवलपर्स और Hidden Service प्रशासकों के लिए हमेशा एक जैसा नहीं होता। Encrypted LeaseSets और उनके उपयोग मामलों से यह समझने की एक अनोखी, व्यावहारिक झलक मिलती है कि I2P किस तरह hidden services को अधिक बहुमुखी बनाता है, उनका प्रशासन करना सरल करता है, और कैसे I2P Hidden Service अवधारणा का विस्तार करके संभावित रूप से दिलचस्प उपयोग मामलों के लिए सुरक्षा लाभ प्रदान करता है।
LeaseSet क्या है?
जब आप एक छिपी सेवा बनाते हैं, तो आप I2P NetDB पर “LeaseSet” नामक जानकारी प्रकाशित करते हैं। “LeaseSet” सरल शब्दों में वह जानकारी है जिसकी अन्य I2P उपयोगकर्ताओं को यह पता लगाने के लिए जरूरत होती है कि I2P Network पर आपकी छिपी सेवा “कहाँ” है। इसमें “Leases” शामिल होते हैं, जो उन tunnels की पहचान करते हैं जिनका उपयोग आपकी छिपी सेवा तक पहुँचने के लिए किया जा सकता है, तथा आपके destination (गंतव्य) की सार्वजनिक कुंजी, जिसके लिए क्लाइंट्स संदेशों को एन्क्रिप्ट करेंगे। इस प्रकार की छिपी सेवा तक कोई भी, जिसके पास पता हो, पहुँच सकता है; संभवतः अभी के लिए यह सबसे आम उपयोग मामला है।
कभी-कभी आप नहीं चाहेंगे कि आपकी हिडन सर्विसेज किसी भी व्यक्ति के लिए सुलभ हों। कुछ लोग हिडन सर्विसेज का उपयोग घर के पीसी पर SSH सर्वर तक पहुँचने के तरीके के रूप में करते हैं, या IoT डिवाइसों को आपस में जोड़कर एक नेटवर्क बनाने के लिए। ऐसे मामलों में अपनी हिडन सर्विस को I2P नेटवर्क पर सभी के लिए सुलभ बनाना आवश्यक नहीं है, और यह उल्टा असर भी डाल सकता है। यहीं पर “Encrypted LeaseSets” काम आते हैं।
एन्क्रिप्टेड LeaseSets: अत्यंत गुप्त सेवाएँ
एन्क्रिप्टेड LeaseSets वे LeaseSets हैं जिन्हें NetDB में एन्क्रिप्टेड रूप में प्रकाशित किया जाता है, जहाँ Leases या सार्वजनिक कुंजियों में से कोई भी दिखाई नहीं देतीं जब तक कि क्लाइंट के पास उसके अंदर मौजूद LeaseSet को डिक्रिप्ट करने के लिए आवश्यक कुंजियाँ न हों। केवल वे क्लाइंट जिनके साथ आप कुंजियाँ साझा करते हैं(PSK Encrypted LeaseSets के लिए), या जो अपनी कुंजियाँ आपके साथ साझा करते हैं(DH Encrypted LeaseSets के लिए), destination देख पाएँगे और कोई नहीं।
I2P एन्क्रिप्टेड LeaseSets के लिए कई रणनीतियों का समर्थन करता है। किस रणनीति का उपयोग करना है, यह तय करते समय प्रत्येक रणनीति की मुख्य विशेषताएँ समझना महत्वपूर्ण है। यदि कोई एन्क्रिप्टेड LeaseSet “Pre-Shared Key(PSK)” रणनीति का उपयोग करता है, तो सर्वर एक कुंजी (या कुंजियाँ) उत्पन्न करेगा, जिन्हें सर्वर ऑपरेटर बाद में प्रत्येक क्लाइंट के साथ साझा करता है। बेशक, यह आदान-प्रदान आउट-ऑफ-बैंड होना चाहिए, उदाहरण के लिए IRC पर आदान-प्रदान के माध्यम से। एन्क्रिप्टेड LeaseSets का यह संस्करण कुछ-कुछ ऐसा है जैसे आप पासवर्ड के साथ Wi-Fi में लॉगिन करते हैं। फर्क बस इतना है कि यहाँ आप जिस चीज़ में लॉगिन कर रहे हैं, वह एक Hidden Service (छिपी सेवा) है।
यदि कोई Encrypted LeaseSet “Diffie-Hellman(DH) strategy का उपयोग करता है, तो कुंजियाँ इसके बजाय क्लाइंट पर उत्पन्न की जाती हैं। जब कोई Diffie-Hellman क्लाइंट किसी Encrypted LeaseSet वाले डेस्टिनेशन से जुड़ता है, तो उसे पहले अपनी कुंजियाँ सर्वर ऑपरेटर के साथ साझा करनी होती हैं। इसके बाद सर्वर ऑपरेटर यह तय करता है कि DH क्लाइंट को अधिकृत करना है या नहीं। Encrypted LeaseSets का यह संस्करण authorized_keys फ़ाइल के साथ SSH जैसा है। फर्क सिर्फ इतना है कि आप जिस चीज़ में लॉग इन कर रहे हैं, वह एक हिडन सर्विस है।
अपने LeaseSet को एन्क्रिप्ट करके, आप न केवल अनधिकृत उपयोगकर्ताओं के लिए आपके destination (सेवा की पहचान) से कनेक्ट होना असंभव बना देते हैं, बल्कि अनधिकृत आगंतुकों के लिए I2P Hidden Service के वास्तविक destination का पता लगाना भी असंभव कर देते हैं। कुछ पाठकों ने शायद अपने स्वयं के एन्क्रिप्टेड LeaseSet के लिए किसी उपयोग-परिदृश्य के बारे में पहले ही विचार कर लिया होगा।
Router कंसोल तक सुरक्षित रूप से पहुँचने के लिए एन्क्रिप्टेड LeaseSets का उपयोग
सामान्यतः, किसी सेवा को आपके डिवाइस के बारे में जितनी अधिक जटिल जानकारी उपलब्ध होती है, उसे इंटरनेट या I2P जैसे किसी Hidden Service नेटवर्क पर उजागर करना उतना ही खतरनाक होता है। यदि आप ऐसी सेवा को उजागर करना चाहते हैं, तो आपको उसे पासवर्ड जैसी किसी चीज़ से सुरक्षित करना चाहिए, या I2P के मामले में, एक और भी अधिक व्यापक और सुरक्षित विकल्प Encrypted LeaseSet हो सकता है।
आगे बढ़ने से पहले, कृपया यह पढ़ें और समझें कि यदि आप निम्नलिखित प्रक्रिया को Encrypted LeaseSet के बिना करते हैं, तो आप अपने I2P router की सुरक्षा को निष्प्रभावी कर देंगे। Encrypted LeaseSet के बिना I2P पर अपने router console की पहुँच कॉन्फ़िगर न करें। इसके अतिरिक्त, जिन डिवाइसों पर आपका नियंत्रण नहीं है, उनके साथ अपने Encrypted LeaseSet PSK’s साझा न करें।
ऐसी ही एक सेवा जिसे I2P पर साझा करना उपयोगी है, लेकिन केवल Encrypted LeaseSet के साथ, I2P router console ही है। एक मशीन पर I2P router console को Encrypted LeaseSet के साथ I2P पर उपलब्ध कराने से, किसी दूसरी मशीन पर ब्राउज़र के माध्यम से रिमोट I2P instance का प्रबंधन किया जा सकता है। मुझे यह मेरी नियमित I2P सेवाओं की दूरस्थ निगरानी के लिए उपयोगी लगता है। यह ऐसे सर्वर की निगरानी के लिए भी इस्तेमाल किया जा सकता है जिसे लंबे समय तक किसी टोरेंट को सीड करने के लिए उपयोग किया जाता है, ताकि I2PSnark तक पहुंच बनाई जा सके।
उन्हें समझाने में जितना भी समय लगे, Encrypted LeaseSet को Hidden Services Manager UI (हिडन सर्विसेज प्रबंधन इंटरफ़ेस) के माध्यम से कॉन्फ़िगर करना सीधा-सादा है।
“Server” पर
शुरुआत करें http://127.0.0.1:7657/i2ptunnelmgr पर Hidden Services Manager खोलकर और उस सेक्शन के सबसे नीचे तक स्क्रॉल करें जिसमें “I2P Hidden Services” लिखा है। “127.0.0.1” host और “7657” port के साथ एक नई hidden service बनाएं, इन “Tunnel Cryptography Options” के साथ, और hidden service को सेव करें.
इसके बाद, Hidden Services Manager के मुख्य पृष्ठ से अपना नया tunnel चुनें। अब Tunnel Cryptography Options में आपकी पहली Pre-Shared Key शामिल होनी चाहिए। अगले चरण के लिए इसे तथा अपने tunnel के Encrypted Base32 Address को नोट कर लें।
“क्लाइंट” पर
अब कंप्यूटर बदलकर उस क्लाइंट पर जाएँ, जो Hidden Service से जुड़ेगा, और पहले की कुंजियाँ जोड़ने के लिए http://127.0.0.1:7657/configkeyring पर Keyring Configuration खोलें। शुरुआत सर्वर से Base32 पेस्ट करके उस फ़ील्ड में करें जिसका लेबल है: “Full destination, name, Base32, or hash.” इसके बाद, सर्वर से Pre-Shared Key (पूर्व-साझा कुंजी) को “Encryption Key” फ़ील्ड में पेस्ट करें। save पर क्लिक करें, और अब आप Encrypted LeaseSet का उपयोग करके Hidden Service को सुरक्षित रूप से एक्सेस करने के लिए तैयार हैं।
अब आप I2P का दूरस्थ रूप से प्रशासन करने के लिए तैयार हैं
जैसा कि आप देख सकते हैं, I2P, Hidden Service प्रशासकों (छिपी हुई सेवा के प्रशासक) को ऐसी विशिष्ट क्षमताएँ प्रदान करता है जो उन्हें दुनिया में कहीं से भी अपनी I2P कनेक्शनों का सुरक्षित रूप से प्रबंधन करने में सक्षम बनाती हैं। उसी कारण से, मैंने उसी डिवाइस पर अन्य Encrypted LeaseSets भी रखे हैं, जो SSH सर्वर, सेवा कंटेनरों के प्रबंधन के लिए उपयोग की जाने वाली Portainer इंस्टेंस, और मेरी निजी NextCloud इंस्टेंस की ओर संकेत करते हैं। I2P के साथ, वास्तव में निजी और हमेशा उपलब्ध सेल्फ-होस्टिंग एक प्राप्त करने योग्य लक्ष्य है; दरअसल, Encrypted LeaseSets के कारण, मुझे लगता है कि यह उन चीज़ों में से एक है जिसके लिए हम विशेष रूप से उपयुक्त हैं। इन्हीं के साथ, I2P सेल्फ-होस्टेड होम ऑटोमेशन को सुरक्षित करने की कुंजी बन सकता है, या फिर एक नई, अधिक निजी पीयर-टू-पीयर वेब की रीढ़ बन सकता है।