התפקיד הקריטי של Secure Boot במערכות FPGA

« שער ארג'ים (FPGAs) יותר ויותר ממוקדים ביישומים רגישים בטיחותיים ואבטחה כגון שליטה תעשייתית, אוויר, הגנה, תקשורת, ואינטרנט של הדברים (IoT) האופי שלהם ניתן לפגיעות התקפות זדוניות במהלך תהליך ה-Vackified, ניתן יהיה ליירט, לשנות, או להחליף אותם עם קו הגנה מאובטח של מערכת הגנה מאובטח, אשר הוא רק תיקון מאובטח של 1F מאובטח, אשר הוא מתקן הגנה מאובטח, אשר הוא רק מתקן הגנה מאובטח.

תהליך ה-Glock על FPGA מתחיל בדרך כלל עם פיסת קוד קטנה, שאינה מאומתת (לעתים קרובות מאוחסנים בזיכרון חד פעמי או ROM בטוח) אשר מסמיכת את המכשיר, קורא תמונה קושחה חתום מזיכרון חיצוני (למשל, SPI פלאש), מאמת את השלמות והאותנטיות שלו, ולאחר מכן לטעון אותו לתוך הבד FPGA ללא מגפת מאובטח, יכול להחליף את אותה בגרסת הגנה על ידי מחסנית:0.

הבנת המושג Secure Bootloader

מטען מאובטח עבור מערכות FPGA הוא מודול חומרה ייעודי או שגרת קושחה המבצעת לפני היישום הראשי.זה מבצע כמה שלבים קריטיים:

  • (FLT:0) ראשי תיבות של Pre-boot:FLT:1 Conforms שעונים, I / O, וממשקי זיכרון בסיסיים כך המולטר יכול לגשת לקושחה המאוחסן.
  • (FLT:0) אימות סימטרי: FLT:1 מהקריב את תמונת הקושחה החתומה, משחזר את המפתח הציבורי (או מפתח סימטרי), ומאמת את החתימה הדיגיטלית או את היש.צעד זה מבטיח שהקושחה היא אותנטית ולא נמס עם.
  • (ב) [ה]התב"ה]: [ה] [ה] [ה] [ה]]"ה' [ה']'[ה']'[ה]']'[ה']'[']'[']'[']'[']'[ה']'[ה']'''''''''''''''''''']''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  • (FLT:0) טעינה סובלנית: FLT:1 אם אימות עובר, תמונת הקושחה מועמסה בזיכרון תצורת FPGA.אם אימות נכשל, המכפל נכנס למצב בטוח, עצירת המערכת או גורם התראה.

במשפחות FPGA רבות (למשל, שיינסנקס Zynq, Intel Agilex), יש תכונות אבטחה ייעודיות כגון AES decrypators, HMAC מאמתים, ו אחסון מפתח מבוסס eFUSE. ה-VHDL חייב ממשק עם בלוקים אלה תוך שמירה על לוגיקה במרקם.ההפרדה בין acceler הצפנה ולוגיקה רכותנית היא החלטה מרכזית.

שורש האמון והשרשרת של האמון

השורש של אמון (RoT) הוא רכיב בלתי-מעורר בתוך ה-FPGA המספק את האישורים ההצפנה הראשוניים.זה יכול להיות מפתח חד פעמי (OTP) נשרף לתוך בלוקים eFUSE, פונקציה פיזית בלתי-אפשרית לאחר מכן (PUHD) אשר מייצרת מפתח אחסון ייחודי, או מיקרובקר מאובטח ייעודי המשולב על אותו מת.

דרישות עבור VHDL Implementation

פיתוח מטען מאובטח ב- VHDL דורש איזון ביצועים, אבטחה ואמינות.שיקולי העיצוב הבאים הם קריטיים.

המונחים: mechanism

