כיצד לתכנן התקני קצה IoT מאובטחים בהספק נמוך באמצעות מיקרו-בקרים PG23 של Silicon Labs
באדיבות ‎DigiKey's North American Editors
2022-10-19
המתכננים של מגוון יישומי אינטרנט-של-דברים (IoT) לצרכנים ולתעשייה, החל ממתגי אור, קוראי מונים ומנעולים חכמים ועד לממירים סולריים ופאנלי אבטחה, צריכים למצוא איזון מתאים בין ביצועים עיליים לבין הספק נמוך - במיוחד עבור תכנים מוזני-סוללות - תוך הבטחת מימושים מאובטחים. במקרים רבים, הבסיס של תכנים אלה הוא מיקרו-בקר (MCU), ולכן על המתכנן לשקול היטב באיזה מהם להשתמש.
יחד עם תמיכה מוצקה באבטחה, הגורמים שיש לקחת בחשבון כוללים ביצועי ליבת המעבד, נצילות, תמיכה ברכיבים היקפיים ו-I/O, גורם הצורה הכולל ותמיכה באקוסיסטם. בעוד שמיקרו-בקר עשוי לעמוד בדרישות התכנון מבחינת ביצועים והספק, למימוש של תכן מאובטח יש עקומת למידה העלולה לגרום לעיכובים או לגרום לכך שהאבטחה לא ממומשת במידה מספקת.
מאמר זה דן בקצרה בשיקולי אבטחה עבור התקני קצה IoT. לאחר מכן הוא מציג את המיקרו-בקר EFM32PG23 של Silicon Labs ומראה כיצד ליישם אותו עבור תכני IoT מאובטחים, עם דגש על הספק נמוך.
נושאי אבטחה עם התקני IoT
מספר ההתקפות מרחוק על התקנים המחוברים לאינטרנט ממשיך לעלות. מפתחי רכיבים משובצים עשויים להתפתות לחשוב שהתקן קצה IoT שלהם אינו זקוק לאבטחה מכיוון שהוא אינו מכיל "משהו בעל ערך". האמת היא שכמעט בכל התקן יש משהו שהאקר עשוי למצוא כבעל ערך, בין אם זה נתוני החיישנים, נתוני הלקוחות, הקושחה בפועל שנמצאת בהתקן, או הגישה שההתקן מספק כדלת אחורית לרשתות מחוברות. אבטחה היא מאפיין קריטי שחייב להיות מתוכננת בכל התקן קצה IoT מלכתחילה: אסור לשלב אותו בתוך המערכת רק בסוף מחזור התכנון. אחרת, ההתקן יהיה פגיע מאוד להתקפה.
לכל התקן קצה IoT יש כמה תחומי אבטחה שצריך לקחת בחשבון כמו זיהוי ההתקן, תצורת ההתקן ועדכוני תוכנה/קושחה. איור 1 מציג רשימה של שיקולים נפוצים וכיצד שיקולים אלה מתורגמים לדרישת אבטחת ההתקן. לכל דרישת אבטחה יש טכנולוגיה קשורה המשמשת לעתים קרובות כדי לעמוד בדרישה זו ולסכל תוקפים פוטנציאליים.
|
איור 1: שיקולי האבטחה, הדרישות והטכנולוגיה הנלווית שמתכנני יישומי IoT צריכים לקחת בחשבון הם רבים. (מקור התמונה: Silicon Labs)
בעיה גדולה עם הרבה מצוותי הרכיבים המשובצים המפתחים יישומי קצה IoT היא שאין להם מומחיות אבטחה בתוך-הבית. התוצאה היא שעליהם לעשות כמיטב יכולתם פנימית בתוך-הבית כדי ללמוד ולממש אבטחה או להשתמש במקור חיצוני. כך או כך, העלות והתזמון יכולים להיות חריגים.
קיימת חלופה: צוות הפיתוח יכול לבחור מיקרו-בקר שתוכנן מתוך מחשבה על אבטחה ואשר מספק פתרונות אבטחה מוכנים לשימוש הדורשים התאמות קטנות של תצורה עבור האפליקציה המסוימת.
הצגת התקני מיקרו-בקר סדרת PG23 של Silicon Labs
סדרת המיקרו-בקרים EFM32PG23 של Silicon Labs היא אפשרות מעניינת עבור יישומי קצה IoT מכמה סיבות. ראשית, המיקרו-בקר PG23 יכול להריץ את פתרון אבטחת IoT Secure Vault של Silicon Labs עצמה. Secure Vault היא פלטפורמת אבטחה מובטחת-עתיד של התקני IoT שהפכה לאחרונה לפתרון אבטחת IoT הראשון שהשיג את סטטוס PSA Certified Level 3. כמה מהמאפיינים ש-Secure Vault מביא למיקרו-בקרי PG23 כוללים זיהוי התקן מאובטח, ניהול ואחסון מפתחות מאובטח וגילוי ניסיון השחתה מתקדם.
Secure Vault מנצל את היתרון של טביעת אצבע דיגיטלית ייחודית שנוצרת על ידי פונקציה בלתי ניתנת לשכפול פיזי (PUF). ניתן להשתמש ב-PUF ליצירת מפתח סימטרי AES שנעלם פיזית כאשר מכבים את המערכת. המפתח הסימטרי AES לא קיים אפילו כשהשבב כבוי, מה שהופך אותו לבלתי-ניתן להסרה מההתקן. PUF הוא פתרון יעיל לאתגר ניהול המפתחות העומד בפני יישומי קצה IoT רבים. למעשה, ה-PUF יכול לשנות את היקפו כדי לתמוך במספר מפתחות לפי הצורך לתמיכה ביישום. Secure Vault כולל גם מערכת לגילוי ניסיון השחתה שגורמת לכך שלא ניתן לשחזר את המפתח לאחר כיבוי ההתקן לאחר אירוע ניסיון חבלה. את מאפייני אבטחת מפתחות ניתן לסכם כך:
- אישור מאובטח
- ניהול מפתחות מאובטח
- אחסון מפתחות מאובטח
- נגד-ניסיון-חבלה
סיבה נוספת לכך שמיקרו-בקרי PG23 מתאימים היטב עבור יישומי קצה IoT היא שהם מתוכננים עבור יישומים בהספק נמוך. צריכת הזרם האקטיבית עבור PG23 היא 21 מיקרו-אמפר-למגה-הרץ (µA/MHz). צריכת הזרם היא µA 1.03 עם 16 קילו-בייט (Kbytes) של זיכרון RAM אקטיבי באופן EM2, או µA 0.7 עם שעון זמן-אמת (RTC) מאופשר באופן EM4. רמות צריכת הזרם הכל-כך נמוכות עוזרות למפתחים כשהם עובדים על תכנון התקן יעיל-אנרגטית, בין אם הוא מחובר לרשת החשמל או מוזן-סוללות.
המאפיין הבא של ה-PG23 שנבחן כאן הוא היכולות של המיקרו-בקר. ל-PG23 יש מעבד Cortex®-M33 ®Arm בשעון של עד 80 מגה-הרץ. המעבד יכול לפעול בתחום של 1.71 וולט עד 3.8 וולט באמצעות ספק כוח יחיד. עבור מפתחים העובדים על יישומי חיישנים, קיים ממשק חיישן Low-Energy (LESENSE). המיקרו-בקר מגיע במארז QFN עם 40 פינים בגודל 5×5 מילימטרים (מ"מ) או במארז QFN עם 48 פינים בגודל 6×6 מ"מ. דיאגרמת הבלוקים של ה-PG23 מוצגת באיור 2. למיקרו-בקר יש גם חמישה אופני הספק: EM0 עבור אופן ריצה, EM1 עבור שינה, M2 עבור שינה עמוקה, EM3 עבור עצירה ולבסוף, EM4 עבור כיבוי.
איור 2: למיקרו-בקר-PG23 יש מגוון רחב של רכיבים היקפיים, זיכרון ואופני חיסכון באנרגיה. (מקור התמונה: Silicon Labs)
צעדים ראשונים עם לוח הפיתוח PG23-PK2504A
הדרך הטובה ביותר להתחיל לעבוד עם ה-PG23 היא להשתמש בלוח הפיתוח PG23-PK2504A. ללוח יש מעבד EFM32PG23B310F512 הנתמך על ידי זיכרון Flash של Kbytes 512 וזיכרון RAM של Kbytes 64 משלו. לוח הפיתוח כולל מגוון רחב של חיישנים, ממשקים וצג LCD עם 4×10 סגמנטים על-הלוח (איור 3).
איור 3: לוח הפיתוח PG23-2504A מגיע עם מיקרו-בקר EFM32PG23 כמו גם צג LCD עם 4×10 סגמנטים, חיישני טמפרטורה ולחות, ייחוס מתח וממשקי הרחבה. (מקור התמונה: Silicon Labs)
עם הלוח בידם, המפתחים יכולים להוריד ולהתקין את Simplicity Studio (תחת הלשונית Getting Started). Simplicity Studio הוא פד שיגור עבור כל מה שצריך כדי להעריך, להגדיר ולפתח עם המיקרו-בקרים EFM32. התוכנה כוללת חומרי צעדים ראשונים, תיעוד, כלים תואמים ומשאבים.
כאשר המפתח פותח את Simplicity Studio ומחבר לוח פיתוח, התוכנה תזהה את הלוח ותספק המלצות לדוגמה על פרויקטים, תיעוד והדגמות (איור 4). לאחר מכן המפתח יכול לבחור את הדרך הטובה ביותר עבורו להתחיל ולהתנסות עם ה-PG23.
איור 4: ה-Simplicity Studio של Silicon Labs מזהה את הלוח ומספק המלצות מותאמות-במיוחד עבור הצעדים הראשונים, תיעוד, פרויקטים לדוגמה ועוד. (מקור התמונה: Silicon Labs)
מאפיין אחד הראוי לציון בלוח הפיתוח PG23-PK2504A הוא המתג המחליט כיצד מוזן לוח הפיתוח. ישנן שתי אפשרויות; AEM או BAT (איור 5). באופן AEM, יש נגד חישת זרם בטור עם ספק-הכוח LDO וה-PG23. היתרון של אופן זה הוא שהמפתחים יכולים למדוד את צריכת הזרם של המעבד כדי לסייע באופטימיזציה של הספקת-הכוח. לאחר האופטימיזציה של היישום, המפתחים יכולים לעבור לאופן BAT כדי להזין את לוח הפיתוח באמצעות סוללת תא-כפתור.
איור 5: ה-PG23-PK2504A מעניק אפשרות להזין את הלוח באמצעות USB-C באופן AEM שלו, המאפשר למדוד את זרם המעבד. לחלופין, ניתן להזין את המעבד באמצעות סוללת תא כפתור CR2032. (מקור התמונה: Silicon Labs)
טיפים וטריקים למזעור השימוש באנרגיה ביישום עם IoT
מזעור צריכת האנרגיה הוא קריטי עבור כל תכן קצה IoT, בין אם הוא מוזן-סוללות או לא. אופטימיזציה של תכן לטובת חיסכון באנרגיה עשויה להיות גוזלת זמן אם המפתחים לא נזהרים. להלן מספר "טיפים וטריקים" שהמפתחים צריכים לזכור היכולים לעזור למטב במהירות יישום IoT עבור הספק נמוך:
- השתמשו בארכיטקטורת תוכנה מונחית-אירועים. כאשר המערכת לא מעבדת אירוע, העבירו אותו לאופן הספק נמוך.
- בנו את פרופיל צריכת ההספק של סוללת המערכת על פני מספר מחזורי טעינה/פריקה. רשמו את יציאת הזרם ואת מתח הפעולה ושרטטו אותם לאורך ציר הזמן.
- נצלו אופני הספק נמוך כדי להשבית אוטומטית שעונים, רכיבים היקפיים ואת המעבד.
- ביישומים פשוטים, בחנו את השימוש במאפיין "אופן שינה ביציאה" של ה-Arm Cortex-M כדי למזער את תקורת הפסקים (Interrupt) בזמן הערת המערכת.
- אם משתמשים ב-RTOS, מנפו את אופן "ללא-טיקים" שלו כדי למנוע מה-RTOS להעיר את המערכת שלא בכוונה.
- בעת אופטימיזציה של האיטרציות, עקבו אחר החיסכון באנרגיה של כל שינוי. בשלב מסוים, המפתחים מגלים "ברך" שבה לזמן המושקע באופטימיזציה יש החזר נמוך על ההשקעה במונחים של חיסכון באנרגיה. הגיע הזמן להפסיק לבצע אופטימיזציה ולעבור לשלב הבא.
מפתחים העוקבים אחר ה"טיפים והטריקים" הללו יחסכו לא מעט זמן וצער כשיתחילו עם תכנון ה-IoT המאובטח הבא שלהם עם צריכת הספק נמוכה.
סיכום
הצורך בהתקני IoT מאובטחים בהספק נמוך גובר עבור יישומי קצה IoT. ביחד עם תמיכה מוצקה באבטחה, הגורמים שהמפתחים צריכים לקחת בחשבון כדי לענות על הצרכים של תכנים מבוססי-קצה כוללים ביצועי ליבת המעבד, נצילות, תמיכה ברכיבים היקפיים ו-I/O, גורם צורה כולל ותמיכת האקוסיסטם.
כפי שהוצג, המיקרו-בקר EFM32PG23 של Silicon Labs יכול לעזור למפתחים לפתור מספר בעיות הקשורות לתכנון הספק נמוך ואבטחת ההתקן. לוח הפיתוח המשויך אליו מספק את כל הכלים הדרושים עבור הצעדים הראשונים, ועל ידי ביצוע כמה "טיפים וטריקים" חשובים, ניתן ליישם במהירות תכן בהספק נמוך.
מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.

