क्या काम के लिए मेरी SSH सार्वजनिक कुंजी देना सुरक्षित है?


60

मैं वर्तमान में कई ऐसे संगठनों के लिए दूरस्थ रूप से काम करता हूं जिनकी मुझे रखरखाव और उन्नयन के लिए नियमित रूप से अपने सर्वर तक पहुंचने की आवश्यकता है। क्या यह मेरे लिए सुरक्षित है कि मैं अपने RSA सार्वजनिक SSH कुंजी को .ssh/authorized_keysफ़ाइल में जोड़ सकूँ ताकि मुझे पासवर्ड देखने की अनुमति के बिना बहुत तेज़ी से / लॉगिन कर सकें? मैं अनुमान के तहत काम करता हूं कि निजी कुंजी को सार्वजनिक से उत्पन्न करना असंभव होगा, लेकिन क्या मैं अपनी धारणा में सही हूं?

इसे एक कदम आगे बढ़ाते हुए, क्या इंटरनेट पर मेरी आरएसए सार्वजनिक कुंजी की सामग्री पोस्ट करने में कोई सुरक्षा जोखिम होगा? मुझे पता है कि अगर मेरी निजी कुंजी प्राप्त होती है, तो मैं बहुत परेशानी में हूं, लेकिन इसके अलावा, क्या कोई वास्तविक संभावित सुरक्षा खतरे हैं?


जवाबों:


77

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

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

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

एक सार्वजनिक कुंजी गोपनीयता जोखिम के एक तत्व का परिचय देती है: अगर कोई जानता है कि आपने ए को लॉग इन करने के लिए और बी में लॉग इन करने के लिए एक ही सार्वजनिक कुंजी का उपयोग किया है, तो वे जानते हैं कि ए और बी में लॉग इन किया हुआ एक ही व्यक्ति सार्वजनिक कुंजी रखता है। एक संदेह है कि आपके पास भी निजी कुंजी है, इसलिए आप कुछ असंगति खो देते हैं। लेकिन यह आमतौर पर मामूली है, खासकर यदि आप केवल उस कुंजी को स्टोर कर रहे हैं ~/.sshजिसमें केवल सिस्टम एडमिनिस्ट्रेटर (जो यह भी जानते हैं कि आपके द्वारा लॉग इन किया गया आईपी पता क्या है) इसे देख सकते हैं।

इन सुरक्षा कारणों से अलग, एक निजी कुंजी के कई व्यावहारिक फायदे हैं। आपको अपना पासवर्ड इतनी बार टाइप करने की आवश्यकता नहीं है, और विशेष रूप से स्वचालित स्क्रिप्ट चला सकते हैं जो आपको ssh- एजेंट या इस तरह अपनी कुंजी दर्ज करने के बाद तुरंत संकेत नहीं देते हैं। आपको अपना पासवर्ड इतनी बार टाइप करने की आवश्यकता नहीं है, इसलिए आप इसे उच्च-एन्ट्रापी (लंबे समय तक टाइप करने के लिए कठिन) बना सकते हैं। आपको अपना पासवर्ड बार-बार टाइप करने की आवश्यकता नहीं है, इसलिए यह कम जोखिम है कि इसे मानव पर्यवेक्षक या कैमरे द्वारा स्नूप किया जाएगा।


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

16

गिल्स का जवाब आम तौर पर अच्छा है, सिवाय

... विशेष रूप से यदि आप केवल कुंजी में जमा कर रहे हैं ~ /। जहां केवल सिस्टम प्रशासक (जो यह भी जानते हैं कि आपने किस आईपी पते से लॉग इन किया है) इसे देख सकते हैं।

इसमें आपकी ssh कीज़ को ~/.sshआपके अपने खाते के अंतर्गत चल रहे किसी सॉफ़्टवेयर द्वारा भी पढ़ा जा सकता है। जो आपके द्वारा चलाए जा रहे सॉफ़्टवेयर में से अधिकांश है। तो आपको उस सॉफ्टवेयर और इसे लिखने वालों पर भरोसा करना चाहिए।


2
आपको हमेशा इस कारण से एन्क्रिप्टेड SSH कुंजियों का उपयोग करना चाहिए
इटलीपेलएले
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.