הליבה של מברשות מאובטח היא היכולת לאמת את השלמות והאותנטיות של המנגנונים הקושחה. Common כוללים:

  • חתימות (aסימטרית: ⁇ FLT] 1 תמונת הקושחה חתומה עם מפתח פרטי (למשל, ECDSA, RSA) המטען מחזיק את המפתח הציבורי המתאים. A hash of thekka SHA-256) הוא קידוד, ולאחר מכן החתימה מאומתת באמצעות מפתח האבטחה החזק, אך דורשת משאבים בינוניים של מערכת ההפעלה VDL.
  • (FLT:0) תקנונים אימות (סימטרי): ⁇ 1) באמצעות מפתח סודי משותף, ה-חול קובע HMAC על הקושחה ומשווה אותו לתג HMAC . אימות סיממטרי הוא מהיר יותר מאשר סימטרי אך דורש הפצה בטוחה של מפתח.
  • (FLT:0) אימות מבוסס Hash (הגדלה): ⁇ FLT:1 במערכות פחות קריטיות, המטען עשוי למקם CRC פשוט או SHA hash ולהשוות נגד לעיכול מאוחסן ללא מפתח סודי, זה רק מזהה שחיתות מקרית, לא טמבלעת זדונית.

עבור מערכות ייצור, (FLT:0)ECDSA (Elliptic Curve Digital Signature Algorithm) LT:1 על עקומת 256 סיביות (secp256r1) היא בחירה פופולרית בגלל גודל החתימה הקטן יחסית שלה וביצוע חומרה יעילה.

אחסון מאובטח של Cryptographic Keys

