כיצד להבטיח אבטחת מערכת משובצת באמצעות DSCs ו-MCUs
באדיבות ‎DigiKey's North American Editors
2023-07-25
עם המעבר לאינטרנט-של-דברים (IoT), האבטחה הפכה להרבה מעבר למאפיין אופציונלי ביישומים משובצים, והתפתחה ליכולת חובה הנדרשת כדי להבטיח את שלמות המערכת. כדי לענות למגוון הולך וגדל של מפרטי אבטחה, המפתחים דורשים פתרונות שתואמים לא רק לדרישות האפליקציה עבור הספק נמוך או ביצועים גבוהים, אלא גם כאלו היכולים לספק יכולות אבטחה מבוססות-חומרה, כולל אימות, הצפנה, אחסון מאובטח ואתחול מאובטח.
מאמר זה מספק מבוא קצר לעקרונות אבטחה משובצת. לאחר מכן הוא מציג כיצד המפתחים יכולים להשתמש בבקרי אותות דיגיטליים בעלי הביצועים הגבוהים של Microchip Technology (DSC) ויחידות מיקרו-בקר (MCU) PIC24F בהספק נמוך, ביחד עם התקני האבטחה המיוחדים של Microchip, כדי לענות על הדרישה המתעוררת עבור אבטחה משובצת מחמירה.
אבטחה משובצת מבוססת על ארבעה עקרונות מפתח
מחוברים לאינטרנט הציבורי, מוצרים חכמים יכולים להיות קשורים זה לזה ביישומים מתוחכמים שמעט מוצרים עצמאיים יכולים להשתוות אליהם. עם זאת, האיום של התקפות סייבר תוך שימוש באותם נתיבי חיבוריות לא רק מגביל את הערך של מוצרים חכמים, אלא גם חושף את המוצרים הללו, האפליקציות הקשורות והמשתמשים שלהם למקורות איומים לכאורה אינסופיים.
מלבד התמודדות עם דרישה מתמשכת של צרכנים לאבטחת סייבר ברמת-מערכת, המפתחים נדרשים יותר ויותר להתייחס למפרטי אבטחה מארגונים לאומיים ואזוריים. שניים מהמפרטים המשפיעים ביותר, ETSI EN 303 645 של אירופה, "אבטחת סייבר עבור דרישות בסיסיות של אינטרנט-של-דברים עבור צרכנים", ו-NIST IR 8259 של ארצות הברית, "פעילויות אבטחת סייבר בסיסיות עבור יצרני התקני IoT", מציעים שיטות אבטחת סייבר התלויות בארבעה עקרונות מפתח:
- שימוש בסיסמאות ייחודיות
- זמינות אחסון מאובטח בתוך ההתקן עבור פרמטרי אבטחה רגישים
- תקשורת מאובטחת באמצעות אימות הדדי ותקשורת מוצפנת
- היכולת להבטיח שלמות ואותנטיות של הקושחה באמצעות אתחול מאובטח ועדכון קושחה מאובטח
אספקת מערכות המבוססות על עקרונות הליבה הללו מחייבת שימוש בפלטפורמה מהימנה המונעת מהאקרים להחדיר קוד שנפרץ המשנה את התקשורת, האחסון, הקושחה או אפילו את מנגנוני האבטחה עצמם.
פלטפורמות מהימנות עוזרות להבטיח את האבטחה על ידי בנייה מן היסוד של אבטחה ברמת-המערכת באמצעות מנגנוני אבטחה מבוססי חומרה שאינם ניתנים לעקיפה. למרות שהרעיון פשוט, המימוש של אבטחה ברמת-המערכת היה מאתגר מכיוון שחולשת אבטחה בכל חלק של המערכת יכולה לספק נתיב עבור התקפת סייבר. הודות לשימוש ב-dsPIC33C DSCs בעלי ביצועים גבוהים של Microchip Technology ו-PIC24F MCUs בהספק נמוך, בשילוב עם התקני האבטחה הנלווים של Microchip, המפתחים יכולים למממש בקלות רבה יותר תכנים משובצים המבטיחים אבטחה ברמת-המערכת.
עמידה בדרישות הביצועים וההספק
מתוכנן לתמוך במגוון רחב של מקרי שימוש, התקני משפחות dsPIC33C DSC ו-PIC24F MCU של Microchip משלבים כל אחד פלטפורמות פעולה חסונות עם יכולות ספציפיות-ליישום, כולל השלמה נרחבת של אנלוגי, בקרת צורות גל ותקשורת משולבים. למעשה, באמצעות אפנון רוחב-פולס (PWM) מרובה, מגברים עם הגבר ניתן-לתכנות (PGAs), ממירי אנלוגי לדיגיטלי (ADC) וציוד היקפי אחר ב-dsPIC33C DSC, המפתחים יכולים לממש מערכות מורכבות עם מינימום רכיבים נוספים - בדרך כלל צריך רק את התקני ההספק הנדרשים בכל תכן כזה. דוגמה לכך היא השימוש ב- DSC עם ליבה-יחידה DSPIC33CK512MP608 כדי למממש תכן ספק כוח אל-פסק (UPS) (איור 1).
איור 1: כמו ב-dsPIC33C DSCs אחרים, ה-DSC עם ליבה-יחידה DSPIC33CK512MP608 משלב מערך מקיף של רכיבים היקפיים, ובכך מפשט את התכנון של מערכות מורכבות כגון UPS מחוץ-לרשת-החשמל המוצג. (מקור תמונה: Microchip Technology)
עבור יישומים הדורשים גם יכולות בקרה בזמן-אמת וגם עיבוד אותות דיגיטלי, ה-DSC dsPIC33C משלב את היכולות של MCU ו-DSC עם הוראות ופונקציונליות החומרה המיוחדות שלו. עבור תכנים קריטיים-לבטיחות, ה-DSC dsPIC33C מוכן עבור בטיחות פונקציונלית IEC 60730 ותואם ISO 26262, ומספק מספר מאפייני חומרה המתוכננים לפשט את הרשאת הבטיחות הפונקציונלית עבור Automotive Safety Integrity Level B (ASIL-B), ויישומים קריטיים-לבטיחות לרכב ולתעשייה SIL-2.
בעוד שה-dsPIC33C DSC מתוכנן עבור יישומים שבהם הביצועים הם בעלי חשיבות עליונה, ה-IC24F MCU מעניק איזון בין ביצועים ונצילות הספק עבור מערכות משובצות למטרות כלליות, אלקטרוניקה לצרכנים, אוטומציה תעשייתית, התקנים רפואיים ויישומים אחרים הדורשים בקרה וחיבוריות אך אינם זקוקים ליכולות DSP. בדומה ל-dsPIC33C DSC, ה-PIC24F MCU הוא התקן מוכן לבטיחות פונקציונלית IEC 60730 עם ספריות דיאגנוסטיקה לבטיחות Class B עבור בניית יישומים ביתיים.
כפי שצוין קודם לכן, שלמות הקושחה היא עיקרון ליבה של אבטחת סייבר משובצת. כדי לעזור למפתחים להבטיח את שלמות הקושחה ואת הגנת הקוד הכוללת, Microchip מספקת תכנות חד-פעמי (OTP) של זיכרון Flash באמצעות תכנות טורי בתוך-המעגל (ICSP) עם מניעת כתיבה (Write Inhibit) ואבטחת Flash CodeGuard בהתקני dsPIC33C DSC כגון DSC ליבה-יחידה DSPIC33CK512MP608 ו-DSC ליבה-כפולה DSPIC33CH512MP508, כמו גם התקני PIC24F MCU כגון PIC24FJ512GU405 MCU, בין רבים אחרים, עם תצורות עם מערכים שונים של רכיבים היקפיים ספציפיים-ליישום.
הגנת קושחת ההתקן
Flash OTP by ICSP Write Inhibit מאפשר למפתחים להגדיר חלקים מזיכרון Flash כזיכרון OTP ולהגן על קריאה/כתיבה בזיכרון Flash. יכולת ICSP קניינית של Microchip מאפשרת לתכנת התקנים אלה באופן טורי דרך זוג פינים תוך כדי הרצת יישום הקצה. עם יכולת זו, יצרנים יכולים להשלים את התכנות על לוחות ייצור. בעוד ש-ICSP דורש שימוש בהתקן תכנות חיצוני כדי לבקר את תהליך ה-Flash OTP, Enhanced ICSP מאפשר לטוען האתחול (Bootloader) המובנה לבקר את תהליך ה-Flash OTP. התקנים אלו תומכים גם בתכנות-עצמי בזמן-הריצה (RTSP), המאפשר לקוד אפליקציית המשתמש שבזיכרון Flash לעדכן את עצמו במהלך זמן הריצה.
לאחר תכנות התקן הייצור שלהם, המפתחים יכולים להפעיל את ה-ICSP Write Inhibit, אשר מונע כל תכנות או מחיקה של ICSP נוספים. ובכל זאת, פעולות מחיקה ותכנות RTSP Flash יכולות להמשיך גם כאשר ICSP Write Inhibit מופעל אם קוד עדכון Flash מתאים מתוכנת לתוך ההתקן לפני הפעלתו. כתוצאה מכך המפתחים יכולים להשתמש ב-Bootloader מהימן כדי לשנות את זיכרון Flash גם כאשר ICSP Write Inhibit מופעל, מה שמאפשר להם לעדכן בצורה מאובטחת את הקושחה ועדיין להקל על הניסיונות החיצוניים לעדכן Flash במערכות ייצור.
אבטחת CodeGuard Flash מספקת הגנה עדינה על תוכנת Flash באמצעות שימוש בסגמנטים נפרדים עבור האתחול ועבור השימוש הכללי. המפתחים מגדירים את הגודל של סגמנטים אלה על ידי הגדרת כתובת גבול סגמנט האתחול (BS) (BSLIM) ברגיסטר BSLIM של ההתקן; הסגמנט הכללי (GS) תופס את הזיכרון הנותר. כדי להגן עוד יותר על מידע רגיש, כל סגמנט מכיל חלוקות נוספות. לדוגמה, ה-BS מכיל את טבלת וקטור הפסקים (IVT), את טבלת וקטור הפסקים האופציונליים (AIVT), ואת מרחב מילת פקודה נוספת (IW); סגמנט התצורה (CS), המכיל נתוני תצורת-משתמש ההתקן הקריטיים, נמצא במרחב כתובות המשתמש ב-GS (איור 2).
איור 2: משפחות dsPIC33C DSC ו-PIC24F MCU תומכות בהגנת הקוד בחלוקות נפרדות כגון BS ו-GS. (מקור התמונה: Microchip Technology)
לאחר הגדרת חלוקות הסגמנטים, המפתחים יכולים להשתמש ברגיסטר אבטחת קושחה (FSEC) של ההתקן כדי לאפשר הגנת כתיבה והגדרת רמת הגנת הקוד הנדרשת עבור כל סגמנט. במהלך הרצת הקוד ההתקן מונע מקוד הכלול בסגמנט עם רמת הגנת קוד נמוכה יותר לגשת לקוד הכלול בסגמנט עם רמת הגנת קוד גבוהה יותר. במערכת טיפוסית המפתחים היו כותבים את הגנת ה-BS ומגדירים את הגנת הקוד שלו לרמה גבוהה, מה שמקל על ניסיונות חיצוניים לשנות את ה-BS, כולל טוען האתחול.
מימוש עדכון קושחה מאובטח דרך-האוויר
מפתחי תוכנה חייבים להתמודד עם הצורך לעדכן תוכנה בתגובה לשילוב של באגי תוכנה שהתגלו לאחרונה, שיפורים תחרותיים או איומי אבטחה מתעוררים. בניגוד לעדכוני אפליקציות לניידים, ביצוע עדכונים מאובטחים לקושחה במערכות משובצות עלול להפריע ליישומים הפועלים באותו הזמן במקרה הטוב, או "לתקוע" את המערכת במקרה הרע. משפחות PIC24F MCU בהספק נמוך ו-dsPIC33C DSC של Microchip מספקות מנגנון של שתי חלוקות שנועד לעזור למפתחים להימנע מבעיות אלו.
באופן פעולה סטנדרטי, התקנים אלה משתמשים בכל הזיכרון הפיזי הזמין כמרחב זיכרון רציף של חלוקה אחת (איור 3, משמאל) שניתן להגדיר ל-BSs ו-GSs נפרדים. באופן שתי חלוקות, המפתחים מפצלים את הזיכרון הפיזי לחלוקות נפרדות של פעילה ולא-פעילה(איור 3, מימין).
איור 3: המפתחים יכולים להפעיל את משפחות dsPIC33C DSC ו-PIC24F MCU באופן ברירת מחדל של חלוקה אחת או שתי חלוקות. (מקור התמונה: Microchip Technology)
בפעולה באופן שתי חלוקות התקנים אלה יכולים להמשיך להפעיל קוד יישום בחלוקה הפעילה תוך תכנות החלוקה הלא-פעילה. לאחר השלמת התכנות, הרצת פקודות החלפת אתחול (BOOTSWP) גורמות להתקן למתג את יעד האתחול לחלוקה המעודכנת. אם הקוד בחלוקה המעודכנת נכשל או נמצא לקוי בדרך אחרת, איפוס ההתקן יגרום אוטומטית להתקן לאתחל בתוך החלוקה המקורית (איור 4).
איור 4: באופן שתי חלוקות, ה-dsPIC33C DSC ו-PIC24F MCU יכולים לטעון קוד יישום בחלוקה אחת תוך המשך הרצת קוד היישום בחלוקה השנייה. (מקור התמונה: Microchip Technology)
לאחר שהצלחת החלוקה המעודכנת הובטחה, ניתן להגדיר את רצף אתחול ה-Flash (FBTSEQ) של החלוקה המעודכנת לערך נמוך יותר לעומת החלוקה המקורית. באיפוסים העוקבים של ההתקן הוא יאתחל לחלוקה המעודכנת עם ערך ה-FBTSEQ התחתון (איור 5).
איור 5: אופן שתי חלוקות מאפשר למפתחים להגדיר את רצף האתחול לחלוקה הרצויה לאחר איפוס ההתקן. (מקור התמונה: Microchip Technology)
Flash OTP באמצעות ICSP Write Inhibit ואבטחת Flash CodeGuard מספקים תמיכה קריטית עבור אבטחת קוד סטטית והרצה, אך אבטחה משובצת מקיפה דורשת מנגנונים נוספים, כולל אחסון מפתחות מאובטח, אימות קוד ותקשורת מאובטחת.
שימוש בהתקני אבטחה נלווים כדי להבטיח אבטחת מערכת משובצת
על ידי שילוב של dsPIC33C DSC ומיקרו-בקר PIC24F עם CryptoAuthentication ATECC608 של Microchips או IC אבטחה CryptoAutomotive (TA100) TrustAnchor100, המפתחים יכולים לפרוס בקלות רבה יותר יכולות אבטחה מבוססות חומרה משלימות במלואן.
ICs אבטחה אלו מספקים מנגנוני אבטחה חסיני-התעסקות, כולל אחסון מאובטח, מנועי הצפנה מואצים בחומרה, מחוללי מספרים אקראיים אמיתיים ומנגנונים אחרים הנדרשים על ידי אלגוריתמי קריפטוגרפיה. תוכננו במיוחד כהתקנים נלווים, ניתן להוסיף בקלות את ה-ICs לתכני מערכות DSC או MCU כדי להשלים את המימוש של אבטחת מערכות משובצות מלאה (איור 6).
איור 6: ICs אבטחה כגון ATECC608 או TA100 משלימים את מאפייני האבטחה של dsPIC33C DSCs ו-PIC24F MCUs, ומפשטים את המימוש של מערכות משובצות מאובטחות. (מקור התמונה: Microchip Technology)
ביצוע פעולה קריטית כמו עדכון קושחה מאובטח ממחיש את תכונות האבטחה המשלימות של dsPIC33C DSCs ומיקרו-בקרים PIC24F בשילוב עם ICs אבטחה נלווים אלה. המפתחים משתמשים בטכניקות חתימת-קוד כדי לאמת את האותנטיות והשלמות של הקוד לפני השלמת פעולות עדכון הקושחה. כאן, המפתחים משתמשים במערכות הפיתוח שלהם כדי ליצור חבילת עדכון המכילה את הקוד, מטא-נתונים של הקוד וחתימה המשמשת עבור אימות (איור 7).
איור 7: חתימת קוד מספקת פרוטוקול חיוני המשמש בשגרה לאימות האותנטיות והשלמות של הקוד לפני העדכון על מערכת המטרה. (מקור התמונה: Microchip Technology)
במערכת המטרה אימות חתימה מבוסס-חומרה מסיר את הסיכון של פרוטוקולי אימות שנפגעו שהיו אפשריים עם סוג אימות חתימה מבוסס תוכנה ששימש בעבר. במקום זאת, IC אבטחה נלווה כגון ATECC608 ו-TA100 של Microchip מבצע במהירות ובאופן מאובטח פעולות אימות חתימה ללא סיכון של פגיעה (איור 8).
איור 8: במערכת המטרה אימות מבוסס-חומרה המסופק על ידי IC אבטחה כגון ATECC608 או TA100 הוא חיוני עבור הבטחת אימות הקוד לפני עדכון הקושחה על ידי טוען האתחול. (מקור התמונה: Microchip Technology)
כדי להאיץ את המימוש של מערכות מאובטחות, Microchip מספקת שילוב של כלי פיתוח תוכנה וחומרה.
פיתוח מהיר של תוכנה וחומרה
בעוד שסביבת הפיתוח המשולבת (MPLAB X (IDE מספקת למפתחים סביבת פיתוח תוכנה מלאה, הקומפיילר MPLAB XC C מספק תמיכה בפיתוח לרשתות כלים קיימות. כדי להאיץ את הפיתוח בכל אחת מהסביבות, ה-(MPLAB Code Configurator (MCC מאפשר למפתחים להשתמש בממשק גרפי כדי ליצור אתחולים, לבנות מנהלי התקנים, להקצות פינים, למממש ספריות, ולעזור בכל דרך אחרת להאיץ רבים מהליכי ותהליכי ההגדרה הקריטיים ברמה-נמוכה הקשורים לכל פרויקט פיתוח תוכנה משובצת.
כדי להאיץ את המימוש של טוען אתחול מאובטח מתאים, ה-Bootloader עבור dsPIC33 DSCs ו-PIC24 MCUs של Microchip מספק ממשק גרפי המסייע למפתחים להגדיר וליצור במהירות את טועני האתחול המותאמים-במיוחד הנדרשים עבור היישום שלהם. יישום מארח של טוען אתחול קשור מפשט עוד יותר את העברת קוד היישום להתקן המטרה.
עבור פיתוח חומרה, Microchip מספקת מספר לוחות פיתוח משויכים עבור בניית מערכות המבוססות על dsPIC33C DSCs או PIC24F MCUs. למעשה, ה-PIC-IoT Board EV54Y39A ו-PIC-IoT AC164164 של Microchip (איור 9) משלבים ICs אבטחה המצוידים-מראש עם הרשאות אבטחה עבור (Amazon Web Services (AWS ו-Google Cloud, בהתאמה.
איור 9: לוחות PIC-IoT כגון AC164164 עוזרים להאיץ את פיתוח האבטחה המשובץ על ידי שילוב ICs אבטחה המצוידים-מראש עם הרשאות עבור AWS או Google Cloud. (מקור התמונה: Microchip Technology)
עבור תכנים מותאמים-במיוחד, Microchip מציעה לוח פיתוח dsPIC33CH Curiosity (DM330028-2) המבוסס על dsPIC33CH512MP508 DSC עם שתי ליבות. לחלופין, המפתחים יכולים לחבר מודול נתקע מבוסס-dsPIC33CH128MP508 של Microchip (MA330040) ללוח הערכה משובץ Microchip Explorer (DM240001-2) כדי להאיץ את הפיתוח של מערכות משובצות מאובטחות.
סיכום
אבטחת מערכת משובצת מסתמכת על זמינותם של מנגנונים מבוססי חומרה, המסוגלים לתמוך בעקרונות ליבה של אבטחת סייבר הכוללים שלמות קושחה, אימות, הצפנה ואחסון מאובטח. בעוד ש-dsPIC33C DSC ו-PIC24F MCUs של Microchip מפשטים את הגנת הקוד, ICs האבטחה ATECC608 ו-TA100 מספקים את מנגנוני האבטחה הנוספים הנדרשים בפלטפורמת אבטחה יעילה. באמצעות התקנים אלה בשילוב, המפתחים יכולים לענות על הצורך באבטחה ברמת המערכת בפתרונות משובצים עבור ה-IoT, כמו גם ביישומי רכב, תעשייה, צרכנים ורפואה.

מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.