2014-04-15 4 views
16

वेबआरटीसी यातायात डीटीएलएस का उपयोग करके एन्क्रिप्ट किया गया है - ठीक है। लेकिन एक टर्न सर्वर पर रिलायंस के बारे में क्या?क्या टर्न एंड-एंड-एंड एन्क्रिप्टेड पर वेबआरटीसी यातायात है?

मैं एक विश्वसनीय संसाधन जो पुष्टि करता है कि यातायात है की तलाश में हूँ सही मायने में अंत से अंत एन्क्रिप्टेड (क्योंकि "अंत से अंत" कभी कभी के कई अर्थ सकते हैं)। तो मेरा मतलब है

  • यह नहीं कि एक पीयर और टर्न सर्वर के बीच "एंड-टू-एंड" एन्क्रिप्शन है।

बल्कि,

  • है कि यह अंत से अंत साथियों
  • ऐसी है कि वह decrypted नहीं है/पुनः एन्क्रिप्टेड मोड़ सर्वर
  • पर और है कि वहाँ के बीच है टर्न सर्वर के लिए गुप्त

तक पहुंच प्राप्त करने का कोई तरीका नहीं है, मुझे इसका कोई निश्चित उत्तर नहीं मिला है।

उत्तर

18

देखने के लिए जगह टर्न प्रस्तावित मानक है, RFC 5766

एक बार आवंटन बनाया जाता है, क्लाइंट अनुप्रयोग डेटा सर्वर से की जो डेटा सहकर्मी एक संकेत के साथ भेज सकते हैं: मानक एक ग्राहक और एक सहकर्मी के बीच आवेदन डेटा वाली यूडीपी पैकेट के प्रसारण के लिए एक साधन प्रदान करता भेजा जाना है, और सर्वर इस डेटा को उपयुक्त सहकर्मी को रिले करेगा। क्लाइंट एक टर्न संदेश के अंदर सर्वर को एप्लिकेशन डेटा भेजता है; सर्वर पर, डेटा टर्न संदेश से निकाला जाता है और एक यूडीपी डेटाग्राम में सहकर्मी को भेजा जाता है। विपरीत दिशा में, एक सहकर्मी आवंटन के लिए रिलेड परिवहन पते पर यूडीपी डेटाग्राम में आवेदन डेटा भेज सकता है; सर्वर तब इस डेटा को टर्न संदेश के अंदर encapsulate करेगा और यह संकेत के साथ क्लाइंट को भेज देगा कि किस पीयर ने डेटा भेजा था।

टर्न पार्सों की उच्चतम परत यूडीपी परत है। यह एप्लिकेशन डेटा परत को समझ या संशोधित नहीं करता है (आपके मामले में, वेबआरटीसी प्रोटोकॉल)। मानक कहता है:

एक आवेदन यह सुनिश्चित करने के लिए इच्छुक है कि उसका डेटा बदला नहीं गया है या जाली को अखंडता चाहिए-आवेदन स्तर पर अपने डेटा की रक्षा करें।

इसका मतलब है कि आप कर सकते हैं अपने आवेदन डेटा अखंडता-रक्षा, और बदले संशोधन के बिना यह रिले होगा। आप टर्न प्रोटोकॉल के विवरण भी देख सकते हैं (जिसे मैं यहां दोहराना नहीं चाहूंगा) जो दिखाता है कि यह केवल एप्लिकेशन डेटा को लपेटता है और आगे बढ़ाता है।

अंत में, मानक छिपकर बातें सुनने पर यह कहते हैं: बारी से रिले की जाती अनुप्रयोग डेटा के लिए

गोपनीयता सबसे अच्छा आवेदन प्रोटोकॉल द्वारा प्रदान की है, बारी चल के बाद से से अधिक टीएलएस के बीच आवेदन डेटा की रक्षा नहीं करता सर्वर और सहकर्मी। यदि आवेदन डेटा की गोपनीयता महत्वपूर्ण है, तो एप्लिकेशन को अपने डेटा को एन्क्रिप्ट या अन्यथा सुरक्षित रखना चाहिए। उदाहरण के लिए, रीयल-टाइम मीडिया के लिए, गोपनीयता को SR12 का उपयोग करके द्वारा प्रदान किया जा सकता है।

इस अंश में अनुशंसा डीटीएलएस-एसआरटीपी जैसे प्रोटोकॉल के साथ एप्लिकेशन डेटा एन्क्रिप्ट करके गोपनीयता की रक्षा करना है, जो वेबआरटीसी उपयोग करता है।

