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


यह एक तकनीकी गहरी गोताखोरी के बाद है यह अवलोकन सवाल पूछा गया था।

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


38
2017-09-06 20:10


मूल


मुझे संदेह है कि क्या आप वास्तव में गहराई से समझना चाहते हैं कि आपको चश्मा पढ़ने शुरू करना होगा। इसकी जाँच पड़ताल करो विकी पेज। इसमें आरएफसी और चश्मे के लिंक शामिल हैं। - Zoredache
@Zoredache, कृपया "विकी" के लिए कम से कम "विकी" का उपयोग न करें। - Spiff


जवाब:


एसएसएलवी 2 और एसएसएलवी 3 पूरी तरह से अलग हैं (और अब दोनों को असुरक्षित माना जाता है)। एसएसएलवी 3 और टीएलएसवी 1.0 बहुत समान हैं, लेकिन कुछ मतभेद हैं।

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

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

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

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


35
2017-09-08 11:15



ऐसा लगता है टीएलएस एक्सटेंशन केवल टीएलएस पर लागू करें और एसएसएल नहीं, सही? तो, उदाहरण के लिए, टीएलएस क्लाइंट एक विस्तारित 'ClientHello'रिकॉर्ड, जबकि एसएसएल 3-केवल क्लाइंट केवल मूल'ClientHello'। - culix
@culix, आमतौर पर बोलते हुए, यह वास्तव में सही है (मुख्य रूप से क्योंकि टीएलएस एक्सटेंशन आईईटीएफ के ढांचे में परिभाषित हैं)। एसएसएलवी 3 अपने क्लाइंटहेल्लो रिकॉर्ड (टीएलएस 1.0 और 1.1 के समान) में अतिरिक्त डेटा भी प्राप्त करने में सक्षम था। (ढूंढें draft302.txt तथा "आगे संगतता के हित में ...", टीएलएस चश्मा में खंड 7.4.1.2 के साथ तुलना करें)। इसका समर्थन न करने वाले ढेर से निपटने के लिए, पुन: बातचीत विस्तार में एससीएसवी छद्म सिफर-सूट जैसे कामकाज भी हैं। - Bruno
@ ब्रूनो, बुक लिंक नीचे ..... - Pacerier


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

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

एसएसएलवी 2 को अनदेखा करते हुए, मूल रूप से सामान्य प्रोटोकॉल ठीक-ट्यूनिंग के साथ एक नाम परिवर्तन होता है जो लोगों को सुरक्षा और प्रदर्शन के बारे में समझदार होता है।


4
2017-09-09 00:46





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

जैसा कि आपके पिछले प्रश्न के उत्तर में कहा गया था, इसका मतलब यह नहीं है कि एसएसएलवी 3 और टीएलएसवी 1.0 संगत हैं। आरएफसी 2246 से उद्धरण:

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

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

नेटस्केप से एसएसएलवी 3 प्रोटोकॉल ड्राफ्ट टीएलएसवी 1.0 आरएफसी 2246


3
2017-09-06 20:41



@SvenW मैं अपने लिए तुलना करूंगा लेकिन यह एक बड़ी चुनौती है, मुझे यकीन नहीं है कि मैं कार्य करना चाहता हूं। यह मानक अब 10 वर्षों से आसपास रहा है। निश्चित रूप से किसी ने पहले से ही ग्राफिक्स के साथ तुलना की है ताकि मेरे जैसे लोग इसे समझ सकें। - random65537
@ MakerOfThings7 दुर्भाग्य से यह प्रश्न ऐसा कुछ नहीं है जिसे पाई-चार्ट पर उबाला जा सके। चार्ट पर रखी जाने वाली एकमात्र चीजें एन्क्रिप्शन बिट-रेट या (और मैं यहां खींच रहा हूं) सुरक्षा के स्तर (जहां एसएसएलवी 3 है "-" और टीएलएस "=" है ...) केवल एकमात्र अंतर्दृष्टि वास्तव में चश्मे, या कम से कम विकिपीडिया पेज (जो मैंने पिछले प्रश्न में आपको प्रदान किया था) पढ़कर प्राप्त किया जा सकता है। - gWaldo
@SvenW क्या आपने चश्मे दोनों को पढ़ और समझ लिया है? - random65537
नहीं। मैं ही क्यों? मैं इस विनिर्देश के खिलाफ डेवलपर लेखन सॉफ्टवेयर नहीं हूं, जो ऐसा करने का एकमात्र कारण है जिसके बारे में मैं सोच सकता हूं। अगर मुझे एसएसएल / टीएलएस का उपयोग करने की ज़रूरत है, तो मैंने ओपनएसएसएल आदि के लिए दस्तावेज़ पढ़ा है, जो उपयोगकर्ताओं और प्रशासकों के लिए पर्याप्त है। - Sven♦
@SvenW कोई अपराध नहीं है, लेकिन मैं इसे तब तक खुला रखूंगा जब तक कि मुझे चश्मे को पढ़ने और समझने वाले किसी व्यक्ति से प्रतिक्रिया प्राप्त न हो ... जो मेरे प्रश्न को उचित मानता है। - random65537


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

एसएसएल टीएलएस का पूर्ववर्ती है।

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


0
2017-09-06 20:16



तो यह एक नाम परिवर्तन है? बस? - random65537
हां टीएलएस नया संस्करण है, यदि आवश्यक हो तो टीएलएस खुद को एसएसएल 3 में बदल सकता है। - aleroot
नहीं, यह काफी नाम बदल नहीं है। टीएलएसवी 1 एसएसएलवी 3 (और फॉलबैक होगा) के साथ अंतःक्रियाशील है लेकिन यह जरूरी नहीं है कि दूसरी तरफ सही हो। टीएलएसवी 1 एसएसएलवी 4 की तरह है। नोट: टीएलएस के कई संस्करण भी हैं। - Philip Reynolds


अंतर:

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

-2
2017-09-09 00:53



यह सही नहीं है, आप एसएसएल / टीएलएस के साथ शुरू करने और STARTTLS जैसे कमांड के माध्यम से प्रोटोकॉल के भीतर टीएलएस पर स्विच करने के बीच अंतर की बात कर रहे हैं: stackoverflow.com/questions/3660798/... - Bruno