הצפנה

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

ל-Android יש שתי שיטות להצפנת המכשיר: הצפנה מבוססת-קבצים והצפנה מלאה של הדיסק.

הצפנה מבוססת-קבצים

מערכת Android בגרסה 7.0 ואילך תומכת בהצפנה מבוססת-קובץ. הצפנה מבוססת-קובץ מאפשרת להצפין קבצים שונים באמצעות מפתחות שונים, שאפשר לבטל את הנעילה שלהם בנפרד. מכשירים שתומכים בהצפנה מבוססת-קובץ יכולים גם לתמוך בהפעלה ישירה, שמאפשרת למכשירים מוצפנים להפעיל את נעילת המסך ישירות, וכך מאפשרת גישה מהירה לתכונות חשובות במכשיר כמו שירותי נגישות והתראות.

באמצעות הצפנה מבוססת-קבצים וממשקי API שמאפשרים לאפליקציות לזהות את ההצפנה, האפליקציות יכולות לפעול בהקשר מוגבל. מצב כזה יכול לקרות לפני שהמשתמשים סיפקו את פרטי הכניסה שלהם, ועדיין מגנים על המידע הפרטי שלהם.

הצפנת מטא-נתונים

ב-Android 9 נוספה תמיכה בהצפנת מטא-נתונים, אם יש תמיכה בחומרה. בהצפנת המטא-נתונים, מפתח יחיד שנמצא בזמן האתחול מצפין את כל התוכן שלא מוצפן על ידי FBE, כמו פריסות של ספריות, גדלי קבצים, הרשאות ותאריכי יצירה/שינוי. המפתח הזה מוגן על ידי Keymaster, שמוגן על ידי הפעלה מאומתת.

הצפנת דיסק מלא

ב-Android מגרסה 5.0 ועד 9 יש תמיכה בהצפנת דיסק מלאה. בהצפנה מלאה של הדיסק נעשה שימוש במפתח יחיד, שמוגן באמצעות סיסמת המכשיר של המשתמש, כדי להגן על כל המחיצה של נתוני המשתמש במכשיר. בזמן האתחול, המשתמש צריך לספק את פרטי הכניסה שלו כדי שאפשר יהיה לגשת לכל חלק בדיסק.

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