एसएसएल और टीएलएस के बीच सटीक प्रोटोकॉल स्तर अंतर क्या हैं?


40

इस अवलोकन प्रश्न के पूछे जाने के बाद यह एक तकनीकी गहरा गोता है ।

एसएसएल और टीएलएस के बीच प्रोटोकॉल अंतर क्या हैं?
क्या वास्तव में एक नाम परिवर्तन को वारंट करने के लिए पर्याप्त अंतर है? (टीएलएस के नए संस्करणों के लिए इसे "एसएसएलवी 4" या एसएसएलवी 5 कहा जाता है)


3
मुझे संदेह है कि यदि आप वास्तव में गहराई से समझना चाहते हैं तो आपको चश्मा पढ़ना शुरू करना होगा। की जाँच करें विकि पृष्ठ । इसमें RFC और स्पेक्स के लिंक शामिल हैं।
ज़ॉडेचेस

7
@Zoredache, कृपया "विकिपीडिया" के लिए "विकि" का उपयोग न करें।
स्पाइ

जवाबों:


36

SSLv2 और SSLv3 पूरी तरह से अलग हैं (और दोनों को अब असुरक्षित माना जाता है)। SSLv3 और TLSv1.0 बहुत समान हैं, लेकिन कुछ अंतर हैं।

आप TLSv1.0 को SSLv3.1 मान सकते हैं (वास्तव में एक्सचेंजों के रिकॉर्ड में ऐसा ही होता है)। यह तुलना करने के लिए सिर्फ आसान है TLSv1.0 साथ TLSv1.1 और TLSv1.2 क्योंकि वे सब IETF भीतर संपादित किया गया है और अधिक या कम एक ही संरचना का पालन करें। SSLv3 को एक अलग संस्था (नेटस्केप) द्वारा संपादित किया जा रहा है, इससे मतभेदों का पता लगाना थोड़ा मुश्किल हो जाता है।

यहाँ कुछ अंतर हैं, लेकिन मुझे संदेह है कि मैं उन सभी को सूचीबद्ध कर सकता हूं:

  • में ClientHelloसंदेश (पहला संदेश ग्राहक द्वारा भेजे गए, हाथ मिलाना आरंभ करने के लिए), संस्करण है {3,0}SSLv3 के लिए, {3,1}TLSv1.0 के लिए और {3,2}TLSv1.1 के लिए।
  • ClientKeyExchangeअलग है।
  • MAC / HMAC भिन्न होता है (TLS HMAC का उपयोग करता है जबकि SSL HMAC के पुराने संस्करण का उपयोग करता है)।
  • मुख्य व्युत्पत्ति भिन्न होती है।
  • FinishedSSLv3 में SSL / TLS संदेश भेजने के बाद क्लाइंट एप्लिकेशन डेटा को सीधे भेजा जा सकता है । TLSv1 में, इसे सर्वर के Finishedसंदेश का इंतजार करना चाहिए ।
  • सिफ़र सुइट की सूची अलग (और उनमें से कुछ से नाम दिया गया है SSL_*करने के लिए TLS_*, एक ही आईडी नंबर रखते हुए)।
  • नए पुन: बातचीत विस्तार के संबंध में भी मतभेद हैं ।

यदि आप वास्तव में अधिक जानकारी चाहते हैं, तो मैं एरिक रेस्कॉर्ला की पुस्तक - एसएसएल और टीएलएस: डिजाइनिंग एंड बिल्डिंग सिक्योर सिस्टम्स , एडिसन-वेस्ले, 2001 आईएसबीएन 0-201-61598-3 की सिफारिश करूंगा । मैंने इस पुस्तक में ऊपर वर्णित कुछ बिंदुओं के बारे में सीखा है। लेखक एसएसएल / टीएलएस संदेश में से कुछ को समझाते समय एसएसएलवी 3 और टीएलएस (केवल उस समय किताब लिखी गई थी) के बीच के अंतरों का उल्लेख करता है, लेकिन आपको इन संदेशों को समझने के लिए पृष्ठभूमि के स्पष्टीकरण की आवश्यकता होती है ( और यहां इस पुस्तक से कॉपी / पेस्ट करना उचित नहीं है)।


ऐसा लगता है कि TLS एक्सटेंशन केवल TLS पर लागू होता है और SSL नहीं, सही है? इसलिए, उदाहरण के लिए, टीएलएस ग्राहक एक विस्तारित ' ClientHello' रिकॉर्ड भेज सकते हैं , जबकि एसएसएल 3-केवल ग्राहक केवल मूल ' ClientHello' भेजेंगे ।
culix

