
अभिवादन, हाबराचित्त!
IM + मल्टी-प्रोटोकॉल मोबाइल क्लाइंट के लिए नवीनतम अपडेट OTR (ऑफ-द-रिकॉर्ड) एन्क्रिप्शन प्रोटोकॉल के लिए समर्थन के साथ लाया गया। यह उल्लेखनीय है कि एन्क्रिप्शन फ़ंक्शन उपलब्ध है, भले ही IM प्रोटोकॉल का उपयोग आप संचार करते समय करते हैं (OSCAR, Jabber, Gtalk, MSN, YIM या अन्य)।
इस प्रोटोकॉल की मुख्य विशेषताएं हैं:
- संदेश एन्क्रिप्शन - कोई और संदेश नहीं पढ़ सकता है;
- इंटरलोक्युटॉर ऑथेंटिकेशन - विश्वास जो इंटरकोलेक्टर है;
- यदि गुप्त कुंजी खो जाती है, तो पिछले पत्राचार से समझौता नहीं किया जाएगा;
यह कहाँ काम करता है?
डेस्कटॉप क्लाइंट के बीच OTR एन्क्रिप्शन द्वारा समर्थित है:
- एडियम (मैक ओएस एक्स) में अंतर्निहित समर्थन है;
- क्लिम (यूनिक्स) में अंतर्निहित समर्थन है;
- तीसरे डेवलपर्स के एक प्लगइन के साथ गजिम (माइक्रोसॉफ्ट विंडोज, लिनक्स, फ्रीबीएसडी);
- तीसरे डेवलपर्स के एक प्लगइन के साथ irssi (यूनिक्स);
- तीसरे डेवलपर्स से एक प्लगइन के साथ कोपेट (यूनिक्स);
- तीसरे डेवलपर्स के एक प्लगइन के साथ मिरांडा आईएम (माइक्रोसॉफ्ट विंडोज);
- आधिकारिक प्लगइन के साथ पिजिन, पूर्व में गिम, (क्रॉस-प्लेटफॉर्म एप्लिकेशन);
- तीसरे डेवलपर्स के एक प्लगइन के साथ साई + (माइक्रोसॉफ्ट विंडोज, लिनक्स);
- क्यूटीआईएम (माइक्रोसॉफ्ट विंडोज, लिनक्स, मैक ओएस एक्स) ओटीआर प्लगइन (लिबेरोफ्थेकार्ड) के साथ, जो खुद क्यूटीआईएम द्वारा लिखा गया था और "बॉक्स से बाहर" सुलभ है;
- तीसरे डेवलपर्स के एक प्लगइन के साथ ट्रिलियन (माइक्रोसॉफ्ट विंडोज);
- आधिकारिक प्लगइन के साथ वैक्यूम-आईएम (माइक्रोसॉफ्ट विंडोज, लिनक्स, मैक ओएस एक्स)।
इसके अलावा, OSCAR प्रोटोकॉल के लिए, प्रॉक्सी के माध्यम से OTR के रूप में एक समाधान है (SOCKS5, HTTPS और HTTP कनेक्शन समर्थित हैं।)
यह कैसे काम करता है?
प्रमुख विनिमय
OTR कुंजी विनिमय के लिए डिफी-हेलमैन प्रोटोकॉल का उपयोग करता है। सामान्य शब्दों में, इस कुंजी विनिमय योजना का आविष्कार 1976 में किया गया था, और एक असुरक्षित संचार चैनल के माध्यम से संचार करते समय एक साझा गुप्त कुंजी प्राप्त करने के लिए पहला व्यावहारिक तरीका बन गया।

एल्गोरिथ्म चलाते समय, प्रत्येक पक्ष:
1. एक यादृच्छिक पॉजिटिव पूर्णांक a - निजी कुंजी बनाता है
2. दूरस्थ पक्ष के साथ मिलकर, यह खुले मापदंडों p और g को सेट करता है (आमतौर पर p और g के मान एक तरफ उत्पन्न होते हैं और दूसरे में स्थानांतरित होते हैं), जहाँ:
- पी एक रैंडम प्राइम है
- जी एक आदिम जड़ modulo p है
3. निजी कुंजी पर रूपांतरण का उपयोग करके सार्वजनिक कुंजी A की गणना करता है
ए = जी
एक मॉड पी
4. दूरस्थ पक्ष के साथ सार्वजनिक कुंजियों का आदान-प्रदान करें
5. दूरस्थ पक्ष B की सार्वजनिक कुंजी और इसके निजी कुंजी का उपयोग करके साझा गुप्त कुंजी K की गणना करता है
के = बी
एक मॉड पी
K दोनों तरफ बराबर है क्योंकि:
B
a mod p = (g
b mod p)
a mod p = g
ab mod p = (g
a mod p)
b mod p = a
b mod p
व्यावहारिक कार्यान्वयन में, ए और बी के लिए, 10
100 के क्रम की संख्या और 10
300 के क्रम के p का
उपयोग किया जाता है ।
संख्या जी बड़ी नहीं होती है और आमतौर पर पहले दस के भीतर मायने रखती है।
प्रमाणीकरण
डिजिटल हस्ताक्षर के लिए, ओटीआर आरएसए एल्गोरिथ्म का उपयोग करता है, क्योंकि अतिरिक्त प्रमाणीकरण उपकरण के बिना, उपयोगकर्ता यह सुनिश्चित नहीं कर सकते कि किसके साथ उन्होंने साझा गुप्त कुंजी उत्पन्न की।