האבטחה של ה-חול תלויה בשמירה על מקשי אימות סודיים ו unmutable. Options for מחסנית מפתחות במערכות FPGA כוללים:

  • (FLT:0) זיכרון OTP: זיכרון OTP: FIRLT:1 ; 1-time-programmable פתיחת בתוך FPGA יכול לאחסן מפתח שורש או לעיכול מפתח ציבורי.פעם מכה, הם לא יכולים להשתנות, לספק עוגן חזק.עם זאת, מספר הפתיחות מוגבל (לעתים קרובות 256 ביטים), והם משמשים בדרך כלל למפתח סימטרי.
  • (FLT:0)בחומרי זיכרון RAM (BBRAM): OVAFLT 1 חלק FPGAs מציעים כמות קטנה של RAM שמרסן נתונים במהלך אובדן כוח אם סוללה גיבוי נוכח.
  • (FLT:0) זיכרון מאובטח: FLT:1ir 1ir מ-chip בטוח אלמנט (למשל, ATECC608A) המאחסן את המפתחות ומבצע פעולות הצפנה חיצוני.זה מקטין את ה-VHDL אך מציג מורכבות ממשק (I2C, SPI).
  • (FLT:0PUF מבוסס דור מפתח: FPGAs מודרני (למשל, Xilinx Zynq UltraScale+) מספק PUF אשר יוצר מפתח התקן ייחודי המבוסס על וריאציות ייצור.מפתח זה אינו מאוחסן במפורש; הוא מתחדש כל פעם שה-F הוא queed באמצעות מידע עוזר.

ב VHDL, ה- FPGA חייב לאחזר את המפתח ממקור מאובטח ולהעביר אותו לליבת הקריפטו.עבור eFUSE או BBRAM, ספק FPGA מספק תאים פרימיטיביים ייעודיים (למשל, SYS 'עבור ניטור טמפרטורה שיאנקס / ניטור מרצון, ’BSCAN’ עבור JTAG גישה).

מודולים אבטחה קשיחים (HSM) אינטגרציה

FPGAs לעתים קרובות משלב מאיץ חומרה כי מקלקל פונקציות הצפנה מן ההיגיון הרך. Common HSMs כוללים:

  • (FLT:0)Hardware Crypto accelerators:BuildFLT:1 מודולים ייעודיים עבור AES, SHA-256 ו- RSA/ECDSA. in Xilinx FPGAs, קטלוג ה-Vivado IP מספק ’AES-GCM, ’SHA-256, ו- ’ECDSA ליבות של אינטל / אלטרה, ניתן להפעיל את ה-תיקים מהירים יותר מאשר חסימות מהירות של התקפות הליבה של רכה.
  • (FLT:0 True Random Number Generator (TRNG): FIRLT:1 נדרש ליצירת לאפס, לוחות זמנים מרכזיים, או אתגרים אקראיים בזרימת ה-חול.ה TRNG צריך להיות קול טרופי ומוסמך (למשל, NIST SP 800-90A).
  • (FLT:0) פונקציונליות בלתי-קלונית (PUFIRLT): 1 כאמור, PUFs לייצר מפתחות ספציפיים למכשיר ויכול לשמש גם כדי לקשור את המגבת לדוגמה מסוימת של FPGA, למנוע גניבה bitstream.
  • (FLT:0) Secure Monitor: A מעבד אבטחה ייעודי המנטר מתח, טמפרטורה ושעון glitches.אם התקפה מזוהה, זה יכול לנקות רישומים רגישים או לאפס את המכפלה.

ה-VHDL חייב להגדיר את ה- HSMs אם יש צורך (למשל, להגדיר את המפתח במנוע AES), לנהל זרימת נתונים ביניהם, ולטפל בהפרעות או אותות סטטוס.הממשק בדרך כלל משתמש AXI4-Stream או פרוטוקול ספציפי של ספק.מכונת השליטה של המכפלת צריכה להיות מיועדת לחכות ל- HSM כדי להשלים פעולות, לבדוק שגיאות, ולא להיכשל.

סובלנות ורובוסטנס

ה-חול חייב לפעול באופן אמין בתנאים שליליים.טכניקות סובלנות של אשמה מפתח כוללות:

  • (FLT:0)Triple Modular Redundancy (TMRIR): FLT:1 מכונות מצב קריטיות (למשל, בקר האתחול) יכול להיות מסובך ולהצביע על הטרדות חד-פעמיות (SEUs) זה חשוב במיוחד בסביבות אוויר.
  • (FLT:0)Watchdog Timersrea: FLT:1 כלב השמירה חומרה חייב להיות לאפוס באופן זמני על ידי מברשות ה-חול במהלך פעולה רגילה.
  • (FLT:0)Power Glitchische: FLT:1, המטען צריך לוודא כי אספקת החשמל יציבה לפני תחילת פעולות קריטיות. השתמש ב- FPGA שנבנה על ידי תחנת כוח (POR) ומפקח מתח כדי להבטיח VCC הוא בתוך סובלנות.
  • (FLT:0)Errir Recovery: 1FLT אם אימות חתימה נכשל עקב טעות חולפת (למשל, זיכרון קורא שגיאות), המכפלה יכולה לנסח מספר מוגבל של פעמים לפני שהכריזה על כשל קבוע.זה צריך גם להזין שגיאות (למשל, באמצעות רישום סטטוס) למטרות אבחון.
  • (FLT:0) Redundant Image Storage:FLT:1ir מאחסנים שני עותקים של תמונת הקושחה (זהב ועדכון) בזיכרון הבזק.אם התמונה העיקרית אינה אימות, ה-חול יכול ליפול בחזרה לדימוי הזהב.

יישום תכונות אלה ב VHDL דורש תכנון משאבים זהיר.לדוגמה, TMR מעדכנת את ה- FSM ואת ההגיון מצביע, הגדלת השימוש ב-LUT על ידי 3-4x. עם זאת, עבור מערכות אמינות גבוהה, זה מעל הראש מתקבל על הדעת.

VHDL Coding אסטרטגיות עבור Bootloader

כתיבת מגירה בטוחה ב-VHDL דורש מודולריות, בהירות ודבקות בפרקטיקה מבוססת שמירה.האסטרטגיות הבאות מומלץ.

עיצוב מודולרי ו Hierarchy

נניח את ה-חול לתוך מודולים נפרדים:

  • (FLT:0)boot controller:FLT:1eurd FSM ברמה העליונה אשר לתאם את רצף ה-חול.It Orchestrates the reset, key retrieval, אימות קריפטו, וטעינה קושחה.
  • (FLT:0) מפורטו wrapper:FLT:1 Encapsulates ליבת הקריפטוגרפית (SHA-256, ECDSA או AES-GCM).
  • (FLT:0)mem interface:FLT:1 Handles תקשורת עם זיכרון הבזק החיצוני (SPI, QSPI, או מקבילה) מבטל את הנתונים הנקראים לתוך ממשק זרמה.
  • (FLT:0)key house:FLT:1 נהל גישה לאחסון מפתח מאובטח (eFUSE, BBRAM, PUF) עשוי לכלול שגרת מפתח ללא עוררות אם המפתח המאוחסן מוצפן תחת מפתח מאסטר.
  • (ב) [15] ,0 [15] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

לכל מודול צריך ממשק מוגדר בבירור באמצעות רשומות VHDL או מערכי קידוד וקווי נתונים.לדוגמה, ה- Crypto wrapper עשוי להיות בעל קלט "start", זרם "נתונים in', פלט 'ack', ופלט 'digest'. השתמש ב-'pragma' או synsisתרגם off/on' עבור Testnch Code, לעולם לא רק synsis.

Finite State Machine (FSM) עבור Boot Sequence

בקר ה-FSM הוא הלב של ה-חול.רצף טיפוסי של מדינה:

  1. (ב) ויקרא י"ד: ויקרא י"ד): "המתן לקודש כוח על מנת ליישב את הדגל" (שם כ"ד).
  2. (ב) ,0) ,INIT: ההרחבה 1 (ראשי תיבות: כפל) של ממשק זיכרון, מבדיל שעון, והגדרת ליבות הצפנה.
  3. (ב) קרא מפתח ציבורי או מפתח שורש מאחסון מאובטח.אם לא יצליח להחזיר את השיקום המרכזי, ללכת למדינה FAIL.
  4. [01:0]READ HEADER: FLT:1 קרא את ראש הקושחה מהזיכרון החיצוני.הראש מכיל את אורך הקושחה, גרסה, חתימה ו metadata אופציונלי.
  5. (FLT:0)LOAD AND HASH: FIRLT:1) לייעל את תמונת הקושחה אל הליבה SHA-256 תוך כדי כך אחסון אותו בזיכרון התצורה (או בפטפטפטציה) ניתן לעשות זאת במקביל אם רוחב פס זיכרון מאפשר.
  6. (ב) [15] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  7. (FLT:0)LOAD OKIR: 1 אם אימות עובר, אות ללוגיקה תצורת FPGA לטעון את bitstream מן החיץ (או ממקום הבזק החיצוני אישר כאמת).
  8. (FLT:0FAIL:03: ⁇ 1) אם אימות נכשל או כל טעות מזוהה, הזן מצב בטוח. אופטית retry with the gold image (אם אין תמונה זהה, להחזיק את המכשיר באפסוס וטוענים כי יש מערכות שעשויות לאפשר מצב התאוששות באמצעות JTAG.

יישום זה FSM עם תהליך אחד באמצעות שתי (מדינה, Next state) ושילוב של פלטים synchronous כדי להבטיח סטארט-אפ חקוני.הגנה על ה- FSM נגד מדינות בלתי חוקיות באמצעות מקרה ברירת מחדל אשר מתאפס ל- IDLE. עבור TMR, לשכפל את FSM שלוש פעמים להאכיל כל מדינה להירשם להצבעה.

ניהול מפתח מאובטח ב VHDL

מקשי הצפנה ב-VHDL דורשים זהירות קיצונית.נתוני מפתח לעולם לא יופיעו בטקסט מחוץ למודול מאובטח המיועד.

  • השתמש מודול נפרד מבודד לאחסון מפתח.שאר ה-חול ניגש המפתח רק באמצעות ממשק ייעודי המחזיר אות מוכן.המפתח מועבר לליבת ההצפנה באמצעות רישום פנימי שננקה לאחר השימוש.
  • לעולם אל תגיב או להזין ערכי מפתח.בסימולציה, השתמש בספסלים מוצפנים או להימנע מתבניות מפתח הדפסה.
  • אם המפתחות מאוחסנים ב- eFUSE או BBRAM, קוד VHDL צריך להשתמש פרימיטיביים של הספק שממפה ישירות לחומרה.אל יישם קודים מותאמים אישית שניתן לצפות בהם.
  • עבור מפתחות מבוססי PUF, כוללים את לוגיקה עיבוד נתונים המסייע (למשל, קוד תיקון שגיאות) בתוך מודול מפתח חנות.התפוקה של PUF היא אפסימלי; המטען חייב לחדש את המפתח בכל פעם.
  • שקול באמצעות תא בקרה חד פעמי שניתן למנעול את JTAG או debug גישה לאחר תכנות מפתח, למנוע קריאה של המפתח דרך נמל הבדיקה.

טעויות ושיקום

טיפול בשגיאות רובוסט חיוני עבור מטען מאובטח.יש ליישם את המנגנונים הבאים:

  • (FLT:0) מזכר ECCIR: 1FLT אם הבזק חיצוני משתמש ב- ECC, המכפלה צריכה לבדוק ולתקן שגיאות חד פעמיות ולדווח על שגיאות מרובות סיביות.
  • (FLT:0)Timeout Counters: 1FLT עבור כל פעולה קריפטומית, להגדיר זמן.אם הליבה לא מחזירה תוצאה בתוך חלון מוגדר (למשל, בשל SEU או glitch), אות שגיאה.
  • (FLT:0) אימות גלוי: 1FLT 1 , באופן בלתי נמנע לאמת את הקושחה פעמיים (עם שני פונקציות שונות של hash או שני מפתחות) כדי להביס התקפות של ערוצים.
  • (FLT:0)Safe State:BuildFLT:1 על כישלון קבוע, המכפל צריך לנעול את ה-FPGA, אולי על ידי פיזור כל התפוקה ולא לטעון שום לוגיקה של משתמשים.זה מונע תוקף לבצע אפילו קצת פריץ חלקי.

קודים של שגיאות שניתן לקרוא באמצעות נמל גישה למבחנים (אם אבטחה מאפשרת) או כתוב לרישום שאינו יעיל לניתוח מאוחר יותר.עם זאת, יש להיזהר לא להדליף מידע קריפטוגרפי באמצעות הודעות שגיאה.

שיטות אבטחה וטיפים הטובים ביותר עבור FPGA Secure Bootloaders

מעבר ליישום VHDL, הנהלים הבאים משפרים את היציבה הביטחונית.

שימוש ב-Hardware-Accelerated Cryptography

יישום רך של SHA-256 או ECDSA ב LUTs ו- flops הם איטי יותר ורגיש יותר לדלפה של ערוצים (timing, Power) שבו זמין, מיידיות מנועי הצפנה קשיחים.לדוגמה, Xilinx Vivado מספק את ה-FLT:0AES-GCM ליבת 1 שפועלת עד 100 Gbps Using so ליבתים ולהפחית את השימוש ב-D.

ניהול רוטציה ומחזור חיים

מטעני מנעול מאובטח צריכים לתמוך בעדכון המפתח הציבורי מבלי להתפשר על שורש האמון.יש שיטה אחת: לאחסן שרשרת תעודה בפלאש חיצוני.המגף מאמת את החתימה הקושחה באמצעות המפתח הציבורי הנוכחי, אך גם בודק נפיחות של עדכון מפתח חתום שיכול להחליף את המפתח.עדכון חייב להיות חתום על ידי המפתח הפרטי.זה דורש לוגיקה VHDL נוספת עבור תעודות מסומנים ואימות שרשרת, אבל מאפשר את זה מאפשר את המפתח של שדרוגים של השדה.

מדדי אבטחה פיזיים

FPGAs בסביבות עוינות (למשל, רכב, אוויר) צריך הגנה מפני התקפות פיזיות:

  • (FLT:0) Antitamper Detection: 1FLT) השתמש בטמפרטורת ה-FPGA ובחיישנים של מתח (למשל, SYSMON) כדי לזהות ניסיונות קירור או שילוב של גליון.
  • (FLT:0)Encrypted bitstream:51, גם אם ה-חולטר מאובטח, bitstream עצמו צריך להיות מוצפן (למשל, AES-256) כדי למנוע יירוט במהלך התצורה.
  • (ב) ,0)JTAG disable: FLT:1 לאחר הייצור, גישה בלתי ניתנת להפרדה באופן קבוע באמצעות eFUSE. אם JTAG נשאר זמין, תוקף יכול לעקוף את המטענים לחלוטין.
  • (FLT:0) שילינג ו-tamper mesh:cioFLT:1 עבור יישומים בעלי ביטחון גבוה, לשקול הגנה פיזית של PCB ושימוש tamper-responsive Lattice MachXO3D FPGA כי אפס מפתחות כאשר tamper מזוהה.