क्योंकि टर्न एप्लिकेशन डेटा की व्याख्या या संशोधन नहीं करता है, यह वेबआरटीसी एप्लिकेशन डेटा यातायात में कोई सुरक्षा भेद्यता नहीं जोड़ता है जो टर्न का उपयोग किये बिना मौजूद नहीं होगा। वेबआरटीसी डेटा वेबआरटीसी एंडपॉइंट्स के बीच एन्क्रिप्ट किया गया है।

अब, कोई भी गारंटी नहीं दे सकता कि "टर्न सर्वर को गुप्त तक पहुंचने का कोई तरीका नहीं है।" एक दुष्ट टर्न सर्वर आपके कनेक्शन पर मैन-इन-द-बीच हमले का प्रयास कर सकता है, जितना आसानी से आपके नेटवर्क पैकेट को अवरुद्ध कर सकता है। यह केवल सच है कि टर्न रिले का उपयोग करके वेबआरटीसी सुरक्षा कमजोर नहीं होती है।

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

+2

यह उत्तर निश्चित रूप से सही दिशा में जाता है। यह स्पष्ट है कि काम करने के लिए एंड-टू-एंड एन्क्रिप्शन के लिए, अनुप्रयोग परत पर एन्क्रिप्शन किया जाना चाहिए। लेकिन 1. मैं 100% निश्चित नहीं हूं, अगर "पारदर्शी टर्न पार करने वाली उच्चतम परत यूडीपी परत है।": Https://code.google.com/p/rfc5766-turn- सर्वर में डीटीएल और टीएलएस विकल्प हैं/विकी/परिवर्तक। और 2. मैं 100% निश्चित नहीं हूं, अगर वेबआरटीसी टर्न सर्वर के साथ या अन्य क्लाइंट के साथ डीटीएलएस के लिए महत्वपूर्ण एक्सचेंज करता है। मुझे वेबआरटीसी स्पेक में इसके बारे में कुछ भी नहीं मिला है। –

+0

@ क्रिसलरचर, टर्न प्रोटोकॉल को क्लाइंट और सर्वर के बीच कनेक्शन के लिए टीएलएस या डीटीएलएस द्वारा संरक्षित किया जा सकता है (आरएफसी 5766 में टीएलएस की अनुमति है; डीटीएलएस एक स्पष्ट वृद्धि है)। यह एन्क्रिप्शन क्लाइंट और सर्वर के बीच यातायात को समाहित करता है और एप्लिकेशन परत में किसी भी एन्क्रिप्शन के शीर्ष पर है। ओपन सोर्स कोड में, '--no-tls' और' --no-dtls' विकल्पों का विवरण (netreline.c में परिभाषित mainrelay.c में परिभाषित) वास्तव में कहता है कि यह * क्लाइंट श्रोताओं * पर लागू होता है, टर्न प्रोटोकॉल परत के लिए सॉकेट इंगित करता है। – rhashimoto

+0

@ क्रिसलर, वेबआरटीसी डीटीएलएस हैंडशेकिंग निर्दिष्ट नहीं करता है क्योंकि यह डीटीएलएस का हिस्सा है। डीटीएलएस टीएलएस का सिर्फ एक यूडीपी-आकार का संस्करण है, इसलिए यह एंड-टू-एंड एन्क्रिप्शन की गारंटी दे सकता है। लेकिन एचटीटीपीएस की तरह, यह केवल तभी काम करता है जब आप अपने सहकर्मी के प्रमाण पत्र को सत्यापित करते हैं - अन्यथा, जैसा कि आप डरते हैं, कोई एमआईटीएम हमले का उपयोग कर सकता है। और, एचटीटीपीएस की तरह, वेबआरटीसी कार्यान्वयन को प्रमाणपत्र सुरक्षित होने की जांच करनी चाहिए। यह डब्ल्यू 3 सी ड्राफ्ट के सेक्शन 8.3.5 में शामिल है: सभी डीटीएलएस कनेक्शन स्थापित करने की जांच कर रहे हैं और जांच कर रहे हैं कि सभी कनेक्शनों पर प्रमाण पत्र फिंगरप्रिंट आईडीडी द्वारा प्रदान किए गए एक से मेल खाते हैं। – rhashimoto

संबंधित मुद्दे