हम एक मोबाइल ऐप बना रहे हैं और यह सुनिश्चित करने के लिए कि किसी एपीआई को केवल हमारे ऐप द्वारा एक्सेस किया जा रहा है, कुछ प्रकार के प्रमाणीकरण को कार्यान्वित करना चाहते हैं। ऐप के उपयोगकर्ता अज्ञात हैं, बिना लॉग इन के, हालांकि मैं सेटिंग आईडी को बनाए रखने के लिए डिवाइस आईडी के माध्यम से उन्हें पहचानता हूं।यह सुनिश्चित करने के लिए कि हमारे मोबाइल (आईओएस/एंड्रॉइड) ऐप से एपीआई अनुरोध आते हैं?
सबसे आसान तरीका एक GUID/API कुंजी उत्पन्न करना प्रतीत होता है जिसे मैं SSL पर प्रत्येक अनुरोध के साथ भेजता हूं।
मुझे चिंता है कि बहुत बुरा समय वाला एक दुर्भावनापूर्ण व्यक्ति ऐप डाउनलोड करेगा, एपीआई कुंजी और जेएसओएन अनुरोध प्राप्त करने के लिए इसे संकुचित करेगा, और फिर मेरे डेटाबेस को जितना संभव हो उतना कचरा कर देगा।
एसएसएल, एक एपीआई कुंजी, एक डिवाइस आईडी, और एक एपीआई जितना संभव हो उतना आसान कॉल के साथ पर्याप्त है? क्या मुझे एक अलग दृष्टिकोण लेना चाहिए? क्या मेरे डर की स्थापना या आधारहीन हैं?
मुझे समझ में नहीं आता कि इससे कुछ और सुरक्षित कैसे हो जाता है। भेद्यता का मुद्दा आपके मामले में केवल अलग है: पंजीकरण सेवा। मैं उस पर हमला कर सकता हूं और मेरे पास भी पूर्ण पहुंच है। मुझे लगता है कि एंड्रॉइड के लिए कम से कम ऐसा कुछ करना संभव है: http://android-developers.blogspot.de/2013/01/verifying-back-end-calls-from-android.html – therealmarv
आप कैसे हमला करेंगे पूर्ण पहुंच प्राप्त करने के लिए पंजीकरण सेवा? –