מצב מכשיר

מצב המכשיר מציין כמה באופן חופשי ניתן להבהב תוכנה למכשיר והאם האימות נאכף. מצבי המכשיר LOCKED UNLOCKED . LOCKED התקנים למנוע ממך מהבהבים תוכנה חדשה למכשיר, בעוד UNLOCKED התקנים לאפשר שינוי.

כאשר מכשיר נדלק, השיקים הראשונים bootloader אם מכשיר LOCKED או UNLOCKED . אם התקן אינו נעול, UNLOCKED האתחול מראים למשתמש אזהרה ואז ממשיך לאתחל גם אם מערכת ההפעלה הטעונה אינה חתומה על ידי שורש האמון.

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

שינוי מצב המכשיר

כדי לשנות את מצב המכשיר , השתמש fastboot flashing [unlock | lock] פקודה. כדי להגן על נתוני המשתמשים, כל מעברי המדינה מוחקים את מחיצות הנתונים ומבקשים אישור משתמש לפני מחיקת הנתונים.

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

שורש אמון

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

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

שורש אמון הניתן להגדרה על ידי המשתמש

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

אם מיושם שורש אמון הניתן להגדרה על ידי המשתמש, יש לעשות זאת באופן כזה:

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

אחת הדרכים ליישום שורש אמון הניתן להגדרה על ידי המשתמש היא מחיצה וירטואלית שניתן להבהב או לנקות אותה רק כאשר המכשיר נמצא במצב UNLOCKED . מכשירי Google Pixel 2 משתמשים בגישה זו avb_custom_key הווירטואלית נקראת avb_custom_key . הפורמט של הנתונים במחיצה זו הוא הפלט של הפקודה avbtool extract_public_key . הנה דוגמה כיצד להגדיר את שורש האמון הניתן להגדרה על ידי המשתמש:

avbtool extract_public_key --key key.pem --output pkmd.bin
fastboot flash avb_custom_key pkmd.bin

ניתן לנקות את שורש האמון שאפשר להגדיר על ידי המשתמש על ידי הנפקה:

fastboot erase avb_custom_key