एंड्रॉइड एन्क्रिप्शन और कमजोरियों की कैनोनिकल व्याख्या


16

नोट: ठीक है, इनाम की समय सीमा समाप्त हो गई है और एक संभावित कारण यह हो सकता है कि मुझे टिप्पणियों से इकट्ठा करने के लिए आवश्यक प्रयास करना चाहिए। अपवित्रों की संख्या को देखते हुए, यह दूसरों के लिए भी हितकारी प्रतीत होता है। मैं अभी भी एक उत्तर प्राप्त करना चाहूंगा, इसलिए मैं यहां प्रस्तावित करता हूं- एक महीने में एक अच्छा उत्तर, 50 का बोनस मिलेगा। मुझे आशा है कि पर्याप्त समय और प्रोत्साहन मिलेगा


मैं कुछ समय से Android एन्क्रिप्शन प्रक्रिया और इसकी कमजोरियों को समझने की कोशिश कर रहा हूं

इस साइट पर और बहन साइट पर इस विषय के कुछ हिस्सों को संबोधित करते हुए कई सवाल हैं । मेरी बात को घर तक पहुंचाने के लिए , ये प्रश्न भागों को संबोधित करते हैं और पूरी नहीं की (याद ताजा " अंधा पुरुषों और एक हाथी ?" :)

मेरी समझ (या गलतफहमी?)

  1. एन्क्रिप्शन पासवर्ड उपयोगकर्ता लॉक स्क्रीन पिन और एन्क्रिप्शन एल्गोरिथ्म के संयोजन से उत्पन्न होता है (पिन की सीमित लंबाई के कारण एक अंतर्निहित कमजोरी निहित है)
  2. यह नमकीन है , और रूट स्थान में संग्रहीत है, उपयोगकर्ताओं के लिए सुलभ नहीं है
  3. इसका उपयोग वास्तविक पासवर्ड को एन्क्रिप्ट / डिक्रिप्ट करने के लिए किया जाता है और वास्तविक पासवर्ड को रैम में संग्रहित किया जाता है
  4. डिवाइस SoC ( कौन सा Android संस्करण? चरण 1) को जोड़ने से इसे मजबूत किया गया था ? कौन सा हार्डवेयर तत्व है जो डिवाइस को विशिष्ट रूप से बताता है? क्या इसे नकली में बदला जा सकता है? )
  5. इसलिए, एन्क्रिप्शन कुंजी और डिवाइस के बिना डेटा को डिक्रिप्ट करना संभव नहीं है (बाहरी एसडी के लिए भी)
  6. संभावित पुनर्प्राप्ति के तरीके - प्रमुख बल, कुंजी प्राप्त करने के लिए रैम जानकारी (चरण 3) पर कब्जा करना
  7. कस्टम रिकवरी / संभवतः ROM और कर्नेल फ्लैशिंग के माध्यम से चरण 2 डेटा तक पहुंचने के लिए रूट किए गए डिवाइस अधिक संवेदनशील दिखाई देते हैं ?? ( अगर सच है, तो इसे बड़े जोखिम के रूप में क्यों नहीं बताया गया? )
  8. भले ही यह जानकारी प्राप्त हो, मैं यह अनुमान लगा रहा हूं कि वास्तविक पासवर्ड उत्पन्न करने के लिए यह गैर-तुच्छ प्रयास है
  9. मार्शमैलो बाहरी एसडी को "आंतरिक भंडारण" या "पोर्टेबल स्टोरेज" के रूप में मान सकता है। तार्किक रूप से, इसमें कोई फर्क नहीं होना चाहिए लेकिन मुझे यकीन नहीं है

मेरी समझ में अंतराल हैं, शायद अन्य प्रमुख पहलुओं पर भी याद आ रही है।

इसलिए, मैं उपयोगकर्ता के दृष्टिकोण से समझने के लिए एक विहित स्पष्टीकरण की तलाश कर रहा हूं

  • संपूर्ण एन्क्रिप्शन प्रक्रिया (बाहरी एसडी सहित)

  • Android संस्करणों में कार्यान्वयन भिन्नता- किटकैट से मार्शमैलो तक (मार्शमैलो में बाहरी एसडी के लिए दोहरे विकल्प सहित)

  • उपयोगकर्ता स्तर पर कमजोरियाँ

