এনক্রিপশন হলো সিমেট্রিক এনক্রিপশন কী ব্যবহার করে একটি অ্যান্ড্রয়েড ডিভাইসের সমস্ত ব্যবহারকারীর ডেটা এনকোড করার প্রক্রিয়া। একবার কোনো ডিভাইস এনক্রিপ্ট করা হলে, ব্যবহারকারীর তৈরি করা সমস্ত ডেটা ডিস্কে সংরক্ষণ করার আগে স্বয়ংক্রিয়ভাবে এনক্রিপ্ট হয়ে যায় এবং সমস্ত রিড অপারেশন কলিং প্রসেসে ডেটা ফেরত দেওয়ার আগে স্বয়ংক্রিয়ভাবে ডিক্রিপ্ট করে নেয়। এনক্রিপশন নিশ্চিত করে যে, কোনো অননুমোদিত পক্ষ ডেটা অ্যাক্সেস করার চেষ্টা করলেও, তারা তা পড়তে পারবে না।
অ্যান্ড্রয়েডে ডিভাইস এনক্রিপশনের দুটি পদ্ধতি রয়েছে: ফাইল-ভিত্তিক এনক্রিপশন এবং সম্পূর্ণ-ডিস্ক এনক্রিপশন।
ফাইল-ভিত্তিক এনক্রিপশন
অ্যান্ড্রয়েড ৭.০ এবং এর পরবর্তী সংস্করণ ফাইল-ভিত্তিক এনক্রিপশন সমর্থন করে। ফাইল-ভিত্তিক এনক্রিপশনের মাধ্যমে বিভিন্ন ফাইলকে আলাদা আলাদা কী (key) দিয়ে এনক্রিপ্ট করা যায়, যা স্বাধীনভাবে আনলক করা সম্ভব। যেসব ডিভাইস ফাইল-ভিত্তিক এনক্রিপশন সমর্থন করে, সেগুলো ডিরেক্ট বুট (Direct Boot) সমর্থনও করতে পারে। এর ফলে এনক্রিপ্টেড ডিভাইসগুলো সরাসরি লক স্ক্রিনে বুট করতে পারে, যা অ্যাক্সেসিবিলিটি সার্ভিস এবং অ্যালার্মের মতো ডিভাইসের গুরুত্বপূর্ণ ফিচারগুলোতে দ্রুত অ্যাক্সেস পেতে সাহায্য করে।
ফাইল-ভিত্তিক এনক্রিপশন এবং এপিআই (API)-এর মাধ্যমে, যা অ্যাপগুলোকে এনক্রিপশন সম্পর্কে অবগত করে, অ্যাপগুলো একটি সীমিত পরিসরের মধ্যে কাজ করতে পারে। ব্যবহারকারীরা তাদের ক্রেডেনশিয়াল (credentials) প্রদান করার আগেই এটি করা সম্ভব, এবং একই সাথে ব্যবহারকারীর ব্যক্তিগত তথ্যও সুরক্ষিত থাকে।
মেটাডেটা এনক্রিপশন
অ্যান্ড্রয়েড ৯ মেটাডেটা এনক্রিপশনের সুবিধা চালু করেছে, যেখানে হার্ডওয়্যার সাপোর্ট বিদ্যমান। মেটাডেটা এনক্রিপশনের মাধ্যমে, বুট করার সময় উপস্থিত একটিমাত্র কী সেই সমস্ত কন্টেন্টকে এনক্রিপ্ট করে যা FBE দ্বারা এনক্রিপ্ট করা হয়নি; যেমন ডিরেক্টরি লেআউট, ফাইলের আকার, পারমিশন এবং তৈরি/পরিবর্তনের সময়। এই কী-টি KeyMint (পূর্বে Keymaster) দ্বারা সুরক্ষিত থাকে, যা আবার Verified Boot দ্বারা সুরক্ষিত।
সম্পূর্ণ-ডিস্ক এনক্রিপশন
অ্যান্ড্রয়েড ৫.০ থেকে অ্যান্ড্রয়েড ৯ পর্যন্ত ফুল-ডিস্ক এনক্রিপশন সমর্থন করে। ফুল-ডিস্ক এনক্রিপশন একটি ডিভাইসের সম্পূর্ণ ইউজারডেটা পার্টিশনকে সুরক্ষিত রাখতে ব্যবহারকারীর ডিভাইসের পাসওয়ার্ড দ্বারা সুরক্ষিত একটিমাত্র কী ব্যবহার করে। ডিভাইস চালু হওয়ার সময়, ডিস্কের কোনো অংশ অ্যাক্সেস করার আগে ব্যবহারকারীকে অবশ্যই তার ক্রেডেনশিয়াল প্রদান করতে হবে।
নিরাপত্তার জন্য এটি চমৎকার হলেও, এর মানে হলো ব্যবহারকারীরা যখন তাদের ডিভাইস রিবুট করেন, তখন ফোনের বেশিরভাগ মূল কার্যকারিতা তাৎক্ষণিকভাবে উপলব্ধ হয় না। যেহেতু তাদের ডেটার অ্যাক্সেস তাদের একক ব্যবহারকারী ক্রেডেনশিয়ালের আড়ালে সুরক্ষিত থাকে, তাই অ্যালার্মের মতো ফিচারগুলো কাজ করতে পারে না, অ্যাক্সেসিবিলিটি পরিষেবাগুলো অনুপলব্ধ থাকে এবং ফোনে কল রিসিভ করা যায় না।