עקבו אחרי Standards

בהתאם לדומיינים של היישום, ה-חול עשוי להיות צורך לציית לסטנדרטים אבטחה:

  • (FLT:0)NIST SP 800-193FLT:1 (Platform Firmware Resiliency): הנחיות Defines עבור מנעול מאובטח, עדכון ושיקום.המגירה חייב להיות מסוגל לאמת עדכונים קושחה ולהחלים משינויים לא מורשים.
  • (הופנה מהדף 140-2/140-3FLT:1) (המודול המודול האוטוביוגרפי): אם ה-חול מבצע פעולות הצפנה, ייתכן שיהיה צורך לאמת את הרצף כולו.
  • (FLT:0)IEC 6244303FLT:1 (אבטחת רשתות תקשורת תעשייתית): נדרש מנעול מאובטח למניעת טעינה לא מורשית בקרי לוגיקה (PLCs).
  • (FLT:0 254cioFLT:1) (עיצוב רמת הבטחון עבור מערכות אוויריות): עבור avionics, את המגבת צריך לפתח עם אימות קפדני ושיטות רשמיות.

תיעוד טענות האבטחה של ה-VHDL ומתודולוגיה בדיקות של ה-VHDL חיוני להסמכת ספסלים לבדיקת VHDL צריך לכלול קמפיינים של הזרקת תקלות (למשל, משיכת סיביות בזיכרון או בחתימה) כדי לוודא כי ה-חול דוחה כראוי תמונות ממותגות.

