מערכת הקבצים במכשירי Board, Desk ו- Room Series מוצפנת באמצעות Linux Unified Key Setup (LUKS), התקן להצפנת הדיסק הקשיח של לינוקס. מפתח ההצפנה של מערכת הקבצים נשמר ב- NVRAM או ב- NOR-Flash. במהלך איפוס להגדרות היצרן, המפתח מוחלף ולא ניתן לשחזר אותו, מה שהופך כל דבר בדיסק לבלתי קריא. זה הופך את איפוס היצרן לשיטה מאובטחת למחיקה וטיהור נתונים בהתאם ל- DOD 5220.22M של ארה"ב ו- NIST 800-88r1.
במהלך איפוס להגדרות היצרן:
-
יומני שיחות נמחקים
-
ביטויי הסיסמה מאופסים לברירת המחדל
-
כל פרמטרי ההתקן מאופסים לערכי ברירת המחדל
-
כל הקבצים שהועלו למכשיר נמחקים
-
תמונת התוכנה הקודמת (לא פעילה) נמחקת
-
מקשי האפשרות אינם מושפעים
לא ניתן לבטל איפוס להגדרות היצרן. ודא כי יש צורך לעשות זאת, לפני שתתחיל.
אנו ממליצים להשתמש בממשק האינטרנט או בממשק המשתמש כדי לאפס את ההתקן להגדרות היצרן. עליך לגבות את קובצי היומן, התצורות והרכיבים המותאמים אישית של ההתקן לפני שתבצע איפוס להגדרות היצרן; אחרת נתונים אלה יאבדו. עיין במד ריך הניהול לקבלת מידע אודות הדרכים השונות לגיבוי ואיפוס המכשיר שלך.
ניסט 800-88ר1
תקן NIST 800-88r1 מציין שלוש רמות של חיטוי:
-
נקי: הגן מפני טכניקות התאוששות לא פולשניות
-
טיהור: הפוך את שחזור הנתונים לבלתי אפשרי
-
השמיד: הפוך את שחזור הנתונים לבלתי אפשרי ולמנוע שימוש עתידי
סעיף 2.6 של התקן מדבר על השימוש במחיקה קריפטוגרפית (CE) וכיצד ניתן ליישם אותו כדי לעמוד ברמת הטיהור.
סעיף 2.6.1 ו- 2.6.2 מפרט את התנאים מתי (לא) לשקול CE:
-
אל תשתמש ב- CE לטיהור מדיה אם ההצפנה הופעלה לאחר שמירת נתונים רגישים בהתקן מבלי שחיטוי תחילה.
-
אל תשתמש ב- CE אם לא ידוע אם נתונים רגישים נשמרו במכשיר מבלי להיות מחוטאים לפני ההצפנה.
-
שקול להשתמש ב- CE כאשר כל הנתונים המיועדים ל- CE מוצפנים לפני האחסון במדיה (כולל הנתונים, כמו גם עותקים וירטואליים).
-
שקול להשתמש ב- CE כאשר אנו יודעים את המיקומים במדיה שבהם מאוחסן מפתח ההצפנה (בין אם זה מפתח ההצפנה של נתוני היעד או מפתח עטיפה משויך) ויכולים לחטא אזורים אלה באמצעות טכניקת החיטוי הספציפית המתאימה למדיה, ולהבטיח שמיקום בפועל במדיה שבה מאוחסן המפתח יטופל.
-
שקול להשתמש ב- CE כאשר אנו יכולים לדעת שכל העותקים של מפתחות ההצפנה המשמשים להצפנת נתוני היעד מחוטאים.
-
שקול להשתמש ב- CE כאשר מפתחות ההצפנה של נתוני היעד מוצפנים בעצמם במפתח עטיפה אחד או יותר ואנו בטוחים שנוכל לחטא את מפתחות העטיפה המתאימים.
-
שקול להשתמש ב- CE כאשר אנו בטוחים ביכולתו של המשתמש לזהות בבירור ולהשתמש בפקודות המסופקות על ידי המכשיר לביצוע פעולת CE.
ב- RoomOS, מערכות הקבצים המוצפנות המשמשות לנתוני לקוחות מוגדרות ומוצפנות בשלב מוקדם של האתחול הראשוני, לפני יצירת נתונים רגישים כלשהם. המפתח מאוחסן כמתואר לעיל ב- eeprom (תוכנה ישנה יותר) או באמצעות מנגנוני אזור האמון של SoC, וניתן לחטא אותו בצורה מאובטחת.
המפתח לעולם אינו מגובה ואין מנגנון נאמנות מפתח.
עם כל זה בחשבון, סיסקו טוענת שמנגנון איפוס היצרן ב- RoomOS תואם את רמת הטיהור ב- NIST 800-88r1.
הצפנת נתוני לקוחות
הצפנת דיסק
המכשירים משתמשים בהתקן פלאש לאחסון המוני, שבו לא ניתן להבטיח מחיקה מאובטחת. כל נתוני הלקוחות במכשירים מאוחסנים אפוא במערכות קבצים מוצפנות, וכאשר מתבצע איפוס לברירות המחדל של היצרן, רק מפתח ההצפנה נמחק, מה שהופך את נתוני הלקוח לבלתי נגישים.
כדי להקל על זה, אנו יוצרים קובץ גדול כראוי בפלאש הראשי ומשתמשים בכלי הלינוקס הסטנדרטי cryptsetup כדי ליצור התקן לולאה. במכשיר זה אנו יוצרים מערכת קבצים סטנדרטית ext4. פרטים על המקום בו אנו מאחסנים את מפתח ההצפנה נמצאים בסעיף הבא.
התקן הלולאה נוצר באמצעות LUKS1 עם גודל מפתח של 512 סיביות וצופן aes-xts-plain64:
$ cryptsetup status /dev/mapper/config
/dev/mapper/config is active and is in use.
type: LUKS1
cipher: aes-xts-plain64
keysize: 512 bits
key location: dm-crypt
device: /dev/loop5
loop: /mnt/base/image1/rwfs/config.img
sector size: 512
offset: 4096 sectors
size: 61440 sectors
mode: read/write
במהלך הפעולה הרגילה של ההתקן, ה- cryptsetup משמש לפענוח מערכות הקבצים לפני שהם מותקנים. כאשר מפתח ההצפנה נמחק, לא ניתן עוד להגדיר את התקן הלולאה ולהרכיב את מערכות הקבצים.
מפתח ההצפנה בו אנו משתמשים הוא קריאה של 20 בתים מ- /dev/urandom שהוא פועל באמצעות sha1sum כדי לקבל ייצוג ascii. המפתח נוצר באתחול הראשון לאחר איפוס להגדרות היצרן ואינו משתנה עד לביצוע איפוס חדש להגדרות היצרן.
הגנת מפתח הצפנת נתונים
אנו משתמשים בשני מפתחות הצפנה שונים במכשירים שלנו. אחד עבור מחיצת /data בתוך מיכל אנדרואיד (עבור MTR ו- Zoom של מיקרוסופט) ואחד עבור מערכות קבצים אחרות (משמש לתצורת לקוחות, ניירות קיר, יומן שיחות, יומנים היסטוריים וכן הלאה).
עבור מחיצת /data באנדרואיד, המפתח הפרטי תמיד נשמר בצורה מאובטחת בתוך גבול Nvidia TrustZone או, על כן, מוצפן באמצעות מנ Room Navigator גנון ההצפנה המובנה של SoC.
עד CE-11.25.x כולל, המפתח השני מאוחסן ב- EEPROM. בעוד ש- EEPROM אינו נגיש למשתמשים המגיעים דרך ערוץ רגיל כלשהו, ניתן להסיר אותו בכוח מהמכשיר (יחד עם דיסק הבזק) כדי לפענח את התוכן בפועל.
החל מ- ce-11.26.x אנו מעבירים את מפתח ההצפנה הרגיל של מערכת הקבצים לסביבת ביצוע מהימנה של Nvidia (TEE) המבוססת על ARM TrustZone [0], כך שלא ניתן יהיה לחלץ את המפתח מה- Nvidia SoC. מכיוון שהדרך היחידה (הידועה) לעקוף את תהליך האתחול המאובטח היא להחליף את כל ה- Nvidia SoC, אשר לאחר מכן יסיר את המפתח, חילוץ המפתח יוגבל למציאת פגיעויות בקוד CE כדי לקבל מעטפת שורש עם הרשאות מספיקות להשיג את המפתח.
עבור Room Navigator ההעברה תהיה בגירסה מאוחרת יותר.