लिब्रेएसएसएल: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 37: Line 37:


== इतिहास ==
== इतिहास ==
ओपनएसएसएल में हार्टब्लीड सुरक्षा भेद्यता (कंप्यूटिंग) की परिशोध के पश्चात, ओपनबीएसडी टीम कोड ने कोडबेस [[कोड ऑडिट]] किया एवं निर्णय लिया कि हानिकारक कोड को विस्थापित करने के लिए ओपनएसएसएल को [[ कांटा (सॉफ्टवेयर विकास) ]] करना आवश्यक था।<ref name=origins/>लिब्रेएसएसएल.org डोमेन 11 अप्रैल 2014 को पंजीकृत किया गया था; परियोजना ने 22 अप्रैल 2014 को नाम की घोषणा की। विकास के प्रथम सप्ताह में, सी कोड की 90,000 से अधिक लाइनें विस्थापित कर दी गईं।<ref name="zdnet_fork" /><ref name=brodkin20140422>{{cite web |url=https://arstechnica.com/information-technology/2014/04/openssl-code-beyond-repair-claims-creator-of-libressl-fork/ |title=ओपनएसएसएल कोड मरम्मत से परे, "लिब्रेएसएसएल" फोर्क के निर्माता का दावा करता है|first=Jon |last=Brodkin |work=[[Ars Technica]] |date=22 April 2014 |access-date=24 April 2014}}</ref> अप्रयुक्त कोड विस्थापित कर दिया गया था, एवं अप्रचलित [[ऑपरेटिंग सिस्टम|संचालन  प्रणाली]] ([[क्लासिक मैक ओएस]], [[नेटवेयर]], ओएस/2, [[16-बिट विंडोज]]) एवं कुछ प्राचीन संचालन प्रणाली ([[ ओपन VMS ]]) के लिए समर्थन विस्थापित कर दिया गया था।<ref name="openbsd56">{{cite mailing list |url=https://marc.info/?l=openbsd-announce&m=141486254309079 |title=OpenBSD 5.6 Released |date=1 November 2014 |access-date=28 October 2015 |mailing-list=openbsd-announce |last=Jacoutot |first=Antoine }}</ref> लिब्रेएसएसएल को प्रारम्भ में OpenBSD 5.6 में OpenSSL के लिए इच्छित प्रतिस्थापन के रूप में विकसित किया गया था, एवं लाइब्रेरी के स्ट्रिप-डाउन संस्करण के स्थिर होने के पश्चात अन्य प्लेटफार्मों पर पोर्ट किया गया था।<ref name=pcpro>{{cite web |url=http://www.pcpro.co.uk/news/security/388309/heartbleed-libressl-scrubs-irresponsible-openssl-code |title=Heartbleed: LibreSSL scrubs "irresponsible" OpenSSL code |first=Jane |last=McCallion |work=[[PC Pro]] |date=22 April 2014 |access-date=23 April 2014 |archive-url=https://web.archive.org/web/20140626092314/http://www.pcpro.co.uk/news/security/388309/heartbleed-libressl-scrubs-irresponsible-openssl-code |archive-date=26 June 2014 |url-status=dead }}</ref> {{As of|2014|04}}, परियोजना बाहरी फंडिंग की स्थिर प्रतिबद्धता की याचना कर रही थी।<ref name=brodkin20140422/>17 मई 2014 को, बॉब बेक ने 2014 के बीएसडीसीन सम्मेलन के समय लिबरएसएसएल: द फर्स्ट 30 डेज़, एंड व्हाट द फ्यूचर होल्ड्स प्रस्तुत किया, जिसमें उन्होंने प्रथम महीने में हुई प्रगति का वर्णन किया।<ref name="30days">{{cite web|first=Bob|last=Beck|title=LibreSSL: The first 30 days, and what the Future Holds Slides|access-date=17 May 2014|date=17 May 2014|url=http://www.openbsd.org/papers/bsdcan14-libressl/mgp00003.html}}</ref> 5 जून 2014 को, कई ओपनएसएसएल बग सार्वजनिक हो गए। जबकि कई परियोजनाओं को प्रथम ही अधिसूचित कर दिया गया था,<ref>{{cite mailing list |url=http://seclists.org/oss-sec/2014/q2/466 |title=Re: OpenSSL seven security fixes |date=5 June 2014 |access-date=9 June 2014 |mailing-list=oss-sec}}</ref> लिब्रेएसएसएल नहीं था; [[Theo de Raadt]] ने OpenSSL विकास पर OpenBSD एवं लिब्रेएसएसएल से निश्चयपूर्वक इस जानकारी को वापस लेने का आरोप लगाया।<ref>{{cite mailing list |url=https://marc.info/?l=openbsd-misc&m=140199662922801&w=2 |title=Re: new OpenSSL flaws |date=5 June 2014 |access-date=9 June 2014 |mailing-list=openbsd-misc |last=de Raadt |first=Theo |author-link=Theo de Raadt }}</ref> 20 जून 2014 को, [[Google|गूगल]] ने [[बोरिंगएसएसएल]] नामक ओपनएसएसएल का कांटा बनाया, एवं लिब्रेएसएसएल के साथ सुधारों का आदान-प्रदान करने का वादा किया।<ref name="imperialviolet">{{cite web|url=https://www.imperialviolet.org/2014/06/20/boringssl.html|title=BoringSSL (20 Jun 2014)|last=Langley|first=Adam|date=20 June 2014|website=Imperialviolet.org|access-date=21 June 2014}}</ref><ref>{{cite web|url=https://arstechnica.com/security/2014/06/google-unveils-independent-fork-of-openssl-called-boringssl/|title=Google ने ओपनएसएसएल के स्वतंत्र "फोर्क" का खुलासा किया जिसे "बोरिंगएसएसएल" कहा जाता है|last=Goodin|first=Dan|date=20 June 2014|access-date=21 June 2014|work=[[Ars Technica]]}}</ref>  गूगल के पास पूर्व से ही आईएससी लाइसेंस के अनुसार स्वयं कुछ योगदानों को पुनः प्राप्त करने वाला सॉफ़्टवेयर है, जैसा कि लिब्रेएसएसएल विकासको द्वारा अनुरोध किया गया था।<ref name="imperialviolet"/><ref>{{cite web|url=https://secure.freshbsd.org/commit/openbsd/ef62f9c8a51b8fb8ce21e1486986f8f3dc7f50a3|title=OpenBSD — lib/libssl/src/crypto/evp evp_aead.c e_chacha20poly1305.c|last=Sing|first=Joel|date=21 June 2014|access-date=21 June 2014|archive-url=https://archive.today/20140622060845/https://secure.freshbsd.org/commit/openbsd/ef62f9c8a51b8fb8ce21e1486986f8f3dc7f50a3|archive-date=22 June 2014|url-status=dead}}</ref> 21 जून 2014 को, थियो डी राडट ने बोरिंगएसएसएल का स्वागत किया एवं लिबरएसएसएल-पोर्टेबल के लिए योजनाओं की रूपरेखा प्रस्तुत की गयी।<ref>{{cite mailing list|url=https://marc.info/?l=openbsd-tech&m=140332790726752&w=2 |title=बोरिंगस्ल और ऐसे|date=21 June 2014 |access-date=28 October 2015 |mailing-list=openbsd-tech |last=de Raadt|first=Theo |author-link=Theo de Raadt}}</ref> 8 जुलाई से [[macOS|मैक ओएस]] एवं सोलारिस (संचालन  प्रणाली) के लिए कोड पोर्टिंग प्रारम्भ हुई,<ref>{{cite web|url=https://secure.freshbsd.org/commit/openbsd/bb95c69c5dea2b7ae53fb1036904c27c038bd2b0|title=OpenBSD - lib/libcrypto/crypto getentropy_osx.c getentropy_solaris.c|date=8 July 2014|last=Beck|first=Bob|access-date=8 July 2014|archive-url=https://web.archive.org/web/20140722094048/https://secure.freshbsd.org/commit/openbsd/bb95c69c5dea2b7ae53fb1036904c27c038bd2b0|archive-date=22 July 2014|url-status=dead}}</ref> जबकि [[लिनक्स]] में प्रारंभिक पोर्टिंग 20 जून को प्रारम्भ हुई थी।<ref>{{cite web|url=https://secure.freshbsd.org/commit/openbsd/1d7eab2186ba0e70b976372401977c2c784ef30a|archive-url=https://archive.today/20140709185108/https://secure.freshbsd.org/commit/openbsd/1d7eab2186ba0e70b976372401977c2c784ef30a|url-status=dead|archive-date=9 July 2014|title=OpenBSD — lib/libcrypto/crypto getentropy_linux.c|date=20 June 2014|last=Beck|first=Bob}}</ref> 2021 तक,  
ओपनएसएसएल में हार्टब्लीड सुरक्षा भेद्यता (कंप्यूटिंग) की परिशोध के पश्चात, ओपनबीएसडी टीम कोड ने कोडबेस [[कोड ऑडिट]] किया एवं निर्णय लिया कि हानिकारक कोड को विस्थापित करने के लिए ओपनएसएसएल को [[ कांटा (सॉफ्टवेयर विकास) ]] करना आवश्यक था।<ref name=origins/>LibreSSL.org डोमेन 11 अप्रैल 2014 को पंजीकृत किया गया था; परियोजना ने 22 अप्रैल 2014 को नाम की घोषणा की। विकास के प्रथम सप्ताह में, सी कोड की 90,000 से अधिक लाइनें विस्थापित कर दी गईं।<ref name="zdnet_fork" /><ref name=brodkin20140422>{{cite web |url=https://arstechnica.com/information-technology/2014/04/openssl-code-beyond-repair-claims-creator-of-libressl-fork/ |title=ओपनएसएसएल कोड मरम्मत से परे, "लिब्रेएसएसएल" फोर्क के निर्माता का दावा करता है|first=Jon |last=Brodkin |work=[[Ars Technica]] |date=22 April 2014 |access-date=24 April 2014}}</ref> अप्रयुक्त कोड विस्थापित कर दिया गया था, एवं अप्रचलित [[ऑपरेटिंग सिस्टम|संचालन  प्रणाली]] ([[क्लासिक मैक ओएस]], [[नेटवेयर]], ओएस/2, [[16-बिट विंडोज]]) एवं कुछ प्राचीन संचालन प्रणाली ([[ ओपन VMS | ओपन वीएमएस]] ) के लिए समर्थन विस्थापित कर दिया गया था।<ref name="openbsd56">{{cite mailing list |url=https://marc.info/?l=openbsd-announce&m=141486254309079 |title=OpenBSD 5.6 Released |date=1 November 2014 |access-date=28 October 2015 |mailing-list=openbsd-announce |last=Jacoutot |first=Antoine }}</ref> लिब्रेएसएसएल को प्रारम्भ में ओपनबीएसडी 5.6 में ओपनएसएसएल के लिए इच्छित प्रतिस्थापन के रूप में विकसित किया गया था, एवं लाइब्रेरी के स्ट्रिप-डाउन संस्करण के स्थिर होने के पश्चात अन्य प्लेटफार्मों पर पोर्ट किया गया था।<ref name=pcpro>{{cite web |url=http://www.pcpro.co.uk/news/security/388309/heartbleed-libressl-scrubs-irresponsible-openssl-code |title=Heartbleed: LibreSSL scrubs "irresponsible" OpenSSL code |first=Jane |last=McCallion |work=[[PC Pro]] |date=22 April 2014 |access-date=23 April 2014 |archive-url=https://web.archive.org/web/20140626092314/http://www.pcpro.co.uk/news/security/388309/heartbleed-libressl-scrubs-irresponsible-openssl-code |archive-date=26 June 2014 |url-status=dead }}</ref> {{As of|2014|04}}, परियोजना बाहरी फंडिंग की स्थिर प्रतिबद्धता की याचना कर रही थी।<ref name=brodkin20140422/>17 मई 2014 को, बॉब बेक ने 2014 के बीएसडीसीन सम्मेलन के समय लिब्रेएसएसएल: द फर्स्ट 30 डेज़, एंड व्हाट द फ्यूचर होल्ड्स प्रस्तुत किया, जिसमें उन्होंने प्रथम महीने में हुई प्रगति का वर्णन किया।<ref name="30days">{{cite web|first=Bob|last=Beck|title=LibreSSL: The first 30 days, and what the Future Holds Slides|access-date=17 May 2014|date=17 May 2014|url=http://www.openbsd.org/papers/bsdcan14-libressl/mgp00003.html}}</ref> 5 जून 2014 को, कई ओपनएसएसएल बग सार्वजनिक हो गए। जबकि कई परियोजनाओं को प्रथम ही अधिसूचित कर दिया गया था,<ref>{{cite mailing list |url=http://seclists.org/oss-sec/2014/q2/466 |title=Re: OpenSSL seven security fixes |date=5 June 2014 |access-date=9 June 2014 |mailing-list=oss-sec}}</ref> लिब्रेएसएसएल नहीं था; [[Theo de Raadt|थियो डी राड]] ने ओपनएसएसएल विकास पर ओपनबीएसडी एवं लिब्रेएसएसएल से निश्चयपूर्वक इस जानकारी को वापस लेने का आरोप लगाया।<ref>{{cite mailing list |url=https://marc.info/?l=openbsd-misc&m=140199662922801&w=2 |title=Re: new OpenSSL flaws |date=5 June 2014 |access-date=9 June 2014 |mailing-list=openbsd-misc |last=de Raadt |first=Theo |author-link=Theo de Raadt }}</ref> 20 जून 2014 को, [[Google|गूगल]] ने [[बोरिंगएसएसएल]] नामक ओपनएसएसएल का कांटा बनाया, एवं लिब्रेएसएसएल के साथ सुधारों का आदान-प्रदान करने का वचन दिया।<ref name="imperialviolet">{{cite web|url=https://www.imperialviolet.org/2014/06/20/boringssl.html|title=BoringSSL (20 Jun 2014)|last=Langley|first=Adam|date=20 June 2014|website=Imperialviolet.org|access-date=21 June 2014}}</ref><ref>{{cite web|url=https://arstechnica.com/security/2014/06/google-unveils-independent-fork-of-openssl-called-boringssl/|title=Google ने ओपनएसएसएल के स्वतंत्र "फोर्क" का खुलासा किया जिसे "बोरिंगएसएसएल" कहा जाता है|last=Goodin|first=Dan|date=20 June 2014|access-date=21 June 2014|work=[[Ars Technica]]}}</ref>  गूगल के पास पूर्व से ही आईएससी लाइसेंस के अनुसार स्वयं कुछ योगदानों को पुनः प्राप्त करने वाला सॉफ़्टवेयर है, जैसा कि लिब्रेएसएसएल विकास के द्वारा अनुरोध किया गया था।<ref name="imperialviolet"/><ref>{{cite web|url=https://secure.freshbsd.org/commit/openbsd/ef62f9c8a51b8fb8ce21e1486986f8f3dc7f50a3|title=OpenBSD — lib/libssl/src/crypto/evp evp_aead.c e_chacha20poly1305.c|last=Sing|first=Joel|date=21 June 2014|access-date=21 June 2014|archive-url=https://archive.today/20140622060845/https://secure.freshbsd.org/commit/openbsd/ef62f9c8a51b8fb8ce21e1486986f8f3dc7f50a3|archive-date=22 June 2014|url-status=dead}}</ref> 21 जून 2014 को, थियो डी राडट ने बोरिंगएसएसएल का स्वागत किया एवं लिब्रेएसएसएल-पोर्टेबल के लिए योजनाओं की रूपरेखा प्रस्तुत की गयी।<ref>{{cite mailing list|url=https://marc.info/?l=openbsd-tech&m=140332790726752&w=2 |title=बोरिंगस्ल और ऐसे|date=21 June 2014 |access-date=28 October 2015 |mailing-list=openbsd-tech |last=de Raadt|first=Theo |author-link=Theo de Raadt}}</ref> 8 जुलाई से [[macOS|मैक ओएस]] एवं सोलारिस (संचालन  प्रणाली) के लिए कोड पोर्टिंग प्रारम्भ हुई,<ref>{{cite web|url=https://secure.freshbsd.org/commit/openbsd/bb95c69c5dea2b7ae53fb1036904c27c038bd2b0|title=OpenBSD - lib/libcrypto/crypto getentropy_osx.c getentropy_solaris.c|date=8 July 2014|last=Beck|first=Bob|access-date=8 July 2014|archive-url=https://web.archive.org/web/20140722094048/https://secure.freshbsd.org/commit/openbsd/bb95c69c5dea2b7ae53fb1036904c27c038bd2b0|archive-date=22 July 2014|url-status=dead}}</ref> जबकि [[लिनक्स]] में प्रारंभिक पोर्टिंग 20 जून को प्रारम्भ हुई थी।<ref>{{cite web|url=https://secure.freshbsd.org/commit/openbsd/1d7eab2186ba0e70b976372401977c2c784ef30a|archive-url=https://archive.today/20140709185108/https://secure.freshbsd.org/commit/openbsd/1d7eab2186ba0e70b976372401977c2c784ef30a|url-status=dead|archive-date=9 July 2014|title=OpenBSD — lib/libcrypto/crypto getentropy_linux.c|date=20 June 2014|last=Beck|first=Bob}}</ref> 2021 तक,  


ओपनबीएसडी प्राथमिक एसएसएल लाइब्रेरी के रूप में लिब्रेएसएसएल का उपयोग करता है। [[अल्पाइन लिनक्स]] ने जनवरी 2019 में 3.9.0 प्रदर्शन होने तक तीन साल के लिए अपनी प्राथमिक टीएलएस लाइब्रेरी के रूप में लिबरएसएसएल का समर्थन किया। [[जेंटू लिनक्स]] ने फरवरी 2021 तक लिबरएसएसएल का समर्थन किया।<ref>{{Cite web|title=LibreSSL languishes on Linux [LWN.net]|url=https://lwn.net/SubscriberLink/841664/0ba4265680b9dadf/|access-date=2021-01-06|website=lwn.net}}</ref> पायथन (प्रोग्रामिंग भाषा) 3.10 लिब्रेएसएसएल सहायता को पायथन 3.4.3 (2015) के पश्चात से समर्थित होने के पश्चात त्याग देता है।<ref>{{Cite web|url=https://www.python.org/dev/peps/pep-0644/#libressl-support|title = PEP 644 -- Require OpenSSL 1.1.1 or newer}}</ref> <ref>{{Cite web|url=https://docs.python.org/3.4/whatsnew/changelog.html#python-3-4-3-final|title = Changelog — Python 3.4.10 documentation}}</ref>
ओपनबीएसडी प्राथमिक एसएसएल लाइब्रेरी के रूप में लिब्रेएसएसएल का उपयोग करता है। [[अल्पाइन लिनक्स]] ने जनवरी 2019 में 3.9.0 प्रदर्शन होने तक तीन साल के लिए अपनी प्राथमिक टीएलएस लाइब्रेरी के रूप में लिब्रेएसएसएल का समर्थन किया। [[जेंटू लिनक्स]] ने फरवरी 2021 तक लिब्रेएसएसएल का समर्थन किया।<ref>{{Cite web|title=LibreSSL languishes on Linux [LWN.net]|url=https://lwn.net/SubscriberLink/841664/0ba4265680b9dadf/|access-date=2021-01-06|website=lwn.net}}</ref> पायथन (प्रोग्रामिंग भाषा) 3.10 लिब्रेएसएसएल सहायता को पायथन 3.4.3 (2015) के पश्चात से समर्थित होने के पश्चात त्याग देता है।<ref>{{Cite web|url=https://www.python.org/dev/peps/pep-0644/#libressl-support|title = PEP 644 -- Require OpenSSL 1.1.1 or newer}}</ref> <ref>{{Cite web|url=https://docs.python.org/3.4/whatsnew/changelog.html#python-3-4-3-final|title = Changelog — Python 3.4.10 documentation}}</ref>




=== दत्तक ग्रहण ===
=== जोड़ी गई सुविधाएँ ===
लिब्रेएसएसएल इनके लिए टीएलएस का त्रुटि प्रदाता है।
लिब्रेएसएसएल इनके लिए टीएलएस का त्रुटि प्रदाता है।
* [[ ड्रैगनफली बीएसडी ]]<ref>{{Cite web |title=[Beta] Switch base to use private LibreSSL libraries |url=https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/304ca408000cd34559ef5319b4b5a6766d6eb35b |first=John |last=Marino|access-date= 9 November 2018}}</ref>
* [[ ड्रैगनफली बीएसडी ]]<ref>{{Cite web |title=[Beta] Switch base to use private LibreSSL libraries |url=https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/304ca408000cd34559ef5319b4b5a6766d6eb35b |first=John |last=Marino|access-date= 9 November 2018}}</ref>
Line 62: Line 62:


=== मेमोरी से संबंधित ===
=== मेमोरी से संबंधित ===
परिवर्तन में प्रचलन मेमोरी कॉल को मानक लाइब्रेरी में परिवर्तन सम्मिलित होता है (उदाहरण के लिए, <code>[[strlcpy]]</code>, <code>[[calloc]]</code>, <code>[[asprintf]]</code>, <code>[[reallocarray]]</code>, आदि।)।<ref name="valhalla1wk">{{cite web|url=http://opensslrampage.org/post/83631316689/a-quick-recap-over-the-last-week|work=OpenSSL Valhalla Rampage|title=पिछले सप्ताह में एक त्वरित पुनर्कथन|date=23 April 2014|access-date=30 April 2014|last=Orr|first=William}}</ref><ref name="libsslcallc">{{cite web|url=https://secure.freshbsd.org/search?project=openbsd&q=libssl+calloc|title=OpenBSD LibreSSL CVS Calloc कमिट करता है|website=Secure.freshbsd.org}}</ref> यह प्रक्रिया पश्चात में अधिक उन्नत [[मेमोरी डीबगर]] उपकरण के साथ या प्रोग्राम क्रैश का अवलोकन करके [[ बफ़र अधिकता ]] त्रुटियों को पकड़ने में सहायता कर सकती है।
परिवर्तन में प्रचलन मेमोरी कॉल को मानक लाइब्रेरी में परिवर्तन सम्मिलित होता है (उदाहरण के लिए, <code>[[strlcpy]]</code>, <code>[[calloc]]</code>, <code>[[asprintf]]</code>, <code>[[reallocarray]]</code>, आदि।)।<ref name="valhalla1wk">{{cite web|url=http://opensslrampage.org/post/83631316689/a-quick-recap-over-the-last-week|work=OpenSSL Valhalla Rampage|title=पिछले सप्ताह में एक त्वरित पुनर्कथन|date=23 April 2014|access-date=30 April 2014|last=Orr|first=William}}</ref><ref name="libsslcallc">{{cite web|url=https://secure.freshbsd.org/search?project=openbsd&q=libssl+calloc|title=OpenBSD LibreSSL CVS Calloc कमिट करता है|website=Secure.freshbsd.org}}</ref> यह प्रक्रिया पश्चात में अधिक उन्नत [[मेमोरी डीबगर]] उपकरण के साथ या प्रोग्राम क्रैश का अवलोकन करके [[ बफ़र अधिकता ]] त्रुटियों को ज्ञात करने में सहायता कर सकती है।


संभावित सी डायनेमिक मेमोरी आवंटन के लिए सामान्य त्रुटि परिदृश्यों को [[ संस्करण नियंत्रण प्रणाली ]] कमिट लॉग ([[नल पॉइंटर]] वैल्यू के स्पष्ट असाइनमेंट सहित) में भी उद्धृत किया गया है।<ref name="libssldouble">{{cite web|url=https://secure.freshbsd.org/search?project=openbsd&q=libssl+double+free|title=ओपनबीएसडी लिब्रेएसएसएल सीवीएस डबल फ्री कमिट करता है|website=Secure.freshbsd.org}}</ref> कमिट (संस्करण नियंत्रण) लॉग में लंबाई तर्क, अहस्ताक्षरित-से-हस्ताक्षरित [[चर (कंप्यूटर विज्ञान)]] असाइनमेंट, [[ सूचक (कंप्यूटर प्रोग्रामिंग) ]] मान, एवं विधि प्रतिफल सुनिश्चित करने से संबंधित अतिरिक्त पवित्रता परिक्षण भी उद्धृत की गई है।
संभावित सी डायनेमिक मेमोरी आवंटन के लिए सामान्य त्रुटि परिदृश्यों को [[ संस्करण नियंत्रण प्रणाली ]] कमिट लॉग ([[नल पॉइंटर]] वैल्यू के स्पष्ट असाइनमेंट सहित) में भी उद्धृत किया गया है।<ref name="libssldouble">{{cite web|url=https://secure.freshbsd.org/search?project=openbsd&q=libssl+double+free|title=ओपनबीएसडी लिब्रेएसएसएल सीवीएस डबल फ्री कमिट करता है|website=Secure.freshbsd.org}}</ref> कमिट (संस्करण नियंत्रण) लॉग में लंबाई तर्क, अहस्ताक्षरित-से-हस्ताक्षरित [[चर (कंप्यूटर विज्ञान)]] असाइनमेंट, [[ सूचक (कंप्यूटर प्रोग्रामिंग) | पॉइंटर (कंप्यूटर प्रोग्रामिंग)]] मान, एवं विधि प्रतिफल सुनिश्चित करने से संबंधित अतिरिक्त पवित्रता परिक्षण भी उद्धृत की गई है।


=== सक्रिय विधि ===
=== सक्रिय विधि ===
उत्तम प्रोग्रामिंग अभ्यास को बनाए रखने के लिए, सुरक्षा के लिए डिज़ाइन किए गए कई कंपाइलर विकल्प एवं झंडे संभावित विषयो का शोध में सहायता करने के लिए त्रुटि रूप से सक्षम किए गए हैं जिससे उन्हें प्रथम ठीक किया जा सके। [[कोड पठनीयता]] अद्यतन भी हैं जो भविष्य के योगदानकर्ताओं को कार्यक्रम की शुद्धता ([[कर्नेल सामान्य रूप]], व्हाइट-स्पेस, लाइन-रैपिंग, आदि) की पुष्टि करने में सहायता करते हैं। अनावश्यक विधि रैपर एवं मैक्रोज़ को संशोधित या विस्थापित करने से कोड पठनीयता एवं ऑडिटिंग (त्रुटि एवं I/O अमूर्त पुस्तकालय संदर्भ) में भी सहायता मिलती है।
उत्तम प्रोग्रामिंग अभ्यास को बनाए रखने के लिए, सुरक्षा के लिए डिज़ाइन किए गए कई कंपाइलर विकल्प एवं झंडे संभावित विषयो का शोध में सहायता करने के लिए त्रुटि रूप से सक्षम किए गए हैं जिससे उन्हें प्रथम ठीक किया जा सके। [[कोड पठनीयता]] अद्यतन भी हैं जो भविष्य के योगदानकर्ताओं को कार्यक्रम की शुद्धता ([[कर्नेल सामान्य रूप]], व्हाइट-स्पेस, लाइन-रैपिंग, आदि) की पुष्टि करने में सहायता करते हैं। अनावश्यक विधि रैपर एवं मैक्रोज़ को संशोधित या विस्थापित करने से कोड पठनीयता एवं ऑडिटिंग (त्रुटि एवं I/O अमूर्त पुस्तकालय संदर्भ) में भी सहायता मिलती है।


अन्य समान प्लेटफार्मों के लिए [[पोर्टेबिलिटी (कंप्यूटर विज्ञान)]] को बनाए रखने के साथ-साथ लिबरएसएसएल [[वर्ष 2038 की समस्या]] होगी यह सुनिश्चित करने के लिए परिवर्तन किए गए थे। इसके साथ ही, <code>explicit_bzero</code> एवं <code>bn_clear</code> संकलक को उन्हें अनुकूलित करने से रोकने एवं हमलावरों को प्रथम से आवंटित मेमोरी को पढ़ने से रोकने के लिए कॉल जोड़े गए थे।
अन्य समान प्लेटफार्मों के लिए [[पोर्टेबिलिटी (कंप्यूटर विज्ञान)]] को बनाए रखने के साथ-साथ लिब्रेएसएसएल [[वर्ष 2038 की समस्या]] होगी यह सुनिश्चित करने के लिए परिवर्तन किए गए थे। इसके साथ ही, <code>explicit_bzero</code> एवं <code>bn_clear</code> संकलक को उन्हें अनुकूलित करने से रोकने एवं हमलावरों को प्रथम से आवंटित मेमोरी को पढ़ने से रोकने के लिए कॉल जोड़े गए थे।


=== क्रिप्टोग्राफिक ===
=== क्रिप्टोग्राफिक ===
Line 96: Line 96:


पश्चात के संस्करणों ने अधिक सुविधाओं को अक्षम कर दिया:
पश्चात के संस्करणों ने अधिक सुविधाओं को अक्षम कर दिया:
* 2.1.1: लीगेसी एसएसएल 3.0 प्रोटोकॉल में [[पूडल]] भेद्यता की परिशोध के पश्चात, लिबरएसएसएल अब त्रुटि रूप से एसएसएल 3.0 के उपयोग को अक्षम कर देता है।<ref name="announce211">{{cite mailing list|first= Bob|last= Beck|url= http://marc.info/?l=openbsd-tech&m=141346535617562|title= LibreSSL 2.1.1 released|date= 16 October 2014|mailing-list= openbsd-tech}}</ref>
* 2.1.1: लीगेसी एसएसएल 3.0 प्रोटोकॉल में [[पूडल]] भेद्यता की परिशोध के पश्चात, लिब्रेएसएसएल अब त्रुटि रूप से एसएसएल 3.0 के उपयोग को अक्षम कर देता है।<ref name="announce211">{{cite mailing list|first= Bob|last= Beck|url= http://marc.info/?l=openbsd-tech&m=141346535617562|title= LibreSSL 2.1.1 released|date= 16 October 2014|mailing-list= openbsd-tech}}</ref>
* 2.1.3: GOST|GOST R 34.10-94 हस्ताक्षर प्रमाणीकरण,<ref name="changelog">{{cite web | url=https://github.com/libressl-portable/portable/blob/master/ChangeLog | title=लिब्रेएसएसएल-पोर्टेबल चेंजलॉग| date=15 October 2021 | publisher=LibreSSL}}</ref><ref name="announce213" />* 2.2.1: डायनेमिक इंजन एवं MDC-2DES समर्थन को विस्थापित करना<ref name="announce221" />* 2.2.2: एसएसएल 3.0 को ओपनएसएल बाइनरी से विस्थापित करना, [[इंटरनेट एक्सप्लोरर]] 6 वर्कअराउंड, आरएसएक्स इंजन को विस्थापित करना।<ref name="announce222" />* 2.3.0: एसएसएल 3.0, एसएचए-1एसएचए-0 एवं [[डेटाग्राम ट्रांसपोर्ट लेयर सुरक्षा]] को पूर्ण रूप से विस्थापित करना है।
* 2.1.3: GOST|GOST R 34.10-94 हस्ताक्षर प्रमाणीकरण,<ref name="changelog">{{cite web | url=https://github.com/libressl-portable/portable/blob/master/ChangeLog | title=लिब्रेएसएसएल-पोर्टेबल चेंजलॉग| date=15 October 2021 | publisher=LibreSSL}}</ref><ref name="announce213" />* 2.2.1: डायनेमिक इंजन एवं MDC-2DES समर्थन को विस्थापित करना<ref name="announce221" />* 2.2.2: एसएसएल 3.0 को ओपनएसएल बाइनरी से विस्थापित करना, [[इंटरनेट एक्सप्लोरर]] 6 वर्कअराउंड, आरएसएक्स इंजन को विस्थापित करना।<ref name="announce222" />* 2.3.0: एसएसएल 3.0, एसएचए-1एसएचए-0 एवं [[डेटाग्राम ट्रांसपोर्ट लेयर सुरक्षा]] को पूर्ण रूप से विस्थापित करना है।



Revision as of 14:11, 1 June 2023

LibreSSL
Original author(s)The OpenSSL Project
Developer(s)The OpenBSD Project
Initial release2.0.0 / 11 July 2014; 11 years ago (2014-07-11)
Stable release
Script error: The module returned a nil value. It is supposed to return an export table. / Script error: The module returned a nil value. It is supposed to return an export table.
Preview release
Script error: The module returned a nil value. It is supposed to return an export table. / Script error: The module returned a nil value. It is supposed to return an export table.
Written inC, assembly, Perl
Operating systemOpenBSD, FreeBSD, NetBSD, Linux, HP-UX, Solaris, macOS, Windows and others[2]
TypeCryptography library
LicenseApache-1.0, BSD-4-Clause, ISC, public domain
Websitewww.libressl.org

लिब्रेएसएसएल विवृत स्रोत सॉफ्टवेयर है। परिवहन परत सुरक्षा (टीएलएस) प्रोटोकॉल का ओपन-सोर्स कार्यान्वयन का नाम सुरक्षित सॉकेट लेयर (SSL) के नाम पर रखा गया है, जो टीएलएस का पदावनत पूर्ववर्ती है, जिसके लिए प्रदर्शन 2.3.0 में समर्थन विस्थापित कर दिया गया था। हार्टब्लीड सुरक्षा भेद्यता (कंप्यूटिंग) की प्रतिक्रिया के रूप में अप्रैल 2014 में ओपनएसएसएल 1.0.1g से ओपनबीएसडी प्रोजेक्ट फोरकेड (सॉफ्टवेयर) लिब्रेएसएसएल,[3][4][5][6] कोडबेस के आधुनिकीकरण, कंप्यूटर सुरक्षा में सुधार एवं विकास की सर्वोत्तम प्रथाओं को प्रारम्भ करने के लक्ष्यों के साथ है।[7][8][9]


इतिहास

ओपनएसएसएल में हार्टब्लीड सुरक्षा भेद्यता (कंप्यूटिंग) की परिशोध के पश्चात, ओपनबीएसडी टीम कोड ने कोडबेस कोड ऑडिट किया एवं निर्णय लिया कि हानिकारक कोड को विस्थापित करने के लिए ओपनएसएसएल को कांटा (सॉफ्टवेयर विकास) करना आवश्यक था।[3]LibreSSL.org डोमेन 11 अप्रैल 2014 को पंजीकृत किया गया था; परियोजना ने 22 अप्रैल 2014 को नाम की घोषणा की। विकास के प्रथम सप्ताह में, सी कोड की 90,000 से अधिक लाइनें विस्थापित कर दी गईं।[8][10] अप्रयुक्त कोड विस्थापित कर दिया गया था, एवं अप्रचलित संचालन प्रणाली (क्लासिक मैक ओएस, नेटवेयर, ओएस/2, 16-बिट विंडोज) एवं कुछ प्राचीन संचालन प्रणाली ( ओपन वीएमएस ) के लिए समर्थन विस्थापित कर दिया गया था।[11] लिब्रेएसएसएल को प्रारम्भ में ओपनबीएसडी 5.6 में ओपनएसएसएल के लिए इच्छित प्रतिस्थापन के रूप में विकसित किया गया था, एवं लाइब्रेरी के स्ट्रिप-डाउन संस्करण के स्थिर होने के पश्चात अन्य प्लेटफार्मों पर पोर्ट किया गया था।[12] As of April 2014, परियोजना बाहरी फंडिंग की स्थिर प्रतिबद्धता की याचना कर रही थी।[10]17 मई 2014 को, बॉब बेक ने 2014 के बीएसडीसीन सम्मेलन के समय लिब्रेएसएसएल: द फर्स्ट 30 डेज़, एंड व्हाट द फ्यूचर होल्ड्स प्रस्तुत किया, जिसमें उन्होंने प्रथम महीने में हुई प्रगति का वर्णन किया।[13] 5 जून 2014 को, कई ओपनएसएसएल बग सार्वजनिक हो गए। जबकि कई परियोजनाओं को प्रथम ही अधिसूचित कर दिया गया था,[14] लिब्रेएसएसएल नहीं था; थियो डी राड ने ओपनएसएसएल विकास पर ओपनबीएसडी एवं लिब्रेएसएसएल से निश्चयपूर्वक इस जानकारी को वापस लेने का आरोप लगाया।[15] 20 जून 2014 को, गूगल ने बोरिंगएसएसएल नामक ओपनएसएसएल का कांटा बनाया, एवं लिब्रेएसएसएल के साथ सुधारों का आदान-प्रदान करने का वचन दिया।[16][17] गूगल के पास पूर्व से ही आईएससी लाइसेंस के अनुसार स्वयं कुछ योगदानों को पुनः प्राप्त करने वाला सॉफ़्टवेयर है, जैसा कि लिब्रेएसएसएल विकास के द्वारा अनुरोध किया गया था।[16][18] 21 जून 2014 को, थियो डी राडट ने बोरिंगएसएसएल का स्वागत किया एवं लिब्रेएसएसएल-पोर्टेबल के लिए योजनाओं की रूपरेखा प्रस्तुत की गयी।[19] 8 जुलाई से मैक ओएस एवं सोलारिस (संचालन प्रणाली) के लिए कोड पोर्टिंग प्रारम्भ हुई,[20] जबकि लिनक्स में प्रारंभिक पोर्टिंग 20 जून को प्रारम्भ हुई थी।[21] 2021 तक,

ओपनबीएसडी प्राथमिक एसएसएल लाइब्रेरी के रूप में लिब्रेएसएसएल का उपयोग करता है। अल्पाइन लिनक्स ने जनवरी 2019 में 3.9.0 प्रदर्शन होने तक तीन साल के लिए अपनी प्राथमिक टीएलएस लाइब्रेरी के रूप में लिब्रेएसएसएल का समर्थन किया। जेंटू लिनक्स ने फरवरी 2021 तक लिब्रेएसएसएल का समर्थन किया।[22] पायथन (प्रोग्रामिंग भाषा) 3.10 लिब्रेएसएसएल सहायता को पायथन 3.4.3 (2015) के पश्चात से समर्थित होने के पश्चात त्याग देता है।[23] [24]


जोड़ी गई सुविधाएँ

लिब्रेएसएसएल इनके लिए टीएलएस का त्रुटि प्रदाता है।

लिब्रेएसएसएल इन अब-संवृत प्रणालीों के लिए टीएलएस का त्रुटि प्रदाता है।

लिब्रेएसएसएल इनके लिए टीएलएस का चयन योग्य प्रदाता है।

  • फ्रीबीएसडी संकुल[30]
  • जेंटू लिनक्स संकुल[31] (समर्थन फरवरी 2021 तक गिरा दिया गया[32][33][34])
  • ओपीएनसेंस संकुल [35] (22.7 के पश्चात गिरा दिया जाएगा[36])

परिवर्तन

मेमोरी से संबंधित

परिवर्तन में प्रचलन मेमोरी कॉल को मानक लाइब्रेरी में परिवर्तन सम्मिलित होता है (उदाहरण के लिए, strlcpy, calloc, asprintf, reallocarray, आदि।)।[37][38] यह प्रक्रिया पश्चात में अधिक उन्नत मेमोरी डीबगर उपकरण के साथ या प्रोग्राम क्रैश का अवलोकन करके बफ़र अधिकता त्रुटियों को ज्ञात करने में सहायता कर सकती है।

संभावित सी डायनेमिक मेमोरी आवंटन के लिए सामान्य त्रुटि परिदृश्यों को संस्करण नियंत्रण प्रणाली कमिट लॉग (नल पॉइंटर वैल्यू के स्पष्ट असाइनमेंट सहित) में भी उद्धृत किया गया है।[39] कमिट (संस्करण नियंत्रण) लॉग में लंबाई तर्क, अहस्ताक्षरित-से-हस्ताक्षरित चर (कंप्यूटर विज्ञान) असाइनमेंट, पॉइंटर (कंप्यूटर प्रोग्रामिंग) मान, एवं विधि प्रतिफल सुनिश्चित करने से संबंधित अतिरिक्त पवित्रता परिक्षण भी उद्धृत की गई है।

सक्रिय विधि

उत्तम प्रोग्रामिंग अभ्यास को बनाए रखने के लिए, सुरक्षा के लिए डिज़ाइन किए गए कई कंपाइलर विकल्प एवं झंडे संभावित विषयो का शोध में सहायता करने के लिए त्रुटि रूप से सक्षम किए गए हैं जिससे उन्हें प्रथम ठीक किया जा सके। कोड पठनीयता अद्यतन भी हैं जो भविष्य के योगदानकर्ताओं को कार्यक्रम की शुद्धता (कर्नेल सामान्य रूप, व्हाइट-स्पेस, लाइन-रैपिंग, आदि) की पुष्टि करने में सहायता करते हैं। अनावश्यक विधि रैपर एवं मैक्रोज़ को संशोधित या विस्थापित करने से कोड पठनीयता एवं ऑडिटिंग (त्रुटि एवं I/O अमूर्त पुस्तकालय संदर्भ) में भी सहायता मिलती है।

अन्य समान प्लेटफार्मों के लिए पोर्टेबिलिटी (कंप्यूटर विज्ञान) को बनाए रखने के साथ-साथ लिब्रेएसएसएल वर्ष 2038 की समस्या होगी यह सुनिश्चित करने के लिए परिवर्तन किए गए थे। इसके साथ ही, explicit_bzero एवं bn_clear संकलक को उन्हें अनुकूलित करने से रोकने एवं हमलावरों को प्रथम से आवंटित मेमोरी को पढ़ने से रोकने के लिए कॉल जोड़े गए थे।

क्रिप्टोग्राफिक

असुरक्षित सीडिंग प्रथाओं के प्रतिस्थापन के माध्यम से यादृच्छिक संख्या जनरेटर-आधारित विधियों के उचित यादृच्छिक बीज को सुनिश्चित करने में सहायता करने के लिए परिवर्तन किए गए थे (कर्नेल (संचालन प्रणाली) द्वारा प्रदान की गई सुविधाओं का लाभ उठाते हुए)।[40][41] किए गए उल्लेखनीय परिवर्धन के संदर्भ में, ओपनबीएसडी ने नए एवं अधिक प्रतिष्ठित एल्गोरिदम (चाचा (सिफर) स्ट्रीम सिफर एवं पाली1305 संदेश प्रमाणीकरण कोड) के साथ-साथ दीर्घवृत्त वक्र क्रिप्टोग्राफी (RFC 5639 से ब्रेनपूल कर्व्स, 512 बिट्स तक) के सुरक्षित समूह के साथ समर्थन जोड़ा है।)

युग्मित की गयी गई विशेषताएं

लिब्रेएसएसएल के प्रारंभिक प्रदर्शन में कई विशेषताएं जोड़ी गईं: साल्सा20 चाचा वेरिएंट एवं पॉली1305 एल्गोरिदम, ब्रेनपूल एवं /एजेंस/प्रकाशन/प्रकाशन-डुन-पैरामेट्रेज-डी-कोर्बे-एलिप्टिक-विसेंट-डेस-एप्लीकेशन-डी-पासपोर्ट-इलेक्ट्रॉनिक-एट-डे-लाडमिनिस्ट्रेशन-इलेक्ट्रॉनिक-फ़्रैंकैस/एएनएसएसआई दीर्घवृत्त वक्र, एवं गैलोज़ काउंटर मोड एईएस-जीसीएम एवं चाचा20-पॉली1305 प्रमाणित एन्क्रिप्शन मोड।

पश्चात के संस्करणों ने निम्नलिखित जोड़ा:[42]* 2.1.0: स्वचालित क्षणिक कुंजी ईसी कुंजी।[43]

  • 2.1.2: मैक ओएस एवं फ्रीबीएसडी पर बिल्ट-इन आरसी4 आरसी4-आधारित रैंडम नंबर जेनरेटर कार्यान्वयन।[44]
  • 2.1.2: गोस्ट सिफर सूट समर्थन पर कार्य किया।
  • 2.1.3: आवेदन परत प्रोटोकॉल वार्तालाप सहायता।[45]
  • 2.1.3: SHA-256 एवं कमीलया (सिफर) सिफर सुइट्स के लिए समर्थन।
  • 2.1.4: ट्रांसपोर्ट लेयर सिक्योरिटी पूडल आक्षेपटीएलएस_FALLBACK_SCSV सर्वर-साइड सपोर्ट।[46]
  • 2.1.4: c_rehash कथानक के प्रतिस्थापन के रूप में certhash।
  • 2.1.4: स्मृति से प्रमाण पत्र लोड करने के लिए X509_STORE_load_mem API (एन्हांस चेरोट सपोर्ट)।
  • 2.1.4: प्रायोगिक माइक्रोसॉफ़्ट विंडोज़ बायनेरिज़।
  • 2.1.5: मुख्य रूप से विंडोज समर्थन में सुधार के लिए साधारण अद्यतन, प्रथम 32- एवं 64-बिट कंप्यूटिंग 64-बिट बायनेरिज़ कार्य कर रहे थे।[47]
  • 2.1.6: libtls स्थिर घोषित एवं त्रुटि रूप से सक्षम।[48]
  • 2.2.0: AIX एवं Cygwin सपोर्ट।[49]
  • 2.2.1: EC_curve_nid2nist एवं EC_curve_nist2nid का जोड़[50] OpenSSL से, प्रारंभिक Windows XP/2003 समर्थन।
  • 2.2.2: LIBRESSL_VERSION_NUMBER को परिभाषित करता है,[51] SSLv23_मेथड कॉल, CMake बिल्ड सहायता के प्रतिस्थापन के रूप में टीएलएस मेथड्स जोड़े गए।

प्राचीन असुरक्षित विशेषताएं

लिब्रेएसएसएल के प्रारंभिक प्रदर्शन में त्रुटि रूप से कई सुविधाओं को अक्षम कर दिया।[11]इन सुविधाओं