1. מבוא טכנולוגיית הצפנת הדיסקים Bitlocker של Microsoft היא תכונת אבטחת מידע הזמינה במערכת ההפעלה Windows החל מגרסאות Windows Vista ו- 2008.Windows Server מטרתה העיקרית היא להתמודד עם סכנת חשיפת מידע רגיש בעקבות אובדן או גניבה של מחשבים אישיים ומחשבים ניידים (הן פרטיים והן ארגוניים), על ידי הצפנת תוכן הדיסק ופענוחו בעת הצורך בלבד. את הצפנת הנתונים ניתן לשלב עם שימוש ברכיב חומרה בשם,TPM המספק יתרון נוסף של הבטחת אמינות תהליך האתחול, כפי שיוסבר בהמשך. כערך מוסף, הצפנת הדיסקים הופכת את תהליך מחזור החומרה לקל יותר, כיון שלא נדרש להשמיד את המידע בדיסקים שנשלחים למחזור, אלא רק את מפתחות ההצפנה. טכנולוגיות מקבילות קיימות במערכות ההפעלה Linux ו- MacOS. 1.1. הצפנת נתונים ברמת מערכת הקבצים ראשית נדון בקצרה בטכנולוגיה שונה מטכנולוגית Bitlocker ודומותיה הצפנת נתונים ברמת מערכת הקבצים. במערכת קבצים מוצפנת, תוכן הקבצים במערכת מוצפן טרם כתיבתו לדיסק ומפוענח בשעת קריאתם. כיון שקבצים עשויים להיות גדולים, הצפנתם נעשית באמצעות צופן סימטרי. באופן כללי, ההצפנה נעשית על פי בחירה של המשתמש, שמסמן את הקבצים שבבעלותו שעליהם ברצונו להגן, ולא באופן גורף עבור כל הקבצים. שמות המדריכים ושמות הקבצים (תוכן המדריכים) וכן שאר תכונותיהם, כגון גודל, זמן יצירה וזמן גישה אחרון, נותרים גלויים. מצד אחד, המידע מוגן בנפרד עבור כל משתמש, באמצעות מפתחות הצפנה שונים עבור כל משתמש. על כן, גם אם למשתמש א' יש גישה ישירה אל הדיסק, הוא לא יוכל לקרוא מידע של משתמש ב' על אותו דיסק. לפיכך, ניתן לראות בשיטה זו מעין הרחבה של מנגנון בקרת הגישה שמספקת מערכת ההפעלה בזמן ריצה, הרלוונטית למידע של משתמשים ואפליקציות. מצד שני, כיון שמערכת הקבצים ממומשת על ידי מערכת ההפעלה, השיטה אינה יכולה לשמש להצפנת קבצי מערכת ההפעלה עצמה וקבצי העזר שהיא מפעילה (למשל, קבצי swap המכילים דפי זיכרון וירטואלי שנכתבו לדיסק ושעשויים להכיל נתונים רגישים). בנוסף, החופש שניתן למשתמש עשוי להיות בעוכריו, במידה ואפליקציה מסוימת מגבה את הנתונים של המשתמש במקום אחר במערכת הקבצים, ללא שהמשתמש מודע לכך (למשל, תיקיית קבצים זמניים). דוגמאות למערכות קבצים מסוג זה: של מיקרוסופט, הזמינה החל מגרסת Windows 2000 (Encrypted File System) EFS CryptFS במערכות,Linux הניתנת להתקנה כמודול נטען לגרעין המערכת. 1.2. הצפנת נתונים ברמת הדיסק טכנולוגיית,Bitlocker לעומת זאת, מהווה דוגמא להצפנת נתונים ברמת הדיסק, לפיה כלל הדיסק מוצפן, כולל מערכת ההפעלה שבו, האפליקציות, קבצי מערכת, קבצים זמניים, קובץ hibernation וכן הלאה. כמו בהצפנת נתונים ברמת מערכת הקבצים, גם בהצפנת נתונים ברמת הדיסק, רק החלקים הנדרשים על ידי מערכת ההפעלה מפוענחים בשעת הצורך. כלומר, לעולם אין פענוח של כל הדיסק, שכן זוהי פעולה יקרה. אולם, להבדיל מהצפנת נתונים ברמת מערכת הקבצים, בהצפנת נתונים ברמת הדיסק, מושג המשתמש אינו רלוונטי, וכל הסקטורים בדיסק מוצפנים יחדיו תחת מפתח סימטרי יחיד. לכן, אם נעשה שימוש בהצפנת נתונים ברמת הדיסק בלבד, משתמש בעל גישה ישירה לדיסק מסוגל לפענח את המידע של יתר המשתמשים. 120
מבחינת אבטחה, שתי השיטות באות להתמודד עם מתקפות שונות ומשלימות אחת את השנייה. טכנולוגיית Bitlocker מגנה על כלל הדיסק, ובכלל זה על קבצי מערכת ההפעלה עצמה. בנוסף היא מאפשרת להתנות גישה לנתונים בתהליך boot תקין, כפי שנראה בהמשך. אבל, ברגע שעברנו את תהליך ה- boot בהצלחה ומערכת ההפעלה עלתה, כלל הדיסק מפוענח עבור כל המשתמשים. מבחינה זו, טכנולוגיית EFS משלימה את,Bitlocker בכך שהיא מאפשרת להצפין קבצים ומדריכים כך שיהיו נגישים אך ורק למשתמשים מורשים לאחר אימותם ע"י מערכת ההפעלה. נדגיש כי באף אחת משתי השיטות האבטחה איננה מושלמת. לדוגמא, גם אם לפני מחזור הדיסק הושמדו המפתחות, דבר לא מבטיח שהצופן יישאר בטוח בעתיד ייתכן ותימצא מתקפה שתאפשר לפענח את הנתונים. כדוגמא נוספת, בספטמבר 2006 נתגלתה מתקפה המאפשרת לשחזר את מפתחות ההצפנה שהיו בשימוש גם לאחר כיבוי המחשב, על ידי העלאתו ממערכת הפעלה של התוקף שבוחנת ומשחזרת את תוכן ה- RAM שטרם הספיק להתנדף. 1.3.ניהול מפתחות בשתי שיטות ההצפנה, נשאלת השאלה היכן יאוחסן מפתח ההצפנה הסימטרי שמשמש להצפנה ולפענוח של הנתונים. מחד, עליו להיטען לזיכרון כך שיהיה נגיש למעבד. מאידך, אם נאחסנו באופן גלוי על הדיסק, התוקף יידע מהו. פתרון מקובל הוא לאחסנו על הדיסק בצורה מוצפנת ולפענח אותו ולטעון אותו לזיכרון רק בשעת הצורך. בהמשך נראה שכך עובדת טכנולוגיית,Bitlocker המצפינה את המפתח הסימטרי על הדיסק תחת מפתח אחר. אולם, כעת שוב נשאלת אותה השאלה של היכן יאוחסן המפתח הדרוש לפענוח המפתח הסימטרי. פשרה נהוגה היא לאחסן את מפתח זה על התקן חיצוני, כגון Disk On Key או כרטיס חכם, שעל המשתמש לחבר למחשב טרם הפעלתו. זוהי אבטחה שמבוססת על have"."what you ההנחה היא שהתקן זה זמין אך ורק למשתמש החוקי ולא לתוקף (למשל, התוקף גונב את המחשב אבל ההתקן החיצוני נמצא אצל המשתמש). בנוסף, ניתן לדרוש גם הזנת,PIN שהוא מספר קצר שהמשתמש בוחר מראש, ועל ידי כך לקבל אבטחה שמבוססת גם על know"."what you נשים לב שאם ה- PIN נבדק על ידי מערכת ההפעלה, תוקף שהצליח לשים את ידו על הדיסק ועל ההתקן החיצוני שהוזכר לעיל בו-זמנית מסוגל להעביר את הדיסק למערכת הפעלה משלו, שלא בודקת,PIN ועל ידי כך להפוך את ה- PIN לחסר תועלת. על כן, נהוג שההתקן החיצוני שמחזיק את המפתח הוא זה שבודק את נכונות ה- PIN, טרם שהוא מסכים לשחרר את המפתח. בד בבד, חשוב שההתקן החיצוני יהיה עמיד בפני התנכלות, על מנת למנוע שליפה של המפתח (או ה- PIN ) ממנו ו/או שינוי של הלוגיקה בו. 1.4.חישוב אמין ורכיבי TPM בנוסף להצפנת הדיסק, טכנולוגיית Bitlocker נועדה לספק בדיקת שלמות והצפנה עוד לפני תהליך ה- boot. כדי לספק הגנה חזקה על הצפנת הדיסק, טכנולוגיית Bitlocker תוכננה לעבוד עם רכיב חומרה בשם,(Trusted Platform Module) TPM שהינו חיצוני למערכת ההפעלה ועמיד בפני התנכלות. עם זאת, היא מסוגלת לעבוד גם ללא,TPM ובמקרה זה היא מסתמכת על אתחול באמצעות רכיב USB המספק מפתח אתחול. חישוב אמין Computing) (Trusted מתייחס לטכנולוגיה שפותחה ע"י ה- TCG Trusted ).(Computing Group המטרה היא לספק תשתית, שתאפשר לוודא כי המחשב מבצע את התכנות הייעודי שלו, תוך הקטנת הסיכוי לפעולות שאינן תואמות את תכנות זה (כגון אלה המבוצעות ע"י וירוסים וחיות אחרות, או אלה המבוצעות ע"י משתמשים, שמנסים להשתמש בחומרה של הארגון בו הם עובדים, למטרות שלא יועדה אליהן). היחידה הבסיסית המספקת את היכולות 121
ה: הנדרשות להפעלת מנגנוני החישוב האמין היא רכיב ה- TPM, שיתואר בהמשך. בתרגול זה נסקור את תהליך האתחול הבטוח boot),(secure המתאפשר ע"י שימוש ב- TPM, ונראה כיצד Bitlocker משתמשת ביכולות הקריפטוגרפיות של ה- TPM כדי להגן על הדיסק המוצפן. TPM and Trusted/Secure Boot.2 ה- TPM הינו רכיב חומרה עמיד בפני התנכלות, פיסית או בתוכנה, המותקן כיום במחשבים רבים, ובעיקר מחשבים ארגוניים. הוא מספק מספר יכולות המאפשרות לשפר את בטיחות המערכת. בפרט, ה- TPM מכיל מרחב אחסון מוגן (אפילו מפני מערכת ההפעלה!) בו ניתן לאחסן מידע רגיש, כגון מפתחות קריפטוגרפיים ומדדים המשמשים לקביעת אמינות המערכת ומצב רכיביה. באפליקציה של הצפנת נתונים ברמת הדיסק, ה- TPM יכול לשמש בתור תחליף להתקן החיצוני שהוזכר בפרק המבוא, כמקום אחסון בטוח למפתח שמפענח את המפתח הסימטרי שתחתיו הוצפן תוכן הדיסק (או שלחליפין, ה- TPM מסוגל גם לתמוך בשימוש בהתקן חיצוני מסוג זה). היתרון הייחודי בשימוש ב- TPM הוא שניתן לנצל את שאר המידע שבו לצורך אכיפת מדיניות האבטחה שהוגדרה במערכת. לדוגמא, על סמך המידע שנצבר על אמינות המערכת, יכול ה- TPM להחליט האם וכיצד להשתמש במפתחות המאוחסנים בו על מנת לאפשר (או לא לאפשר) פענוח של הדיסק. בפרק זה, נשווה את תהליך אתחול המחשב הרגיל במחשבים אישיים לתהליך האתחול הבטוח, ונראה כיצד ה- TPM מאפשר לתעד את תהליך האתחול ולבחון אותו במטרה לספק אתחול בטוח. 2.1. תהליך העלאת מערכת במחשבים אישיים ללא TPM ניתן לחלק את תהליך האתחול,(boot) שמתבצע במחשב האישי מרגע הפעלתו ועד לעליית מערכת ההפעלה, לשלושה שלבים עיקריים. שלב א' BIOS- כאשר המחשב מופעל, רכיב חומרה מיוחד שנמצא בלוח האם נותן פקודת RESET למעבד. המעבד מאתחל חלק מהרגיסטרים שלו לערכים שנקבעו מראש, ומתחיל לבצע את קוד ה- שנמצא בכתובת פיסית שנקבעה מראש. ה- BIOS,(Basic Input/Output System) BIOS מותקן בד"כ בזיכרון flash (זיכרון הניתן לשכתוב, אך אינו נמחק עם כיבוי המחשב). מערכות הפעלה ישנות (כגון (DOS הסתמכו על ה- BIOS לביצוע רוב פעולות הקלט/פלט, אולם ברוב מערכות הפעלה מודרניות תפקידו של ה- BIOS הצטמצם לביצוע אתחול ראשוני עם הדלקת המחשב. עם זאת, ישנן מערכות הפעלה מודרניות שמסתמכות על ה- BIOS לפעולות מסוימות. ה- BIOS מבצע את הפעולות הבאות: בודק אילו רכיבי חומרה מותקנים כרגע במחשב ומריץ בדיקה עצמית, שנקראת POST Self-Test),(Power-On על מנת לוודא שרכיבי החומרה פועלים כשורה. מאתחל את רכיבי החומרה (מקצה כתובות קלט / פלט לכל רכיב, מאתחל את טבלת הטיפול בפסיקות Table),(IDT Interrupt Descriptor וכו'. ניגש להתקני האחסון, על פי סדר שנקבע מראש וניתן לשינוי ע"י המשתמש, על מנת להתחיל בטעינת מערכת ההפעלה. ה- BIOS מאתר את ה- Record (MBR) Master Boot של ההתקן ממנו מבוצעת הטעינה. ה- MBR מציין כיצד מחולק הדיסק למחיצות,(partitions) היכן נמצא ה- sector boot בכל מחיצה ומי המחיצה הראשית שממנה תתבצע טעינת מערכת ההפעלה. ב- sector boot של מחיצה זו נמצאת תוכנית, שנקראת.1.2.3 122
ה: ה: RAM שמתחילה את טעינת מערכת ההפעלה. תוכנית זו נטענת ל-,OS Boot Loader Memory) (Random Access ע"י ה- BIOS ומתחילה לרוץ. שלב ב' - Loader OS Boot בשלב זה רצה תוכנית ה- loader,os boot שתפקידה לטעון את מערכת ההפעלה. ישנן תוכנות OS boot loader שונות, בהתאם למערכת ההפעלה שבשימוש (למשל NTLDR עבור LILO,Windows NT או GRUB עבור.(Linux ה- loader boot מאפשר למשתמש לבחור איזה מערכת הפעלה הוא רוצה להעלות ובאיזה mode (למשל בחירת safe mode ב-,Windows או בחירת גרסת kernel של Linux לטעינה). כפי שצוין לעיל, מערכות ההפעלה המודרניות כמעט שאינן מסתמכות על ה- BIOS לאתחול רכיבי החומרה, אלא ה- loader OS boot מבצע את האתחול בעצמו. בפרט, הוא עשוי לשנות את טבלת הטיפול בפסיקות (יתכן אף שהכניסה המתאימה לפסיקת חומרה כלשהי תשתנה כתוצאה מכך). בנוסף, ה- loader OS boot מבצע עוד פעולות אתחול ובדיקה נוספות, שלא יפורטו כאן. המטרה העיקרית של פעולות אלה היא לאפשר לגרעין מערכת ההפעלה (ה- (kernel לרוץ כשורה. לבסוף, הוא טוען את גרעין מערכת ההפעלה ומריץ אותו. שלב ג' גרעין (kernel) בשלב זה ה- kernel רץ ומשלים את טעינת מערכת ההפעלה. הוא מאתחל את מבני הנתונים הפנימיים שלו (למשל, עבור מערכת הזיכרון הווירטואלי), טוען את התקני המערכת daemons שיוצר,init נוצר ואת שירותי המערכת. לדוגמא, ב- Unix (device drivers) לשירותים שונים כגון הדפסה, קבצים וכדומה, וכן תהליך idle שרץ כאשר אין תהליכים אחרים. 2.2. תהליך העלאת המערכת במחשב אישי עם TPM את רכיב החומרה, ה- TPM, משלים רכיב תוכנה בשם Core Root of Trust ) CRTM.(Measurement זוהי התוכנה הראשונה שרצה בפלטפורמה של חישוב אמין. באופן אידיאלי, היינו רוצים למקם את ה- CRTM על גבי ה- TPM עצמו. אולם ב- PC, בהינתן הארכיטקטורה הקיימת, ה- CRTM מותקן ב- BIOS. ניתן להגדיר את ה- CRTM בתור חלק מה- BIOS או בתור כלל ה- BIOS (נתון לבחירת היצרן). אנו נניח כאן את המקרה הראשון, בו יש הפרדה בין החלק של ה- BIOS המתפקד כ- CRTM, לבין החלק של ה- BIOS שמבצע את הפעולות ה"רגילות" של תהליך האתחול (כפי שתואר ב- 2.1 ), ומכונה.POST BIOS אחד העקרונות המרכזיים בחישוב אמין, הוא ביסוס אמינות המערכת באופן הדרגתי וטרנזיטיבי. בתחילה, אנו מניחים אמינות רק עבור חלק מינימלי של המערכת, הכולל בין השאר את ה- TPM ואת ה- CRTM. לאורך תהליך האתחול, רכיבים שנחשבים אמינים מבצעים מדידות על רכיבים אחרים. לדוגמה, מדידה אפשרית של רכיב POST BIOS או boot loader היא חישוב תמצות (hash) של קוד הרכיב. מדידה של נתוני קונפיגורציה עשויה להיות חישוב תמצות על נתוני הקונפיגורציה. תוצאת המדידה מאוחסנת ברגיסטרים פנימיים ב- TPM, המכונים PCRs rootkit כך שהיא ניתנת לבדיקה עתידית. למשל, אם,(Platform Configuration Registers) שינה את קוד ה- loader,boot אז התמצות שחושב על הקוד ששונה לא יהיה תואם לתמצות הצפוי (שחושב על הקוד המקורי), כך שהשינוי שה- rootkit ביצע ייחשף. כיוון שמרחב האחסון של ה- TPM מוגן, לא תהיה אפשרות ל- rootkit להשפיע על נתוני המדידה שאוחסנו ב- TPM כדי "להעלים" את עקבות השינוי. 123
בתהליך אתחול אמין boot),(trusted מתבצעים מדידה ואחסון של רכיבי המערכת, אך לא ננקטת פעולה כדי לבדוק את ערכי המדידות. עם זאת, בשלב מאוחר יותר, לאחר שתהליך האתחול הסתיים בהצלחה, ניתן לבחון את הערכים שאוחסנו במטרה ולקבוע האם כל המדידות אכן מכילות את הערכים הצפויים. בתהליך אתחול בטוח boot),(secure מתבצעת בדיקה של ערכי המדידות במהלך תהליך האתחול עצמו (למשל, השוואה עם ערכים שנמדדו בעבר), ובמקרה של חוסר התאמה תהליך האתחול ייעצר. נראה בהמשך כיצד Bitlocker מסתמכת על תהליך אתחול בטוח כדי להגן על התקן האחסון. להלן תיאור תהליך אתחול אמין: עם הדלקת המחשב, ה- CPU מאתחל את עצמו. חלק מתהליך אתחול זה הוא פנייה לכתובת קבועה ב- BIOS של המחשב, בה נמצאת ההוראה הראשונה בתוכנית אתחול המחשב. כתובת זו היא כתובת ההוראה הראשונה ב- CRTM. ה- CRTM מבצע אתחול של ה- TPM, כולל בדיקה עצמית. במקרה שפעולת הבדיקה נכשלת, תגובת המערכת עשויה להיות ניתוק של ה- TPM בלבד או שיתוק של הפלטפורמה כולה, בהתאם לקונפיגורציה. במקרה שפעולת הבדיקה מצליחה, מבוצע תיעוד של תוצאת המדידה, וממשיכים. ה- CRTM מודד את ה- BIOS POST ללא הפעלתו, ומבצע תיעוד של המדידה. ה- BIOS POST מופעל. בין השאר, הוא מתעד נתוני קונפיגורציה של הפלטפורמה. כמו ב- boot רגיל, לאחר ביצוע פעולות אתחול למחשב, נבחר התקן עם ה- loader של מערכת ההפעלה. לפני הפעלת ה- loader, ה- BIOS POST מבצע מדידה של קוד ה- loader, ומבצע תיעוד של תוצאת המדידה..1.2.3.4.5 ה- loader של מערכת ההפעלה מופעל. הוא מתעד את נתוני הקונפיגורציה שלו. שהמשתמש בחר מערכת הפעלה, ה- loader מודד את קוד טעינת מערכת ההפעלה, תיעוד של המדידה. לאחר ומבצע.6 עבור כל רכיב נוסף הנטען ע"י מערכת ההפעלה (התקנים פיסיים, מנהלי התקנים, וכן הלאה), שמצבו יכול להשליך על בטיחות המערכת, מערכת ההפעלה מבצעת מדידה על הרכיב ומתעדת אותה..7 124
הצפנת הדיסק עם Bitlocker.3 ל- TPM יש יכולת לייצר מפתחות קריפטוגרפיים ולהצפין אותם כך שרק ה- TPM יוכל לפענח אותם. תהליך זה נקרא עיטוף (wrapping) או קשירה (binding) של מפתח, ויכול למנוע חשיפה של מפתח גם כאשר המפתח מאוחסן על הדיסק, הוא מאוחסן בצורה מוצפנת שרק ה- TPM יכול לפענח. לכל TPM יש מפתח ראשי לצורך קשירת מפתחות קריפטוגרפיים, הנקרא Storage (SRK) Root Key המאוחסן ב- TPM עצמו, ולעולם לא משודר החוצה. 3.1. המפתחות בהם נעשה שימוש לצורך הצפנת הדיסק, Bitlocker עושה שימוש במפתחות הבאים: SRK Storage Root Key זהו המפתח הראשי המשמש את האפליקציה של הצפנת התקני אחסון. הוא מיוצר ומאוחסן ב- TPM ולעולם לא יוצא ממנו. VMK Volume Master Key זהו מפתח ביניים המאוחסן על הדיסק כשהוא מוצפן תחת.SRK מפתח זה משמש להצפנת FVEK המתואר בהמשך. FVEK Full volume Encryption Key זהו המפתח איתו נעשית ההצפנה של הדיסק בפועל. הוא מאוחסן על הדיסק, כאשר הוא מוצפן תחת.VMK ההצפנה נעשית על-בסיס AES עם מוד הפעלה,CBC תוך שילוב רכיב המכונה Elephant Diffuser שמטרתו לספק תכונות אבטחה נוספות. לא נדון בשיטת הצפנה זו, אך המעוניינים ללמוד עליה עוד יכולים לפנות למאמר המוזכר ברשימת המקורות. TPM SRK LEGEND: A encrypts B Disk VMK FVEK Data מדוע נדרש מפתח הביניים?VMK לכאורה, מנקודת מבט תיאורטית, ניתן לממש מערכת שקולה ובה אין מפתח ביניים בה ה- SRK שב- TPM מצפין את ה- FVEK ישירות. התשובה היא שמפתח זה נדרש על מנת לאפשר אתחול בטוח שמותנה בהיותה של המערכת במצב רצוי כלשהוא (כפי שיפורט בהרחבה בהמשך), שהינו יעיל מנקודת מבט תפעולית. מחד, ה- SRK מיוצר פעם אחת ושינויו כרוך בגישה למעמקי ה- TPM. מאידך, שינוי של ה- FVEK כרוך בהצפנה מחדש של הדיסק, שהיא פעולה יקרה. על כן, בהינתן שנרצה מדי פעם בפעם לשנות את ההגדרה של מהו "מצב רצוי" של המערכת (לדוגמא, לאחר התקנה של דרייבר חדש), אנו זקוקים לדרגת ביניים זו. 3.2. אתחול בטוח עם Bitlocker מחשבים בהם משולב TPM יכולים ליצור מפתח שהינו מוצפן וגם קשור למדידות פלטפורמה כגון קוד ה- MBR (Master Boot Record) ה, sector- Boot של NTFS ה, block- Boot של NTFS וה- Boot Manager של.NTFS מפתח מסוג זה ניתן לפענח אך ורק כאשר למדדי הפלטפורמה יש אותם ערכים כמו אלה שהיו בזמן שהמפתח נוצר. תהליך זה קושר את המפתח ל- TPM ולערכי המדידות המתאימים.(sealing) בנוסף, ה- TPM יכול להתנות את השימוש במפתח גם בתכונות 125
אחרות של הפלטפורמה החיצוניות ל- TPM. לדוגמה, המפתח עשוי להיות תלוי ב- PIN או במפתח נוסף המאוחסן על USB או כרטיס חכם. באופן זה, ניתן להשתמש ב- TPM לצורך ביצוע אתחול בטוח. במידה וערכי המדידות המחושבים במהלך תהליך האתחול תואמים את הערכים שנמדדו בזמן התקנת,Bitlocker אז ניתן לחלץ את מפתח ההצפנה, לפענח את הדיסק (ואת קבצי מערכת ההפעלה) ולהמשיך בתהליך האתחול בצורה תקינה. במידה ותהליך האימות שה- TPM מבצע נכשל (לדוגמה, בשל עדכוני קוד, החלפת חומרה כמו לוח אם, או העברת הדיסק המוגן למחשב אחר), לא תתאפשר גישה למפתח הפענוח, ולכן לא יהיה ניתן להשלים את תהליך האתחול בצורה תקינה. במקרה זה, יש להשתמש במצב שחזור mode) (recovery כדי לאפשר שוב גישה להתקן האחסון. מצב זה דורש מפתחות מיוחדים, שאותם יש לאחסן בצורה בטוחה אצל מנהל המערכת. מנהל המערכת מעתיק את מפתחות השחזור להתקן,USB שמוכנס למחשב על מנת לאפשר עלייה תקינה. לאחר העלייה התקינה, ניתן לשנות את ערכי המדידות המצופים כך שיתאמו את מצב המערכת הנוכחי. 3.3. אופני עבודה מערכת ההפעלה Windows Vista מאפשרת להשתמש ב- Bitlocker באחד מבין מספר אופנים: TPM בלבד (עבור מחשבים שעבורם נדרש אתחול עצמאי או ללא השגחה). מגן מפני התקפות שמשנות רכיבי.boot במצב זה מבוצע תהליך אתחול בטוח, שלאחריו ניתנת גישה לדיסק המפוענח. TPM + שימוש ב- PIN מאפשר להגן על תהליך האתחול באמצעות מספר זיהוי אישי המסופק ע"י המשתמש, כך שהשלמה תקינה של תהליך האתחול מותנית בהזנת PIN נכון. TPM + שימוש במפתח אתחול המותקן על USB מאפשר להגן על תהליך האתחול באמצעות רכיב פיסי הנפרד מהמחשב. ללא,TPM שימוש במפתח אתחול המותקן על USB מאפשר לבצע הצפנת דיסקים המוגנת עם רכיב פיסי הנפרד מהמחשב. שיטה זו מיועדת למערכות בהן לא מותקן,TPM ומאפשרת לבצע הצפנה של התקני האחסון, אך ללא יתרונות השימוש ב- TPM, ובפרט ללא תהליך אתחול בטוח. בסעיף הבא נתמקד בשיטה המשתמשת ב- TPM עם הגנה באמצעות.PIN 3.4. תהליך פענוח עם TPM ומספר זיהוי אישי התרשים הבא מתאר כיצד זיהוי אישי :(PIN) Bitlocker מבצע את תהליך הפענוח של הדיסק תוך שימוש במספר 126
ה ) רכיב ה- BIOS מופעל ומאתחל את ה- TPM. מבוצעות מדידות של רכיבים בסיסיים במערכת (קושחה,,NTFS Boot Block,NTFS Boot Sector,BootLoader,Master Boot Record.(PCRs- וכן הלאה) והן מאוחסנות ברגיסטרים פנימיים ב- TPM Boot Manager משווים את הערכים שאוחסנו ברגיסטרים לאוסף הערכים הצפויים (לדוגמה, משווים אותם עם אוסף הערכים שנמדדו בעת התקנה ראשונית של המערכת). במידה ואין התאמה, לא יתאפשר לפענח את הדיסק. במידה ויש התאמה, ה- TPM משתמש ב- SRK כדי לפענח את ה- VMK המאוחסן על הדיסק. המפתח המוצפן FVEK נקרא מהדיסק וה- VMK המפוענח משמש כדי לפענח אותו. מרגע זה, בכל גישה לסקטורים על הדיסק, הסקטורים מפוענחים ע"י ה- FVEK. הפענוח נעשה באופן שקוף למשתמש תוכנות ותהליכים מקבלים את המידע מהדיסק כשהוא גלוי..1.2.3.4.5 ההצפנה ש- Bitlocker מבצע מופעלת על התקן האחסון כמעט במלואו (למעט מחיצה המכילה קבצים הנדרשים לצורך תחילת השימוש ב- Bitlocker ). בכלל זה מוצפנים רוב קבצי מערכת ההפעלה, קבצי הדפדוף, קובץ ה- Hibernation וכן הלאה, כך שאם הדיסק נגנב או מועבר למחשב אחר, לא ניתן לגשת לנתונים הרגישים שעליו. 4. מקורות חומר התרגול מבוסס על: Bitlocker Driver Encryption Technical Overview, Microsoft Technet. http://technet.microsoft.com/en-us/library/cc732774.aspx 127
Microsoft Data Encryption Toolkit for Mobile PCs, Security Analysis, Version 1.0 (April 2007), Microsoft Technet. http://technet.microsoft.com/enus/library/cc162811.aspx Penetration Testing Windows Vista Bitlocker Drive Encryption, Douglas MacIver מידע נוסף: AES-CBC + Elephant diffuser A Disk Encryption Algorithm for Windows Vista, by Niels Ferguson, August 2006. http://download.microsoft.com/download/0/2/3/0238acaf-d3bf-4a6d-b3d6-0a0be4bbb36e/bitlockercipher200608.pdf 128