בכל מכשירי ה- iOS המשלוחים (למעט האפל TV, שאין בו אפליקציות צד שלישי) יש שתי מערכות קבצים, המיושמות כשתי מחיצות באחסון הפלאש. הראשון מותקן לקריאה בלבד ומכיל רק את מערכת ההפעלה. השני מכיל נתוני משתמש: האפליקציות המותקנות ונתוני התמיכה שלהן כולל מסמכים ושמורים. מחיצה שנייה זו, ב- iPhone 3GS, iPhone 4, דור 3 ו -4 של ה- iPod Touch ו- iPad רק מוצפן באמצעות מפתח שמנוהל על ידי שבב הצפנת חומרה ב- PCB של המכשיר. לא ניתן לדלוף מפתח זה ישירות מהשבב; אם כי אני לא יודע אם יש התקפות ערוץ צדדי.
כאשר המכשיר מופעל, שבב ההצפנה פותח את המחיצה השנייה. כלומר, הצפנה זו בלבד מגן על הנתונים במנוחה. למעשה, הוא נועד לתמוך בניגוב מהיר מרחוק: כאשר המכשיר מקבל את אות הנגב מרחוק הוא פשוט מאפס את המפתח.
iOS 4 משתמש בנפרד באותו מתקן הצפנה כדי לתמוך בממשק ה- API להגנת הקבצים שלו. אחסון קבצים עם אפשרות NSFileProtectionComplete
מוצפן במערכת הקבצים, ומפתח הפענוח זמין רק בזמן שהמכשיר אינו נעול . פירוש הדבר שכאשר אתה נועל את המסך, גם אם לאפליקציה יש רכיב רקע שעדיין פועל, לא ניתן לגשת לקבצים המוגנים.
במקרה של קבצים מוגנים, אם למשתמש מוגדרת קוד גישה. ואז קוד הגישה ומפתח ההתקן משולבים כדי להפיק את מפתח ההגנה. למעשה, זה קצת יותר מורכב: כל קובץ מוגן על ידי מפתח נפרד. מפתחות אלה מוגנים על ידי מפתח כיתה. מפתח המחלקה מוגן על ידי מפתח שמקורו במפתח החומרה ובקוד הסיסמה. זה נותן לך את המאפיינים הבאים:
- כאשר המכשיר נעול, הקבצים אינם זמינים לחלוטין מכיוון שלליבה אין את קוד הגישה שאיתו ניתן ליצור את מפתח הנעילה.
- גילוי כוח אנושי של קוד הגישה של המשתמש חייב להיעשות במכשיר, מה שמאט את הניסיונות.
- ניגוב מרחוק עדיין כרוך רק באיפוס מפתח המכשיר.