2012-06-09 6 views
16

अधिकांश विकी लेख वर्णन करते हैं कि क्लाइंट ब्राउज़र सार्वजनिक कुंजी (प्रमाणपत्र) का उपयोग कैसे करता है संवेदनशील डेटा एन्क्रिप्ट करता है (जैसे उपयोगकर्ता नाम/पासवर्ड) और इस एन्क्रिप्टेड डेटा को सर्वर पर भेजें। सर्वर इसे डिक्रिप्ट करने के लिए निजी कुंजी का उपयोग करेगा। मुझे यह हिस्सा मिलता है। लेकिन कोई स्पष्ट जानकारी नहीं है कि सर्वर कैसे डेटा एन्क्रिप्ट करता है और ब्राउज़र पर वापस भेजता है।SSL सर्वर से क्लाइंट को डेटा कैसे एन्क्रिप्ट करता है?

उदाहरण के रूप में अपने ऑनलाइन बैंकिंग का उपयोग करें:

(0) मैं पहले ही अपनी ऑनलाइन बैंकिंग से स्वीकार कर लिया विश्वसनीय प्रमाणपत्र (सार्वजनिक कुंजी)।

(1) एसएसएल यूआरएल के माध्यम से, मेरे ब्राउज़र यात्रा https://myonlinebanking.com

(2) मैं उपयोगकर्ता नाम/पासवर्ड लॉगइन करने के लिए लिखा है। ये डेटा एन्क्रिप्टेड हैं, इसलिए मैन-इन-बीच केवल अर्थहीन डेटा देख सकता है।

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

बैंक अपने डेटा वापस भेजता है कैसे:

अब यहाँ मेरे सवाल कर रहे हैं? बैंक किस कुंजी से प्रतिक्रिया डेटा एन्क्रिप्ट करता है? यदि बैंक "सार्वजनिक कुंजी" से एन्क्रिप्ट किया गया है, तो मैन-इन-बीच इसे देख सकता है जैसा कि मैं इसे देख सकता हूं। तो मैन-इन-बीच में मेरा उपयोगकर्ता नाम/पासवर्ड नहीं पता है, लेकिन वह अब भी मेरा खाता शेष देख सकता है?

आपकी मदद के लिए धन्यवाद।

+1

यह ऑफ-विषय है। यदि आपके पास प्रोग्रामिंग प्रश्न हैं तो स्टैक ओवरफ्लो सही है। यदि आपके पास सुरक्षा या क्रिप्टोग्राफी प्रश्न हैं तो आपकी आवश्यकताओं के लिए एक स्टैक्सएक्सचेंज साइट है। आप उल्लेख नहीं करते कि आप कौन से विकी लेख पढ़ रहे हैं, लेकिन [टीएलएस पर विकिपीडिया लेख] (http://en.wikipedia.org/wiki/Transport_Layer_Security) निश्चित रूप से आपके प्रश्नों का उत्तर देता है। –

+0

@ सिमोन यह एकदम सही सवाल है जिसे मैं पूछना चाहता था (वास्तव में यह पूछे जाने वाले प्रश्न की तरह दिखता है)। लेकिन मुझे समझ में नहीं आया कि आपके द्वारा स्वीकार किए गए उत्तर में वास्तव में आपके प्रश्न का उत्तर दिया गया है "यदि बैंक" सार्वजनिक कुंजी "से एन्क्रिप्ट किया गया है, तो मैन-इन-बीच इसे देख सकता है जैसा कि मैं इसे देख सकता हूं। इसलिए मनुष्य-मध्य-मध्य ' मेरा उपयोगकर्ता नाम/पासवर्ड नहीं जानता, लेकिन वह अब भी मेरा खाता शेष देख सकता है? " यदि आप इसे सही मानते हैं, तो क्या आप उत्तर से निम्नलिखित कथन समझा सकते हैं? "आपका ब्राउजर जांचता है कि सर्टिफिकेट उस सटीक मेजबान से जुड़ा हुआ है जिस पर वह बात कर रहा है।" – Darshan

उत्तर

7

TLS handshake प्रक्रिया संभावित प्रक्रिया में असममित क्रिप्टोग्राफी का उपयोग कर (विवरण सटीक एल्गोरिदम कि क्लाइंट/सर्वर के बीच बातचीत के जरिए किया गया था पर निर्भर करते हैं) दोनों पक्षों के बीच एक सममित कुंजी सेट,। इस तरह, संचार दोनों तरीकों से एन्क्रिप्ट किया जाता है, न कि केवल एक तरफ।

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

+3

क्या आप कृपया विस्तार से बता सकते हैं कि टीएलएस हैंडशेक सर्वर प्रतिक्रिया को एन्क्रिप्ट कैसे करता है? और यदि ऐसा होता है, तो ग्राहक इसे कैसे डिक्रिप्ट करेगा? – supertonsky

6

आप कुछ गलत मान्यताओं है:

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

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

यह सब टीएलएस (ट्रांसपोर्ट लेयर सिक्योरिटी) हैंडशेक में है, जो इस लिंक here में बहुत अच्छी तरह से समझाया गया है।

+0

सत्र कुंजी कभी एन्क्रिप्ट नहीं की जाती है और इसे कभी नहीं भेजा जाता है। यह हमेशा बातचीत की जाती है। आरएफसी 2246 # 8.1। – EJP

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