3 पॉइंट द्वारा GN⁺ 2024-11-21 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • इंटरनेट पर व्यक्तिगत और व्यावसायिक जानकारी का आदान-प्रदान पहले से अधिक होने लगा था, और Let’s Encrypt एक ऐसी प्रमाणन प्राधिकरण के रूप में सामने आया जिसका उद्देश्य मुफ्त सर्वर प्रमाणपत्रों के जरिए TLS के प्रसार की बाधा को कम करना था
  • ब्राउज़र और सर्वर पहले से TLS को सपोर्ट करते थे, लेकिन ऑपरेटरों के लिए प्रमाणपत्र जारी करना, इंस्टॉल करना और रिन्यू करना जटिल था और इसकी लागत भी आती थी
  • Mozilla, Cisco, Akamai, EFF, IdenTrust और University of Michigan के शोधकर्ताओं ने ISRG के माध्यम से सहयोग करते हुए 2015 की दूसरी तिमाही में इन्फ्रास्ट्रक्चर उपलब्ध कराने की दिशा में काम किया
  • संचालन के सिद्धांत थे: मुफ्त, ऑटोमेशन, सुरक्षा, पारदर्शिता, openness और सहयोग; इसमें जारी और रद्द किए गए प्रमाणपत्रों के रिकॉर्ड को सार्वजनिक करना और खुले मानक प्रोटोकॉल शामिल थे
  • फोकस किसी एक संगठन द्वारा नियंत्रित सुरक्षा पर नहीं, बल्कि पूरे समुदाय द्वारा इस्तेमाल की जा सकने वाली सार्वभौमिक और खुली इंटरनेट सुरक्षा बनाने पर था

TLS के प्रसार को रोकने वाली सर्वर प्रमाणपत्र बाधा

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

Let’s Encrypt द्वारा प्रस्तावित मुफ्त और ऑटोमेटेड प्रमाणन प्राधिकरण

  • Let’s Encrypt सहयोग और openness पर आधारित एक नया मुफ्त प्रमाणन प्राधिकरण है
  • डोमेन मालिक अपने डोमेन के लिए सत्यापित बुनियादी सर्वर प्रमाणपत्र one-click प्रक्रिया के जरिए प्राप्त कर सकते थे
  • Mozilla Corporation, Cisco Systems, Akamai Technologies, Electronic Frontier Foundation, IdenTrust और University of Michigan के शोधकर्ताओं ने Internet Security Research Group(ISRG) के माध्यम से सहयोग किया
  • ISRG कैलिफ़ोर्निया की एक सार्वजनिक हित निगम है, और समान लक्ष्य रखने वाले अन्य संगठनों की भागीदारी का भी स्वागत करता है
  • संचालन के सिद्धांत इस प्रकार हैं
    • मुफ्त: डोमेन मालिक अपने डोमेन के लिए सत्यापित प्रमाणपत्र मुफ्त में प्राप्त कर सकते हैं
    • ऑटोमेशन: प्रमाणपत्र पंजीकरण सर्वर की प्रारंभिक इंस्टॉलेशन या सेटअप प्रक्रिया के दौरान होता है, और रिन्यूअल बैकग्राउंड में अपने-आप किया जाता है
    • सुरक्षा: यह नवीनतम सुरक्षा तकनीकों और best practices के कार्यान्वयन के लिए एक प्लेटफ़ॉर्म की भूमिका निभाता है
    • पारदर्शिता: प्रमाणपत्र जारी करने और रद्द करने के रिकॉर्ड को सार्वजनिक किया जाता है ताकि कोई भी उनकी जांच कर सके
    • openness: स्वचालित जारीकरण और रिन्यूअल प्रोटोकॉल को open standard के रूप में बनाया जाता है, और यथासंभव अधिक सॉफ़्टवेयर को open source के रूप में उपलब्ध कराया जाता है
    • सहयोग: इंटरनेट प्रोटोकॉल की तरह, इसे पूरे समुदाय के हित में एक सामूहिक प्रयास के रूप में संचालित किया जाता है
  • ISRG और उसके पार्टनर्स की जानकारी About पेज पर देखी जा सकती है

