एंड्रॉइड एप्लिकेशन साइनिंग और सिग्नेचर वेरिफिकेशन


एप्लिकेशन साइनिंग

एप्लिकेशन साइनिंग वह प्रक्रिया है जिसके माध्यम से एक APK (Android पैकेज) डेवलपर की एक निजी कुंजी के साथ साइन किया जाता है जो प्रमाणित करता है कि ऐप जिक्र किए गए डेवलपर से आया है और साइन करने के बाद उसमें कोई बदलाव नहीं हुआ है। यहां इसकी विस्तृत प्रक्रिया दी गई है:

कीस्टोर जेनरेट करना

  • डेवलपर्स कीस्टोर बनाते हैं, जो क्रिप्टोग्राफिक कुंजियों वाली बाइनरी फाइल होती है। इस कीस्टोर में एक निजी कुंजी होती है जिसका उपयोग APK को साइन करने के लिए किया जाता है।
  • कीस्टोर पासवर्ड से सुरक्षित होती है, जिसे अवैध एक्सेस से बचाने के लिए सुरक्षित रखा जाना चाहिए।

APK को साइन करना

  • बिल्ड प्रक्रिया के दौरान या उसके बाद, कीस्टोर में संग्रहीत निजी कुंजी का उपयोग करके APK को साइन किया जाता है।
  • यह प्रक्रिया एक हैश फ़ंक्शन द्वारा एक डिजिटल सिग्नेचर जनरेट करती है, जिससे APK की सामग्री की एक अनूठी डाइजेस्ट बनती है।
  • फिर डाइजेस्ट को डेवलपर की निजी कुंजी से एन्क्रिप्ट किया जाता है, और यह परिणाम APK के भीतर संग्रहीत होता है।

प्रमाणपत्र समावेश

  • APK में एक प्रमाणपत्र शामिल होता है जिसमें वह सार्वजनिक कुंजी होती है जो साइनिंग के दौरान उपयोग की गई निजी कुंजी के साथ मेल खाती है।
  • यह प्रमाणपत्र इंस्टॉलेशन प्रक्रिया के दौरान डिजिटल सिग्नेचर की पुष्टि के लिए उपयोग होता है।

एप्लिकेशन साइनिंग क्यों महत्वपूर्ण है?

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

सिग्नेचर वेरिफिकेशन

सिग्नेचर वेरिफिकेशन वह प्रक्रिया है जिसके माध्यम से एंड्रॉइड ऑपरेटिंग सिस्टम किसी APK की डिजिटल सिग्नेचर की जांच करता है ताकि इंस्टॉलेशन से पहले उसकी अखंडता और प्रामाणिकता सुनिश्चित की जा सके। यह पोस्ट Reddit पर है कि आप आसानी से कैसे APK की सिग्नेचर / प्रामाणिकता की जांच कर सकते हैं? और वापस यहां पढ़ें कि जांच कैसे काम करती है:

प्रमाणपत्र को निकालना

जब कोई APK डाउनलोड किया जाता है और इंस्टॉलेशन प्रक्रिया शुरू की जाती है, तो डिवाइस APK से सार्वजनिक कुंजी वाला प्रमाणपत्र निकालता है।

सिग्नेचर को डिकोड करना

  • डिवाइस प्रमाणपत्र से निकाले गए सार्वजनिक कुंजी का उपयोग करके APK में एम्बेडेड डिजिटल सिग्नेचर को डिक्रिप्ट करता है।
  • डिक्रिप्शन वह मूल हैश (डाइजेस्ट) देती है जिसे साइनिंग प्रक्रिया के दौरान उत्पन्न किया गया था।

हैश जनरेट करना

स्वतंत्र रूप से, डिवाइस APK की सामग्री का अपना हैश बनाता है। यह साइनिंग प्रक्रिया के दौरान इस्तेमाल किए गए हैश फ़ंक्शन का उपयोग करता है।

हैश की तुलना करना

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

सिग्नेचर वेरिफिकेशन क्यों महत्वपूर्ण है?

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

यदि किसी ऐप में कई सिग्नेचर हैं, तो मुझे कौन सी सिग्नेचर चुननी चाहिए?

अधिकांश ऐप्स की एकल मान्य सिग्नेचर होती है, लेकिन कुछ के कई सिग्नेचर हो सकते हैं। अपडेट त्रुटियों से बचने के लिए आपको APK की सिग्नेचर को अपने डिवाइस पर पहले से इंस्टॉल किए गए ऐप्स की सिग्नेचर के साथ मिलाना होगा।

कई सिग्नेचर के कारण

  • कुंजी रोटेशन: Android 9 डेवलपर्स को साइनिंग कुंजियों को बदलने की अनुमति देता है। यह APK सिग्नेचर स्कीम v3 के कारण है।
  • वितरण चैनल: विभिन्न स्रोतों (जैसे, Play Store, Github) से ऐप्स की अलग-अलग सिग्नेचर हो सकती है।
  • सिस्टम ऐप्स: सिस्टम ऐप्स के लिए साइनिंग कुंजियाँ डिवाइस या OS संस्करण के आधार पर अलग हो सकती है।
  • अव्याख्येय मामलों: Google's Files और Play सेवाएं जैसे कुछ ऐप्स के पास बस कई सिग्नेचर होती है।

सही सिग्नेचर की पहचान कैसे करें:

  1. AndroidFreeware में एक परिष्कृत APK चेकर है जो, एंड्रॉइड अनुमतियों की जांच करता है, खतरनाक फ्लैग्स और फिल्टर का पता लगाता है, md5, sha1, sha256 चेकसम्स की गणना करता है, और VirusTotal एंटीवायरस चेक भी करता है।
  2. My APK जैसे ऐप सिग्नेचर को देखने के लिए टूल्स का उपयोग करें।
  3. ट्रायल और एरर दृष्टिकोण का उपयोग करें। विभिन्न APK इंस्टॉल करें जब तक कि अपडेट काम नहीं करता, फिर भविष्य के अपडेट के लिए सही सिग्नेचर याद रखें।
  4. APKMirror पर ML Manager का उपयोग करके ऐप अपलोड करें ताकि पहले से मौजूद सिग्नेचर पाया जा सके।
  5. कुछ डेस्कटॉप टूल्स apk फाइल की सिग्नेचर पा सकते हैं। उनमें हैं Google का apksigner, IBM का keytool, और Warren Bank का print-apk-signature

सामग्री तालिका