@culix, आम तौर पर बोलना, यह वास्तव में सही है (मुख्यतः क्योंकि TLS एक्सटेंशन IETF के ढांचे में परिभाषित हैं)। SSLv3 अपने क्लाइंटहेलो रिकॉर्ड (TLS 1.0 और 1.1 के समान) में अतिरिक्त डेटा रखने में सक्षम था। (देखें draft302.txtऔर " आगे संगतता के हितों में ... ", टीएलएस चश्मा में खंड 7.4.1.2 के साथ तुलना करें)। इसका समर्थन नहीं करने वाले स्टैक का सामना करने के लिए, पुनर्मूल्यांकन विस्तार में SCSV छद्म सिफर-सूट जैसे वर्कअराउंड भी हैं।
ब्रूनो

@ ब्रूनो, बुक लिंक डाउन .....
पचेरियर

4

मैं सिर्फ अन्य उत्तरों को प्रतिध्वनित करूंगा लेकिन शायद थोड़े अलग जोर के साथ।

एक सुरक्षित सॉकेट प्रोटोकॉल था जो नेटस्केप द्वारा "स्वामित्व" था जिसे एसएसएल संस्करण कहा जाता था 2. एक अलग रिकॉर्ड संरचना और सुरक्षा सुधार के साथ एक नया संस्करण भी नेटस्केप द्वारा "स्वामित्व" जारी किया गया था और एसएसएल संस्करण 3 कहा जाता था। प्रोटोकॉल के अंदर कई में स्थान एक द्विआधारी संस्करण संख्या क्षेत्र है। एसएसएल संस्करण 3 के लिए, यह फ़ील्ड 0x03 0x00, अर्थात संस्करण 3.0 पर सेट है। तब IETF ने अपना मानक बनाने का फैसला किया। संभवतः क्योंकि एसएसएल के बारे में कुछ बौद्धिक संपदा अनिश्चितताएं थीं, जिसमें "एसएसटी" एक नेटस्केप ट्रेडमार्क था, जब आईईटीएफ ने इस प्रोटोकॉल के अगले संस्करण को जारी किया, तो उन्होंने इसे अपना नाम दिया: ट्रांसपोर्ट लेयर सिक्योरिटी प्रोटोकॉल, या टीएलएस संस्करण 1.0। रिकॉर्ड प्रारूप और समग्र संरचना SSL v3 के समान और सुसंगत है। द्विआधारी संस्करण संख्या को 0x03 0x01 में पुनर्जीवित किया गया था, और जैसा कि अन्य ने उल्लेख किया है कि कुछ छोटे क्रिप्टो परिवर्तन थे। तब से टीएलएस संस्करण 1.1 और 1.2 है, जिसके लिए आंतरिक प्रोटोकॉल संख्या 0x03 0x02 और 0x03 0x03 हैं।

SSLv2 को नजरअंदाज करते हुए, यह मूल रूप से सामान्य प्रोटोकॉल फाइन-ट्यूनिंग के साथ एक नाम परिवर्तन था जो ऐसा होता है जैसे लोग सुरक्षा और प्रदर्शन के बारे में होशियार हो जाते हैं।


3

मौलिक रूप से, यह प्रोटोकॉल के एक नए संस्करण के लिए एक नाम बदलने के अलावा कुछ भी नहीं है। मेरा मानना ​​है कि इसका मुख्य कारण नेटस्केप द्वारा मुख्य रूप से डिजाइन किए गए पुराने, अनौपचारिक मानक से इसे अलग करना था क्योंकि यह एक आधिकारिक IETF मानक ट्रैक प्रोटोकॉल बन गया था।

जैसा कि आपके पहले प्रश्न के उत्तर में कहा गया था, इसका मतलब यह नहीं है कि SSLv3 और TLSv1.0 संगत हैं। RFC 2246 से उद्धृत:

इस प्रोटोकॉल और एसएसएल 3.0 के बीच अंतर नाटकीय नहीं हैं, लेकिन वे काफी महत्वपूर्ण हैं कि टीएलएस 1.0 और एसएसएल 3.0 आपस में मेल नहीं खाते हैं।

मुझे लगता है कि यदि आप वास्तव में प्रोटोकॉल में सटीक अंतर जानना चाहते हैं, तो आपको मानकों को पढ़ना चाहिए और अपनी तुलना करनी चाहिए।

Netscape TLSv1.0 RFC 2246 से SSLv3 प्रोटोकॉल ड्राफ्ट


