2012-08-16 13 views
6

में सामग्री को सुरक्षित करने के मैं यहाँ के रूप में ही सवाल पूछ रहा हूँ:एंड्रॉयड कैसे दस्तावेज़ निर्देशिका

Android के लिए।

यहाँ क्या प्रस्तुत किया है करने के लिए एंड्रॉयड में बराबर अवधारणाओं हैं:

मेरे विशेष आवश्यकता रूट किए गए डिवाइस से फ़ाइलों की रक्षा और यह भी केवल आवेदन के माध्यम से और एक के लिए उन्हें उपलब्ध बनाने के लिए है कुछ जीवनकाल

धन्यवाद

उत्तर

0

एंड्रॉयड यूनिक्स अनुमतियों का इस्तेमाल करता एप्लिकेशन सैंडबॉक्स रक्षा के लिए। प्रत्येक ऐप अद्वितीय उपयोगकर्ता के तहत चलता है और केवल उस उपयोगकर्ता को /data/data/your.package.name फ़ोल्डर पर संचालित करने की अनुमति है। हालांकि, यदि लक्ष्य डिवाइस रूट है, तो आपके ऐप डेटा से समझौता किया जा सकता है।

कुछ लिंक:

http://source.android.com/tech/security/index.html

http://www.amazon.co.uk/dp/1430240628

http://developer.android.com/guide/topics/security/permissions.html

+0

धन्यवाद, मुद्दा यह है कि मैं इस तरह के rooting से फ़ाइलों की रक्षा करना चाहता हूं, लेकिन उपयोगकर्ता को एप्लिकेशन के बाहर उन्हें खोलने में सक्षम होने से भी –

1

Mighter के जवाब के माध्यम से देख रहे हैं और निहित फोन इसे पसंद अपने यहाँ चर्चा की गई लग रहा है पर अपने चिंता दिया।

http://source.android.com/tech/encryption/android_crypto_implementation.html

(एक उप लिंक मैं यहाँ http://source.android.com/tech/security/index.html में कहीं पाया जाता है)

मूल रूप से मैं सोच रहा था कि आप ContentProvider इस्तेमाल कर सकते हैं और एक डेटाबेस में अपने डेटा स्टोर, मेरा मानना ​​है कि संरक्षित किया जा सकता है, या आप कम से कम उस डेटा को एन्क्रिप्ट कर सकता है। मुझे यकीन नहीं था कि हालांकि आपकी समस्या का जवाब होगा। एंड्रॉइड क्रिप्टो कार्यान्वयन लिंक मैं आशा करता हूं कि आपकी आवश्यकताओं को पूरा किया जाएगा। हालांकि संस्करण आवश्यकताओं के कारण अव्यवहारिक हो सकता है।

+0

CommonsWare प्रतिक्रिया देखें। वह सही है, आप बस इसकी रक्षा नहीं कर सकते हैं। तो जवाब अनिवार्य रूप से नहीं है। – Emile

1

दो टिप्पणियां:

आम तौर पर आपके आवेदन बोल के रूप में ही ऑपरेटिंग सिस्टम के रूप सुरक्षित हो सकता है। यदि डिवाइस रूट है, तो ऑपरेटिंग सिस्टम अब सुरक्षित नहीं है। तो आपका आवेदन या तो सुरक्षित नहीं हो सकता है। उदाहरण के लिए वहाँ आपरेशन प्रणाली का तोड़ मरोड़ हो सकता है जो होगा:

  • लॉग कीबोर्ड इनपुट
  • नष्ट (क्रिप्टो एपीआई के लिए कॉल सहित) किसी भी कॉल
  • लॉग किसी भी जानकारी को कौन-सी HTTP (एस) के माध्यम से आता है।

दूसरा नोट यह है कि किसी बिंदु पर आपको अपने डेटा (फाइलें) को स्पष्ट रूप से (एन्क्रिप्टेड नहीं) तृतीय पक्ष अनुप्रयोगों को प्रदान करने की आवश्यकता होगी। जैसे ही आपने यह किया, वे इसे कॉपी कर सकते हैं, इसे कुछ सर्वर पर भेज सकते हैं और आप इसके बारे में कुछ भी नहीं कर सकते हैं। इसलिए, भले ही आप सीमित फ़ाइलों के लिए इन फ़ाइलों तक पहुंच प्रदान करते हैं, फिर भी वे "रिसाव" कर सकते हैं।


कहा यही कारण है, अपने सबसे सरल दृष्टिकोण (के रूप में एमिल ने बताया) यह भीतर एक ContentProvider, एन्क्रिप्ट डेटा का उपयोग और डेटा को डिक्रिप्ट जब यह 3 पार्टी क्षुधा के लिए दिया गया है करने के लिए किया जाएगा।

उच्च जटिलता वाला एक दृष्टिकोण डीआरएम (http://developer.android.com/reference/android/drm/package-summary.html) का उपयोग करना होगा यदि तीसरे पक्ष के ऐप्स इसका समर्थन करते हैं।

0

एंड्रॉइड डिवाइस पर किसी भी प्रकार का डेटा डालने के बारे में कुछ भी सुरक्षित नहीं है। वे खुले डिवाइस होने के लिए मानसिक हैं। यदि आप अपने डेटा को फिर से रूट किए गए उपयोगकर्ताओं की रक्षा करना चाहते हैं, तो आपको एन्क्रिप्शन का एक रूप उपयोग करना होगा। और आइटम की संवेदनशीलता के आधार पर, यह भी काम नहीं कर सकता है (जब तक आप एक वास्तविक उच्च अंत एन्क्रिप्शन का उपयोग नहीं करते हैं जो तब प्रदर्शन पर नाली जाएगा)। संवेदनशील जानकारी के साथ एंड्रॉइड पर भरोसा न करें केवल एक चीज है जो मैं कह सकता हूं।

3

मेरे विशेष आवश्यकता रूट किए गए डिवाइस

परिभाषा के अनुसार, कि असंभव है से फ़ाइलों की रक्षा के लिए है।

सबसे पहले, जिस व्यक्ति के पास रूट डिवाइस है, उसके पास डिवाइस में कहीं भी, प्रत्येक फ़ाइल तक पहुंच है।

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

यदि आप नहीं चाहते हैं कि उपयोगकर्ता इस डेटा तक पहुंचने के लिए, इसे अपने डिवाइस पर न रखें।

+0

दोह, श्री कॉमन्सवेयर सही है, आप इसे और अधिक कठिन बना सकते हैं लेकिन असंभव नहीं। तो हाँ, सही जवाब नहीं है। – Emile

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