RSA, DSA और ECDSA कुंजियों के बीच क्या अंतर है जो ssh उपयोग करता है?


13

मेरी /etc/ssh/निर्देशिका में, मैं देख सकता हूँ कि मेरे पास तीन अलग-अलग प्रकार की ssh कुंजियाँ हैं:

-rw------- 1 root root    607 Oct  4 22:43 ssh_host_dsa_key
-rw-r--r-- 1 root root    623 Oct  4 22:43 ssh_host_dsa_key.pub
-rw------- 1 root root    241 Oct  4 22:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root    194 Oct  4 22:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root   1602 Oct  4 22:43 ssh_host_rsa_key
-rw-r--r-- 1 root root    378 Oct  4 22:43 ssh_host_rsa_key.pub

Ssh के RSA, DSA और ECDSA कुंजी के बीच क्या अंतर हैं, और क्या मुझे तीनों की आवश्यकता है?

जवाबों:


9

वे विभिन्न एन्क्रिप्शन एल्गोरिदम का उपयोग कर उत्पन्न की गई कुंजियाँ हैं। आप SSH का उपयोग करते समय एन्क्रिप्शन के विभिन्न रूपों का उपयोग करना चुन सकते हैं, कुछ हद तक वाईफाई (WPA2, WPA, WEP, आदि) के लिए अलग-अलग एन्क्रिप्शन विधियों को चुनने की क्षमता के समान है।

SSH सार्वजनिक कुंजी एन्क्रिप्शन का उपयोग करता है, जिसका अर्थ है कि जब आप SSH सर्वर से जुड़ते हैं तो यह एक सार्वजनिक कुंजी प्रसारित करता है जिसका उपयोग आप उस सर्वर पर भेजे जाने के लिए आगे ट्रैफ़िक एन्क्रिप्ट करने के लिए कर सकते हैं। यदि सर्वर को आरएसए का उपयोग करने के लिए कॉन्फ़िगर किया गया है तो यह आरएसए एल्गोरिथ्म द्वारा उत्पन्न एक कुंजी होगी।

आपका कंप्यूटर आपके प्रश्न में सूचीबद्ध कुंजी फ़ाइल से अपनी सार्वजनिक RSA कुंजी वापस भेजता है। सर्वर को इस कुंजी की जरूरत है कि वह आपसे वापस जुड़े और जवाब दे।

आपके कंप्यूटर पर सभी तीन कुंजियाँ मौजूद हैं क्योंकि आपके द्वारा दिए जा रहे किसी भी SSH सर्वर को इनमें से किसी भी एल्गोरिदम का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है। आपका कंप्यूटर सर्वर द्वारा उपयोग किए जाने वाले प्रकार से मेल खाते एक अद्वितीय कुंजी को वापस भेज देगा, आपकी कुंजी आपके कंप्यूटर पर उसी एल्गोरिदम द्वारा उत्पन्न की गई है।

यहाँ कुछ और संसाधन हैं:

/security/5096/rsa-vs-dsa-for-ssh-authentication-keys

http://en.wikipedia.org/wiki/Public-key_cryptography

http://en.wikipedia.org/wiki/RSA_(algorithm)

http://en.wikipedia.org/wiki/Digital_Signature_Algorithm

http://en.wikipedia.org/wiki/Elliptic_Curve_DSA


2
आपने संक्षेप में इस बारे में बात की कि तीनों क्यों हैं, एक ssh कुंजी का उद्देश्य क्या है, और कुंजियों में क्या समान है: कुंजी एन्क्रिप्शन एल्गोरिदम का उपयोग करती हैं। आरएसए, डीएसए और ईसीडीएसए कुंजी के बीच अंतर क्या है, इसके बारे में आपने क्या बात नहीं की।
एनकाउमी

6

क्या आपको उन सभी की आवश्यकता है?
नहीं, आपके ssh सर्वर को केवल एक की आवश्यकता है और क्लाइंट को केवल ssh कनेक्शन के लिए एक प्रकार की कुंजी का समर्थन करने की आवश्यकता है।


RSA, DSA, ECDSA, EdDSA, और Ed25519 सभी डिजिटल हस्ताक्षर के लिए उपयोग किए जाते हैं, लेकिन केवल RSA का उपयोग एन्क्रिप्ट करने के लिए भी किया जा सकता है।