1 टिप्पणियां

 
GN⁺ 2024-11-21
Hacker News की राय
  • यह निस्संदेह सबसे बेहतरीन सेवाओं में से एक है, इसने certificate बेचने के धंधे को लगभग खत्म कर दिया और इंटरनेट को अधिक सुरक्षित बनाया
    एक समय HTTPS connections केवल “serious” projects के लिए मानी जाती थीं, क्योंकि certificate की लागत domain से कहीं ज़्यादा होती थी। पहले बिना certificate के शुरू करते, और अगर काम चल निकला तो लगभग 100 डॉलर देकर certificate खरीद लेते थे

    • आज भी काफ़ी लोग सही से नहीं जानते, इसलिए 2013 की तरह hosting provider से हर साल सीधे certificate खरीदते हैं या auto-renew payment करते हैं
    • मैंने एक ढीले-ढाले configured proxy लगा रखा था, जो किसी भी domain के लिए certificate request कर देता था, और एक attacker ने यह समझ लिया और random subdomains जोड़कर लगातार HTTP requests भेजीं
      जब मुझे यह पता चला, तो पहला ख़याल यह नहीं था कि “कहीं Let’s Encrypt मुझे block न कर दे”, बल्कि यह था कि “मेरी आलसी configuration की वजह से Let’s Encrypt पर बेवजह load पड़ा, उसके लिए माफ़ी।” कम-से-कम पिछले 10 वर्षों में वेब पर हुई सबसे अच्छी चीज़ Let’s Encrypt ही है
    • Mozilla को बहुत आलोचना मिलती है, लेकिन सिर्फ़ letsencrypt के लिए ही उसने दुनिया को बेहतर बनाया है
      उससे पहले मैं अपनी सेवाओं में SSL बिल्कुल इस्तेमाल नहीं करता था, क्योंकि cost-benefit सही नहीं बैठता था। उसके बाद से ऐसा कभी नहीं हुआ कि मैंने इसे न इस्तेमाल किया हो
    • पहले भी single domain के लिए “असली” certificate मुफ़्त में देने वाली सेवाएँ थीं, लेकिन प्रक्रिया जटिल और झंझट भरी थी
      अगर किसी personal project के कई subdomains को cover करने वाला wildcard certificate चाहिए होता, तो वह अचानक बहुत महंगा हो जाता था; अच्छा है कि यह समस्या पूरी तरह हल हो गई
    • Google/Chrome और Firefox का भी श्रेय है कि उन्होंने मुफ़्त और open certificate authority को संभव बनाया
  • हमारी नज़र में 10वीं वर्षगांठ 2025 में है, लेकिन यहाँ कही गई गर्मजोशी भरी बातों के लिए हम आभारी हैं
    आज लगभग 10 साल हो गए हैं जब हमने सार्वजनिक रूप से Let’s Encrypt लॉन्च करने की घोषणा की थी, और अगला साल वह होगा जब Let’s Encrypt ने अपना पहला certificate वास्तव में जारी किया था: https://letsencrypt.org/2015/09/14/our-first-cert/
    2015 के दिसंबर में, यानी आज से लगभग 9 साल पहले, यह बिना invitation के सभी के लिए उपलब्ध हो गया था: https://letsencrypt.org/2015/12/03/entering-public-beta/

    • ठीक दिसंबर 2015 में ऐसा होना संयोग से मेरे लिए बिल्कुल perfect था
      उस समय मेरे पास domain खरीदने के पैसे थे, लेकिन SSL के नहीं, जबकि साइट को SSL चाहिए था। Let’s Encrypt के मुफ़्त SSL की वजह से मेरा project सफल हो पाया
  • ऐसा लगता है जैसे certificates के लिए पैसे देने वाला दौर अभी कल ही था, और उससे भी बुरा वह समय जब हम बिना उनके ही चलाते थे
    यक़ीन नहीं होता कि 10 साल हो चुके हैं

    • यक़ीन नहीं होता कि अब भी TLS विरोधी सनकी लोग मौजूद हैं
  • Let’s Encrypt को लेकर मेरी राय थोड़ी मिली-जुली है
    यह अच्छी बात थी कि StartSSL जैसी संदिग्ध कंपनी पर निर्भर हुए बिना मुफ़्त TLS certificates मिल सके। इसकी वजह से किसी भी website को आसानी से HTTPS पर ले जाना संभव हुआ, और login जैसी संवेदनशील जानकारी का unencrypted connection पर भेजा जाना लगभग खत्म हो गया
    दूसरी ओर, मेरा मानना है कि इसने TLS certificate trust model की उस मूल रूप से टूटी हुई संरचना को और मज़बूत किया, जिसमें कोई भी certificate authority मेरी भागीदारी के बिना मेरे domain के लिए certificate जारी कर सकती है। CAA records और certificate transparency जैसे कई mitigations मौजूद हैं, लेकिन वे 100% समाधान नहीं हैं। अगर Let’s Encrypt न होता, तो शायद DNSSEC+DANE जैसे बेहतर trust mechanism को लागू करने की प्रेरणा अधिक होती, जो certificate issuance को उन entities तक सीमित करता है जिनके पास वास्तव में domain ownership तय करने का अधिकार होता है
    websites को TLS पर ले जाने की प्रक्रिया में जानबूझकर कम backward compatibility रखा जाना भी चिंताजनक है। यह केवल TLS को एक बार on या off करने का मामला नहीं है, बल्कि protocols और cipher suites लगातार deprecated होते रहते हैं। banking या email जैसी चीज़ों के लिए, जिन्हें सुरक्षित होना ही चाहिए, यह उचित है; लेकिन recipes जैसी static और गैर-महत्वपूर्ण जानकारी देखने के लिए यह ज़रूरी नहीं लगता। carriers द्वारा ads या अजीब चीज़ें inject करने की समस्या regulation से हल करना मुझे बेहतर लगता है

    • इस बात पर कि अगर Let’s Encrypt न होता तो बेहतर trust mechanism लागू करने की प्रेरणा मिलती, मेरा उल्टा मानना है कि Let’s Encrypt ने इन समस्याओं को और उजागर किया और अब जिनके पास अधिकार है वे वास्तव में इनकी चिंता करने लगे हैं
      अगर certificates की स्थिति लगातार कष्टदायक बनी रहती, तो शायद TLS से बेहतर कुछ आ जाता, लेकिन ऐसा होता नहीं दिखता। क्योंकि मूल समस्या अब भी कठिन ही है
  • सबसे ज़्यादा शुक्रगुज़ार ACME protocol का हूँ
    Let’s Encrypt से पहले certificate renew कैसे किए जाते थे, याद है? Private key ZIP attachment बनाकर email में इधर-उधर भेजी जाती थी। यह लगभग security theater जैसा था, और जहाँ तक मुझे पता है, कई certificate authorities में यह आम प्रथा थी। Let’s Encrypt का धन्यवाद

    • मैं अभी भी GlobalSign renewal हाथ से संभालकर प्रोसेस कर रहा हूँ
      CSR बनाने की प्रक्रिया में server पर नई key बनाई जाती है, और सब कुछ server पर ही चलाया जाता है ताकि key server के internal storage से बाहर न जाए। CSR को GlobalSign को भेजा जाता है, फिर बड़े enterprise की प्रक्रिया के कारण third party से होकर कुछ दिनों बाद certificate मिलता है और उसे server पर लागू किया जाता है
      ACME इस्तेमाल करके key को memory ramdisk वगैरह में रखना चाहता हूँ, लेकिन tanker से भी कम फुर्तीली कंपनी में काम करने का नुकसान यही है
    • Certificate Signing Request गया कहाँ? इसका मूल उद्देश्य private key का आदान-प्रदान न करना था
      उससे पहले मैं सिर्फ कुछ TLS certificates में थोड़ा-बहुत शामिल था, लेकिन कम-से-कम जिन जगहों का मुझे अनुभव है, वहाँ CSR तरीका अनिवार्य था। फिर भी, हक़ीक़त में शायद यह भयानक प्रथा मेरी जानकारी से ज़्यादा आम रही हो
    • Let’s Encrypt इस्तेमाल करें या न करें, ZIP file में भेजी जाने वाली चीज़ private key नहीं बल्कि public key होनी चाहिए
    • मेरी कुछ configurations में अभी भी ऐसी बेवकूफ़ी करनी पड़ती है
      Cloud environment के load balancers अक्सर letsencrypt जैसे external ACME providers के साथ आसानी से integrate नहीं होते, और internal provider कई बार domain को अपनी तरफ़ migrate करने को कहता है, इसलिए वह हमेशा संभव नहीं होता। यहाँ तक कि हर cloud provider के पास यह सुविधा भी नहीं है, और ज़्यादातर इसे ACME को बाद में जोड़ी गई सुविधा की तरह लेते हैं
      terraform, cron jobs जैसी चीज़ों से scripts जोड़कर कुछ हद तक जुगाड़ किया जा सकता है, लेकिन सब बहुत गंदा हो जाता है। Failure mode यह है कि certificate renewal fail होते ही site रुक जाती है, और certificate lifetime बहुत छोटी हो जाने की वजह से ऐसा काफ़ी बार हो सकता है। मैं इसे सच में झेल चुका हूँ
      इसलिए कुछ दिन पहले मैंने wildcard certificate tax दे दिया। इससे बचने के लिए सिर खपाने के बजाय कुछ सौ डॉलर दे दिए; थोड़ा बुरा तो लगता है, लेकिन अपने समय के हिसाब से मुश्किल से 2 घंटे की बचत के लिए कई दिन खर्च करना बेकार है। CSR जारी करना, certificate लेना, और उसे संबंधित load balancer में कॉपी करना कुल 20 मिनट का काम है
    • उन certificate authorities में से कितने आज भी सबके trust store में बचे हुए हैं?
  • काश desktop certificate दुनिया में भी ऐसा कुछ होता
    Microsoft इस समय requirements में पूरी तरह पागल मोड में चला गया है, और उसके certificate resellers बिना उंगली उठाए पहले से ज़्यादा पैसा कमा रहे हैं
    मज़ेदार बात यह है कि वह सारी security, review और अंतहीन verification आज भी email से भेजी गई passport photo की एक तस्वीर पर टिकी हुई है

  • Peter Eckersley (1978–2022) को Let’s Encrypt की स्थापना में उनके काम के लिए मरणोपरांत Internet Hall of Fame में शामिल किया गया
    Peter और उनके कई collaborators व सहयोगियों की बदौलत internet एक बेहतर जगह बना

    • https://www.internethalloffame.org/inductees/
      यहाँ मौजूद लोगों में से मुझे एक भी नाम जाना-पहचाना नहीं लगा। इसका जो भी मतलब हो
      पूरी सूची https://www.internethalloffame.org/inductees/all/ में शायद लगभग सात नाम पहचाने। फिर भी अनुपात एक अंक में ही है
  • अभी-अभी एक संभावित ग्राहक, नीदरलैंड की सरकारी एजेंसी, से email आया जिसमें कहा गया कि Letsencrypt इस्तेमाल न करें
    वे खुद certificate के लिए भुगतान करना पसंद करते हैं, लेकिन क्यों, यह समझ नहीं आता। शायद उन्हें उस पर भरोसा नहीं है

  • बहुत से लोग नहीं जानते कि HTTPS certificates DNS injection जैसे कुछ खास attack types को ज़रूरी नहीं कि रोकें
    DNSPionage नामक attack campaign में attackers ने attack में इस्तेमाल करने के लिए valid certificate कैसे हासिल किया, इसका उदाहरण <https://www.youtube.com/watch?v=exy5JwAU8qk> में देखा जा सकता है
    संक्षेप में, HTTPS certificate issuance automated है और DNS security पर निर्भर करती है; यह DNSSEC से हासिल की जा सकती है, लेकिन ज़्यादातर लोग इसे implement नहीं करते

    • तकनीकी रूप से यह certificate authority पर हमला है, और authorization check को bypass करना है कि “क्या इस व्यक्ति को सचमुच इस domain के लिए certificate जारी कराने का अधिकार है?”
      समस्या यह है कि यहाँ CAA record भी मदद नहीं करता। अगर A record को spoof किया जा सकता है, तो CAA record को भी spoof किया जा सकता है। DNSSEC यहाँ मदद करेगा या नहीं, यह DNS के बारे में मेरी सीमित जानकारी के कारण मैं पक्का नहीं कह सकता
      एक और attack है IP hijacking। इस स्थिति में HTTP validation जैसी सामान्य ACME method पास हो सकती है, लेकिन CAA record bypass नहीं किया जा सकता। भले ही कोई उस IP address का मालिक बन जाए जिस पर मेरा A या AAAA record इशारा करता है, अगर मेरे CAA में letsencrypt approved issuer के रूप में नहीं है, तो letsencrypt से certificate जारी नहीं कराया जा सकता
  • Let’s Encrypt एक बहुत बड़ी उपलब्धि है और अब यह ज़रूरी infrastructure बन चुका है
    इसे open protocol पर आधारित रखना, ताकि यह single point of failure न बने, एक समझदारी भरा फ़ैसला था; इससे यह भी सुनिश्चित हुआ कि अगर कोई एक organization गायब हो जाए तब भी यह विचार जीवित रहे
    उम्मीद है ऐसे कई anniversary आगे भी आते रहेंगे