समूह के पैरामीटर रचना से ही सार्वजनिक होते हैं, और यही सार्वजनिकता उन्हें अनदेखा करना आसान बनाती है। परिमित-क्षेत्र Diffie-Hellman में मापांक और जनरेटर साझा होते हैं, जबकि निजी घातांक और उनसे बनने वाली सत्र कुंजियाँ नहीं। संख्या-क्षेत्र चलनी हमले का महँगा चरण एक अदला-बदली पर नहीं, समूह पर निर्भर करता है, इसलिए हर जगह इस्तेमाल होने वाला एक कमज़ोर समूह साझा दायित्व बन जाता है। पैरामीटरों को सार्वजनिक कहना सटीक है और मुद्दे से अलग भी, क्योंकि जो लागत दोबारा उपयोग होती है वह उसी समूह पर हमले की लागत है।

सार्वजनिक आधा ही कमज़ोर आधा नहीं है, और यही जाल है

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

जो बदलता है वह यह है कि कितने स्थान एक ही कमज़ोरी साझा करते हैं। अपना 2048-बिट समूह बनाने वाला संगठन अपनी हमला-लागत खुद चुकाता है, जबकि लाखों द्वारा चुना गया प्रोटोकॉल-डिफ़ॉल्ट एक लागत को उन सब पर परिशोधित कर देता है। इसी अर्थ में असामान्य समूह अपने-आप बेहतर नहीं होता। बहुत छोटा असामान्य समूह केवल कम आँखों वाला छोटा साझा रहस्य है।

सत्यापन का महत्व आकार जितना ही है। जो साथी छोटे गुणनखंडों वाला मापांक भेजता है, या ऐसा मापांक जिसका आकार प्रोटोकॉल की अपेक्षा के अनुरूप नहीं है, वह बिट-लंबाई सम्मानजनक दिखने पर भी निजी घातांक के बारे में जानकारी लीक कर सकता है। जो लाइब्रेरी प्रवेश पर ही विकृत पैरामीटर अस्वीकार करती हैं वे वास्तविक काम करती हैं, इसीलिए हाथ से लिखा पैरामीटर विश्लेषण श्रम बचाने की बुरी जगह है।

पूर्व-गणना हमलावर को वास्तव में क्या देती है

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

2015 का Logjam पत्र 512-बिट निर्यात-श्रेणी Diffie-Hellman तक अवनति प्रदर्शित करता था और अनुमान लगाता था कि बड़े, व्यापक रूप से दोबारा उपयोग होने वाले समूहों पर पर्याप्त संसाधनों से हमला कितना महँगा होगा। प्रदर्शन ठोस था, अनुमान अनुमान थे, और इनमें से कोई भी इस बात का प्रमाण नहीं था कि कोई विशेष VPN सत्र डिक्रिप्ट हुआ।

पत्र का हवाला क्रियाविधि और प्रदर्शित अवनति के लिए दें, अपनी तैनाती के मापन के रूप में नहीं। कितने सर्वरों ने डिफ़ॉल्ट समूह साझा किया, इसके पुराने आँकड़े उस वर्ष के इंटरनेट का वर्णन करते हैं, आज आप जिस नेटवर्क की जाँच कर सकते हैं उसका नहीं। जो उपयोगी बात आगे ले जाने योग्य है वह प्रश्न है: क्या आपके उपकरण अब भी ऐसे समूह पर बातचीत करते हैं जो छोटा है या कमज़ोर ढंग से सत्यापित है?

मानकीकृत होना कमज़ोर होना नहीं है

RFC 7919 नामित परिमित-क्षेत्र समूहों को परिभाषित करता है ताकि दोनों सिरे पहचानकर्ता से एक समूह पर सहमत हों और एकसमान नीति लागू करें। मानकीकृत होना एक लाभ है, क्योंकि यह बातचीत की अस्पष्टता हटाता है और कार्यान्वयन को असमर्थित आकार अस्वीकार करने देता है। नामित समूह केवल तब कमज़ोर है जब उसका आकार उस नीति से नीचे हो जिसे आप कहते हैं कि आप अपनाते हैं, ऐसा नहीं कि वह किसी दस्तावेज़ में आता है। यही तर्क दीर्घवृत्तीय वक्र समूहों पर भी लागू होता है, जिनकी संरचना और विफलता के ढंग अलग हैं।

