विषयसूची:
- अनुमतियाँ - Android बाजार में अग्रिम और व्यक्तिगत
- Android Market के बाहर के ऐप्स
- डेवलपर की ओर … और उपभोक्ताओं को अपना हिस्सा कैसे करना चाहिए
- और एक आखिरी बात …
सुरक्षा या निर्णय में चूक के बारे में हाल ही में बहुत सारी खबरें आई हैं - दोनों, वास्तव में - Apple में जो iOS एप्लिकेशन को आपके संपर्क डेटा को उधार लेने और आपकी सहमति के बिना अज्ञात भागों में भेजने की अनुमति देता है। Apple ने अमेरिकी कांग्रेस के सदस्यों को इस मुद्दे को संबोधित किया है, और भविष्य के एक iOS अपडेट में सख्त नियंत्रण रखने के लिए कदम उठाएंगे। यह अच्छी खबर है, और हम इसे होते हुए देखकर खुश हैं।
लेकिन Android के बारे में क्या? स्पष्ट उपयोगकर्ता की अनुमति के बिना चीजों को करने वाले ऐप्स पर ध्यान केंद्रित करने के दौरान, आप लोगों को Android अनुमति मॉडल का संदर्भ देते हुए देखते हैं। हम इसे आपके लिए नीचे तोड़ने जा रहे हैं। यह सही नहीं है, लेकिन यह बहुत अच्छी तरह से काम करता है - और यह निश्चित रूप से बिना किसी अनुमति प्रणाली से बेहतर है।
आइए आपको एंड्रॉइड पर अनुमतियों के माध्यम से चलते हैं, और आपको कैसे भाग लेना सुनिश्चित करने की आवश्यकता है।
डिज़ाइन के अनुसार, किसी भी एंड्रॉइड एप्लिकेशन को किसी भी ऑपरेशन को करने की अनुमति नहीं है जो "अन्य अनुप्रयोगों, ऑपरेटिंग सिस्टम या उपयोगकर्ता पर प्रतिकूल प्रभाव डालेगा।" किसी एप्लिकेशन के लिए निजी संपर्क डेटा, किसी अन्य एप्लिकेशन के डेटा, नेटवर्क एक्सेस, या यहां तक कि कुछ भी जैसे कि डिवाइस स्टोरेज के लिए अपना डेटा लिखने के रूप में सांसारिक के लिए उपयोग करने के लिए, ऐप को यह घोषित करना होगा कि उसके पास ऐसा करने की अनुमति होगी, और फिर एप्लिकेशन इंस्टॉल करने से पहले आपको उस अनुमति को स्वीकार करना होगा। जब आप कोई एप्लिकेशन इंस्टॉल करते हैं, तो आपको उन अनुमतियों की सूची के साथ प्रस्तुत किया जाता है जो एप्लिकेशन घोषित कर रहे हैं।
और ध्यान दें कि हम कहते हैं कि आवेदन "अनुमति" घोषित कर रहे हैं, और जरूरी नहीं कि "अनुरोध" उन्हें। शब्दार्थ, हम मानते हैं, लेकिन कोई बॉक्स नहीं है जो कहता है "अरे, जेरी! मैं एक ऐप हूं, और मैं आपसे संपर्क करने के लिए प्यार करूंगा। मुझे आपकी संपर्क जानकारी पर ध्यान देना चाहिए। यह ठीक है!" इसके बजाय, एंड्रॉइड ऐप अधिक प्रत्यक्ष हैं, "यो, जेरी। मैं एक ऐप हूं। यहां एक सूची दी गई है कि मैं क्या कर सकता हूं, बस यह जान लें कि इसे ले जाएं या इसे छोड़ दें।"
एंड्रॉइड ऐप यह घोषणा करते हैं कि उनके पास कौन-सी अनुमतियाँ हैं, और इस प्रकार वे कौन से सैंडबॉक्स में खेल सकते हैं। और आप या तो उन्हें स्वीकार कर सकते हैं और ऐप इंस्टॉल कर सकते हैं या नहीं। सही बात?
अनुमतियाँ - Android बाजार में अग्रिम और व्यक्तिगत
यहां बताया गया है कि यदि आप इंस्टॉल करते हैं, तो यह कैसा दिखता है, पथ। आपको उन अनुमतियों की मैक्रो सूची मिलती है जो पथ घोषित कर रहा है। एक टैप करें, और यह बताता है कि अनुमति थोड़ा अधिक विस्तार से।
यदि आप Android मार्केट से कोई एप्लिकेशन इंस्टॉल करते हैं तो यह कैसा दिखता है। आपको उन सभी को देखने के लिए सूची में स्क्रॉल करना होगा। नीचे थोड़ा सा रास्ता वह है जो आईओएस पर सभी तरह की परेशानी में पाथ (और अन्य) है। इसके एंड्रॉइड रूप में, आप स्पष्ट रूप से देख सकते हैं कि पथ "आपके व्यक्तिगत डेटा - संपर्क डेटा पढ़ें" की अनुमति की घोषणा करता है। उस अनुमति को टैप करें, और आपको अधिक विवरण मिलेगा:
"किसी एप्लिकेशन को आपके फ़ोन पर संग्रहीत सभी संपर्क (पता) डेटा पढ़ने की अनुमति देता है। दुर्भावनापूर्ण एप्लिकेशन अन्य लोगों को आपके डेटा भेजने के लिए इसका उपयोग कर सकते हैं।"
इसलिए Path ने आपको बताया कि आपके संपर्क डेटा तक इसकी पहुंच है। यह जरूरी नहीं है कि यह आपको बताए कि यह क्या करने जा रहा है (यदि हम इसे अभी तक नहीं लाए हैं, तो क्या आप वास्तव में जानना चाहते हैं?), लेकिन यह बताता है कि आप इसे पढ़ सकते हैं।
Android Market के बाहर के ऐप्स
लेकिन क्या हो अगर आप किसी ऐप को साइडलोड कर दें? या Amazon Appstore का उपयोग करें? एप्लिकेशन को अभी भी घोषित करना है कि वे कौन सी अनुमतियों का उपयोग करते हैं, और आप एप्लिकेशन इंस्टॉल करते समय उस अनुमतियों की सूची देखते हैं। (याद रखें कि अमेज़ॅन ऐपस्टोर साइडेलैड ऐप, इसलिए जो आप देखते हैं वह बिल्कुल वैसा ही है जैसे कि आपने ई-मेल या डाउनलोड से ऐप इंस्टॉल किया है।)
यहां बताया गया है कि जीमेल में कौन सा साइड-डाउन होगा। एंड्रॉइड मार्केट से साइडलोडिंग और इंस्टॉलेशन के बीच एकमात्र वास्तविक अंतर, अनुमतियों के रूप में इन्सोफ़र है, जब आप साइडलोड करते हैं, तो आपको अधिक विस्तृत अनुमतियों का विवरण नहीं मिलता है।
यह सब क्यों? एंड्रॉइड एप्लिकेशन "सैंडबॉक्सेड" हैं - वे अपने स्वयं के स्थान पर खेलते हैं और उस सैंडबॉक्स के भीतर अपनी स्वयं की डेटा फाइलें हैं। वे केवल स्पष्ट रूप से अनुमति मांगने के बाद किसी और के सैंडबॉक्स में खेल साझा कर सकते हैं, और यह आपके द्वारा ऊपर दिखाई गई स्क्रीन के माध्यम से किया जाता है। जब आप उन अनुमतियों को स्वीकार करते हैं और ऐप को इंस्टॉल करते हैं, तो आप उस ऐप को सैंडबॉक्स में खेलने की अनुमति देते हैं, जो ऐप कहता है कि वह इसमें खेलना चाहता है।
डेवलपर की ओर … और उपभोक्ताओं को अपना हिस्सा कैसे करना चाहिए
पर्दे के पीछे, ऐप डेवलपर्स AndroidManifest.xml फ़ाइल में इन अनुमतियों की घोषणा करते हैं, जो कि एंड्रॉइड ऐप के लिए स्रोत कोड का एक आवश्यक हिस्सा है। ये घोषणाएँ स्थिर हैं, और उनमें से हर एक को उपयोगकर्ता के सामने प्रस्तुत किया गया है जैसा कि हमने ऊपर देखा है। एंड्रॉइड के पास रन-टाइम पर गतिशील रूप से अनुमति देने का कोई तरीका नहीं है, क्योंकि एंड्रॉइड ओएस डेवलपर्स के अनुसार "यह उपयोगकर्ता के अनुभव को सुरक्षा की गड़बड़ी में उलझा देता है।" एक ऐप को आपको यह बताने के लिए मजबूर करता है कि वह क्या करना चाहता है, अपफ्रंट, और कभी बदलने में सक्षम नहीं होना - यही सबसे बड़ा सुरक्षा मॉडल है।
दूसरा पहलू? उपयोगकर्ताओं को अनदेखा करना भी सबसे आसान है।
आईओएस पर पाथ के साथ जो हुआ, उसके बारे में हम सभी जानते हैं। कई अन्य iOS ऐप की तरह, इसने बिना अनुमति के संपर्क का उपयोग किया। नापाक उद्देश्यों के लिए नहीं, लेकिन फिर भी, बिना किसी अग्रिम अनुमति के, और बाद में पूछे बिना। एंड्रॉइड के लिए पथ ने अपने सर्वर पर सभी प्रकार के डेटा भेजे, जैसे कि यह iOS पर किया था। लेकिन जैसा कि हमने इस पोस्ट में दिखाया है, Android में, Path को पहले अनुमति की घोषणा करनी होगी। या, अधिक सटीक रूप से, यह अनुमति की घोषणा करता है, और आप इसे स्वीकार या अस्वीकार करते हैं।
समस्या यह है कि जब आप एक ऐप इंस्टॉल करते हैं, तो सबसे अधिक संभावना है कि आप अनुमतियों के अनुभाग से ठीक पहले हवा में जा रहे हैं। आपको वास्तव में नहीं करना चाहिए, लेकिन हम सभी ऐसा करते हैं। यह तथ्य कि अनुमतियाँ सादे भाषा में नहीं लिखी गई हैं, समस्या का हिस्सा है। लेकिन भले ही वे थे, हम में से ज्यादातर वैसे भी सही अतीत पर क्लिक करेंगे। हर प्लेटफॉर्म पर यह कैसा है, यह चुटकुला है। दूसरी ओर, ऐसे लोग हैं जो अनुमतियों से अधिक बाहर हैं क्योंकि वे उन्हें नहीं समझते हैं। फिर, अधिक उपयोगकर्ता-अनुकूल भाषा यहां मदद करेगी।
इसके विकल्पों में से एक यह है कि एप्लिकेशन को रन-टाइम पर अनुमति के लिए पूछना है, जब वह कुछ ऐसा करना चाहता है जो वह सामान्य रूप से नहीं कर सकता है। हमने पहले ही पढ़ा है कि एंड्रॉइड टीम को लगता है कि यह असुविधाजनक और असुरक्षित है, इसलिए ऐसा होने की संभावना नहीं है।
एक अन्य विकल्प चयनित अनुमतियों की अनुमति देना है, जैसे कि रिम ब्लैकबेरी के साथ करता है। आप उन अनुप्रयोगों के साथ समाप्त होते हैं जो केवल आधे काम करते हैं क्योंकि आपने ब्लैकबेरी की तरह अनुमति से इनकार कर दिया था। कोई वास्तविक मूर्ख विधि नहीं है, यह सब पढ़ने के अलावा जब आप उस ऐप को इंस्टॉल करते हैं और यह समझने की कोशिश करते हैं कि यह क्या करने के लिए कह रहा है और यह क्यों पूछ रहा है।
यहीं पर हम सभी आते हैं। हममें से कुछ लोग दूसरों की तुलना में एप्लिकेशन अनुमतियों को अधिक समझते हैं, और जब कोई ऐप कुछ ऐसा करता है तो उसे ऐसा नहीं करना चाहिए, तो आप सुनें। अनुमतियाँ पढ़ें। बाजार की टिप्पणियों को पढ़ें। Android सेंट्रल पढ़ें। जब कुछ गड़बड़ हो जाता है, तो आप इसके बारे में सुनेंगे।
और एक आखिरी बात …
सुरक्षा भेद्यताओं के बारे में एक विशेष नोट यहाँ जाने की आवश्यकता है। हर कंप्यूटर प्रोग्राम - और इसका मतलब है कि हर मोबाइल ऑपरेटिंग सिस्टम, भी - उनमें से भरा हुआ है। जब एक सुरक्षाछिद्र पाया जाता है जो किसी एप्लिकेशन को सुरक्षा मॉडल को बायपास करने की अनुमति देता है, तो Google इसे जल्दी से पैच कर देगा। ऐसा होता है, और यह हमेशा होने वाला है। आपके लिए यह अपडेट कितनी जल्दी रोल आउट हो जाता है यह आपके फ़ोन बनाने वाले लोगों पर निर्भर करता है। जब वे इसे सही तरीके से करते हैं तो वे श्रेय के हकदार होते हैं, और जब वे बहुत अधिक समय लेते हैं, तो यह गलत होता है। यह कुछ ऐसा नहीं है जो किसी भी समय जल्द ही दूर हो जाए, और हम आपके साथ एक ऐसे ओईएम को बुलाने के लिए हैं जो चीजों को उतना सुरक्षित और सुरक्षित नहीं रखते हैं जितना उन्हें होना चाहिए।
यदि आप Android अनुमतियों में और भी अधिक गहराई से देखना चाहते हैं, तो उन पर Google डेवलपर पृष्ठ देखें।