আবেদন স্বাক্ষর

অ্যাপ্লিকেশন স্বাক্ষর বিকাশকারীদের অ্যাপ্লিকেশনটির লেখক সনাক্ত করতে এবং জটিল ইন্টারফেস এবং অনুমতি তৈরি না করে তাদের অ্যাপ্লিকেশন আপডেট করতে দেয়। যে Android প্ল্যাটফর্ম চালানো হয় প্রতিটি আবেদন করা আবশ্যক ডেভেলপার দ্বারা স্বাক্ষরিত । স্বাক্ষর না করেই ইনস্টল করার চেষ্টা করা অ্যাপ্লিকেশনগুলি গুগল প্লে বা অ্যান্ড্রয়েড ডিভাইসের প্যাকেজ ইনস্টলার দ্বারা প্রত্যাখ্যান করা হবে।

গুগল প্লে -তে, অ্যাপ্লিকেশন স্বাক্ষর ডেভেলপারের সাথে গুগলের যে বিশ্বাস এবং ডেভেলপার তাদের আবেদনের উপর আস্থা রাখে তা সেতুবন্ধন করে। ডেভেলপাররা জানে যে তাদের অ্যাপ্লিকেশনটি অ্যান্ড্রয়েড ডিভাইসে প্রদান করা হয়েছে, সংশোধিত নয়; এবং বিকাশকারীদের তাদের আবেদনের আচরণের জন্য জবাবদিহি করা যেতে পারে।

অ্যান্ড্রয়েডে, অ্যাপ্লিকেশন সাইনবক্স তার অ্যাপ্লিকেশন স্যান্ডবক্সে একটি অ্যাপ্লিকেশন রাখার প্রথম পদক্ষেপ। স্বাক্ষরিত অ্যাপ্লিকেশন সার্টিফিকেট কোন ইউজার আইডি কোন অ্যাপ্লিকেশনের সাথে যুক্ত তা নির্ধারণ করে; বিভিন্ন অ্যাপ্লিকেশন বিভিন্ন ইউজার আইডির অধীনে চলে। অ্যাপ্লিকেশন স্বাক্ষর নিশ্চিত করে যে একটি অ্যাপ্লিকেশন ভালভাবে সংজ্ঞায়িত আইপিসি ছাড়া অন্য কোনও অ্যাপ্লিকেশন অ্যাক্সেস করতে পারে না।

যখন একটি অ্যান্ড্রয়েড ডিভাইসে একটি অ্যাপ্লিকেশন (APK ফাইল) ইনস্টল করা হয়, প্যাকেজ ম্যানেজার যাচাই করে যে APK সঠিকভাবে সেই APK- এর অন্তর্ভুক্ত সার্টিফিকেট দিয়ে স্বাক্ষরিত হয়েছে। যদি সার্টিফিকেট (বা, আরো সঠিকভাবে, সার্টিফিকেটের সর্বজনীন কী) ডিভাইসে অন্য কোনো APK স্বাক্ষর করার জন্য ব্যবহৃত কীটির সাথে মিলে যায়, নতুন APK এর ম্যানিফেস্টে নির্দিষ্ট করার বিকল্প আছে যে এটি অন্যদের সাথে একইভাবে একটি UID শেয়ার করবে -স্বাক্ষরিত APKs

অ্যাপ্লিকেশনগুলি তৃতীয় পক্ষ (OEM, অপারেটর, বিকল্প বাজার) বা স্বাক্ষরিত দ্বারা স্বাক্ষরিত হতে পারে। অ্যান্ড্রয়েড স্বাক্ষরিত সার্টিফিকেট ব্যবহার করে কোড স্বাক্ষর প্রদান করে যা ডেভেলপাররা বাহ্যিক সহায়তা বা অনুমতি ছাড়াই তৈরি করতে পারে। আবেদনে কেন্দ্রীয় কর্তৃপক্ষের স্বাক্ষর থাকতে হবে না। অ্যান্ড্রয়েড বর্তমানে অ্যাপ্লিকেশন শংসাপত্রগুলির জন্য সিএ যাচাইকরণ করে না।

অ্যাপ্লিকেশনগুলি স্বাক্ষর সুরক্ষা স্তরে সুরক্ষা অনুমতি ঘোষণা করতে সক্ষম, স্বতন্ত্র ইউআইডি এবং অ্যাপ্লিকেশন স্যান্ডবক্স বজায় রাখার সময় কেবল একই কী দিয়ে স্বাক্ষরিত অ্যাপ্লিকেশনগুলিতে অ্যাক্সেস সীমাবদ্ধ করে। একটি ভাগ করা আবেদন স্যান্ডবক্স সঙ্গে ঘনিষ্ঠ সম্পর্ক মাধ্যমে অনুমোদিত হয় ভাগ ইউআইডি বৈশিষ্ট্য যেখানে একই বিকাশকারীর কি দ্বারা স্বাক্ষরিত দুই বা ততোধিক অ্যাপ্লিকেশনগুলির ম্যানিফেস্টে একটি ভাগ ইউআইডি ঘোষণা করতে পারেন।

APK স্বাক্ষর প্রকল্প

অ্যান্ড্রয়েড তিনটি অ্যাপ্লিকেশন স্বাক্ষর স্কিম সমর্থন করে:

সর্বাধিক সামঞ্জস্যের জন্য, সমস্ত স্কিমের সাথে অ্যাপ্লিকেশনগুলিতে স্বাক্ষর করুন, প্রথমে v1, তারপর v2 এবং তারপর v3। অ্যান্ড্রয়েড 7.0+ এবং নতুন ডিভাইসগুলি v2+ স্কিমের সাথে স্বাক্ষরিত অ্যাপগুলি কেবল v1 স্কিমের সাথে স্বাক্ষরিত অ্যাপগুলির চেয়ে দ্রুত ইনস্টল করে। পুরোনো অ্যান্ড্রয়েড প্ল্যাটফর্মগুলি v2+ স্বাক্ষর উপেক্ষা করে এবং এইভাবে v1 স্বাক্ষর ধারণ করার জন্য অ্যাপগুলির প্রয়োজন হয়।

JAR স্বাক্ষর (v1 স্কিম)

APK স্বাক্ষর শুরু থেকেই অ্যান্ড্রয়েডের একটি অংশ। এটা তোলে উপর ভিত্তি করে তৈরি স্বাক্ষরিত JAR- র । এই স্কিম ব্যবহার করে বিশদ বিবরণের জন্য, অ্যান্ড্রয়েড স্টুডিও ডকুমেন্টেশান দেখুন আপনার অ্যাপ সাইন ইন

v1 স্বাক্ষর APK এর কিছু অংশ রক্ষা করে না, যেমন ZIP মেটাডেটা। APK যাচাইকারীর অনেকগুলি অবিশ্বস্ত (এখনও যাচাই করা হয়নি) ডেটা স্ট্রাকচারগুলি প্রক্রিয়া করতে হবে এবং তারপরে স্বাক্ষর দ্বারা আচ্ছাদিত ডেটা বাতিল করতে হবে। এটি একটি বড় আক্রমণের পৃষ্ঠ সরবরাহ করে। অধিকন্তু, APK যাচাইকারীকে অবশ্যই সমস্ত সংকুচিত এন্ট্রিগুলিকে আনকম্প্রেস করতে হবে, এতে বেশি সময় এবং মেমরি খরচ হবে। এই সমস্যাগুলি সমাধান করার জন্য, অ্যান্ড্রয়েড 7.0 এপিকে সিগনেচার স্কিম v2 চালু করেছে।

APK স্বাক্ষর স্কিম v2 & v3 (v2+ স্কিম)

অ্যান্ড্রয়েড .0.০ এবং তারপরে চলমান ডিভাইসগুলি APK স্বাক্ষর স্কিম v2 (v2 স্কিম) এবং পরে সমর্থন করে। (v2 স্কিমটি সাইনিং ব্লকে অতিরিক্ত তথ্য অন্তর্ভুক্ত করার জন্য Android 9 এ v3 এ আপডেট করা হয়েছিল, কিন্তু অন্যথায় একই কাজ করে।) APK এর বিষয়বস্তুগুলি হ্যাশ করা এবং স্বাক্ষর করা হয়, তারপরে APK সাইনিং ব্লক APK- এ ertedোকানো হয়। কোনো অ্যাপ্লিকেশানের সাহায্য নিতে v2 + + প্রকল্পকে প্রয়োগ বিশদে জানার জন্য, দেখুন যে APK স্বাক্ষর স্কিম v2

যাচাইকরণের সময়, v2+ স্কিম APK ফাইলটিকে ব্লব হিসাবে বিবেচনা করে এবং পুরো ফাইল জুড়ে স্বাক্ষর পরীক্ষা করে। জিপ মেটাডেটা পরিবর্তন সহ APK- এ যে কোনও পরিবর্তন APK স্বাক্ষরকে অবৈধ করে। APK যাচাইকরণের এই ফর্মটি যথেষ্ট দ্রুত এবং অননুমোদিত পরিবর্তনগুলির আরও ক্লাস সনাক্ত করতে সক্ষম করে।

নতুন ফর্ম্যাটটি পিছনের দিকে সামঞ্জস্যপূর্ণ, তাই নতুন সিগনেচার ফরম্যাটের সাথে স্বাক্ষরিত APK গুলি পুরনো অ্যান্ড্রয়েড ডিভাইসে ইনস্টল করা যেতে পারে (যা কেবল APK- এ যোগ করা অতিরিক্ত ডেটা উপেক্ষা করে), যতক্ষণ না এই APK গুলি v1- স্বাক্ষরিত থাকে।

APK স্বাক্ষর যাচাইকরণ প্রক্রিয়া

চিত্র 1. করা APK স্বাক্ষর যাচাই প্রক্রিয়া

APK এর সম্পূর্ণ ফাইল হ্যাশ APK সাইনিং ব্লকে সংরক্ষিত v2+ স্বাক্ষরের বিপরীতে যাচাই করা হয়েছে। হ্যাশ APK সাইনিং ব্লক ব্যতীত সবকিছুকে জুড়ে দেয়, যার মধ্যে v2+ স্বাক্ষর রয়েছে। APK সাইনিং ব্লকের বাইরে APK- এ যে কোনো পরিবর্তন APK এর v2+ স্বাক্ষরকে অবৈধ করে। ছিনতাই করা v2+ স্বাক্ষরযুক্ত APKগুলিকেও প্রত্যাখ্যান করা হয়, কারণ তাদের v1 স্বাক্ষর উল্লেখ করে যে APK v2- স্বাক্ষরিত ছিল, যা Android 7.0 এবং নতুনদের তাদের v1 স্বাক্ষর ব্যবহার করে APK যাচাই করতে অস্বীকার করে।

করা APK স্বাক্ষর যাচাই প্রক্রিয়া বিস্তারিত জানার জন্য দেখুন যাচাই অধ্যায় করা APK স্বাক্ষর স্কিম v2 এর।