जब उन पर विचार करें तो रचनाओं को अलग रखें। परिमित-क्षेत्र Diffie-Hellman के बारे में निष्कर्ष X25519 के बारे में कुछ नहीं कहता, और 1024-बिट MODP समूह के बारे में निष्कर्ष 3072-बिट समूह के बारे में कुछ नहीं कहता। शक्ति नीति प्रति क्रियाविधि, प्रति आकार और प्रति प्रोटोकॉल संस्करण है, इसीलिए मज़बूत क्रिप्टोग्राफ़ी वाक्यांश समीक्षा-योग्य कथन नहीं है।

प्रमाणीकरण दूसरा आधा है, और वह विकल्प नहीं है। साथी सत्यापन के बिना मज़बूत समूह हमलावर को बीच में छोड़ देता है, और वैध प्रमाणपत्र 768-बिट अदला-बदली को नहीं बचा सकता। इन्हें दो स्वतंत्र पंक्तियों के रूप में देखें, फिर पुष्टि करें कि दोनों पर वास्तव में बातचीत होती है।

वास्तविक कनेक्शन पर बातचीत किया गया समूह पढ़ें

बातचीत किया गया समूह कॉन्फ़िगरेशन टेम्पलेट से नहीं, उपकरण से पढ़ें। टेम्पलेट मंशा बताते हैं, और दिलचस्प मान वह है जिस पर दोनों पक्षों ने पिछले हैंडशेक के दौरान सहमति जताई थी। IPsec छोर पर स्टेटस आउटपुट आमतौर पर चयनित प्रस्ताव छापता है, जिसमें MODP समूह भी शामिल होता है।

नीति परिवर्तन से पहले और बाद में उस पंक्ति को कैप्चर करें, और दोनों को परिवर्तन रिकॉर्ड में रखें। तुलना ही प्रमाण है।

ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -noout

यदि परिवर्तन के बाद भी स्टेटस पुराना समूह दिखाता है, तो कनेक्शन ने फिर से बातचीत नहीं की और कॉन्फ़िगरेशन संपादन ने कुछ सिद्ध नहीं किया। साथी को पुनः आरंभ करें या सुरक्षा संबद्धता साफ़ करें, फिर स्टेटस दोबारा पढ़ें। केवल नए कनेक्शनों पर लागू नीति लंबे समय तक चलने वाले टनलों को जब तक वे चालू रहें, पुराने पैरामीटरों पर रखेगी।

समूह और साथी की पहचान अलग-अलग जाँचें

समूह किस चीज़ की रक्षा करता है, इसे इससे अलग करें कि दूसरे सिरे पर कौन है। कुंजी-अदला-बदली विधि, समूह का आकार और प्रमाणीकरण विधि तीन फ़ील्ड के रूप में दर्ज करें, क्योंकि ये स्वतंत्र रूप से विफल होते हैं। 3072-बिट समूह पर बातचीत करने वाला पर हर प्रमाणपत्र स्वीकार करने वाला टनल, साथी को पिन करने और 2048-बिट समूह उपयोग करने वाले टनल के समान जोखिम नहीं है।

समीक्षा शुरू होने से पहले स्वीकृति मानदंड लिखें, ताकि परिणाम राय नहीं बल्कि तुलना हो। प्रति प्रोटोकॉल संस्करण न्यूनतम समूह आकार, नामित समूहों की अनुमति सूची और अनिवार्य साथी सत्यापन निर्णय को यांत्रिक बनाने के लिए पर्याप्त हैं। उस सूची की अस्पष्टता ही समीक्षा को बहस में बदलती है, और बहसों का उपचार नहीं होता। तब आउटपुट उन छोरों की सूची होती है जो घोषित नियम में विफल होते हैं।

ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'

उपचार के बाद बातचीत किए गए मानों को दोबारा पढ़कर चक्र बंद करें। अनुरूप कॉन्फ़िगरेशन फ़ाइल इस बात का प्रमाण नहीं है कि किसी टनल ने उसे अपनाया। स्टेटस आउटपुट और एक नया हैंडशेक प्रमाण हैं, और उन्हें इकट्ठा करने में उस बैठक से कम समय लगता है कि वे आवश्यक हैं या नहीं।

संबंधित लेख