2011-10-04 6 views
11

मैं अपने एंड्रॉइड एप्लिकेशन के सुरक्षा पहलुओं पर काम कर रहा हूं।एप्लिकेशन पर इसे भेजने के दौरान इरादा डेटा कैसे सुरक्षित करें

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

जानवर बल दृष्टिकोण से एक एंड्रॉयड के एन्क्रिप्शन डिक्रिप्शन का उपयोग करने के इरादे डेटा एन्कोड करने के लिए हो सकता है, वहाँ एक ही प्राप्त करने के लिए एक बेहतर तरीका है ??

अग्रिम धन्यवाद।

उत्तर

0

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

0

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

दूसरी ओर, यदि आप किसी अन्य एप्लिकेशन के इरादे को भेजते हैं, तो इस बात की कोई गारंटी नहीं है कि इरादे का रिसीवर आपके द्वारा अपेक्षित कार्यान्वयन होगा: यदि आप com.mycompany.security के लिए अपना इरादा भेजते हैं। सुरक्षित रिसीवर, लेकिन आपके आवेदन के बजाय, किसी अन्य एप्लिकेशन को दिए गए क्लास विवरण के साथ इंस्टॉल किया गया है, आप उस एप्लिकेशन को अपना इरादा भेज देंगे।

एंड्रॉइड एक खुली प्रणाली है। यदि कोई व्यक्ति अपने स्वयं के आवेदन ढांचे को संकलित करता है, तो वह इरादे वितरण प्रणाली में हेरफेर कर सकता है।

आप उपयोगकर्ता से अपने डेटा की रक्षा करना चाहते हैं, या दुर्भावनापूर्ण अनुप्रयोगों से है?

5

के रूप में, अन्य उत्तर में बताया, हालांकि आप एक पूरी तरह से योग्य गतिविधि के लिए एक आशय भेज सकते हैं, कुछ भी नहीं है कोई एक ही पैकेज के साथ एक आवेदन पत्र बनाने के लिए रोकता है।

आप इस योजना के लिए एक अतिरिक्त सुरक्षा कदम जोड़ने के लिए चाहते हो सकता है:,

  • पहले (दूरस्थ गतिविधि के लिए एक 'चैलेंज' आशय भेजने यह होना चाहिए, उदाहरण के लिए एक यादृच्छिक स्ट्रिंग तहखाना आप एक साझा का उपयोग कर बशर्ते पासफ्रेज और इसे वापस भेज दें)

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

यह काफी लंगड़ा सुरक्षा है जो आपकी आवश्यकताओं के लिए शायद पर्याप्त है।


कृपया नीचे CommonsWare टिप्पणी पर एक नज़र डालें।

बाउंड सेवा के रूप में अपनी गतिविधि को कोड करने के लिए एक और अधिक सुरक्षित तरीका हो सकता है, चुनौती चरण को ध्यान में रखते हुए, लेकिन एक और निजी संचार के अंदर।

+3

"कुछ भी नहीं किसी को एक ही पैकेज के साथ एक आवेदन पत्र बनाने के लिए होने से बचाता है" - ध्यान दें कि दो आवेदन एक ही समय में एक ही पैकेज होने में एक ही डिवाइस पर स्थापित नहीं किया जा सकता।ऐसा कहा जा रहा है कि, आपका बिंदु बहुत मान्य है, क्योंकि संचार चैनल के दोनों तरफ एक प्रतिस्थापन द्वारा धोखा दिया जा सकता है। उल्लेख नहीं है कि सभी 'इरादे' एक्स्ट्रा 'प्रारंभिकता') (http://commonsware.com/blog/2011/06/30/warning-activity-intent-extras- के साथ उपयोग किए गए 'इरादों' के लिए सभी अनुप्रयोगों के लिए दृश्यमान हैं। public.html)। – CommonsWare

+0

वाह मुझे यह नहीं पता था, लिंक के लिए धन्यवाद। हो सकता है कि आप सही झंडे का उपयोग कर हालिया टास्क सूची में अपनी गतिविधि को प्रदर्शित करने से रोककर इसे काम कर सकें? (या इसके बजाय _bound_ सेवा का उपयोग कर) –

+0

AFAIK, एआईडीएल का उपयोग करके बाध्य सेवा के माध्यम से स्थानांतरित डेटा को अवरुद्ध करने का कोई तरीका नहीं है। एक तरफ से किसी अन्य ऐप द्वारा प्रतिस्थापित होने से रोकने के लिए संचार के स्पूफ को रोकने के लिए कुछ प्रकार के तंत्र के साथ आने का मामला अभी भी है। – CommonsWare

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