ध्यान दें

  • मुझे इस सवाल के जोखिम के बारे में पता है कि इसे बहुत व्यापक माना जा रहा है लेकिन IMO एक व्यापक उपचार है
  • संचार सुरक्षा में कुछ अनुभव होने के बाद, मैं क्रिप्टोग्राफिक अवधारणाओं को एक उपयोगकर्ता स्तर पर अनुवाद करने में चुनौती को समझता हूं। मैं इसे समझने के जवाब को प्राथमिकता दूंगा, जिसमें गहरी समझ के लिए व्याख्यात्मक संकेत दिए जाएंगे। प्रक्रिया के उदाहरणों को क्रिप्टोग्राफिक रूप से कठोर अर्थों में सही नहीं होना चाहिए लेकिन सार को व्यक्त करना चाहिए

  • एक संभावित लाभ संबंधित पहलुओं पर भविष्य के सवालों को "धोखा" दे सकता है

  • पुनरावृत्ति की कीमत पर, उत्तर मुख्य रूप से उपयोगकर्ता के स्तर पर होना चाहिए , लेकिन गहन समझ के लिए पर्याप्त स्पष्टीकरण के साथ। उत्तर को दो भागों में विभाजित करना एक उपयुक्त तरीका हो सकता है।

  • मैं इसे व्यापक उत्तरों को प्रोत्साहित करने के लिए वोट तुच्छ / आकस्मिक / पैच वर्क जवाबों को नीचे करने के लिए एक बिंदु बनाऊंगा


1
टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है । //यह सिक्योरिटी के लिए बेहतर फिट हो सकता है । मुझे यह भी लगता है कि यह बहुत व्यापक है क्योंकि आप जो पूछ रहे हैं उसका एक अच्छा हिस्सा विशेष हार्डवेयर पर निर्भर करता है और निर्माता इसे कैसे लागू करता है।
मैथ्यू पढ़ें

जवाबों:


3

मैं कल्पना करता हूं कि यह इस तरह काम करता है:

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

यहाँ बड़ी चाल मास्टर कुंजी के अतुल्यकालिक एन्क्रिप्टिंग है। एक बार एंड्रॉइड के पास मास्टर कुंजी है, इसमें स्टोरेज के साथ डेटा का आदान-प्रदान करने की क्षमता है। जब उपयोगकर्ता लॉग इन होता है, केवल उस मास्टर कुंजी को जाना जाता है। अतुल्यकालिक एन्क्रिप्शन को सार्वजनिक कुंजी एन्क्रिप्शन कहा जाता है। क्या होता है कि एक सार्वजनिक कुंजी डेटा (इस मामले में मास्टर कुंजी) को एन्क्रिप्ट करती है, और एक निजी कुंजी डेटा को डिक्रिप्ट करती है। यहां स्टोरेज एन्क्रिप्शन के साथ भ्रमित नहीं होना चाहिए। भंडारण सिर्फ तुल्यकालिक एन्क्रिप्शन है। वहाँ उसी कुंजी का उपयोग एन्क्रिप्ट और डिक्रिप्ट करने के लिए किया जाता है। लेकिन उस "मास्टर" कुंजी की खोज / पुनर्प्राप्ति, एक बड़ी बात है। इसका मतलब है कि अगर एक बिंदु पर आपके पास एक कमजोर लॉगिन विधि है, जैसे कि पिनकोड के रूप में "1234" का इरादा है, और आप अपना दिमाग बदलते हैं, और पिनकोड को "5364" में बदल देते हैं, जो कि अनुमान लगाना कठिन है, जब तक कि वह "1234" न हो। " किसी भी बिंदु पर, चोरी हो गई थी, सुरक्षा बेहतर हो गई थी। एक पूर्ण पासवर्ड के लिए लॉगिन विधि को बदलते समय एक ही सौदा जो हमले या अनुमान लगाने में असंभव है। भंडारण खुद को फिर से एन्क्रिप्ट करने की आवश्यकता नहीं है। यह सब उस मास्टर कुंजी को छिपाने के बारे में है - आंतरिक रूप से। उपयोगकर्ता कभी भी उस मास्टर कुंजी को नहीं देखता है, क्योंकि यह सबसे अधिक संभवतया केवल एक यादृच्छिक हैश कोड है - कुछ भी कभी भी "हैश" या "अनुमान" नहीं होगा जो हैश कोड है। यहां तक ​​कि एनएसए या ग्रह पर कोई अन्य सुरक्षा निकाय कभी भी उस तरह की मिलान कुंजी नहीं पा सका। एकमात्र हमला वेक्टर उपयोगकर्ता के हिस्से पर कमजोरी की उम्मीद कर रहा है। शायद उपयोगकर्ता ने एक पिनकोड लॉगिन चुना है। यदि यह 4 अंक है, तो यह अधिकतम 10000 संभावित पिनकोड है। कुछ ही समय में कुछ आज़माने के बाद OS डिवाइस को "ब्लॉक" कर सकता है। समाधान तो ओएस को "हैक" करने के लिए है, ताकि ओएस के हस्तक्षेप और डिवाइस को अवरुद्ध किए बिना सभी संभव पिनकोड की कोशिश करना संभव हो जाए। मेरा मानना ​​है कि एफबीआई आखिरकार एक अपराधी के फोन तक कैसे पहुंच गई। एक तीसरी पार्टी कंपनी (कुछ इज़राइली कंपनी जो मुझे याद आती है) ने एफबीआई के लिए हैकिंग किया था जो मुझे लगता है। उन्होंने उस पिनकोड-ट्राई लिमिट को बायपास कर दिया। यदि लॉगिन एक पूर्ण पासवर्ड है, और यदि उपयोगकर्ता ने एक मजबूत पासवर्ड उठाया है, और आप सोल हैं। जीवन में नहीं ग्रह पर सभी सीपीयू शक्ति के साथ एक मिलियन वर्षों में हैक कर लेंगे। मैं एनएसए की कोई भी खरीद नहीं कर रहा हूँ, कुछ भी अफवाहों को डिक्रिप्ट कर सकता हूँ मुझे लगता है कि उन लोगों ने बहुत सारी पुरुष-काली फिल्में देखीं। सभी को विभिन्न एन्क्रिप्शन एल्गोरिदम (जैसे एईएस) के बारे में वैज्ञानिक दस्तावेजों को देखना होगा, और आपको पता चल जाएगा कि हैकिंग नहीं होगी, पुराने दिनों को छोड़कर जब 40 बिट कुंजियाँ थीं। वे दिनों बहुत पहले ही बीत चुके है। AES128 पहले से ही मुझे लगता है कि दुखी है, और अगर किसी का संबंध है, तो AES256 पर कूदने से यह ब्रह्मांड के आकार के लिए एक परिमाण द्वारा और अधिक सुरक्षित हो जाता है। हो सकता है कि एक दिन क्वांटम कंप्यूटर इसे डिक्रिप्ट कर दें, लेकिन मुझे संदेह है। सुनिश्चित नहीं है कि यदि संभव हो तो संभावना प्रणाली को केवल समाधान पर प्रकाश डाला जाए। हम उस बारे में देखेंगे, अंततः। शायद यह कुछ जीवनकाल वैसे भी दूर है। अभी चिंता की कोई बात नहीं।

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


