मैं अपने आरईएसटी वेब सेवा एपीआई के लिए सुरक्षा के बारे में सोच रहा था, और दूसरों को बड़ी सेवाओं और उन्हें यह कैसे करने का फैसला किया। उदाहरण के तौर पर मैंने ट्विटर के ओथ का अध्ययन करने का फैसला किया। शुरुआती गाइड पढ़ने के बाद मैं थोड़ा उलझन में हूं और चौंक गया हूं।ओएथ सुरक्षित नहीं है या मुझे समझ में नहीं आया?
जैसा कि मैंने समझ लिया है कि यह सेवा प्रदाता की जिम्मेदारी है कि उपयोगकर्ता को प्रमाणीकृत करने और उपयोगकर्ता को यह दिखाने के लिए कि उपभोक्ता किस प्रकार की पहुंच मांग रहा है (उदाहरण के लिए यह केवल विशिष्ट संसाधन तक पहुंच पढ़ना चाहता है)। लेकिन मैंने सेवा प्रदाताओं को देखा जो उपयोगकर्ता को सूचित नहीं करता कि उपभोक्ता किस प्रकार की पहुंच मांग रहा है (और अब भी उपभोक्ता की पहचान दिखा रहा है)। समस्या का दूसरा भाग यह है कि उपभोक्ता आईफ्रेम में अपना कस्टम प्रदाता सेवा प्रमाणीकरण फ़ॉर्म दिखा सकता है, और केवल एक्सेस विवरण छुपा सकता है, वे आपको केवल पासवर्ड चुरा सकते हैं, या आपके संसाधनों तक असीमित पहुंच का अनुरोध कर सकते हैं, वे मूल रूप से जो भी चाहते हैं, वे कर सकते हैं, उपयोगकर्ता को चालित करने के बहुत सारे तरीके हैं।
उदाहरण के रूप में चलिए एक लिंक्डइन लेते हैं। वे आपके जीमेल उपयोगकर्ता नाम और पासवर्ड को अपने स्वयं के रूप में अनुरोध करते हैं, और आपको नहीं पता कि वे इसका उपयोग कैसे करेंगे। वे सिर्फ इसे चुरा सकते हैं और अपने डीबी में स्टोर कर सकते हैं, वे ओएथ को इसके साथ जीमेल करने के लिए कर सकते हैं (और वे जीमेल के पेज को जानकारी के साथ नहीं दिखाते हैं कि वे किस प्रकार की पहुंच का अनुरोध करते हैं), वे जो कुछ भी चाहते हैं वो कर सकते हैं।
मैं जो कहने की कोशिश कर रहा हूं वह यह नहीं है कि ओएथ संचार प्रोटोकॉल सुरक्षित नहीं है, बल्कि उपयोगकर्ता को धोखा देने और उसके प्रमाण पत्र प्राप्त करने के लिए अनुचित तरीके से इसका उपयोग करने के कई तरीके हैं।
बीटीडब्ल्यू ओएथ प्रोटोकॉल में सुरक्षा प्रवाह था http://oauth.net/advisories/2009-1/) और मुझे पूरा यकीन है कि और भी कुछ हैं, लेकिन कोई भी उन्हें ढूंढने की परवाह नहीं करता है।
यदि कोई सेवा किसी उपयोगकर्ता के अंदर अपना उपयोगकर्ता नाम और पासवर्ड का अनुरोध कर रही है, तो यह ** ** नहीं है। वास्तव में, यह ठीक है पैटर्न OAuth हल करने के लिए है। –
@BobAman: यह OAuth नहीं है कि OAuth प्रमाणीकरण को संबोधित नहीं करता है, लेकिन वे सेवा प्रदाता साइट पर ओबी उपयोगकर्ता की ओर से प्रमाणीकृत करने के लिए उपयोगकर्ता नाम से पासवर्ड का उपयोग कर सकते हैं, और OAuth प्राधिकरण टोकन प्राप्त कर सकते हैं। तो कवर के तहत यह ओथ बॉट हो सकता है जैसे यह होना चाहिए। –