TEE אמין

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

Trusty תואם למעבדי ARM ואינטל. במערכות ARM, Trusty משתמש ב- Trustzone ™ של ARM כדי לבצע וירטואליות של המעבד הראשי וליצור סביבת ביצוע מהימנה מאובטחת. תמיכה דומה זמינה גם בפלטפורמות x86 של אינטל באמצעות טכנולוגיית הווירטואליזציה של אינטל.

איור 1 . תרשים סקירה אמין.

אמין מורכב מ:

  • גרעין מערכת הפעלה קטן שמקורו ב Little Kernel
  • מנהל התקן ליבת לינוקס להעברת נתונים בין הסביבה המאובטחת לאנדרואיד
  • ספריית מרחב משתמשים של Android לתקשורת עם יישומים מהימנים (כלומר משימות / שירותים מאובטחים) באמצעות מנהל ההתקן של הליבה

הערה: Trusty ו- API Trusty כפופים לשינויים. למידע על ממשק ה- API Trusty, עיין בהפניה ל- API .

למה אמין?

מערכות הפעלה אחרות של TEE מסופקות באופן מסורתי כבלוב בינארי על ידי ספקי צד שלישי או מפותחות באופן פנימי. פיתוח מערכות TEE פנימיות או רישוי TEE מצד שלישי יכול להיות יקר לספקי מערכת On-Chip (SoC) ול- OEM. העלות הכספית בשילוב עם מערכות צד שלישי לא אמינות יוצרות מערכת אקולוגית לא יציבה לאנדרואיד. Trusty ניתנת לשותפיה כאלטרנטיבה קוד פתוח אמינה וחינמית לסביבת הביצוע האמינה שלהם. Trusty מציע רמת שקיפות שפשוט לא אפשרית במערכות קוד סגור.

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

יישומים ושירותים

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

איור 2 . סקירה כללית של אפליקציות.

יישומי Trusty של צד שלישי

נכון לעכשיו כל יישומי Trusty מפותחים על ידי צד אחד ונארזים עם תמונת הגרעין Trusty. התמונה כולה נחתמת ומאומתת על ידי מנהל האתחול במהלך האתחול. בשלב זה אין תמיכה בפיתוח יישומי צד שלישי ב- Trusty. אף על פי ש- Trusty מאפשרת פיתוח יישומים חדשים, יש לנקוט בזהירות רבה ביותר; כל יישום חדש מגדיל את שטח בסיס המחשוב המהימן (TCB) של המערכת. יישומים מהימנים יכולים לגשת לסודות המכשירים ויכולים לבצע חישובים או שינויי נתונים באמצעותם. היכולת לפתח יישומים חדשים הפועלים ב- TEE פותחת אפשרויות רבות לחדשנות. עם זאת, בשל עצם ההגדרה של TEE, לא ניתן להפיץ יישומים אלה ללא צורה כלשהי של אמון. בדרך כלל זה מגיע בצורה של חתימה דיגיטלית על ידי ישות שאמינה על ידי המשתמש במוצר שעליו פועלת היישום.

שימושים ודוגמאות

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

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

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

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