תכונות האבטחה של Android

כדי שמכשירי Android שתפתחו יהיו מאובטחים ככל האפשר, מומלץ להשתמש בתכונות שמתוארות בקטע הזה.

ארגז חול לאפליקציות

פלטפורמת Android משתמשת בהגנה מבוססת-משתמש של Linux כדי לזהות ולבודד משאבי אפליקציות. לשם כך, מערכת Android מקצה מזהה משתמש ייחודי (UID) לכל אפליקציית Android ומריצה אותה בתהליך משלה. מערכת Android משתמשת ב-UID הזה כדי להגדיר ארגז חול לאפליקציה ברמת ליבת מערכת ההפעלה.

חתימה על אפליקציות

חתימה על אפליקציות מאפשרת למפתחים לזהות את יוצר האפליקציה ולעדכן אותה בלי ליצור ממשקים והרשאות מסובכים. כל אפליקציה שפועלת בפלטפורמת Android צריכה להיות חתומה על ידי המפתח.

אימות

ב-Android יש מושג שנקרא מאמתים של משתמשים, שמאפשרים לבטל את נעילת המכשיר ולבצע משימות אחרות:

  • מערכת המשנה Gatekeeper מבצעת אימות של קו ביטול נעילה או סיסמה במכשיר בסביבת מחשוב אמינה (TEE).
  • רכיב 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 TEE

Trusty היא מערכת הפעלה (OS) מאובטחת שמספקת TEE ל-Android. מערכת ההפעלה Trusty פועלת באותו מעבד כמו מערכת ההפעלה Android, אבל היא מבודדת משאר המערכת גם בחומרה וגם בתוכנה.

אתחול מאומת

הפעלה מאומתת נועדה לוודא שכל הקוד שמופעל מגיע ממקור מהימן (בדרך כלל יצרני מכשירים), ולא ממקור זדוני או מקובץ פגום. התכונה 'אתחול מאומת' יוצרת שרשרת מלאה של אמון, החל משורש אמון מוגן בחומרה ועד לתוכנת האתחול, למחיצת האתחול ולמחיצות מאומתות אחרות.