@ SvenW मैं अपने लिए तुलना करूंगा लेकिन यह एक बड़ी चुनौती है, मुझे यकीन नहीं है कि मैं इसे शुरू करना चाहता हूं। यह मानक अब लगभग 10 साल से है। निश्चित रूप से किसी ने पहले से ही तुलना की, सुंदर ग्राफिक्स के साथ ताकि मेरे जैसे लोग इसे समझ सकें।
goodguys_activate 1:10

@ MakerOfThings7 दुर्भाग्य से यह प्रश्न कुछ ऐसा नहीं है जिसे पाई-चार्ट तक उबाला जा सके। केवल एक चीज जिसे चार्ट पर रखा जा सकता है, वह है एन्क्रिप्शन बिट-रेट्स (या मैं यहां स्ट्रेच कर रहा हूं) दी गई सुरक्षा का स्तर (जहां एसएसएलवी 3 है "-" और टीएलएस "=" है ...) केवल अंतर्दृष्टि है प्राप्त किया जा सकता है वास्तव में चश्मा पढ़कर, या कम से कम विकिपीडिया पृष्ठ (जो मैंने पिछले प्रश्न में आपको प्रदान किया था।)
gWaldo

@SvenW क्या आपने दोनों चश्मा खुद पढ़ा और समझा है?
goodguys_activate 11

नहीं। मैं ही क्यों? मैं इस विनिर्देशन के खिलाफ एक डेवलपर लेखन सॉफ्टवेयर नहीं हूं, जो कि ऐसा करने का एकमात्र कारण है जिसके बारे में मैं सोच सकता हूं। यदि मुझे एसएसएल / टीएलएस का उपयोग करने की आवश्यकता है, तो मैं ओपनएसएसएल आदि के लिए डॉक्टर पढ़ता हूं, जो उपयोगकर्ताओं और प्रशासकों के लिए पर्याप्त है।
स्वेन

@SvenW कोई अपराध नहीं है, लेकिन मैं इसे तब तक खुला रखूंगा जब तक कि मुझे किसी ऐसे व्यक्ति से प्रतिक्रिया नहीं मिल जाती है जो चश्मा पढ़ता और समझता है ... जो कि मेरा प्रश्न है।
goodguys_activate

0

एन्क्रिप्शन प्रोटोकॉल SSL को अब TLS नाम दिया गया है, जिसके परिणामस्वरूप एक ही प्रोटोकॉल के दो नाम हैं। वर्तमान सॉफ़्टवेयर स्वचालित रूप से TLS संस्करण 1 या SSL संस्करण 3 पर बातचीत करेगा। दूसरी ओर, मनुष्यों को आधिकारिक टीएलएस पदनाम बनाम अधिक पहचानने योग्य एसएसएल शब्द का उपयोग करने के बीच फैसला करना होगा।

SSL TLS का पूर्ववर्ती है।

TLS और SSL ट्रांसपोर्ट लेयर पर सुरक्षित अंत-टू-एंड पारगमन सुनिश्चित करने के लिए एप्लीकेशन लेयर पर नेटवर्क कनेक्शन के सेगमेंट को एन्क्रिप्ट करते हैं।


तो यह एक नाम परिवर्तन है? बस?
goodguys_activate

हाँ TLS नया संस्करण है, यदि आवश्यक हो तो TLS स्वयं को SSL3 में बदल सकता है।
aleroot

3
नहीं, यह काफी नाम परिवर्तन नहीं है। TLSv1 SSLv3 (और कमबैक) के साथ इंटरऑपरेबल है, लेकिन यह जरूरी नहीं है कि दूसरे तरीके से सही हो। TLSv1 SSLv4 की तरह है। नोट: टीएलएस के भी कई संस्करण हैं।
फिलिप रेनॉल्ड्स

-2

अंतर:

  • टीएलएस एक मानक प्रोटोकॉल के शीर्ष पर चलता है। टीएलएस कनेक्शन एक मानक सेवा के अनएन्क्रिप्टेड सत्र की तरह शुरू होता है, लेकिन कुछ बिंदु पर वे एन्क्रिप्शन पर बातचीत करना शुरू करते हैं। इस वार्ता के लिए मानक प्रोटोकॉल का विस्तार करने की आवश्यकता है।
  • SSL के ऊपर मानक प्रोटोकॉल चलते हैं। एक SSL कनेक्शन पहले एन्क्रिप्शन पर बातचीत करता है, फिर उसके ऊपर बेसिक प्रोटोकॉल चलाएं।

यह सही नहीं है, आप एसएसएल / टीएलएस से शुरू करने और टीएलएस पर स्विच करने के बीच अंतर के बारे में बात कर रहे हैं जैसे कि STARTTLS: stackoverflow.com/questions/3660798/…
ब्रूनो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.