इस प्रकार, प्रेषक के लिए, एल्गोरिथ्म निम्नानुसार होगा:
- प्लेनटेक्स्ट मी लें
- अपनी निजी कुंजी { d, n } का उपयोग करके एक डिजिटल हस्ताक्षर बनाएं:
s = S a (m) = m d mod
n- एक संदेश और एक हस्ताक्षर से मिलकर { m, s } की एक जोड़ी को पास करें।
प्राप्तकर्ता के लिए, एल्गोरिथ्म इसके विपरीत है:
- जोड़ी को { m, s } लें
- प्रेषक से सार्वजनिक कुंजी { e, n } प्राप्त करें
- हस्ताक्षर से संदेश के प्रोटोटाइप की गणना करें:
m '= P s (s) = s e mod
e- M और m की तुलना करके हस्ताक्षर की प्रामाणिकता (और संदेश अपरिवर्तनीयता) सत्यापित करें '
एन्क्रिप्शन
एन्क्रिप्शन के लिए, ओटीआर एईएस ब्लॉक सिफर का उपयोग करता है। इस एल्गोरिथ्म का अच्छी तरह से विश्लेषण किया गया है और अब इसका व्यापक रूप से उपयोग किया जाता है, सबसे आम सममित एन्क्रिप्शन एल्गोरिदम में से एक है। 1998 में बनाया गया और 2001 में प्रकाशित हुआ, अब यह हर जगह पाया जा सकता है। उदाहरण के लिए, एईएस समर्थन को इंटेल कोर i7-980X एक्सट्रीम एडिशन के साथ शुरू होने वाले x86 प्रोसेसर परिवार में और अब सैंडी ब्रिज प्रोसेसर पर इंटेल द्वारा पेश किया गया था।
इसकी लोकप्रियता को देखते हुए, प्रकाशन नियमित रूप से कुंजी खोजने के तरीकों के बारे में नेटवर्क पर दिखाई देते हैं, लेकिन इसके बावजूद, 128-बिट एईएस एन्क्रिप्शन अभी भी काफी विश्वसनीय है।
हैशिंग
OTR 1995 में, हैश एल्गोरिथ्म के रूप में विकसित SHA1 (सिक्योर हैश अल्गोरिथम 1) का उपयोग करता है। मनमाने ढंग से लंबाई के इनपुट संदेश के लिए, एल्गोरिथ्म एक 160-बिट हैश मान उत्पन्न करता है, जिसे संदेश डाइजेस्ट भी कहा जाता है।
सैद्धांतिक रूप से, SHA-1 को हैक किया गया माना जाता है (कम्प्यूटेशनल ऑपरेशंस की संख्या 2
80-63 = 131,000 गुना कम हो जाती है), व्यवहार में, ऐसी हैक संभव नहीं है, क्योंकि इसमें कई साल लगेंगे। हालाँकि, वितरित कंप्यूटिंग और GPU कंप्यूटिंग का उपयोग करके इस समय को काफी कम किया जा सकता है। पहले से ही मौजूदा SHA-1 और SHA-2 के विकल्पों की तलाश है (भविष्य के मानक में "अप्रत्याशित" नाम SHA-3 होगा)।
OTR में SHA-1 का उपयोग HMAC (हैश-आधारित संदेश प्रमाणीकरण कोड, यानी संदेश पहचान कोड) को लागू करने के लिए किया जाता है। एचएमएसी का उपयोग करते समय, प्राप्त प्रमाणीकरण कोड आपको यह सुनिश्चित करने की अनुमति देता है कि किसी विश्वसनीय स्रोत द्वारा डेटा को किसी भी तरह से परिवर्तित नहीं किया गया है, क्योंकि इसे बनाया, प्रसारित या संग्रहीत किया गया है।
इस प्रकार के सत्यापन के लिए यह आवश्यक है कि, उदाहरण के लिए, एक दूसरे पर भरोसा करने वाले दो पक्ष एक गुप्त कुंजी के उपयोग पर अग्रिम रूप से सहमत होते हैं जो केवल उनके लिए जाना जाता है। यह स्रोत और संदेश की प्रामाणिकता की गारंटी देता है। इस दृष्टिकोण का नुकसान स्पष्ट है - आपके पास एक दूसरे पर भरोसा करने वाले दो पक्ष होने चाहिए।
करोड़पति समाजवादी प्रोटोकॉल
सोशलिस्ट मिलियनेयर प्रोटोकॉल (एसएमपी) का उपयोग ओटीआर में विपरीत पक्ष को प्रमाणित करने के लिए किया जाता है, कुछ सामान्य रहस्य को जानते हुए। यह प्रोटोकॉल आपको यह सुनिश्चित करने की अनुमति देता है कि प्रतिभागियों को कुछ सामान्य जानकारी (पासवर्ड, केवल उनके लिए ज्ञात एक प्रश्न का उत्तर) पता है, इसे सीधे प्रकट किए बिना, इसके किसी भी फिंगरप्रिंट का आदान-प्रदान किए बिना, जिसका उपयोग किसी व्यक्ति को बीच में नुकसान पहुंचाने के लिए किया जा सकता है।

