2010-10-14 13 views
9

दौरान सममित कुंजी उत्पन्न करता है मैं एक ठेठ https वेब परिदृश्य में ब्राउज़र और सर्वर के बीच एसएसएल हाथ मिलाना पर एक छोटा सा भ्रम है:कैसे ब्राउज़र के SSL हाथ मिलाना

मैं अब तक क्या समझ लिया है है कि SSL हाथ मिलाना करने की प्रक्रिया में, क्लाइंट (इस मामले में ब्राउज़र) सार्वजनिक कुंजी (सर्वर से प्राप्त प्रमाण पत्र) के साथ यादृच्छिक रूप से चयनित सममित कुंजी को एन्क्रिप्ट करता है। यह सर्वर पर वापस भेजा जाता है, सर्वर निजी कुंजी के साथ इसे (सममित कुंजी) डिक्रिप्ट करता है। इस सममित कुंजी को अब दोनों सत्रों में संदेशों को एन्क्रिप्ट/डिक्रिप्ट करने के लिए शेष सत्र के दौरान उपयोग किया जाता है। ऐसा करने के मुख्य कारणों में से एक को सममित कुंजी का उपयोग करके तेज़ एन्क्रिप्शन के रूप में दिया जाता है।

प्रश्न 1) कैसे ब्राउज़र लेने और इस "बेतरतीब ढंग से" चयनित सममित कुंजी उत्पन्न करता है?

2) डेवलपर्स (या/और ब्राउज़र उपयोगकर्ताओं) को सममित कुंजी बनाने के इस तंत्र पर नियंत्रण है?

+0

क्लाइंट सत्र कुंजी उत्पन्न नहीं करता है; इसे एन्क्रिप्ट नहीं करता है; और इसे प्रेषित नहीं करता है। सत्र कुंजी एक महत्वपूर्ण समझौते प्रोटोकॉल के माध्यम से ली गई है। आपका विवरण मूल रूप से गलत है। आपका प्रश्न झूठी धारणा पर स्थापित किया गया है। – EJP

उत्तर

8

Here एचटीटीपीएस कनेक्शन प्रतिष्ठान कैसे काम करता है इसका एक बहुत अच्छा विवरण है। मैं कैसे सत्र कुंजी दोनों दलों (क्लाइंट और सर्वर), इस प्रक्रिया के रूप में "एक महत्वपूर्ण समझौते प्रोटोकॉल" में जाना जाता है के द्वारा प्राप्त किया जाता है सारांश प्रदान करेगा, इसे यहाँ कैसे काम करता है:

  1. ग्राहक 48 बाइट "पूर्व उत्पन्न करता है मास्टर गुप्त "यादृच्छिक मूल्य।
  2. क्लाइंट 128 बाइट्स के बराबर इनपुट बनाने के लिए यादृच्छिक डेटा के साथ इन बाइट्स को पैड करता है।
  3. ग्राहक इसे सर्वर की सार्वजनिक कुंजी से एन्क्रिप्ट करता है और इसे सर्वर पर भेजता है।
  4. तब गुरु कुंजी निम्नलिखित तरीके से दोनों दलों के द्वारा निर्मित है:

    master_secret = PRF(
        pre_master_secret, 
        "master secret", 
        ClientHello.random + ServerHello.random 
    ) 
    

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

इस प्रक्रिया के बाद, हम 48 बाइट "मास्टर गुप्त" प्राप्त करते हैं।

+0

क्लाइंट सत्र कुंजी उत्पन्न नहीं करता है; इसे एन्क्रिप्ट नहीं करता है; और इसे प्रेषित नहीं करता है। सत्र कुंजी एक महत्वपूर्ण समझौते प्रोटोकॉल के माध्यम से ली गई है। – EJP

+0

@EJP आप सही हैं, मेरा जवाब पूरी तरह से गलत था, मैंने इसे फिर से लिखा। कृपया इसे जांचें और मुझे बताएं कि क्या आपको लगता है कि यह अब बेहतर है। – Andrey

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