एमबेड टीएलएस

एमबेड टीएलएस एसएसएल एवं टीएलएस प्रोटोकॉल एवं संबंधित क्रिप्टोग्राफ़िक एल्गोरिदम एवं आवश्यक समर्थन कोड का कार्यान्वयन है। यह अपाचे लाइसेंस वर्जन 2.0 के अनुसार वितरित किया गया है। वेबसाइट पर कहा गया है कि एमबेड टीएलएस का उद्देश्य विचार करने, उपयोग करने, एकीकृत करने एवं विस्तार करने में सरल होता है।

इतिहास
पोलरएसएसएल एसएसएल लाइब्रेरी XySSL SSL लाइब्रेरी की आधिकारिक निरंतरता शाखा है। XySSL फ्रेंच व्हाइट हैट (कंप्यूटर सुरक्षा) क्रिस्टोफ़ डिवाइन द्वारा बनाया गया था एवं प्रथम बार 1 नवंबर, 2006 को GNU_General_Public_License v2 एवं BSD_licenses लाइसेंस के अनुसार निर्धारित किया गया था। 2008 में, क्रिस्टोफ़ डिवाइन अब XySSL का समर्थन करने में सक्षम नहीं थे एवं पॉल बक्कर को पोलारएसएसएल नामक आधिकारिक फोर्क बनाने की अनुमति दी। नवंबर 2014 में, शाखा (कंपनी)  द्वारा पोलारएसएसएल का अधिग्रहण किया गया था। 2011 में, डच सरकार ने ओपनवीपीएन एवं पोलरएसएसएल के मध्य एकीकरण को स्वीकृति दी, जिसे ओपनवीपीएन-एनएल (OpenVPN-NL) नाम दिया गया है। ओपनवीपीएन के इस वर्जन को प्रतिबंधित स्तर तक सरकारी संचार की सुरक्षा में उपयोग के लिए अनुमोदित किया गया है। वर्जन 1.3.10 के निर्धारित होने के साथ ही, पोलरएसएसएल को एमबेड टीएलएस के रूप में ब्रांडेड किया गया है, जिससे एमबेड पारिस्थिति की  प्रणाली के अंदर उत्तम रूप से योग्य हो सके। वर्जन 2.1.0 से प्रारम्भ होकर, लाइब्रेरी को जीपीएल v2 एवं अपाचे लाइसेंस v2.0 दोनों के अनुसार उपलब्ध कराया गया था। वर्जन 2.17 के पश्चात से, एमबेड टीएलएस केवल अपाचे लाइसेंस वर्जन 2.0 के अनुसार लाइसेंस प्राप्त है।  2020 में, एमबेड टीएलएस विश्वसनीय फर्मवेयर परियोजना में सम्मिलित हो गया।

लाइब्रेरी
कोर एसएसएल लाइब्रेरी (कंप्यूटर विज्ञान) सी (प्रोग्रामिंग भाषा) में लिखी गई है एवं एसएसएल मॉड्यूल, मूल क्रिप्टोग्राफी कार्यों को प्रारम्भ करती है एवं विभिन्न उपयोगिता कार्यों को प्रदान करती है। ओपनएसएसएल एवं टीएलएस के अन्य कार्यान्वयनों के विपरीत, एमबेड टीएलएस wolfSSL के जैसे है जिसमें इसे अल्प एम्बेडेड उपकरणों पर उपयोग करने के लिए डिज़ाइन किया गया है, जिसमें न्यूनतम पूर्ण टीएलएस स्टैक के लिए 60KB से कम प्रोग्राम स्पेस एवं 64 KB रैम की आवश्यकता होती है। यह अत्यधिक मॉड्यूलर भी है, प्रत्येक घटक, जैसे क्रिप्टोग्राफ़िक फ़ंक्शन, को स्वरुप से स्व प्रणाली रूप में उपयोग किया जा सकता है। माइक्रोसॉफ़्ट विंडोज़ एवं लिनक्स के लिए वर्जन भी उपलब्ध हैं। क्योंकि एमबेड टीएलएस को सी (प्रोग्रामिंग भाषा) में लिखा गया है, बाहरी निर्भरताओं के बिना, यह अधिकांश ऑपरेटिंग प्रणाली एवं स्थापत्य पर कार्य करता है।

वर्जन 1.3.0 के पश्चात से, इसमें उपस्थित एम्बेडेड ऑपरेटिंग प्रणाली के साथ उत्तम एकीकरण का समर्थन करने के लिए मेमोरी आवंटन एवं कोर में थ्रेडिंग के लिए अमूर्त परतें होती हैं।