बीच में आदमी, MITM हमला - एक ऐसी स्थिति जहां एक बाहरी व्यक्ति (हमलावर) अपने स्वयं के समझौते के संदेशों को पढ़ने और संशोधित करने में सक्षम होता है जो कि संवाददाताओं का आदान-प्रदान करते हैं, और बाद में कोई भी चैनल में उनकी उपस्थिति के बारे में अनुमान नहीं लगा सकता है।
OTR, SMP का उपयोग करोड़पतियों की "धन" की तुलना में नहीं, बल्कि दो प्रतिभागियों की जानकारी की तुलना करने के लिए करता है। अधिक सटीक रूप से, दो सत्र पहचानकर्ता, प्रतिभागियों की सार्वजनिक कुंजी के फिंगरप्रिंट और "गुप्त" की तुलना की जाती है।
यह कैसा दिखता है?
किसी भी प्रोटोकॉल के माध्यम से बात करते समय, उदाहरण के लिए, Gtalk, एक सुरक्षित ओटीआर संचार सत्र शुरू करने के लिए, बस लॉक ओपन के साथ आइकन पर क्लिक करें:

यदि वार्ताकार का ग्राहक OTR का समर्थन नहीं करता है, तो वार्ताकार को निम्न संदेश प्राप्त होगा:
OTR? V2?
% वार्ताकार नाम% ने ऑफ-द-रिकॉर्ड निजी बातचीत का अनुरोध किया है। हालाँकि, आपके पास समर्थन करने के लिए एक प्लगइन नहीं है।
अधिक जानकारी के लिए otr.cypherpunks.ca देखें।
रहस्यमय संदेश हैडर? OTR? V2? आपको OTR प्रोटोकॉल के आवश्यक संस्करण के बारे में बताता है - v2।
यदि वार्ताकार IM + (या OTR समर्थन वाले अन्य ग्राहक) का उपयोग करता है, तो एक एन्क्रिप्टेड संचार सत्र शुरू करने के लिए एक प्रस्ताव दिखाई देता है।
"साझा गुप्त" के आदान-प्रदान के बाद - गुप्त जानकारी जो केवल दोनों वार्ताकारों के लिए जानी जाती है (यह स्पष्ट है कि इसे किसी अन्य संचार चैनल के माध्यम से बातचीत की जानी चाहिए - एक व्यक्तिगत बैठक, एक फोन कॉल, वाहक कबूतर), एक ओटीआर संचार सत्र शुरू होगा। OTR सत्र के दौरान संदेश इतिहास सहेजा नहीं गया है।
मैं और क्या जोड़ सकता हूँ? Android और iOS के लिए IM + क्लाइंट्स में OTR फ़ंक्शन को इन-ऐप परचेज सिस्टम, "सुरक्षा मूल्य" - 5 यूएस डॉलर, वन-टाइम के माध्यम से सीधे एप्लिकेशन से सक्रिय किया जा सकता है।
मुझे OTR समर्थन वाले अन्य मोबाइल ग्राहक नहीं मिले हैं, यदि कोई हो, तो टिप्पणियों में जानकारी साझा करें। आपका ध्यान के लिए धन्यवाद :)
UPD1: Maemo के लिए नवीनतम qutIM में OTR समर्थन भी है। ऐसा करने के लिए, एक्स्ट्रा-डेवेल रिपॉजिटरी से क्यूटीम और क्यूटीम-एक्स्ट्रा-प्लगइन्स पैकेज स्थापित करें।
UPD2: Android के लिए xabber भी OTR एन्क्रिप्शन का समर्थन करता है।
UPD3: अधिक जानकारी के लिए,
विकिपीडिया और
आधिकारिक OTR पृष्ठ देखें ।