כדי שמכשירי Android שתפתחו יהיו מאובטחים ככל האפשר, מומלץ להשתמש בתכונות שמתוארות בקטע הזה.
ארגז חול לאפליקציות
פלטפורמת Android נהנית מההגנה מבוססת-המשתמש של Linux כדי לזהות ולבודד משאבי אפליקציות. כדי לעשות את זה, מערכת Android מקצה מזהה משתמש ייחודי (UID) לכל אפליקציית Android ומריצה אותה בתהליך משלה. מערכת Android משתמשת ב-UID הזה כדי להגדיר ארגז חול לאפליקציה ברמת ליבת המערכת.
חתימה על אפליקציות
חתימה על אפליקציות מאפשרת למפתחים לזהות את יוצר האפליקציה ולעדכן אותה בלי ליצור ממשקים והרשאות מסובכים. כל אפליקציה שפועלת בפלטפורמת Android צריכה להיות חתומה על ידי המפתח.
אימות
ב-Android יש מושג שנקרא אמצעי אימות משתמשים, שמאפשר לפתוח את נעילת המכשיר ולבצע משימות אחרות:
- מערכת המשנה Gatekeeper מבצעת אימות של קוד אימות, קו ביטול נעילה או סיסמה של המכשיר בסביבת מחשוב אמינה (TEE).
- רכיב Weaver האופציונלי מבצע אימות של קוד האימות, קו ביטול הנעילה או הסיסמה של המכשיר ברכיב מאובטח נפרד או ב-TEE.
- מדיניות הגבלת הקצב של קוד האימות, קו ביטול הנעילה או הסיסמה של מכשיר Android נאכפת בעיקר ברכיב מאובטח או ב-TEE על ידי Gatekeeper ו-Weaver. יש גם אפשרות להגדיר מגביל קצב משני.
- מכשירים עם חיישן טביעת אצבע תומכים בשימוש בטביעות אצבע רשומות.
- מכשירים יכולים לתמוך באימות פנים.
Android תומך גם במפתחות קריפטוגרפיים שמגובים בחומרה, שאפשר להשתמש בהם רק אם בוצע אימות משתמש באמצעות אחד מהמנגנונים האלה.
נתונים ביומטריים
Android מגרסה 9 ואילך כולל BiometricPrompt
class
שמפתחי אפליקציות יכולים להשתמש בו כדי לשלב אימות ביומטרי באפליקציות שלהם באופן שלא תלוי במכשיר או בשיטה. רק נתונים ביומטריים חזקים יכולים להשתלב עם BiometricPrompt.
הצפנה
אחרי שמצפינים מכשיר, כל הנתונים שנוצרו על ידי המשתמש מוצפנים באופן אוטומטי לפני שהם נשמרים בדיסק, וכל הקריאות מפענחות את הנתונים באופן אוטומטי לפני שהם מוחזרים לתהליך הקורא. ההצפנה מבטיחה שגם אם גורם לא מורשה ינסה לגשת לנתונים, הוא לא יוכל לקרוא אותם.
מאגר מפתחות
Android מציעה מאגר מפתחות בגיבוי חומרה שמספק פונקציונליות קריפטוגרפית שבה חומר המפתח נמצא בסביבה מאובטחת. Android Keystore תומך ביצירה ובייבוא של מפתחות סימטריים ואסימטריים, בשילוב עם פרימיטיבים של הצפנה, פענוח, חתימה והסכמה על מפתח.
Security-Enhanced Linux
כחלק ממודל האבטחה של Android, מערכת Android משתמשת ב-Security-Enhanced Linux (SELinux) כדי לאכוף בקרת גישה מחייבת (MAC) על כל התהליכים, אפילו על תהליכים שפועלים עם הרשאות root או superuser (יכולות Linux).
Trusty TEE
Trusty היא מערכת הפעלה (OS) מאובטחת שמספקת סביבת מחשוב אמינה (TEE) ל-Android. מערכת ההפעלה Trusty פועלת באותו מעבד כמו מערכת ההפעלה Android, אבל היא מבודדת משאר המערכת גם בחומרה וגם בתוכנה.
הפעלה מאומתת
הפעלה מאומתת נועדה לוודא שכל הקוד שמופעל מגיע ממקור מהימן (בדרך כלל יצרני מכשירים), ולא ממקור זדוני או מקובץ פגום. התכונה 'הפעלה מאומתת' יוצרת שרשרת מלאה של אמון, החל משורש אמון מוגן בחומרה ועד לתוכנת האתחול, למחיצת האתחול ולמחיצות מאומתות אחרות.