2011-06-14 11 views
7

जब मैं टीसीपी/आईपी सॉकेट पर प्रक्रियाओं के बीच एमपीआई संदेश भेजता हूं तो ओपनएमपीआई और एमपीआईसी सुरक्षा कैसे संभालता है?एमपीआई कार्यान्वयन (ओपनएमपीआई, एमपीआईसी) सुरक्षा/प्रमाणीकरण को कैसे संभालता है

विशेष रूप से, वे एक ही नेटवर्क के अन्य उपयोगकर्ताओं को एक सुनवाई सॉकेट से कनेक्ट करने और नकली एमपीआई संदेशों को भेजने से कैसे रोकते हैं?

  • प्रशासकों पर भरोसा कर रहे हैं:

    विशिष्ट परिदृश्य निम्नलिखित है। अविश्वसनीय उपयोगकर्ताओं के पास किसी हार्डवेयर या नेटवर्क पर भौतिक पहुंच नहीं है। अविश्वसनीय उपयोगकर्ताओं के पास रूट पहुंच नहीं है।

  • हालांकि, अविश्वसनीय उपयोगकर्ता क्लस्टर में अपने स्वयं के प्रोग्राम चला सकते हैं; क्लस्टर नोड्स सामान्य लिनक्स बॉक्स हैं। विशेष रूप से, अविश्वसनीय उपयोगकर्ता क्लस्टर में किसी भी मशीन से किसी भी मशीन से टीसीपी कनेक्शन खोल सकते हैं और मनमाना संदेश भेज सकते हैं।

उत्तर

7

जे टेलर का अधिकार; एमपीआई वास्तव में ऐसा नहीं करता है, और यह नहीं होना चाहिए। यह एमपीआई के उपयोग के मामले के आधार पर एक डिजाइन निर्णय है।

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

और यह वास्तव में किसी भी दर पर मदद नहीं करेगा। जिस तरह से एमपीआई का उपयोग किया जाता है, एक नियंत्रित वातावरण के भीतर एक संदेश परिवहन इंटरफ़ेस के रूप में होता है - एक सीमित-पहुंच क्लस्टर में नोड्स, या शायद एक गणना प्रयोगशाला में मशीनें। यदि किसी दुर्भावनापूर्ण उपयोगकर्ता को एमपीआई संचार में हस्तक्षेप करने के लिए इन नोड्स में से किसी एक के पर्याप्त नियंत्रण प्राप्त होते हैं, तो पैकेट को सूँघने से संचार को बाधित करने के बहुत आसान तरीके हैं, यह पता लगाना कि गणना का कौन सा चरण चल रहा है, और किसी प्रकार का मैन-इन- मध्य हमला कोई भी चल रहे नौकरी की स्मृति को बदल सकता है, या अधिक आसानी से, साझा फ़ाइल सिस्टम पर परिणामों को ओवरराइट कर सकता है। (नोटिस केवल नकली एमपीआई संदेशों को भेजना नोटिस किया जा सकता है, क्योंकि "वास्तविक" संदेश संसाधनों का उपयोग करके और संभवतः नौकरी को तोड़ने के कारण ढेर हो जाएंगे; इसी प्रकार, उन्हें रिले करने के बिना संदेशों को रोकना लगभग निश्चित रूप से डेडलॉक में होगा)।

ये तर्क बीओएनसीसी शैली कहने के लिए वितरित कंप्यूटिंग के लिए इतनी दृढ़ता से लागू नहीं होते हैं: लेकिन एमपीआई इस तरह के उपयोग के लिए उपयुक्त नहीं है।

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

+0

उत्तर के लिए धन्यवाद, लेकिन क्या आपने इस प्रश्न में विशिष्ट परिदृश्य को पढ़ा था? * "कोई भी चल रहे नौकरी की स्मृति को बदल सकता है, या अधिक आसानी से, साझा फ़ाइल सिस्टम पर परिणामों को ओवरराइट कर सकता है" *: यदि अलग-अलग उपयोगकर्ताओं के पास अलग-अलग उपयोगकर्ता खाते हैं, तो मुझे नहीं लगता कि यह कैसे संभव होगा। न तो पैकेट स्नीफिंग संभव है (इसे रूट खाते या भौतिक पहुंच की आवश्यकता होगी)। और मुझे लगता है कि सभी संदेशों में क्रिप्टोग्राफिक हस्ताक्षर की आवश्यकता नहीं होगी; यदि संचार टीसीपी से अधिक है, तो मुझे लगता है कि यह नए टीसीपी कनेक्शन के निर्माण को प्रमाणित करने के लिए पर्याप्त होगा? –

+0

और मैं कह रहा हूं कि ये क्लस्टर आमतौर पर नियंत्रित वातावरण होते हैं जहां उपयोगकर्ता कुछ समझ में भरोसेमंद होते हैं, और इसलिए वे भीतर से हमलों के लिए लगभग कठिन नहीं होते हैं। इसके अलावा, टीसीपी संदेश भेजने का एक ही तरीका है; अधिकांश एमपीआई के पास कई परिवहन के लिए समर्थन है। –

3

मैं इस पर काफी विशेषज्ञ नहीं हूं, लेकिन मूल उत्तर यह है कि एमपीआई आमतौर पर सुरक्षा को संभाल नहीं पाता है। यह आपके द्वारा वर्णित सुरक्षा स्तर प्रदान करने के लिए अंतर्निहित ओएस पर निर्भर करता है।

मेरे एमपीई वितरण के लिए, यह एमपीडी डिमन (डीएमओ जो एमपीआई प्रक्रियाओं को लॉन्च करता है) का उपयोग कर बनाया गया है। mpdboot क्लस्टर (1 प्रति नोड) पर mpd daemons की एक अंगूठी सेट करता है, एक सैनी तरीके से। एक बार यह अंगूठी स्थापित हो जाने पर, और यदि आप mpd daemons पर भरोसा करते हैं, तो आप सभी सेट हो गए हैं। एमपीडी यह सुनिश्चित करेगा कि केवल आपके द्वारा अपनी एमपीआई प्रक्रियाओं से कनेक्ट होने वाली प्रक्रियाएं होंगी।

हालांकि, मैं समझ नहीं पा रहा हूं कि "सनी रास्ता" एमपीडी रिंग सेट है। हालांकि मेरे वितरण में, mpdboot एक पायथन लिपि है, इसलिए इसे देखना और यह देखना संभव है कि यह आपके लिए पर्याप्त सुरक्षित है या नहीं। यदि आप जिस क्लस्टर पर चल रहे हैं, वह संभवतः सुरक्षित है।

+2

+1।एमपीडी में आम तौर पर डिमन्स शुरू करने के लिए "साझा रहस्य" होता है, लेकिन यह सुरक्षा का एक बहुत ही कमजोर रूप है, जिसका उद्देश्य किसी और चीज की तुलना में आकस्मिक हस्तक्षेप को रोकने में अधिक है। –

संबंधित मुद्दे