क्या एक दूसरे की तुलना में अधिक सुरक्षित है?
जवाबों:
id_rsa.pub
और id_dsa.pub
के लिए सार्वजनिक चाबियाँ हैं id_rsa
और id_dsa
।
आप के संबंध में पूछ रहे हैं, तो SSH
, id_rsa
एक है आरएसए कुंजी है, जबकि और SSH प्रोटोकॉल 1 या 2 के साथ इस्तेमाल किया जा सकता id_dsa
एक है DSA कुंजी और केवल 2. SSH प्रोटोकॉल के साथ इस्तेमाल किया जा सकता दोनों बहुत सुरक्षित हैं, लेकिन DSA होने लगते है इन दिनों मानक (आपके सभी क्लाइंट / सर्वर एसएसएच 2 का समर्थन करते हैं)।
अद्यतन: चूंकि यह लिखा गया था कि डीएसए को असुरक्षित दिखाया गया है। अधिक जानकारी नीचे दिए गए उत्तर में उपलब्ध है।
SSH सार्वजनिक / निजी कुंजी जोड़े का उपयोग करता है , इसलिए
id_rsa
आपकी RSA निजी कुंजी (अभाज्य संख्याओं के आधार पर) है, जो आपकी id_dsa
DSA निजी कुंजी (घातांक के आधार पर) से अधिक सुरक्षित है । अपनी निजी कुंजियों को सुरक्षित रखें और अपनी id_rsa.pub
और id_dsa.pub
सार्वजनिक कुंजी को व्यापक रूप से साझा करें ।
यदि आपके कंप्यूटर का रैंडम नंबर जनरेटर सब बराबर है, तो DSA का अनुमान लगाने योग्य पैरामीटर है, जो आपकी गुप्त कुंजी को प्रकट करेगा। ECDSA (DSA का अण्डाकार वक्र उन्नयन) समान रूप से कमजोर है । यहां तक कि अच्छे यादृच्छिक संख्याओं के साथ, डीएसए में अन्य ताकत चिंताएं हैं (ये डिफी-हेलमैन में भी पाए जाते हैं )।
ओपनएसएसएच 1024 बिट कुंजी ( वर्कअराउंड ) असुरक्षित बनाता है और अब डीएसए को डिफ़ॉल्ट रूप से अक्षम करता है ।
अण्डाकार वक्र क्रिप्टोग्राफी छोटे प्रमुख आकारों के साथ बढ़ी हुई जटिलता प्रदान करती है। Ed25519 ( प्लेन- मॉडलेड अण्डाकार वक्रों की जटिलता के आधार पर ) को ध्यान में रखने की कमी के कारण पसंदीदा कार्यान्वयन है (लीक दस्तावेजों से पता चलता है कि यूएस एनएसए क्रिप्टो मानकों को कमजोर करता है )।
दुर्भाग्य से, Ed25519 अभी भी नया है, ओपनएसएसएच 6.5 या ग्नूपीजी 2.1 की आवश्यकता है ( पूरी सूची देखें )।
4096 बिट्स के आरएसए प्रमुख आकारों में एड25519 की तुलनात्मक जटिलता होनी चाहिए।
Ed25519 को अभी भी RSA के लिए पसंद किया जाता है एक चिंता के कारण कि RSA DSA जैसी ही ताकत की चिंताओं के लिए असुरक्षित हो सकता है, हालांकि RSA के लिए उस कारनामे को लागू करना काफी कठिन होने की उम्मीद है।
हां, rsa को अधिक सुरक्षित माना जाता है।
अक्टूबर 2014 में, OpenSSH 7 (Ubuntu 16.04LTS के साथ डिफ़ॉल्ट) ने DSA के लिए डिफ़ॉल्ट समर्थन अक्षम कर दिया है। इसे एक मजबूत संकेत के रूप में लें कि डीएसए अब अनुशंसित विधि नहीं है।
https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html
rsa को अधिक सुरक्षित माना जाता है।
अब नहीं (मई 2020, दस साल बाद), ओपनएसएसएच 8.2 के साथ , जैसा कि जूलियो द्वारा रिपोर्ट किया गया है
भविष्य में पदावनति सूचना
यह अब संभव है 1 अमरीकी डालर $ 50K से कम के लिए SHA-1 हैश एल्गोरिथ्म के खिलाफ चुना-उपसर्ग हमला करने की।
इस कारण से, हम "ssh-rsa" सार्वजनिक कुंजी हस्ताक्षर एल्गोरिथ्म को अक्षम कर देंगे जो निकट भविष्य में रिलीज़ में SHA-1 पर डिफ़ॉल्ट रूप से निर्भर करता है ।
(देखें " SHA-1 एक शामल है: SHA-1 पर पहला चुना-उपसर्ग टकराव और PGP वेब ऑफ़ ट्रस्ट के लिए आवेदन " Leurent, G और Peyrin, T (2020)
यह एल्गोरिथ्म दुर्भाग्य से अभी भी व्यापक रूप से बेहतर विकल्प के अस्तित्व के बावजूद उपयोग किया जाता है, मूल SSH MFC द्वारा निर्दिष्ट एकमात्र सार्वजनिक कुंजी हस्ताक्षर एल्गोरिथ्म होने के नाते।
बेहतर विकल्पों में शामिल हैं:
RFC8332 RSA SHA-2 हस्ताक्षर एल्गोरिदम rsa-sha2-256 / 512।
इन एल्गोरिदम में "ssh-rsa
" के समान कुंजी का उपयोग करने का लाभ है , लेकिन सुरक्षित SHA-2 हैश एल्गोरिदम का उपयोग करें।
ये OpenSSH 7.2 के बाद से समर्थित हैं और पहले से ही डिफ़ॉल्ट रूप से उपयोग किए जाते हैं यदि क्लाइंट और सर्वर उनका समर्थन करते हैं।Ssh-ed25519 हस्ताक्षर एल्गोरिथ्म।
6.5 रिलीज के बाद से ओपनएसएसएच में इसका समर्थन किया गया है।RFC5656 ECDSA एल्गोरिदम: ecdsa-sha2-nistp256 / 384/521।
5.7 जारी करने के बाद से इन्हें ओपनएसएसएच द्वारा समर्थित किया गया है।यह देखने के लिए कि क्या कोई सर्वर होस्ट प्रमाणीकरण के लिए कमजोर ssh-rsa सार्वजनिक कुंजी एल्गोरिथ्म का उपयोग कर रहा है, हटाने के बाद इसे कनेक्ट करने का प्रयास करें
ssh-rsa
है, ssh (1) की अनुमत सूची से एल्गोरिथ्म :ssh -oHostKeyAlgorithms=-ssh-rsa user@host
यदि होस्ट कुंजी सत्यापन विफल रहता है और कोई अन्य समर्थित होस्ट कुंजी प्रकार उपलब्ध नहीं हैं, तो उस होस्ट के सर्वर सॉफ़्टवेयर को अपग्रेड किया जाना चाहिए।
OpenSSH की भविष्य में रिलीज़
UpdateHostKeys
डिफ़ॉल्ट रूप से क्लाइंट को बेहतर एल्गोरिदम में स्वचालित रूप से माइग्रेट करने की अनुमति देने में सक्षम होगी ।
उपयोगकर्ता इस विकल्प को मैन्युअल रूप से सक्षम करने पर विचार कर सकते हैं ।