RSA ( रिवेस्ट-शमीर-एडलमैन ) पहले सार्वजनिक-कुंजी क्रिप्टो सिस्टम में से एक है और व्यापक रूप से सुरक्षित डेटा ट्रांसमिशन के लिए उपयोग किया जाता है। यह सुरक्षा पूर्णांक कारक पर निर्भर करती है , इसलिए एक सुरक्षित आरएनजी (रैंडम नंबर जेनरेटर) की कभी आवश्यकता नहीं होती है। डीएसए की तुलना में, आरएसए हस्ताक्षर सत्यापन के लिए तेज़ है लेकिन पीढ़ी के लिए धीमा है।

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

ECDSA ( अण्डाकार वक्र डिजिटल सिग्नेचर एल्गोरिथम ) DSA (डिजिटल सिग्नेचर एल्गोरिथम) का एक अण्डाकार वक्र कार्यान्वयन है। एलिप्टिक वक्र क्रिप्टोग्राफी आरएसए के समान सुरक्षा स्तर को एक छोटी सी कुंजी के साथ प्रदान करने में सक्षम है। यह खराब आरएनजी के प्रति संवेदनशील होने के डीएसए के नुकसान को भी साझा करता है।

एडीडीएसए ( एडवर्ड्स-कर्व डिजिटल सिग्नेचर एलगोरिदम ) एक डिजिटल सिग्नेचर स्कीम है जिसमें ट्विस्टेड एडवर्ड्स कर्व्स के आधार पर स्चेनोर सिग्नेचर के एक संस्करण का उपयोग किया गया है । एडीडीएसए में हस्ताक्षर निर्माण नियतात्मक है और इसकी सुरक्षा कुछ असतत लघुगणक समस्याओं की सहजता पर आधारित है, इसलिए यह डीएसए और ईसीडीएसए की तुलना में अधिक सुरक्षित है जिसमें प्रत्येक और प्रत्येक हस्ताक्षर के लिए उच्च गुणवत्ता की यादृच्छिकता की आवश्यकता होती है।

Ed25519 , EdDSA हस्ताक्षर योजना है, लेकिन SHA-512/256 और Curve25519 का उपयोग करके ; यह एक सुरक्षित अण्डाकार वक्र है जो डीएसए, ईसीडीएसए, और एडीडीएसए की तुलना में बेहतर सुरक्षा प्रदान करता है , साथ ही बेहतर प्रदर्शन (मानवीय रूप से ध्यान देने योग्य नहीं) है।


अन्य नोट
आरएसए कीज सबसे व्यापक रूप से उपयोग की जाती हैं, और इसलिए सबसे अच्छा समर्थित लगती हैं।

ECDSA, ( ओपनएसएसएच v5.7 में पेश किया गया ), डीएसए की तुलना में कम्प्यूटेशनल रूप से हल्का है, लेकिन अंतर तब तक ध्यान देने योग्य नहीं है जब तक आपके पास बहुत कम प्रोसेसिंग पावर वाली मशीन न हो।

OpenSSH 7.0 के रूप में , SSH डिफ़ॉल्ट रूप से DSA कुंजियों (ssh-dss) का समर्थन नहीं करता है। SSH मानक (RFC 4251 और उसके बाद) के अनुसार एक DSA कुंजी हर जगह काम करती थी।

Ed25519 को ओपनएसएसएच 6.5 में पेश किया गया था ।


1
कि EdDSA या है ECDSA ?
मुरु

@ मुरू इट्स ईसीडीएसए। मैं हालांकि दोनों के बारे में जानकारी के साथ उत्तर को अपडेट करूंगा और लिंक को ठीक करूंगा।
एनकाउमी

एडीडीएसए ओपनएसएसएच में पेश किए जाने पर मुझे जो नहीं मिला वह था।
एनकाउमी

क्या क्वांटम कंप्यूटर उन सभी को तोड़ सकता है?
Kjeld Flarup

@KjeldFlarup, हाँ; सुरक्षा .stackexchange.com/questions/211587/… पर उत्तर और टिप्पणियों के आधार पर , एक क्वांटम कंप्यूटर सभी को तोड़ सकता है।
एनकाउमी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.