בדיקות ואימות

בדוק את ה-חול תחת תרחישים שונים:

  • (FLT:0 מבחנים מצחיקים: FLT:1 סימלוט תמונה קושחה בתוקף ומאשר אותה נטען.מסים חתימה לא חוקית (בכפוף) ומאשר את המגבת נכנס למדינה FAIL.
  • (FLT:0) ⁇ : 1FLT ( 1) ודא כי ה-חול פוגש את התזמון בתדירות היעד.הליבות ההצפנה לעיתים קרובות יש שקיפות גבוהה; צינורות את נתיבי הנתונים כדי למנוע הפרות.
  • (ב) התנהגות לא-פוחיות:0) בכוח-על-פי-כוח: 1.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.
  • (FLT:0SEU הדמיה: FLT:1 השתמש בכלים של הזרקת תקלות (למשל, שיינסנקס XSIM עם הזרקה שגויה API) כדי לטבול במכונה המדינה ולצפות בדלפקי כלבים.
  • (FLT:0) הערכת הדליפה של ערוץ ערוצים: FIRLT:1) לבצע ניתוח חשמל או מדידות קרינה אלקטרומגנטית על אב הטיפוס כדי להבטיח כי פעולות מפתח לא להדליף נתונים רגישים.

מסקנה

יישום מגבת בטוחה ב-VHDL עבור מערכות FPGA הוא אתגר הנדסי רב פנים הדורש תשומת לב לפרטים קריפטוגרפיים, שילוב חומרה וסובלנות אשמה. על ידי לעגן את תהליך האתחול בשורש חומרה של אמון, באמצעות מנגנוני אימות סטנדרטיים בתעשייה כגון ECDSA, ועיצוב מכונות סופיות חזקות ב- VHDL, מפתחים יכולים ליצור מברשות אשר מתנגדת לצמצום, התקפות למטה, לתקני אימות פיזיים, כמו תקן אימות, ומאפשרת אבטחה, כגון תקנים מאובטחים של אימות, כלומר, תקנים מאובטחים של אימותים של אימותים של תקן אבטחה, תקנים מאובטחים של אימותים של תקן אבטחה ו-800.

(האימוץ של FPGA גדל בתשתיות קריטיות, ה-חול הבטוח הופך לבלוק בנייה יסודי של אמון.השקעה בעיצוב ואימות שלה משלמת דיבידנדים באבטחת המערכת ובאמינות.מגמות עתידיות כוללות אלגוריתמים לאחר-קונטימפטוגרפיים (למשל, CRYSTALS-Dilithium) שעשויים לדרוש מודולים מורכבים יותר של VHDL, אך עקרונות ההפרדה, אימות, וכישלון יישארו ללא שינוי ל-F3K) ל-DPR (Open DefiOS) החל מ-DPR2K) פתרון פתוח ל-DLT2K).