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