מצב המכשיר

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

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

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

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

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

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

שורש האמון

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

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

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

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

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

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

אחת הדרכים ליישם את שורש האמון שניתן להגדיר על-ידי המשתמש היא לקיים מחיצה וירטואלית שניתן להבהב או לנקות רק כאשר המכשיר נמצא במצב UNLOCKED . מכשירי Google Pixel 2 משתמשים בגישה זו והמחיצה הוירטואלית נקראת 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