असली सवाल
आप अपने सबसे अच्छे करना चाहिए रहस्य की रक्षा के लिए एक हमलावर क्या यह चोरी से प्राप्त करता है ... लेकिन अंत में, एक बेहद प्रेरित हैकर हमेशा एक स्थापित अनुप्रयोग में इसे करने के लिए मिल सकता है। तो यह गुप्त बनाम निष्कर्षण की कठिनाई का मूल्य है।
ग्राहक रहस्य का मूल्य एप्लिकेशन का प्रतिरूपण कर रहा है। यह उपयोगकर्ता डेटा तक कोई पहुंच नहीं देता है। हालांकि, चूंकि ट्विटर पहले अनुमोदित ऐप्स (ट्विटर प्रवाह के साथ उनके साइन-इन) को प्रमाण-पत्रों के स्वचालित जारी करने का समर्थन करता है, इसलिए एक हमलावर संभावित रूप से आपके गुप्त के साथ एक वेब ऐप बना सकता है और अंधेरे पुनर्निर्देशन का उपयोग कर उपयोगकर्ता डेटा चुरा सकता है।
ट्विटर के कार्यान्वयन के साथ समस्या यह है कि वे डेवलपर से आवेदन की प्रकृति के बारे में नहीं पूछते हैं। यदि उन्होंने किया, तो वे आपको शुरू करने के लिए एक रहस्य जारी नहीं करते थे, और किसी भी व्यक्ति को आपके क्लाइंट प्रमाण-पत्रों का उपयोग करके वेब एप्लिकेशन बनाने और उन उपयोगकर्ताओं से डेटा चोरी करने से रोक देगा जो पहले से ही इसे अनुमोदित करते हैं।
Obfuscating एक विकल्प है, लेकिन एक कमजोर है। एक एपीआई प्रॉक्सी के रूप में कार्यरत वेब सर्वर पर रहस्य को स्थानांतरित करना एक और है, लेकिन यह समस्या को कहीं और ले जाता है क्योंकि अब आपके ऐप को प्रॉक्सी सर्वर के विरुद्ध प्रमाणीकरण करना है। हालांकि, यह पैटर्न उचित रूप से सुरक्षित हो सकता है यदि आपको उपयोगकर्ताओं को अपनी साइट में लॉग इन करने की आवश्यकता होती है (जो वेब दृश्यों के माध्यम से उपयोग कर सकते हैं, ट्विटर लॉग इन करने के लिए)। इस तरह, कोई व्यक्ति आपकी प्रॉक्सी का दुरुपयोग करने का प्रयास करने के लिए अपने उपयोगकर्ताओं को आपकी सेवा पर खाते खोलने की आवश्यकता होगी, जो बहुत आकर्षक नहीं है।
संक्षेप में, आगे बढ़ें और इसे खराब करें। यह चोट नहीं पहुंचाता है। प्रॉक्सी पैटर्न का भी उपयोग करने पर विचार करें। और शायद ट्विटर को पता चले कि उनकी सुरक्षा नीतियां "महान नहीं हैं"।
स्रोत
2011-08-20 14:31:52
मेरे पास बैकएंड पर मेरे आईओएस ऐप और नोडजेएस + एक्सप्रेसजेएस + पासपोर्टजेएस के साथ एक ही रणनीति है। मैं आईओएस से उपयोगकर्ताओं को प्रमाणीकृत करने के लिए ट्विटर रिवर्स ऑथ का उपयोग करता हूं। लेकिन इसे सुरक्षित करने और उपयोगकर्ताओं को हेडर्स में क्या पता लगाने के लिए मध्य में HTTP पैकेट को स्नीफ करने से रोकते हैं, मैं डेटा को एन्क्रिप्ट करने के लिए अपने सर्वर पर HTTPS का उपयोग करने की योजना बना रहा हूं। अपने ऐप में अपनी गोपनीयता कुंजी एम्बेड करने से बचने के लिए इसे जांचें: https: //dev.twitter।com/docs/ios/use-reverse-auth – Maziyar
नोट: रिवर्स ऑथ केवल आईओएस –