Table of Contents
מדוע FPGAs דורש מודל אמון שונה
מערך השערים ההסתברותי של שדה-פרויקטים כוח כל דבר ממערכות ניהול מתקדמות ומטענים לווייניים ועד ל- 5G תשתיות ו-ULs בקרה תעשייתית. בסביבות אלה, תמונה של קושחה אחת יכולה לשחית את תפקודי הבטיחות, סודות מחלחלים, או להפוך את הצומת מהימן ל-Freative Reptativesation עבור תנועה מאוחרת יותר.
בניגוד מיקרובקר קשיח, FPGA לא לבצע הוראות מסיכה קבועה.It לטעון נתונים תצורה - לעתים קרובות נקרא bitstream - המגדיר את הבד החומרה עצמו. a tampered bitstream יכול מיידית לטשטש לוגיקה חשאית, על ידי עקפות הגנה על זיכרון, או subvert חיישן קורא מבלי לשנות קו אחד של קוד יישום.
כמה מגמות בתעשייה להפוך את ההגנה על bitstream קריטי.ראשון, FPGA דנים עכשיו מעל מיליון אלמנטים לוגיים, הפעלת תת-מערכת מורכבת מעבד, מאיצים הצפנה, צינורות ה- AI בהקצאות על אותו ימות.שני, מאגרי שרשרת האספקה פירושה מכשירים עשויים להיות מוזנים ביצרנים חוזים שבהם גישה פיזית אינה מבוקרת.
איומים על מכשירים FPGA
הבנת מטרותיו של ⁇ מחדדת את העיצוב של אמצעי מניעה.איומים נופלים באופן רחב לשלוש קטגוריות: התערבות בזמן ייצור, מניפולציות טרום-boot והחלפת זמן.
- (FLT:0) הזרקת שרשרת של ספוג:FLT:1ir Advers להחליף או לשנות את זיכרון הבזק המחזיק את bitstream המגף, או במהלך הרכבה או בעוד המכשיר נמצא במעבר. aחתימה חתום תמונה מסוללת זאת על ידי אימות כושל לפני ה-FPGA מגדיר את ההיגיון שלו.
- (FLT:0) מיצוי ערוצים: FPGAs משלבים פונקציות פיזיות בלתי ניתנות להתקפה (PUFFFFFFFLT:1), אחסון מפתח קשה שלא חושף מפתחות לתוכנה, צמצום חדות פני התקפה אלה.
- (FLT:0) Malware-oriented Reuration:IRFLT:1) לאחר מעבד פועל על FPGA נפגע, תוקף עשוי לנסות לדחוף קצת חדש דרך נמל התצורה הפנימי. Access שולט ואימות bitstream זמן ריצה יכול לנעול את מנוע התצורה גם כאשר המעבד עצמו נשבר.
- (FLT:0) התקפות של דירוג: 1FLT 1 תמונה קושחה בתוקף אך מיושן עם פרצות ידועות הוא reflashed.פרוטוקולים של עדכון מאובטח חייבים לעקוב אחר metadata ואכיפה נגד ההרשמה.
- (FLT:0)JTAG ו- debug התעללות בממשק: אנדרל 1 (DeveFLT:1) יציאות Debug שנותרו פעיל בייצור מספקים נתיב ישיר לקריאה או לזיכרון תצורה overwrite.Hardating ממשקים אלה עם ביטים נעולים מבוקרים או הדורשים רצף חתומה הוא חיוני.
שרשרת מנעול בטוחה נכונה מתייחסת לכל אחד מהוקטורים האלה על ידי בדיקת אותנטיות בכל שלב: תמונת האתחול הראשונה, כרכים של קושחה מאוחרת, וכל אזור של תגמול חלקי או שיפוץ חלקי.
קרנות של Secure Boot ב-FPGAs
מנעול מאובטח על FPGA אימותים כי התצורה bitstream טעון על כוח שמקורו ממקור מהימן ולא השתנה.שרשרת אימות נח על שלושה עמודי תווך: חתימות קריפטוגרפיים, שורש חומרה של אמון, וזרימת מנעול tamper-evident.
1.חתימות קריפטוגרפיות ומפתח הירארכיה
תוכנית טיפוסית משתמשת בקריפטוגרפיה ציבורית-קיי.היצרן או המערכת ב-Integrator יש מפתח פרטי שמסמן את bitstream הזהב.המפתח הציבורי המתאים, מוטבע ב-Onetime eFuses או ב- סוללות-backed הרשמה, פועל כשורש האמון. במהלך ה-Glock, ליבה IP קשה קורא את החתימה שהוצמדה ל- bitstream, recomputes יש את ה-h, ו-ifies נגד התצורה הידועה, אם לאפסת ה-Recontended to the תצורה של ה-AFP יכול לבטל את ה-Reactertended.
כדי להגביל את הנזק מפשרת מפתח, עיצובים רבים מאמצים היררכיה מרכזית שני שכבות: מפתח שורש עיקרי שסימן מפתחות משניים, אשר בתורו לחתום על bitstreams יישום בפועל.זה מאפשר לרקב מפתחות יישומים ללא שריפת מחדש של eFuses, פעולה כי הוא לעתים קרובות אחד זמן בטבע. עבור ציים המשתרעים על פני אתרי פריסה מרובים, תוכנית עניבה גם מאפשר מפתחות אזוריים או ספציפיים של לקוחות המגבלה את הפיצוץ של רדיוס אחד של רדיוס אחד.
שורש האמון של Hardware Root of Trust
בלוק אבטחה קשיח בתוך FPGA מספק נקודת התחלה לא מאומתת.לדוגמה, מכשירי שילינקס משלבים DNA התקן ו- eFuse שיכול לאחסן חיכלה או מפתח ציבורי hash. Intel Agilex ו- Stratix 10 משפחות משלבות מנהל התקן מאובטח (SDM) שפועל כמעבד עבור אימות מנעולים.
כאשר ה-FPGA חסר בלוק אבטחה מלא, מהנדסים יכולים לקשור אותו עם אלמנט חיצוני מאובטח - כגון FLT:0Microchip ATECC60803FLT 1 או TPM - שמאחסן מפתחות ומבצע אימות חתימה.ה-IC החיצוני מתקשר על ממשק I2C או SPI, ו- FPGA מגדיר את עצמו רק לאחר קבלת גישה דומה XIF כולל מכשיר אבטחה משותף, אך ורק לאחר ש-DFD מכיל מוליכים ל-D.
שם הסרטון: Tamper-Evident Boot Flow
יש לתכנן את זרם האתחול כך שכל שלב יאמת את השלב הבא לפני שחלף שליטה.זרימה מינימלית נראית כך:
- (FLT:0)Hardware self-test:FLT:1) מעגל הריצוף של FPGA מייצב שעונים ובדיקה של יושרה לוגיקה פנימית.
- (ב) ⁇ :0) נטל מפתח: FLT:1 חסימת הביטחון מדגישה את המפתח הציבורי מ- eFuses או אלמנט בטוח.בעיצובים מסוימים, הצעד הזה גם שואב מפתח פענוח של מפגש מהמפתח.
- (FLT:0) אימות הזרם: FLT:1 בלוק המטען המגף קורא את bitstream המועמד, קובע נספח-384 או SHA-256 hash, ואימות ה- ECDSA או RSA חתימה. אם bitstream הוא מוצפן, מנוע הפעוט משתמש מפתח סימטרי ללא עוטפת על ידי המפתח.
- (FLT:0) Fallback and Lockdown: FLT:1 על כישלון, ה-FPGA יכול לסגת מתמונה זוובת ייעודית המאוחסן בחלוקה נפרדת של פלאש.אם התמונה המוזהבת גם נכשלת, המכשיר חייב להיכנס למצב נעול עם פונקציונליות מינימלית, פולט אינדיקטור מאובטח של מנעול מנעול מנעול מטוס ניהול.מצב זה יכול להיות אות באמצעות GP ייעודי או מסר מעל I2C כדי לפקח על מערכת ההפעלה.
רבים FPGAs גם תומך bitstreams מוצפנים. הצפנה לבד מספק סודיות אבל לא שלמות אלא אם כן בשילוב עם מצב הצפנה אותנטי כגון AES-GCM. ללא אימות, תוקף יכול לצרף ביטים בקטלוג מבלי לדעת את המפתח, שעלול לגרום התנהגות מנוצלת. לכן, התרגול הטוב ביותר הוא להשתמש הצפנה לצד אימות חתימה או להסתמך על הצפנה פרימיטיבית אותנטית שבו קיימת תמיכה סיליקון.
יישום מאובטח Boot: A Practical Walk Through
מהנדסים המתקרבים לחול מאובטח בפעם הראשונה לעתים קרובות להתמודד עם שילוב כלי.הצעדים הבאים מכנים זרם יישום טיפוסי עבור מכשיר שיlinx UltraScale+ או Intel Agilex, אם כי המושגים מתרבים ל-Lattice, Microchip ומשפחות גודווין עם וריאציות קלות.
שלב 1: Provision Keys באופן מאובטח
ליצור ECDSA P-384 או RSA-3072 זוג מפתח במודול אבטחה חומרה (HSM) שנערך במתקן מאובטח פיזית.HSM.HSM.HSM.HSM.HSM.HSM.HS.A.HS.A.S.A.S.A.S.A.HSM.A.S. P-A.A.A.S.A.A.A.A.A. P-S.A.A.A.A.A.A. P-A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.P-384 או R.A. .A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.P-.A.A.A.A.A.A. .A.D.A.A.A.A.A.A.A.A.A.A.A.A. . .A.A.A.A.A.A.A. .A.A.A
שלב 2: דמיין את התמונה
הכלים של ספק FPGA מאפשרים לך לציין פרמטרים אימות במהלך הדור של bitstream.You להורות את הכלי למילואים מקום עבור החתימה, להגדיר את חומרת המפתח הציבורי, ובאופן אופציונלי לאפשר הצפנה עם מפתח AES עטוף על ידי המפתח.התמונה המתקבלת מאוחסן בתוך מסגרת חיצונית של קוואד-SPI או NAND פלאש נגיש לבקר התצורה של FPGA.
שלב 3: קביעת מדיניות אבטחה ב-Hardware
לשרוף את eFuses כדי לנעול את המכשיר במצב מנעול מאובטח.רגע שנקבע, FPGA ידחה כל bitstream כי חסר חתימה בתוקף, כולל תמונות ברירת מחדל מוכר-מסופק זה חייב להתבצע רק לאחר אימות מעבדה יסודי. בייצור, ATE (ציוד מבחן אוטומטי) ליישם את הגדרות הפתיחות כחלק ממבחן קצה-of-of-line.
שלב 4: בדוק את שרשרת
אימות כל התרחישים בעולם האמיתי: גלגל חשמל על קר, איפוס חם, התאוששות חום, ו bitstream מושחת במכוון.מד גלגל המזלות - אימות חותם עם מאיצים חומרה בדרך כלל מוסיף מתחת 100 מילישניות, אבל זה יכול להשתנות.מאשר כי המגפיים של תמונת הזהב של Fallback כראוי וכי אינדיקטורים לא מאוישים בדיקות של מערכת ההפעלה עבור JG נעולה: לא ניתן לשחזר את הממשק לאחר הדבקה או לא יכול להיות מסוגל לקרוא את הממשק הנכון.
התייחסות ידועה לזרימה כזו היא דרישות של NIST:0 [Platform Firmware Resiliency GuidelinesFLT:1, המתארות הגנה, זיהוי ושיקום החלים על כל מכשיר אפשרי.
עדכון אבטחה
אפילו תמונת האתחול המאומנת ביותר בסופו של דבר תזדקק לעדכון – בין אם לטלטלף פגיעה, להוסיף תכונות, או להתאים למדיניות אבטחה מתוקנת.מנגנון העדכון חייב לספק שלמות מקצה לקצה, אותנטיות והגנה על רולבק תוך צמצום זמן השבתה.
בניית קו העדכונים מהימן
צינור עדכון מאובטח מתחיל בתשתיות ההנדסה ומסתיים בתוך לוגיקה התצורה של FPGA.שלבי המפתח הם:
- (FLT:0) יצירת תמונה וחתימה: FLT:1 מערכת הבנייה מייצרת bitstream חדש. An HSM חותם אותה עם מפתח פרטי פעיל כיום.החתימה עשויה להיות עטוף בהתגלות הכוללת חיתולים, metadata גירסה ו-Timetamp.
- (FLT:0) אבטחת המידע: FLT:1 התמונה החתומה עוברת מעל TLS 1.3 לשרת עדכון ולאחר מכן למכשיר. אימות הדדי בין השרת לבין נקודת הקצה של TLS של המכשיר מונע התקפות חד-אדם-בתוך-המיד.תעודת ה- TLS של המכשיר צריכה להיות קשורה לזהותו הייחודית, כגון ה-DNA של מכשיר ה-FPGA.
- (FLT:0) אחסון מוקרן: FLT:1 המכשיר כותב את התמונה הקרובה לחלוקת פלאש ייעודית, שמירה על התמונה הנוכחית בשלמותה.תוכנית החלוקה של A/B מבטיחה כי עדכון כושל אינו ללבנים את היחידה. חלק מהעיצובים משתמשים בשלושה מחיצות: A (אקטיבי), B (back), ו- G (תמונה מפעל מוזהב) לאמינות מקסימלית.
- (FLT:0) אימות התקנה מראש: FLT:1 סוכן העדכון - בין אם שיגרת תוכנה הפועלת על מעבד מוטבע או מנהל התצורה של FPGA - מאמת את החתימה ובדוק את המספר נגד נוגד נוגד נגד מחסנים אנטי-חליפ.אם שני המחאות לעבור, זה מסמן את החלוקה החדשה כתמונה פעילה.
- (FLT:0) הפעלה אלמית: FLT:1 נקודת התצורה של המגף מעודכנת בכתב יחיד, בטוח כוח.על התחנה הבאה, המגפיים FPGA מהתמונה החדשה.אם התמונה מוכיחה בלתי אפשרית, שעון כלב שעון מעורר נפילה לחלוקה הקודמת.
טכניקות אנטי-רובו
פשוט לחתום על התמונה הוא לא מספיק אם התוקף יכול לשחזר גרסה קושחה בתוקף אך ישנה. לסגור פער זה, לתכנן נוגד נגד נגד נגד החלפה מאוחסן בזיכרון מונוטוני, לא-לא-לא-אי-מונע כגון eFuses או מודול פלטפורמה מהימן כל קושחה כולל מספר אבטחה מינימלי.הניתוח משווה מספר זה נגד הדלפק מאוחסן ודוח כל תמונה שהיא גרסה חדשה, אם יש צורך עדכון אבטחה אחד, רק עבור טופס נוגד אבטחה אחד, כי ישמורשת פעולה עם טופס נוגדת אבטחה.
המונחים: Partial Reconfigation
עיצובים בעלי ביצועים גבוהים רבים משתמשים בהגדרה חלקית כדי להחליף מודולים חומרה בזמן ריצה. אלה bitstreams חלקית חייב להיות אותנטי כמו bitstreams מלא.Sillinx דינמי הפונקציה eXchange (DFX) זרימה, למשל, תומך במפתחים חלקיים אותנטיים של ניהול חלקי, אך כל מודול ספציפי להפעלה מחדש יש חתימה משלו.
Cryptographic Primitives ו- Performance Considerations
בחירת האלגוריתמים משפיעה הן על זמן האבטחה והן עלחול. ECDSA עם P-256 או P-384 עקומות מציעות חתימות קומפקטיות ואימות מהיר על מאיצים חומרה, מה שהופך אותו לבחירה פופולרית.RSA-2048 עדיין נפוץ במכשירים ישנים יותר, אך דורש אחסון מפתח גדול יותר וזמני אימות ארוכים יותר.T לאלגוריתמים לאחר אלגוריתמים שלאחר ה-quantum ישפיע בסופו של דבר על אימות bitstream FPGA, אך רוב היישומים הנוכחיים פועלים בתוך המודל האבטחה הקלאסי.
עבור הצפנה של bitstream, AES-256 במצב GCM מספק סודיות ושלמות. משפחות חדשות רבות יותר FPGA כוללות מנועי AES-GCM קשיחים שיכולים לפענח קידוד ואותנטיות של רב-מגוואטים במהירויות חוט.מהנדסים חייבים להבטיח כי וקטורות ראשוניזציה (IVs) לעולם לא מנוצלים; מספר אקראי מבוסס חומרה או מפתח חד-מולוני עטוע באספקת ה-חול ייחודי יכול להיות מנהל ההתקן הייחודי.
ניתוח לב מעשי של FLT:0 ,Xilinx של תצורה המשתמש מדריך 1FIRLT מראה כי המאפשר AES-256 פענוח אימות מבוסס HMAC מוסיף בערך 50-80 מילישניות לזמן התצורה הכולל עבור ממוצע 25 MB bitstream, גם בתוך גבולות מקובלים עבור יישומים מוטבעים בזמן, כגון חיישן רכב במהלך הסטארט-אפ, יכול להיות pre-חמצני / קצת בטוח בשלב זה של IOtic במצב בטוח בשלב זה.
ניהול מפתח לאורך מחזור החיים
ניהול מפתח הוא החלק הקשה ביותר של כל תוכנית מנעול מאובטחת. A Lifecycle-aware גישה פלח את השימוש העיקרי בשלבים נפרדים:
- (FLT:0)Factory Giving: FLT:1, שורש מפתח הציבור ממוכן לתוך eFuses.המפתח הפרטי נעול ב HSM לא מקוון ולעולם לא עוזב את המתקן. בשלב זה, הזהות הייחודית של המכשיר (למשל, DNA) ניתן לחדור כדי לאפשר הקצאת מפתחות ליחידות בודדות.
- (FLT:0 העדכונים של FLT: 110 מפתחות חתימה שניה משמשים לעדכונים שגרתיים של קושחה.מפתחות אלה הם עצמם חתומה על ידי מפתח השורש, ואולי יש להם תקופות חיים קצרות יותר או מאוחסנים ב- HSM מבוסס ענן.הסיבוב השני יכול להיות אוטומטי כך מכשיר לעולם לא פועל עם מפתח מבוגר יותר מאשר, למשל, שנה אחת.
- (FLT:0)סוף החיים: FLT:1 כאשר מוצר הוא decommissioned, revocation Certificates או "kill" bit יכול להיות מוגדר כדי להשבית לצמיתות את היכולת של FPGA לקבל קושחה חדשה, להפוך את המכשיר לבלתי ניתן לקידוד אשר מקבל גישה פיזית.
(הסיבוב האוטומטי ניתן ליישם על ידי שליחת מיצג המכיל את המפתח הציבורי החדש, שנחתם על ידי המפתח הישן.הסוכנת העדכון מאמת את השרשרת, מתקין את המפתח החדש לרישום מוגן בכתב, ולאחר מכן מקדם את הדלפק נגד ה-rollback.המפתח הישן יכול להיות פרש ברגע שהדלפקים נגד כל המכשירים.
רפורמות וסטנדרטי התעשייה Alignment
מהנדסים בתחום הרכב, הרפואה והתעשייתי חייבים להתאים את האבטחה של FPGA עם תקנות המגזר.ISO 21434 עבור כלי רכב הכביש דורש מנגנון עדכון תוכנה מאובטח ושורש חומרה של אמון עבור כל לוגיקה שניתן לתוכנת אבטחה.IEC 62443 עבור מערכות בקרה תעשייתיות מחייב כי מכשירים לאמת את השלמות של קושחה לפני ביצוע ותומך בעדכוני שדה אותנטיות.
עבור יישומי אוויר והגנתיים, סטנדרטים כגון DO-254 ו-FIPS 140-3 להטיל דרישות נוספות על מודול ההצפנה ותכנית ניהול מפתח.שימוש בספריה הצפנה של FIPS עבור אימות חתימה - גם אם ייושמו במרקם FPGA - יכול לייעל הסמכה בנוסף, מפרט TPM של קבוצת מחשוב אמין מספק ממשק סטנדרטי לאחסון מרכזי ומבחן שניתן למנף באמצעות FPG חיצוני.
ביצוע הפעולות הטובות ביותר עבור אבטחת צי FPGA
טכנולוגיה לבדה אינה יכולה להבטיח צי מאובטח.צוותים חייבים לעטוף את יישוםם בפרקטיקה מבצעית חזקה:
- (FLT:0) סודיות תשתיות הבנייה שלך:FLT:1 אני סולק את שרת החתימה של LAN התאגידי. השתמש ב- HSM פיזי כדי להחזיק מפתחות פרטיים ולהכניס כל פעולה חתימה.
- (FLT:0) ניהולי גישה מבוססי תפקידים:FreaLT:1) בנפרד את חובות פיתוח bitstream, בדיקות, פריסה.רק מנהל שחרור ייעודי צריך להיות מסוגל ליזום את החתימה של תמונה הפקה.
- (FLT:0)Monitor ו-ביקורת: FLT:1ir ניהול מסדי נתונים חייב לעקוב אחר גרסת הקושחה, ערך נגד ההרשמה נגד ההרשמה, ופעם מוצלחת אחרונה עבור כל מערכות זיהוי FPGA פרוסות על ידי Anomaly צריך דגל התקנים כי שוב ושוב ליפול חזרה לתמונה זהירה או להראות ניגודים כי לעבור טלגרף לאחור.
- (FLT:0)Plan for Event response: FLT:1ve יש הליך מקדים להפצת עדכון קושחה חירום בתגובה לפגיעות Zero-Day.זה כולל שמירה על רשימת ייעוד עבור מפתחות חשופים ולהבטיח שערוץ העדכון נשאר נגיש אפילו על מכשירים שנפגעו חלקית.תרגול ההליך בסביבה מלחיצה לפחות רבעון.
- (FLT:0)Conduct מבחנים קבועים:FLT:1 הערכות אבטחה חיצוניות צריך לכוון את שרשרת התצורה FPGA ספציפית. Common Attack וקטורים כוללים גירוד את אספקת החשמל במהלך האתחול, תמצית bitstreams באמצעות JTAG, או ניצול הדור החלש במנוע הפענוח.
- (FLT:0) ,Maintain מלאי קריפטוגרפי: FIRLT:1) לשמור תיעוד של כל חומר מפתח, כולל לעיכול מפתח שורש הציבור, סמכות מפתח ציבורית, ואת התאריכים של סיבובי מפתח.
שיטות אלה יוצרות יציבה עמוקה-הגנה המשתרעת מהסיליקון ועד לענן.
עתיד אבטחת ה-FPGA: Post-Quantum and Beyond
במבט קדימה, המעבר לקריפטוגרפיה שלאחר-quantum ישפיע על עיצובי ה-FPGA מאובטחים. תוכניות חתימה מבוססת Lattice כגון CRYSTALS-Dilithium להציע גדלים מרכזיים קטנים יותר מאשר RSA עבור אבטחה שווה, אבל מהירות אימות ומורכבות יישום להישאר אזורי מחקר פעילים. כמה ספקים FPGA החלו להפגין מאיצים חומרה עבור אלגוריתמים אלה, אנטי-מרוץ כי מחזור חיים ארוך יצטרך כיום מערכת ההפעלה של 2024 יהיה צורך מרכזי של אבטחה גבוהה.
בנוסף, ההתקדמות בטכנולוגיית PUF מאפשרת לדור מפתח ספציפי למות שמעולם לא מאוחסן מפתחות במנוחה, מכווץ עוד יותר את פני השטח של ההתקפה.שלב PUF עם שרשרת מנעול מאובטחת המנטרת את התפוקה של PUF נגד נתונים מאוחסנים - זה מאפשר לכל FPGA להפיק את השורש הייחודי שלו ללא כל הזריקה מרכזית במהלך הייצור.
בעוד פרימיטיביים הקריפטוגרפיים מתפתחים, העקרונות הבסיסיים של עדכון מנעול מאובטח ושחקה נמדד נשארים קבועים: עוגן אמון בחומרה בלתי-מוטחת, למדוד כל קישור של שרשרת ה-חול, ולעולם לא לאפשר קוד לא חתום לרוץ. על ידי הטמעת עקרונות אלה לתוך מחזור החיים של FPGA, צוותי הנדסה יכולים לעמוד מול ההתקנים שנקבעו ביותר ולתאם בחסד לאיומים עתידיים.