আপনার তৈরি করা অ্যান্ড্রয়েড ডিভাইসগুলোকে যথাসম্ভব সুরক্ষিত করতে এই বিভাগে বর্ণিত বৈশিষ্ট্যগুলো ব্যবহার করুন।
অ্যাপ্লিকেশন স্যান্ডবক্স
অ্যান্ড্রয়েড প্ল্যাটফর্ম অ্যাপ রিসোর্স শনাক্ত ও বিচ্ছিন্ন করতে লিনাক্সের ব্যবহারকারী-ভিত্তিক সুরক্ষা ব্যবস্থা ব্যবহার করে। এটি করার জন্য, অ্যান্ড্রয়েড প্রতিটি অ্যান্ড্রয়েড অ্যাপকে একটি অনন্য ইউজার আইডি (UID) প্রদান করে এবং সেটিকে নিজস্ব প্রসেসে চালায়। অ্যান্ড্রয়েড এই UID ব্যবহার করে একটি কার্নেল-স্তরের অ্যাপ্লিকেশন স্যান্ডবক্স তৈরি করে।
অ্যাপ সাইনিং
অ্যাপ সাইনিং ডেভেলপারদের অ্যাপটির লেখককে শনাক্ত করতে এবং জটিল ইন্টারফেস ও অনুমতি তৈরি না করেই তাদের অ্যাপ আপডেট করতে সাহায্য করে। অ্যান্ড্রয়েড প্ল্যাটফর্মে চালিত প্রতিটি অ্যাপ অবশ্যই ডেভেলপার দ্বারা স্বাক্ষরিত হতে হবে।
প্রমাণীকরণ
অ্যান্ড্রয়েডে ইউজার অথেন্টিকেটরের ধারণা রয়েছে যা ডিভাইস আনলক করতে এবং অন্যান্য কাজ সম্পাদন করতে পারে:
- গেটকিপার সাবসিস্টেম একটি ট্রাস্টেড এক্সিকিউশন এনভায়রনমেন্ট (TEE)-এ ডিভাইসের পিন, প্যাটার্ন বা পাসওয়ার্ড দ্বারা প্রমাণীকরণ সম্পন্ন করে।
- ঐচ্ছিক উইভার কম্পোনেন্টটি একটি পৃথক সিকিওর এলিমেন্ট বা একটি TEE-তে ডিভাইসের পিন, প্যাটার্ন বা পাসওয়ার্ড অথেন্টিকেশন সম্পন্ন করে।
- ফিঙ্গারপ্রিন্ট সেন্সরযুক্ত ডিভাইসগুলো নিবন্ধিত আঙুলের ছাপ ব্যবহার সমর্থন করে।
- ডিভাইসগুলো মুখমণ্ডল শনাক্তকরণ সমর্থন করতে পারে।
অ্যান্ড্রয়েড হার্ডওয়্যার-সমর্থিত ক্রিপ্টোগ্রাফিক কী-ও সমর্থন করে, যা শুধুমাত্র তখনই ব্যবহার করা যাবে যখন এই পদ্ধতিগুলোর কোনো একটির মাধ্যমে ব্যবহারকারীর প্রমাণীকরণ সম্পন্ন হবে।
বায়োমেট্রিক্স
অ্যান্ড্রয়েড ৯ এবং এর পরবর্তী সংস্করণগুলোতে একটি BiometricPrompt ক্লাস রয়েছে, যা ব্যবহার করে অ্যাপ ডেভেলপাররা ডিভাইস বা মোডালিটি নির্বিশেষে তাদের অ্যাপে বায়োমেট্রিক অথেন্টিকেশন যুক্ত করতে পারেন। শুধুমাত্র শক্তিশালী বায়োমেট্রিক্সই BiometricPrompt সাথে ইন্টিগ্রেট করা যায়।
এনক্রিপশন
কোনো ডিভাইস এনক্রিপ্ট করা হয়ে গেলে, ব্যবহারকারীর তৈরি করা সমস্ত ডেটা ডিস্কে সংরক্ষণের আগে স্বয়ংক্রিয়ভাবে এনক্রিপ্ট হয়ে যায় এবং সমস্ত রিড অপারেশন ডেটাকে কলিং প্রসেসে ফেরত পাঠানোর আগে স্বয়ংক্রিয়ভাবে ডিক্রিপ্ট করে নেয়। এনক্রিপশন নিশ্চিত করে যে, কোনো অননুমোদিত পক্ষ ডেটা অ্যাক্সেস করার চেষ্টা করলেও, তারা তা পড়তে পারবে না।
কীস্টোর
অ্যান্ড্রয়েড একটি হার্ডওয়্যার-সমর্থিত কীস্টোর প্রদান করে যা ক্রিপ্টোগ্রাফিক কার্যকারিতা সরবরাহ করে, যেখানে কী মেটেরিয়াল একটি সুরক্ষিত পরিবেশে সংরক্ষিত থাকে। অ্যান্ড্রয়েড কীস্টোর সিমেট্রিক এবং অ্যাসিমেট্রিক উভয় প্রকার কী তৈরি ও ইম্পোর্ট করা সমর্থন করে, এবং এর সাথে এনক্রিপশন, ডিক্রিপশন, সাইনিং ও কী অ্যাগ্রিমেন্ট প্রিমিটিভগুলোও রয়েছে।
নিরাপত্তা-বর্ধিত লিনাক্স
অ্যান্ড্রয়েড নিরাপত্তা মডেলের অংশ হিসেবে, অ্যান্ড্রয়েড সমস্ত প্রসেসের উপর বাধ্যতামূলক অ্যাক্সেস নিয়ন্ত্রণ (MAC) প্রয়োগ করতে সিকিউরিটি-এনহ্যান্সড লিনাক্স (SELinux) ব্যবহার করে, এমনকি রুট বা সুপারইউজার বিশেষাধিকার (লিনাক্স সক্ষমতা) নিয়ে চলমান প্রসেসগুলোর উপরেও।
ট্রাস্টি টি
ট্রাস্টি টি
ট্রাস্টি একটি সুরক্ষিত অপারেটিং সিস্টেম (OS) যা অ্যান্ড্রয়েডের জন্য একটি TEE প্রদান করে। ট্রাস্টি ওএস অ্যান্ড্রয়েড ওএস-এর মতোই একই প্রসেসরে চলে, কিন্তু ট্রাস্টি হার্ডওয়্যার এবং সফ্টওয়্যার উভয় দ্বারাই সিস্টেমের বাকি অংশ থেকে বিচ্ছিন্ন থাকে।
যাচাইকৃত বুট
ভেরিফাইড বুট এটি নিশ্চিত করার জন্য ডিজাইন করা হয়েছে যে, কার্যকর হওয়া সমস্ত কোড কোনো আক্রমণকারী বা ত্রুটির পরিবর্তে একটি বিশ্বস্ত উৎস (সাধারণত ডিভাইস প্রস্তুতকারক) থেকে আসে। ভেরিফাইড বুট একটি হার্ডওয়্যার-সুরক্ষিত রুট অফ ট্রাস্ট থেকে শুরু করে বুটলোডার, বুট পার্টিশন এবং অন্যান্য যাচাইকৃত পার্টিশন পর্যন্ত একটি সম্পূর্ণ বিশ্বস্ততার শৃঙ্খল স্থাপন করে।