ویژگی های امنیتی اندروید

از ویژگی های توضیح داده شده در این بخش برای ایمن سازی هرچه بیشتر دستگاه های اندرویدی که توسعه می دهید استفاده کنید.

سندباکس برنامه

پلتفرم اندروید از محافظت مبتنی بر کاربر لینوکس برای شناسایی و جداسازی منابع برنامه بهره می برد. برای انجام این کار، اندروید یک شناسه کاربری (UID) منحصر به فرد را به هر برنامه اندروید اختصاص می دهد و آن را در فرآیند خودش اجرا می کند. Android از این UID برای راه‌اندازی یک App Sandbox در سطح هسته استفاده می‌کند.

امضای برنامه

امضای برنامه به توسعه دهندگان اجازه می دهد تا نویسنده برنامه را شناسایی کرده و برنامه خود را بدون ایجاد رابط ها و مجوزهای پیچیده به روز کنند. هر برنامه ای که روی پلتفرم اندروید اجرا می شود باید توسط توسعه دهنده امضا شود.

احراز هویت

اندروید از مفهوم کلیدهای رمزنگاری دردار احراز هویت کاربر استفاده می‌کند که نیاز به ذخیره‌سازی کلید رمزنگاری و ارائه‌دهنده خدمات و احراز هویت کاربر دارد.

در دستگاه‌های دارای حسگر اثر انگشت، کاربران می‌توانند یک یا چند اثر انگشت را ثبت کنند و از آن اثر انگشت برای باز کردن قفل دستگاه و انجام کارهای دیگر استفاده کنند. زیرسیستم Gatekeeper احراز هویت الگوی/رمز عبور دستگاه را در یک محیط اجرای مورد اعتماد (TEE) انجام می‌دهد.

Android 9 و بالاتر شامل Protected Confirmation است که به کاربران راهی برای تایید رسمی تراکنش‌های مهم مانند پرداخت‌ها می‌دهد.

بیومتریک

Android 9 و بالاتر شامل BiometricPrompt API است که توسعه‌دهندگان برنامه می‌توانند از آن برای ادغام احراز هویت بیومتریک در برنامه‌های خود به روشی مبتنی بر دستگاه و مدالیت استفاده کنند. فقط بیومتریک قوی می تواند با BiometricPrompt ادغام شود.

رمزگذاری

هنگامی که یک دستگاه رمزگذاری می شود، تمام داده های ایجاد شده توسط کاربر به طور خودکار قبل از انتقال آن به دیسک رمزگذاری می شوند و همه داده ها به طور خودکار قبل از بازگرداندن آنها به فرآیند تماس، رمزگشایی می شوند. رمزگذاری تضمین می کند که حتی اگر یک شخص غیرمجاز سعی کند به داده ها دسترسی پیدا کند، قادر به خواندن آن نخواهند بود.

فروشگاه کلید

Android یک Keystore با پشتوانه سخت افزاری ارائه می دهد که تولید کلید، واردات و صادرات کلیدهای نامتقارن، واردات کلیدهای متقارن خام، رمزگذاری و رمزگشایی نامتقارن با حالت های padding مناسب و موارد دیگر را ارائه می دهد.

لینوکس با امنیت بالا

به عنوان بخشی از مدل امنیتی اندروید، اندروید از لینوکس تقویت‌شده با امنیت (SELinux) برای اعمال کنترل دسترسی اجباری (MAC) بر روی همه فرآیندها، حتی فرآیندهایی که با امتیازات روت/ابر کاربر (قابلیت‌های لینوکس) اجرا می‌شوند، استفاده می‌کند.

محیط اجرای مورد اعتماد (TEE)

Trusty یک سیستم عامل (OS) ایمن است که یک محیط اجرای مورد اعتماد (TEE) را برای اندروید فراهم می کند. Trusty OS بر روی همان پردازنده سیستم عامل اندروید اجرا می شود، اما Trusty از بقیه سیستم ها توسط سخت افزار و نرم افزار جدا شده است.

بوت تایید شده

Verified Boot تلاش می کند تا اطمینان حاصل کند که همه کدهای اجرا شده از یک منبع قابل اعتماد (معمولاً OEM های دستگاه) به جای یک مهاجم یا فساد آمده است. این یک زنجیره کامل از اعتماد ایجاد می کند، از یک ریشه اعتماد محافظت شده توسط سخت افزار گرفته تا بوت لودر، تا پارتیشن بوت و سایر پارتیشن های تایید شده.