
SRTP (Secure Realtime Transport Protocol) के लिए लाइब्रेरी
यह पैकेज सिक्योर रियल-टाइम ट्रांसपोर्ट प्रोटोकॉल (SRTP), यूनिवर्सल सिक्योरिटी ट्रांसफॉर्म (UST), और एक सहायक क्रिप्टोग्राफ़िक कर्नेल का कार्यान्वयन प्रदान करता है। SRTP API का दस्तावेज़ीकरण include/srtp.h में किया गया है, और लाइब्रेरी (संकलन के बाद) libsrtp2.a में है।
यह दस्तावेज़ libSRTP का वर्णन करता है, जो Cisco Systems, Inc. की ओपन सोर्स सिक्योर RTP लाइब्रेरी है। RTP रियल-टाइम ट्रांसपोर्ट प्रोटोकॉल है, जो टेलीफोनी, ऑडियो और वीडियो जैसे रियल-टाइम डेटा के परिवहन के लिए एक IETF मानक है, जिसे RFC 3550 द्वारा परिभाषित किया गया है। सिक्योर RTP (SRTP) RTP डेटा को गोपनीयता प्रदान करने और RTP हेडर और पेलोड को प्रमाणीकरण प्रदान करने के लिए एक RTP प्रोफ़ाइल है। SRTP एक IETF मानक है, जिसे RFC 3711 में परिभाषित किया गया है, और इसे IETF ऑडियो/वीडियो ट्रांसपोर्ट (AVT) कार्य समूह में विकसित किया गया था। यह लाइब्रेरी SRTP की सभी अनिवार्य विशेषताओं का समर्थन करती है, लेकिन सभी वैकल्पिक विशेषताओं का नहीं। अधिक विस्तृत जानकारी के लिए समर्थित विशेषताएँ अनुभाग देखें।
इस दस्तावेज़ का उपयोग /doc/ फ़ोल्डर में दस्तावेज़ीकरण फ़ाइलें उत्पन्न करने के लिए भी किया जाता है, जहाँ libSRTP API और संबंधित कार्यों के लिए एक अधिक विस्तृत संदर्भ बनाया जा सकता है (doxygen स्थापित करना आवश्यक है)। संदर्भ सामग्री कुछ C हेडर फ़ाइलों में एम्बेड की गई टिप्पणियों से स्वचालित रूप से बनाई जाती है। दस्तावेज़ीकरण को स्पष्टता में सुधार के लिए मॉड्यूल में व्यवस्थित किया गया है। ये मॉड्यूल सीधे तौर पर फ़ाइलों के अनुरूप नहीं होते हैं। एक अंतर्निहित क्रिप्टोग्राफ़िक कर्नेल libSRTP की अधिकांश बुनियादी कार्यक्षमता प्रदान करता है, लेकिन यह अधिकतर अप्रलेखित है क्योंकि यह पर्दे के पीछे अपना कार्य करता है।
[email protected] समाचार / घोषणाओं / चर्चाओं के लिए सामान्य मेलिंग सूची। यह एक खुली सूची है, साइन अप करने के लिए देखें https://lists.packetizer.com/mailman/listinfo/libsrtp।
[email protected] libsrtp रखरखाव टीम को सुरक्षा समस्याओं की सूचना देने के लिए। यह एक बंद सूची है, लेकिन कोई भी इसे संदेश भेज सकता है।
libSRTP निम्नलिखित लाइसेंस के अंतर्गत वितरित किया जाता है, जो स्रोत कोड वितरण में शामिल है। यदि आपने लाइब्रेरी किसी अन्य स्रोत से प्राप्त की है, तो इसे मैनुअल में पुन: प्रस्तुत किया गया है।
कॉपीराइट (c) 2001-2017 Cisco Systems, Inc. सर्वाधिकार सुरक्षित।
स्रोत और बाइनरी रूपों में पुनर्वितरण और उपयोग, बिना संशोधन के, अनुमत है बशर्ते कि निम्नलिखित शर्तें पूरी हों:
- स्रोत कोड के पुनर्वितरण को उपरोक्त कॉपीराइट सूचना, शर्तों की यह सूची और निम्नलिखित अस्वीकरण बनाए रखना चाहिए।
- बाइनरी रूप में पुनर्वितरण को उपरोक्त कॉपीराइट सूचना, शर्तों की यह सूची और निम्नलिखित अस्वीकरण को वितरण के साथ प्रदान किए गए दस्तावेज़ और/या अन्य सामग्रियों में पुन: प्रस्तुत करना चाहिए।
- न तो Cisco Systems, Inc. का नाम और न ही इसके योगदानकर्ताओं के नाम किसी विशेष पूर्व लिखित अनुमति के बिना इस सॉफ़्टवेयर से व्युत्पन्न उत्पादों का समर्थन या प्रचार करने के लिए उपयोग किए जा सकते हैं।
यह सॉफ़्टवेयर कॉपीराइट धारकों और योगदानकर्ताओं द्वारा "जैसा है" प्रदान किया जाता है और किसी भी व्यक्त या निहित वारंटी, जिनमें शामिल हैं, लेकिन इन्हीं तक सीमित नहीं, व्यापारिकता और किसी विशेष उद्देश्य के लिए उपयुक्तता की निहित वारंटी तक सीमित, अस्वीकृत की जाती हैं। किसी भी स्थिति में कॉपीराइट धारक या योगदानकर्ता किसी भी प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, विशेष, अनुकरणीय या परिणामी क्षति के लिए उत्तरदायी नहीं होंगे (जिनमें शामिल हैं, लेकिन इन्हीं तक सीमित नहीं, वैकल्पिक वस्तुओं या सेवाओं की खरीद; उपयोग, डेटा या लाभ की हानि; या व्यवसाय में व्यवधान) चाहे वह किसी भी कारण से उत्पन्न हुई हों और किसी भी दायित्व सिद्धांत पर, चाहे अनुबंध में, कठोर दायित्व, या अपकृत्य (लापरवाही या अन्यथा सहित) में, इस सॉफ़्टवेयर के उपयोग से किसी भी तरह से उत्पन्न, भले ही सलाह दी गई हो ऐसी क्षति की संभावना के बारे में।
libSRTP RTP और RTCP की सुरक्षा के लिए फ़ंक्शन प्रदान करता है। RTP पैकेटों को एन्क्रिप्ट और प्रमाणित किया जा सकता है (srtp_protect() फ़ंक्शन का उपयोग करके), जिससे वे SRTP पैकेट बन जाते हैं। इसी तरह, SRTP पैकेटों को डिक्रिप्ट किया जा सकता है और उनके प्रमाणीकरण को सत्यापित किया जा सकता है (srtp_unprotect() फ़ंक्शन का उपयोग करके), जिससे वे RTP पैकेट बन जाते हैं। समान फ़ंक्शन RTCP पैकेटों पर सुरक्षा लागू करते हैं।
typedef srtp_stream_t एक संरचना की ओर इंगित करता है जो एक SRTP स्ट्रीम से जुड़ी सभी स्थिति रखती है, जिसमें सिफर और संदेश प्रमाणीकरण फ़ंक्शन के लिए कुंजियाँ और पैरामीटर और एंटी-रिप्ले डेटा शामिल हैं। एक विशेष srtp_stream_t एक विशेष RTP और RTCP स्ट्रीम की सुरक्षा के लिए आवश्यक जानकारी रखता है। यह डेटाटाइप जानबूझकर अपारदर्शी है ताकि libSRTP API को उसके कार्यान्वयन से बेहतर ढंग से अलग किया जा सके।
एक SRTP सत्र के भीतर, कई स्ट्रीम हो सकती हैं, जिनमें से प्रत्येक किसी विशेष प्रेषक से उत्पन्न होती है। प्रत्येक स्रोत अपनी उत्पन्न होने वाली RTP और RTCP स्ट्रीम की सुरक्षा के लिए एक अलग स्ट्रीम संदर्भ का उपयोग करता है। typedef srtp_t एक संरचना की ओर इंगित करता है जो एक SRTP सत्र से जुड़ी सभी स्थिति रखती है। एकल srtp_t के साथ कई स्ट्रीम संदर्भ जुड़े हो सकते हैं। एक स्ट्रीम संदर्भ srtp_t से स्वतंत्र रूप से अस्तित्व में नहीं रह सकता, हालाँकि निश्चित रूप से एक srtp_t बनाया जा सकता है जिसमें केवल एक ही स्ट्रीम संदर्भ हो। SRTP सत्र में भाग लेने वाले डिवाइस के पास उस सत्र में प्रत्येक स्रोत के लिए एक स्ट्रीम संदर्भ होना चाहिए, ताकि वह प्रत्येक प्रेषक से प्राप्त डेटा को संसाधित कर सके।
libSRTP में, एक सत्र srtp_create() फ़ंक्शन का उपयोग करके बनाया जाता है। सत्र में लागू की जाने वाली नीति इस फ़ंक्शन में एक अपारदर्शी srtp_policy_t हैंडल के रूप में पारित की जाती है। एक एकल नीति हैंडल एक स्ट्रीम नीति का वर्णन करता है। कई स्ट्रीम कॉन्फ़िगर करने के लिए, एक सत्र बनाएं और srtp_stream_add() के साथ अतिरिक्त नीतियां जोड़ें।