साझा DH समूह, नयाँ रहस्य: आक्रमण किन सस्तो हुन्छ
नयाँ सत्र रहस्यहरूले कमजोर सीमित-क्षेत्र समूहलाई सुधार्दैनन्। एउटै समूहको पुनःप्रयोगले सबैभन्दा महँगो आक्रमण चरणलाई त्यसमा वार्ता गर्ने प्रत्येक आदानप्रदानमा बाँड्छ।
समूहका प्यारामिटरहरू डिजाइनअनुसार नै सार्वजनिक हुन्छन्, र यही सार्वजनिकताले तिनलाई बेवास्ता गर्न सजिलो बनाउँछ। सीमित-क्षेत्र 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'उपचारपछि वार्ता गरिएका मानहरू फेरि पढेर चक्र बन्द गर्नुहोस्। अनुरूप कन्फिगरेसन फाइल कुनै सुरुङले त्यो स्वीकार गर्यो भन्ने प्रमाण होइन। स्थिति आउटपुट र एउटा नयाँ हात मिलाउने प्रमाण हुन्, र तिनलाई सङ्कलन गर्न ती आवश्यक छन् कि भन्ने बैठकभन्दा कम समय लाग्छ।