כדי להבטיח שמכשירי Android שאתם מפתחים יהיו מאובטחים ככל האפשר, כדאי להשתמש בתכונות המתוארות בקטע הזה.
ארגז חול לאפליקציות
פלטפורמת Android משתמשת בהגנה מבוססת-משתמש של Linux כדי לזהות ולבודד משאבי אפליקציות. כדי לעשות זאת, מערכת Android מקצה מזהה משתמש ייחודי (UID) לכל אפליקציה ל-Android ומפעילה אותה בתהליך משלה. מערכת Android משתמשת ב-UID הזה כדי להגדיר ארגז חול לאפליקציות ברמת הליבה.
חתימה על אפליקציות
חתימה על אפליקציות מאפשרת למפתחים לזהות את המחבר של האפליקציה ולעדכן אותה בלי ליצור ממשקים והרשאות מורכבים. כל אפליקציה שפועלת בפלטפורמת Android חייבת להיות חתומה על ידי המפתח.
אימות
ב-Android יש את המושג מאמתי משתמשים שיכולים לבטל את נעילת המכשיר ולבצע משימות אחרות:
- התת-מערכת של שומר הכניסה מבצעת אימות של תבנית או סיסמה של המכשיר בסביבת מחשוב אמינה (TEE).
- רכיב Weaver האופציונלי מבצע אימות באמצעות דפוס או סיסמה ברכיב מאובטח נפרד.
- במכשירים עם חיישן טביעות אצבע אפשר להשתמש בטביעות אצבע רשומות.
- מכשירים יכולים לתמוך באימות פנים.
Android תומך גם במפתחות קריפטוגרפיים שמגובים בחומרה, שאפשר להשתמש בהם רק אם בוצע אימות משתמש באמצעות אחד המנגנונים האלה.
נתונים ביומטריים
Android מגרסה 9 ואילך כולל כיתה BiometricPrompt
שמפתחי אפליקציות יכולים להשתמש בה כדי לשלב אימות ביומטרי באפליקציות שלהם באופן שלא תלוי במכשיר ובשיטת האימות. רק נתונים ביומטריים חזקים יכולים לשלב עם 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 מבודדת משאר המערכת גם בחומרה וגם בתוכנה.
אתחול מאומת
הפעלה מאומתת נועדה לוודא שכל הקוד שמופעל מגיע ממקור מהימן (בדרך כלל יצרני ציוד מקורי של המכשיר), ולא מתוקף התקפה או פגיעה. Verified Boot יוצר שרשרת מלאה של אמון, החל מ-root of trust שמוגן בחומרה ועד ל-bootloader, למחיצה של האתחול ולמחיצות מאומתות אחרות.