क्या आपके पास SSL है?

आज पहले से कहीं ज़्यादा लोग वेब से जुड़ रहे हैं – और कई जगहों से भी.

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

इन सबसे ऊपर, डेवलपर के रूप में हमें एसएसएल की ज़रूरत और व्यावहारिकता को समझने की ज़रूरत है.

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

SSL Pulse के अनुसार, एक साल पहले हमारे पास SSL अपनाने का करीब 15% से कम हिस्सा था; अब हम 50% से भी कम उपयोग कर रहे हैं.

दो शॉर्ट फ़ॉर्म वाले शब्द:

  • TLS: एसएसएल की तरह ही ज़्यादातर इंटेंट और मकसद के लिए. सटीक जानकारी के लिए, SSL 3.1 का नाम बदलकर TLS कर दिया गया है और TLS, IETF मानक नाम है. हालांकि, इन्हें बदला भी जा सकता है!

  • एचटीटीपीएस: यह एसएसएल पर एचटीटीपी है. यह एसएसएल और स्टैंडर्ड एचटीटीपी की सुरक्षा क्षमताओं की लेयरिंग है. सबसे पहले क्लाइंट-सर्वर हैंडशेक, जिसमें सार्वजनिक/निजी कुंजी की क्रिप्टोग्राफ़ी का इस्तेमाल करके, शेयर की गई कुंजी बनाई जाती है. इसका इस्तेमाल एसएसएल प्रोटोकॉल का दूसरा हिस्सा, कम्यूनिकेशन को एन्क्रिप्ट करने के लिए करता है.

इंटरनेट पर नेटवर्किंग सुरक्षित, तुरंत, और तेज़ लग सकती है. ऐसा लगता है कि हम सीधे वेबसाइट से बात कर रहे हैं. हालांकि, असल में यह कोई सीधा संबंध नहीं होता. हमारी बातचीत वाई-फ़ाई राऊटर, इंटरनेट सेवा देने वाली कंपनी (आईएसपी) और आपके डिवाइस और वेबसाइट के बीच संभावित अन्य प्रॉक्सी प्रॉक्सी से होती है. एचटीटीपीएस के बिना, हमारी सारी बातचीत सादे टेक्स्ट में होती है.

समस्या यह है कि उपयोगकर्ता शायद ही कभी एचटीटीपीएस वाला पूरा यूआरएल टाइप करते हैं या वे एचटीटीपी का इस्तेमाल करके किसी लिंक पर क्लिक करते हैं. इससे भी बुरा यह है कि एक (महिला) मैन-इन-द-मिडल अटैक को माउंट किया जा सकता है और एचटीटीपीएस को एचटीटीपी से बदला जा सकता है. साल 2009 में पेश किया गया SSLstrip नाम का एक टूल बस यही काम करता है. फ़ायरशीप, 2010 ने अभी-अभी खुले हुए वाई-फ़ाई नेटवर्क से कुकी के लिए मैसेज भेजे थे. इसका मतलब था कि उन्हें चैट में सुनने या किसी के भी Facebook खाते में लॉग इन करने की सुविधा मिल सकती थी.

हालांकि, एसएसएल सस्ता और तेज़ है. साथ ही, इसे डिप्लॉय करना भी आसान है. ssllabs.com और इलया ग्रिगोरिक की किताब, हाई परफ़ॉर्मेंस ब्राउज़र नेटवर्किंग देखें. गैर-व्यावसायिक इस्तेमाल के लिए, आप startssl.com से मुफ़्त सर्टिफ़िकेट भी पा सकते हैं! सार्वजनिक कुंजी पिन करने की सुविधा को वेबसाइट ऑपरेटर के लिए इस तरह से डिज़ाइन किया गया है कि वे यह तय कर सकें कि कौनसे सर्टिफ़िकेट देने वाली संस्था, असल में अपनी साइटों के लिए सर्टिफ़िकेट जारी कर सकती है.

"इस साल जनवरी (2010) में, Gmail ने डिफ़ॉल्ट रूप से हर चीज़ के लिए एचटीटीपीएस का इस्तेमाल करना शुरू कर दिया. .. ऐसा करने के लिए हमें किसी भी अतिरिक्त मशीन और विशेष हार्डवेयर की ज़रूरत नहीं पड़ी. हमारी प्रोडक्शन फ़्रंटएंड मशीनों पर 1% से कम सीपीयू लोड होने, हर कनेक्शन के लिए 10 केबी की मेमोरी, और नेटवर्क ओवरहेड के कुल हिस्से का 2% से कम हिस्सा...

अगर आप अभी पढ़ना बंद कर देते हैं, तो आपको बस एक बात याद रखनी होगी: SSL अब कंप्यूटेशनल रूप से महंगा नहीं है.”

ओवरक्लॉकिंग एसएसएल, ऐडम लैंग्ली (Google)

आखिर में, कुछ ऐसी गड़बड़ियां हैं जो आम तौर पर हमें दिखती हैं:

  • मिक्स कॉन्टेंट: ऐसी साइटें जो एचटीटीपी के साथ-साथ एचटीटीपीएस का भी इस्तेमाल करती हैं. इससे आपका उपयोगकर्ता परेशान हो जाएगा, क्योंकि उसे कॉन्टेंट लोड करने के लिए, अनुमति के बटन पर क्लिक करना होगा. (Chrome और Firefox असल में, iframes के मिले-जुले कॉन्टेंट को ब्लॉक करते हैं.) पक्का करें कि एचटीटीपीएस पेज पर मौजूद आपके सभी रिसॉर्स, एचटीटीपीएस से लोड किए गए हों. इसके लिए, मिलते-जुलते यूआरएल या स्कीम से जुड़े यूआरएल, जैसे कि <style src="//foo.com/style.css"> का इस्तेमाल करें
  • असुरक्षित कुकी: एचटीटीपी कनेक्शन की मदद से, ये कुकी साफ़ तौर पर भेजी जाती हैं. कुकी हेडर पर सुरक्षित एट्रिब्यूट सेट करके, इससे बचें. एसएसएल ट्रांसपोर्ट सिक्योरिटी (एचएसटीएस) की ज़रूरत के लिए, एक नए "स्ट्रिक्ट ट्रांसपोर्ट सिक्योरिटी" हेडर का भी इस्तेमाल किया जा सकता है.

टेकअवे

  • अगर आप अपने उपयोगकर्ताओं के डेटा की निजता और रखरखाव के बारे में सोचते हैं, तो आपको एसएसएल का इस्तेमाल करना होगा. यह पहले से ज़्यादा तेज़, आसान, और सस्ता है.
  • लागू करने की आम गड़बड़ियों से बचें, जैसे कि मिला-जुला कॉन्टेंट से जुड़ी गड़बड़ियां या सही एचटीटीपी हेडर बिट सेट न करना.
  • रिलेटिव या स्कीम रिलेटिव यूआरएल का इस्तेमाल करें.
  • कुछ नए मज़ेदार प्रॉडक्ट देखें, जैसे कि एचएसटीएस और सर्टिफ़िकेट पिन करना

Slides: क्या आपके पास एसएसएल है?