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

"אבטחה דיגיטלית היא אחד הנושאים הידועים ביותר בתחום אֶלֶקטרוֹנִי עיצוב היום. הצפנה היא כנראה המילה הראשונה שעולה בראש כאשר מהנדסים חושבים על אבטחה, ורק כמה מהנדסים חושבים על אימות. עם זאת, אימות הוא פונקציה חיונית של מכשיר או עסקה מאובטחים.

"

אימות חשוב. הודות לפתרונות הקיימים מבוססי סיליקון, אנו יכולים לאפשר אימות ללא צורך להיות מומחים ביישום הצפנה.

מבוא

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

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

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

יישם שיטת אימות חוקית

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

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

אימות סיסמה סימטרי

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


איור 1. אימות המבוסס על הצפנה סימטרית מסתמך על מספרי מפתח המשותפים בין המארח והמכשיר.

אימות קריפטוגרפי א-סימטרי

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


איור 2. אימות מפתח א-סימטרי מסתמך על מפתחות ציבוריים ופרטיים.

מדוע IC מאובטח טובים לאימות

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

אמרה מציעה שלוש משפחות של פתרונות התומכים באימות:

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

מיקרו-בקרים מאובטחים: בנוסף לתמיכה באימות תגובת אתגר, מכשירים אלה מספקים חבילה מלאה של פונקציות הצפנה, כולל הצפנה.

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

IC מוסמך

בין ICs של אימות, מוצרים מבוססי SHA-256 תומכים באימות באמצעות סוד משותף (איור 3), בעוד ש-ICs מבוססי ECDSA משתמשים בצמדי מפתחות פרטיים/ציבוריים (איור 4). בנוסף למנוע ההצפנה, למוצרים אלה יש גם זיכרון EEPROM מובנה. זיכרון זה ניתן להגדרה וניתן להשתמש בו לאחסון נתוני משתמש מאומתים, כגון מידע כיול עבור חיישנים.

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


איור 3. אימות מאובטח SHA-256 מבוסס על סוד משותף.

ה-ICs DS28E15/DS28E22/DS28E25 של מקסים מבוססים על SHA-256 טֶכנוֹלוֹגִיָה ויש להם גדלי זיכרון פנימי שונים. מכיוון שאותו מפתח מאוחסן בצד המארח ובצד המכשיר, מומלץ להשתמש במעבד שותף כמו ה-DS2465 בצד המארח.

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


איור 4. אימות מבוסס ECDSA מסתמך על צמדי מפתחות פרטיים/ציבוריים.

מיקרו-בקר מאובטח התומך בהצפנה סימטרית וא-סימטרית

מקסים מציעה מיקרו-בקרים מאובטחים החל ממעבדי MAX32590 (ARM9 הפועלים בתדר 384 מגה-הרץ) בדרגת יישומים שיכולים להריץ מערכות הפעלה ברמה גבוהה כמו לינוקס, ועד למעבדי שותפים קטנים של גורם צורה כמו MAX32555 או MAXQ1061.

מיקרו-בקרים אלה תומכים בהצפנה סימטרית ואסימטרית ובאלגוריתמים הצפנה עבור חתימות דיגיטליות ואימות. הם כוללים מאיצי חומרה עבור SHA, RSA, ECDSA ו-AES, כמו גם ספריית קריפטוגרפית מלאה, המספקת API Turnkey תואם תקנים. יש להם תכונת אתחול מאובטח מובנית, כך שהאותנטיות של הקושחה תמיד מובטחת. הם יכולים להתמודד עם מגוון רחב של סכימות אימות הודות לסט המקיף של תכונות ההצפנה שלהם.

ה-MAXQ1061 הוא מעבד משותף שלא רק תומך באימות, אלא גם מטפל בשלבים הקריטיים ביותר בפרוטוקול התקשורת הסטנדרטי TLS/SSL מאובטח IP. עיבוד פרוטוקול TLS בשבב מגביר את רמת האבטחה ומוריד את המעבד הראשי ממשימות אינטנסיביות מבחינה חישובית. זה בעל ערך רב עבור מערכות משובצות מוגבלות במשאבים.

מיקרו-בקר בהספק נמוך

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