डिजाइन प्राथमिकताएं
एमबेड टीएलएस लाइब्रेरी कोड की पठनीयता, प्रलेखन, ऑटोमेटेड प्रतिगमन टेस्टिंग, शिथिल युग्मित डिज़ाइन एवं पोर्टेबल कोड पर ध्यान केंद्रित करती है।

डेवलपमेंट डॉक्यूमेंटेशन
डेवलपमेंट के लिए निम्नलिखित प्रपत्र उपलब्ध हैं:


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

ऑटोमेटेड टेस्टिंग
एमबेड टीएलएस के ऑटोमेटेड टेस्टिंग में सम्मिलित हैं:


 * विभिन्न प्लेटफार्मों पर प्रतिगमन एवं संगतता के टेस्टिंग के लिए 5000 से अधिक ऑटोमेटेड परीक्षणों (लाइब्रेरी के वर्जन 1.3.2 में परीक्षणों की संख्या के आधार पर) वाले स्रोत कोड के साथ टेस्टिंग रूप सम्मिलित होता है।
 * अनुकूलता कथानक (compat.sh ) जो ओपनएसएसएल एवं जीएनयूटीएलएस के साथ एसएसएल संचार की अनुकूलता का टेस्टिंग करता है।
 * ट्रैविस सीआई एवं जेनकींस (सॉफ्टवेयर) पर आधारित सतत एकीकरण प्रणाली होती है।

उपयोग
एमबेड टीएलएस का उपयोग बड़े ओपन सोर्स परियोजनाओ में एसएसएल घटक के रूप में किया जाता है:


 * ओपनवीपीएन एवं ओपनवीपीएन-एनएल
 * हिअवैथा (वेब ​​​​सर्वर)
 * पावरडीएनएस
 * मंकी एचटीटीपी सर्वर

प्लेटफॉर्म
एमबेड टीएलएस वर्तमान में लिनक्स, माइक्रोसॉफ्ट विंडोज, ओएस एक्स, ओपनवर्ट, एंड्रॉयड (ऑपरेटिंग प्रणाली), आईओएस, आरआईएससी ओएस सहित अधिकांश ऑपरेटिंग प्रणाली के लिए उपलब्ध है एवं फ्रीआरटीओएस समर्थित चिपसेट में कम से कम

एआरएम, एक्स86, पावरपीसी, एमआईपीएस सम्मिलित हैं।

एल्गोरिदम
एमबेड टीएलएस कई भिन्न-भिन्न क्रिप्टोग्राफ़िक एल्गोरिदम का समर्थन करता है:

क्रिप्टोग्राफ़िक हैश फ़ंक्शन:
 * MD2 (हैश फंक्शन), MD4, MD5, RIPEMD, SHA-1, SHA-2


 * MAC मोड
 * -की_मैक, एचएमएसी

सिफ़र :
 * उन्नत एन्क्रिप्शन मानक, ARIA (सिफर), ब्लोफिश (सिफर), कमीलया (सिफर), चाचा (सिफर), हाई एन्क्रिप्शन मानक, RC4, ट्रिपल डेस, XTEA

ऑथेंटिकेटेड एन्क्रिप्शन मोड
 * CCM_mode, Galois/Counter_Mode, NIST KEY WRAP,
 * ChaCha20-Poly1305


 * Key_derivation_function
 * एचकेडीएफ

की-स्ट्रेचिंग
 * PBKDF2, PKCS #5 PBE2, PKCS_12 की डेरिवेशन

पब्लिक-की क्रिप्टोग्राफी:
 * RSA (क्रिप्टोप्रणाली), डिफी-हेलमैन की एक्सचेंज,
 * पब्लिक की क्रिप्टोग्राफी एलिप्टिक कर्व क्रिप्टोग्राफी (ईसीसी), एलिप्टिक-कर्व डिफी-हेलमैन एलिप्टिक कर्व डिफी-हेलमैन (ईसीडीएच), एलिप्टिक कर्व डीएसए (ईसीडीएसए), एलिप्टिक कर्व जे पाके

यह भी देखें

 * ट्रांसपोर्ट सिक्योरिटी लेयर
 * टीएलएस कार्यान्वयन की अपेक्षा
 * पॉस परियोजना
 * जीएनयूटीएलएस
 * नेटवर्क सुरक्षा सेवाएँ
 * वोल्फएसएसएल (पहले स्याएसएसएल)
 * मैट्रिक्सएसएसएल
 * ओपनएसएसएल