मुझे लगता है कि आपका मतलब "सममित" और "असममित" है। "सिंक्रोनस" और "एसिंक्रोनस" नहीं।
जय सुलिवन

1

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

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

कस्टम रिकवरी / संभवतः रॉम और कर्नेल फ्लैशिंग के माध्यम से चरण 2 डेटा तक पहुंचने के लिए रूट किए गए डिवाइस अधिक संवेदनशील दिखाई देते हैं ?? (अगर सच है, तो इसे बड़े जोखिम के रूप में क्यों नहीं बताया गया?)

रूट से पहले : एक डिवाइस को रूट करने के लिए आपको बाहरी उपकरणों का उपयोग करना होगा, जिसमें डिवाइस की आंतरिक संरचना में गहरी पहुंच है। इनमें से कुछ उपकरण पूर्वनिर्मित हैं और खुले स्रोत नहीं हैं। उनके पास "आधिकारिक" वेबसाइटें हैं, लेकिन ये लोग कौन हैं? (twrp.me, उदाहरण के लिए supersu.com, लेकिन KingoRoot जैसे अन्य हैं) क्या हम वास्तव में उन पर भरोसा कर सकते हैं? मुझे दूसरों की तुलना में कुछ ज्यादा भरोसा है। उदाहरण के लिए, KingoRoot ने मेरे पीसी पर एक प्रोग्राम स्थापित किया जो कि वायरस जैसी शैली में व्यवहार करता था (इसे हटाने के लिए दोहरे बूट का उपयोग करना पड़ता था)।

आपके रूट करने के बाद : संकलित प्रोग्राम (एपीके) एक एसयू एक्सेस देने का मतलब है कि वह कुछ भी कर सकता है जो प्रतिबंधों के बिना चाहता है या यह बताता है कि इसका उपयोग क्या होगा। (इरादे वाईफाई, कैमरा आदि जैसी चीजों को एक्सेस करने के लिए APKs का तरीका है) इसलिए एक "अच्छी तरह से विश्वसनीय ऐप", रूट एक्सेस के बाद, किसी भी प्रकार की जानकारी को आसानी से एक्सेस कर सकते हैं और इसे अपने सर्वर पर वापस भेज सकते हैं।

क्या पूर्ण डिवाइस एन्क्रिप्शन Google और सरकार से मेरे डेटा की सुरक्षा करता है?

गूगल - हाँ। इसमें अनलॉक करने की कुंजी नहीं है।

सरकार (या हैकर) - नहीं। क्योंकि सरकार या हैकर अनिवार्य रूप से एक शोषण का उपयोग कर सकते हैं जो फ़ाइल (ओं) को बाधित करेगा जैसा कि मैंने ऊपर उल्लेख किया है।

सुरक्षा प्रक्रियाओं / एल्गोरिदम की जटिलताएं बहुत कम उपयोग की जाती हैं, अगर उन्हें बीच में और बाईपास किया जा सके।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.