SSH एन्क्रिप्शन कैसे काम करता है?


34

मैंने क्लाइंट होस्ट पर 2 कुंजी (निजी और सार्वजनिक) जेनरेट करने और सर्वर होस्ट पर सार्वजनिक कुंजी की प्रतिलिपि बनाने के बारे में पढ़ा है।

जैसा कि मैं इसे समझता हूं, (मुझे सही करें अगर मैं गलत हूं): सर्वर सार्वजनिक कुंजी के साथ डेटा एन्क्रिप्ट करता है और क्लाइंट को भेजता है, क्लाइंट इसे निजी कुंजी के साथ डिक्रिप्ट करता है।

लेकिन अगर मुझे सर्वर पर भेजने के लिए क्लाइंट पर डेटा एन्क्रिप्ट करने की आवश्यकता है, तो यह कैसे होता है?

सार्वजनिक कुंजी क्लाइंट पर डेटा एन्क्रिप्ट करती है? लेकिन सर्वर इसे कैसे डिक्रिप्ट कर सकता है, अगर इसमें केवल सार्वजनिक कुंजी है?

SSH एन्क्रिप्शन कैसे काम करता है?

जवाबों:


35

टीसीपी कनेक्शन स्थापित करने के बाद पहली बात, दोनों सिस्टम सत्र कुंजी पर सहमत होते हैं , डीएच प्रोटोकॉल , ईसीडीएच या जीएसटीआईआई जैसे प्रोटोकॉल का उपयोग करते हैं । यह कुंजी सममित और अस्थायी है - दोनों पक्ष एईएस या आरसी 4 जैसे एल्गोरिदम का उपयोग करके डेटा को एन्क्रिप्ट और डिक्रिप्ट करने के लिए एक ही कुंजी का उपयोग करते हैं ।

क्लाइंट कीपर का उपयोग कभी भी डेटा को एन्क्रिप्ट करने के लिए नहीं किया जाता है, केवल प्रमाणीकरण के लिए - "publickey" कई उपलब्ध तरीकों में से एक है, जहां ग्राहक निजी-कुंजी स्वामित्व के प्रमाण के साथ अपनी सार्वजनिक कुंजी प्रस्तुत करता है। इसी तरह, सर्वर कीपर का उपयोग केवल डीएच या ईसीडीएच कुंजी एक्सचेंजों के दौरान सर्वर को प्रमाणित करने के लिए किया जाता है; इसका उपयोग करके कोई डेटा एन्क्रिप्ट नहीं किया गया है।

SSH2 प्रोटोकॉल कई RFC में प्रलेखित है , जिसमें शामिल हैं:

  • RFC 4253 - सिक्योर शेल (SSH) ट्रांसपोर्ट लेयर प्रोटोकॉल
    • खंड 7 - "कुंजी विनिमय"
    • धारा 8 - "डिफी-हेलमैन की एक्सचेंज"
  • RFC 4419 - डिफी-हेलमैन ग्रुप एक्सचेंज
  • आरएफसी 4432 - आरएसए कुंजी विनिमय
  • RFC 4462 - GSSAPI प्रमाणीकरण और कुंजी विनिमय

13

पहली बात मुझे लगता है कि आपको समझने की आवश्यकता है कि एसएसएच और एसएसएल जैसे कई एन्क्रिप्शन प्रोटोकॉल प्रमाणीकरण उद्देश्यों के लिए पीकेआई का उपयोग करते हैं, इनमें से लगभग कोई भी सिस्टम वास्तव में पेलोड को संचारित करने के लिए पीकेआई का उपयोग नहीं करेगा।

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


2
आगे पढ़ने के लिए, यह मूल रूप से RFC4253 , पृष्ठ 15.
21

12

यहां कुछ व्यावहारिक उदाहरण दिए गए हैं, मान लें कि कुंजी A को गुप्त रखा गया था और उसके बाद निजी कुंजी है और Key B को सार्वजनिक रूप से सुलभ स्थान पर पोस्ट किया गया था और इसके लिए सार्वजनिक कुंजी है।

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

अब कहते हैं कि कोई आपको गुप्त संदेश भेजना चाहता है, लेकिन यह प्रकट नहीं करना चाहता कि वे कौन हैं। वे अपने संदेश को एक सममित कुंजी के साथ एन्क्रिप्ट कर सकते हैं (जैसा कि Zoredache उल्लिखित सममित करने के लिए बहुत सस्ता है) फिर उस कुंजी को ले लें और इसे कुंजी बी के साथ एन्क्रिप्ट करें और आपको भेजें। क्योंकि केवल कुंजी A ऐसी चीज़ को डिक्रिप्ट कर सकती है जिसे Key B के साथ एन्क्रिप्ट किया गया था कोई अन्य व्यक्ति यह नहीं देख सकता है कि आपके द्वारा भेजे गए संदेश में क्या है। यह सामान्य एन्क्रिप्शन कैसे काम करता है और SSH डेटा का आदान-प्रदान कैसे करता है।


3

यहाँ कैसे निजी सार्वजनिक कुंजी एन्क्रिप्शन काम करता है के पीछे गणित की एक अपेक्षाकृत सुलभ वर्णन है।

बीबीसी से एक और भी अधिक बुनियादी विवरण यहाँ है


मैंने बीबीसी को इस प्रक्रिया और इतिहास के बारे में बताते हुए एक नई कड़ी जोड़ी।
चोगिग

1

तुम लिखो

"सार्वजनिक कुंजी क्लाइंट पर डेटा को एन्क्रिप्ट करती है? लेकिन सर्वर कैसे इसे डिक्रिप्ट कर सकता है, अगर इसमें केवल सार्वजनिक कुंजी है?"

मैं इसके बारे में इतना नहीं जानता, लेकिन मुझे लगता है कि मैं इसका उत्तर स्पष्ट रूप से दे सकता हूं।

यदि A, B को संदेश भेजना चाहता है, A, B की सार्वजनिक कुंजी का उपयोग करता है। इस प्रकार B तब इसे डिक्रिप्ट करने में सक्षम है।

यदि A ने संदेश को एन्क्रिप्ट करने के लिए अपनी सार्वजनिक कुंजी का उपयोग किया है, तो वास्तव में, B इसे डिक्रिप्ट नहीं कर पाएगा।

यह यहाँ बताया गया है

http://www.comodo.com/resources/small-business/digital-certificates2.php

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