उत्तर कुछ हद तक इस बात पर निर्भर करता है कि आपको "सुरक्षित" से क्या मतलब है।
सबसे पहले, आपके सारांश में SSL / TLS और STARTTLS के बीच का अंतर नहीं है।
- एसएसएल / टीएलएस के साथ, क्लाइंट एक "टीसीपी कनेक्शन" के लिए टीसीपी कनेक्शन खोलता है जिसे उस एप्लिकेशन प्रोटोकॉल को सौंपा जाता है जिसे वह उपयोग करना चाहता है, और तुरंत टीएलएस बोलना शुरू करता है।
- STARTTLS के साथ, क्लाइंट "क्लीयरटेक्स्ट पोर्ट" से एक टीसीपी कनेक्शन खोलता है जो एप्लिकेशन प्रोटोकॉल से जुड़ा होता है जिसे वह उपयोग करना चाहता है, फिर सर्वर से पूछता है "आप किस प्रोटोकॉल एक्सटेंशन का समर्थन करते हैं?"। सर्वर तब एक्सटेंशन की सूची के साथ प्रतिक्रिया करता है। यदि उन एक्सटेंशनों में से एक "STARTTLS" है, तो ग्राहक फिर "ठीक है, चलो TLS का उपयोग करें" और दोनों TLS बोलना शुरू कर सकते हैं।
यदि क्लाइंट को TLS की आवश्यकता के लिए कॉन्फ़िगर किया गया है, तो दो दृष्टिकोण अधिक-या-कम समान रूप से सुरक्षित हैं। लेकिन इसे सुरक्षित बनाने के लिए STARTTLS का उपयोग कैसे किया जाना चाहिए, इसके बारे में कुछ सूक्ष्मताएं हैं, और उन विवरणों को सही प्राप्त करने के लिए STARTTLS कार्यान्वयन के लिए यह थोड़ा कठिन है।
दूसरी ओर, यदि क्लाइंट टीएलएस उपलब्ध होने पर ही टीएलएस का उपयोग करने के लिए कॉन्फ़िगर किया गया है, और टीएलएस उपलब्ध नहीं होने पर क्लीयरटेक्स्ट का उपयोग करें, क्लाइंट जो कर सकता है वह पहले प्रोटोकॉल द्वारा उपयोग किए गए SSL पोर्ट से कनेक्ट करने का प्रयास करें, और यदि है तो विफल रहता है, तो क्लीयरटेक्स्ट पोर्ट से कनेक्ट करें और STARTTLS का उपयोग करने का प्रयास करें, और अंत में क्लीयरटेक्स पर वापस गिरें यदि टीएलएस दोनों ही स्थिति में उपलब्ध नहीं है। एक हमलावर के लिए SSL पोर्ट कनेक्शन को विफल करने के लिए यह काफी आसान है (यह सब लेता है कुछ अच्छी तरह से टीसीपी आरएसटी पैकेट या एसएसएल पोर्ट को अवरुद्ध करना है)। यह थोड़ा कठिन है - लेकिन केवल एक छोटा सा - एक हमलावर के लिए STARTTLS बातचीत को हराने के लिए और ट्रैफ़िक क्लियरटेक्स्ट में रहने का कारण बनता है। और फिर हमलावर को न केवल आपके ईमेल को पढ़ने के लिए, बल्कि भविष्य के उपयोग के लिए आपके उपयोगकर्ता नाम / पासवर्ड को पकड़ने के लिए भी मिलता है।
तो इसका सरल उत्तर यह है कि यदि आप एक ऐसे सर्वर से जुड़ रहे हैं, जिसे आप पहले से ही जानते हैं कि टीएलएस का समर्थन करता है (जैसा कि ईमेल भेजते समय या पढ़ते समय होना चाहिए), तो आपको एसएसएल / टीएलएस का उपयोग करना चाहिए। यदि कनेक्शन पर हमला किया जा रहा है, तो कनेक्शन का प्रयास विफल हो जाएगा, लेकिन आपका पासवर्ड और ईमेल समझौता नहीं किया जाएगा।
दूसरी ओर, यदि आप किसी ऐसी सेवा से जुड़ रहे हैं, जिसे आप नहीं जानते हैं कि वह टीएलएस का समर्थन करती है, तो STARTTLS थोड़ा बेहतर हो सकता है।
जब STARTTLS का आविष्कार किया गया था, तो "निष्क्रिय" सुनने वाले केवल हमले बहुत आम थे, "सक्रिय" हमले जिसमें हमलावर कम सुरक्षा के प्रयास करने के लिए ट्रैफ़िक को इंजेक्ट करेंगे, कम आम थे। तब से 20 या इतने वर्षों में, सक्रिय हमले अधिक संभव और अधिक सामान्य हो गए हैं।
उदाहरण के लिए, यदि आप हवाई अड्डे या किसी अन्य सार्वजनिक स्थान पर लैपटॉप का उपयोग करने की कोशिश कर रहे हैं और वहां उपलब्ध कराई गई वाईफाई के माध्यम से अपने मेल को पढ़ने की कोशिश करते हैं, तो आपको पता नहीं है कि आपके नेटवर्क के साथ वह वाईफाई नेटवर्क क्या कर रहा है। यह वाईफाई नेटवर्क के लिए "प्रॉक्सी" के कुछ प्रकार के ट्रैफ़िक को रूट करने के लिए बहुत आम है, जो आपके क्लाइंट एप्लिकेशन और सर्वर से बात करने के लिए खुद को आपस में जोड़ते हैं। यह उन प्रॉक्सी के लिए तुच्छ है जो दोनों STARTTLS को अक्षम कर देता है और "अपने ग्राहक को वापस क्लीयरटेक्ट में लाने के लिए एक प्रयास में" एक पोर्ट को फिर से कोशिश करता है। हां, ऐसा होता है, और यह केवल एक उदाहरण है कि आपके ट्रैफ़िक को नेटवर्क द्वारा कैसे जासूसी की जा सकती है। और इस तरह के हमले तीन-पत्र राज्य समर्थित एजेंसियों तक सीमित नहीं हैं,