יישומים של DICE

‏Device Identifier Composition Engine‏ (DICE) משפר את מצב האבטחה של Android במספר דרכים שונות, ועם התרחבות השילוב של הארכיטקטורה הזו, יתווספו תרחישים לדוגמה נוספים.

הקצאת מפתח מרחוק

התרחיש המקורי לדוגמה של DICE היה להעביר את Root of Trust לפרוטוקול הקצאת המפתחות מרחוק (RKP) ל-TCB הקטן ביותר שזמין לשבב, ה-ROM, במקום ב-TEE. כך מקטינים באופן משמעותי את שטח ההתקפה לצורך פגיעה קבועה ב-RKP. חשוב מכך, הוא מאפשר לשחזר את האמון במכשירים אחרי פריצות ל-TEE או למחולל האתחול שעלולות להשפיע על התוקף של אימות המפתחות שנוצרים על ידי KeyMint.

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

אימות הדדי של סביבות מבודדות

כל דומיין של אפליקציה שבו DICE מסתיים מקבל זהות בצורת מפתח עם שרשרת אישורים שמגיעה עד ל-root of trust המשותף שמתקבל מה-ROM. מכיוון שתהליך ההסקה של DICE מתפצל כאשר נתיבים של טעינה מתחלקים, נוצר עץ של אישורים שיש להם את אותו שורש. כך, המערכת יוצרת PKI במכשיר במהלך תהליך DICE.

ה-PKI שנוצר בתהליך ההסקה של DICE יוצר מנגנון שמאפשר לרכיבים באשכולות מאובטחים נפרדים לבצע אימות הדדי. דוגמה קונקרטית לכך היא SecretKeeper,‏ HAL מהימן שמאפשר למכונות וירטואליות פרטיות (pVM) לתקשר עם ה-TEE כדי לקבל סוד יציב, שאפשר להשתמש בו כדי לאחסן נתונים עמידים באופן מאובטח.