התוכן הזה עודכן לאחרונה בינואר 2025, והוא מציג את המצב הקיים במועד כתיבתו. מדיניות האבטחה ומערכות האבטחה של Google עשויות להשתנות בעתיד, מכיוון שאנחנו כל הזמן פועלים לשיפור ההגנה על הלקוחות שלנו.
צ'יפ Titan הוא צ'יפ ייעודי שיוצר את שורש החומרה של האמון בפלטפורמות במרכזי נתונים של Google Cloud . שבב Titan הוא מיקרו-בקר עם צריכת חשמל נמוכה, שמוטמע בפלטפורמות כמו שרתים, תשתית רשת וציוד היקפי אחר במרכזי נתונים.
שבב Titan הוא רכיב חשוב בארכיטקטורת האבטחה של חומרת Titanium, שמספקת שכבת אבטחה בסיסית שעוזרת להגן מפני תקיפות פיזיות ואיומים על נתוני המשתמשים. צ'יפ Titan מאפשר ל-Google לזהות ולאמוד באופן מאובטח את הקושחה והתצורה של הפלטפורמה. היא נועדה להגן מפני התקפות של תוכנות עם הרשאות מיוחדות ומפני ערכות כלים להשתלטות על מחשב (rootkit), החל מתהליך האתחול של המכונה.
במסמך הזה מתוארת ארכיטקטורת השבב והיתרונות של שבב Titan מבחינת אבטחה. צ'יפ Titan תומך בבסיס מינימלי של מחשוב מהימן (TCB) שמאפשר לצ'יפ לספק את היתרונות הבאים:
- Root of Trust בחומרה שיוצר זהות חזקה למכונה
- אימות התקינות של קושחת הפלטפורמה, גם בזמן ההפעלה וגם בזמן העדכון
- תהליכי איטום מרחוק של פרטי כניסה שמהווים בסיס למערכת של Google לניהול פרטי כניסה למכונות
משפחת הצ'יפים Titan
הצ'יפים הראשונים של Titan תוכננו בשנת 2014. בדורות הבאים שולבו הניסיון שנצבר במהלך תהליכי ייצור, שילוב ופריסה איטרטיביים. מידע נוסף על התרומה של Google לקהילת אבטחת החומרה של קוד פתוח, באמצעות הידע שלנו על שבב Titan, זמין באתר opentitan.org.
שבבי Titan כוללים את הרכיבים הבאים:
- מעבד מאובטח
- מעבד משותף קריפטוגרפי AES ו-SHA
- מחולל מספרים אקראיים בחומרה
- היררכיית מפתחות מתוחכמת
- זיכרון RAM סטטי (SRAM), Flash ו-ROM מוטמעים
זהות הייצור של Titan
במהלך תהליך הייצור של שבב Titan, כל שבב Titan יוצר חומר מפתח ייחודי. חומרי המפתח האלה מאומתים ומשמשים ליצירת רשומות אישור. רשומות האישור האלה מאוחסנות במסד נתונים אחד או יותר של מרשם, והן מוגנות באמצעות הצפנה, תוך שימוש באמצעי בקרה מרובי צדדים עם air gap.
כשפלטפורמות עם Titan משולבות ברשת הייצור של Google, מערכות ה-Backend יכולות לאמת שהפלטפורמות האלה מצוידות בשבבי Titan מקוריים. שבבי Titan מקוריים מסופקים עם מפתחות שנרשמו ואומתו במהלך תהליך הייצור של Titan. למידע נוסף על אופן השימוש של שירותים במערכת הזהויות של Titan, אפשר לעיין במאמר בנושא תהליך אימות האישורים.
הזהויות של שבבי Titan מהדורות המאוחרות יותר נוצרות ומאושרות בהתאם לתקנים בתעשייה, כמו Device Identifier Composition Engine (DICE). הצ'יפים המקוריים של Titan קיבלו אישור באמצעות עיצוב מותאם אישית של Google, כי הם יוצרו לפני שהוצגו תקנים רלוונטיים בתעשייה. הניסיון של Google בייצור ובפריסה של חומרה מאובטחת מעודד אותנו להגדיל את ההשתתפות בתהליכי התקנים, ותקנים חדשים יותר כמו DICE, Trusted Platform Module (TPM) ו-Security Protocol and Data Mode (SPDM) כוללים שינויים שמשקפים את הניסיון שלנו.
שילוב עם Titan
כששבב Titan משולב בפלטפורמה, הוא מספק הגנות אבטחה למעבד אפליקציות (AP). לדוגמה, יכול להיות ש-Titan ישולב עם מעבד שמריץ עומסי עבודה, עם baseboard management controller (BMC) או עם מאיץ לעומסי עבודה כמו למידת מכונה.
Titan מתקשר עם ה-AP באמצעות אוטובוס ה-SPI (Serial Peripheral Interface). Titan ממוקם בין ה-AP לבין שבב ה-flash של קושחת האתחול של ה-AP, וכך הוא יכול לקרוא ולמדוד כל בייט של הקושחה לפני שהקושחה מופעלת בזמן האתחול.
השלבים הבאים מתרחשים כשמפעילים פלטפורמה עם Titan:
- Titan שומר על המעבד המרכזי במצב איפוס בזמן שמעבד האפליקציה הפנימי של Titan מריץ קוד בלתי ניתן לשינוי (ה-ROM של האתחול) מזיכרון לקריאה בלבד שמוטמע בו.
- Titan מריץ בדיקה עצמית מובנית כדי לוודא שלא בוצעו שינויים בזיכרון (כולל ה-ROM).
- ה-ROM של Titan מאמת את הקושחה של Titan באמצעות קריפטוגרפיה של מפתח ציבורי, ומשלב את הזהות של הקושחה המאומתת בהיררכיית המפתחות של Titan.
- ה-ROM של האתחול של Titan טוען את הקושחה המאומתת של Titan.
- הקושחה של Titan מאמתת את התוכן של ה-flash של קושחת האתחול של ה-AP באמצעות קריפטוגרפיה של מפתח ציבורי. Titan חוסם את הגישה של ה-AP ל-flash של קושחת האתחול שלו עד שתהליך האימות מסתיים בהצלחה.
- אחרי האימות, שבב Titan משחרר את ה-AP מאיפוס, ומאפשר ל-AP לבצע אתחול.
- הקושחה של נקודת הגישה מבצעת הגדרה נוספת, שעשויה לכלול הפעלה של תמונות אתחול נוספות. ה-AP יכול לצלם מדידות של תמונות האתחול האלה ולשלוח את המדידות ל-Titan לצורך מעקב מאובטח.
השלבים האלה מאפשרים להשיג יושרה של ההוראה הראשונה כי Google יכולה לזהות את קושחת האתחול ואת מערכת ההפעלה שהופעלו במכונה מההוראה הראשונה שמופעלת במהלך מחזור ההפעלה. בנקודות גישה עם מעבדים שמקבלים עדכוני מיקרוקוד, תהליך האתחול מאפשר גם ל-Google לדעת אילו תיקוני מיקרוקוד אוחזרו לפני ההוראה הראשונה של קושחת האתחול. מידע נוסף מופיע במאמר בנושא תהליך האתחול הנמדד.
התהליך הזה דומה לתהליך האתחול שמבוצע בפלטפורמות שמצוידות ב-TPM. עם זאת, צ'יפים של Titan כוללים תכונות שלא זמינות בדרך כלל במודולי TPM רגילים, כמו אימות עצמי של קושחה פנימית של Titan או אבטחת שדרוג קושחה של AP, כפי שמתואר בקטעים הבאים.
שילובים רגילים של TPM יכולים להיות פגיעים להתקפות פיזיות של שכבת ביניים. שילובים חדשים יותר של Titan ב-Google מפחיתים את הסיכון להתקפות האלה באמצעות שורשי אמון משולבים. מידע נוסף זמין במאמר TPM Transport Security: Defeating Active Interposers with DICE (YouTube).
שדרוג מאובטח של קושחת Titan
הקושחה של שבב Titan חתומה על ידי מפתח שמוחזק ב-HSM אופליין, שמוגן על ידי אמצעי בקרה מבוססי-קוורום. ה-ROM של האתחול של Titan מאמת את החתימה של הקושחה של Titan בכל פעם שהשבב מופעל.
הקושחה של Titan חתומה עם מספר גרסת אבטחה (SVN), שמציין את מצב האבטחה של התמונה. אם תמונת קושחה כוללת תיקון של פגיעות, מספר ה-SVN של התמונה גדל. חומרת Titan מאפשרת לרשת הייצור להעיד באופן חד משמעי על מספר הגרסה של הקושחה (SVN) של Titan, גם אם בקושחה ישנה יותר היו נקודות חולשה. תהליך השדרוג מאפשר לנו להתמודד עם נקודות החולשה האלה בהיקף נרחב, גם אם הן משפיעות על הקושחה של Titan עצמה. מידע נוסף זמין במאמר שחזור לאחר פגיעות ב-firmware של שורש האמון.
Google תרמה לגרסה האחרונה של מפרט ספריית ה-TPM, שכוללת עכשיו תכונות שמאפשרות למודולי TPM אחרים לספק הבטחות דומות לאימות עצמי. מידע נוסף זמין בקטע TPM Firmware-Limited and SVN-Limited Objects (PDF) בגרסה 1.83 של מפרט ארכיטקטורת ה-TPM. התכונות האלה של TPM הוטמעו ונפרסו בשבבי Titan העדכניים שלנו.
שדרוג מאובטח של קושחת נקודת הגישה
בנוסף לקושחה של Titan, אנחנו גם חותמים באופן קריפטוגרפי על הקושחה שפועלת ב-AP. Titan מאמת את החתימה הזו כחלק מתהליך האתחול של הפלטפורמה. בנוסף, המערכת מאמתת את החתימה הזו בכל פעם שמעדכנים את הקושחה של ה-AP, כדי לוודא שרק תמונות קושחה מקוריות של ה-AP ייכתבו לשבב הזיכרון מסוג פלאש של קושחת האתחול של ה-AP. תהליך האימות הזה מפחית את הסיכון למתקפות שמנסות להתקין דלתות אחוריות קבועות או להפוך את הפלטפורמה ללא ניתנת לאתחול. אימות החתימה מספק גם הגנה מעמיקה לפלטפורמות של Google במקרה של פגיעות במנגנון האימות של המיקרוקוד של מעבד.
המאמרים הבאים
מידע נוסף על תהליך בדיקת תקינות האתחול