חדשות היום

בינה מובנית מאפשרת אימות דיגיטלי בהתקנים רפואיים

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

אימות דיגיטלי
מערכות ID פשוטות כוללות החל מההחלפה של חתימות דיגיטליות ועד התחום המלא של סכמות אימות דיגיטלי. אימות דיגיטלי דורש בינה מובנית במערכת ובאביזר המאומת ברמת החומרה. מעבד מובנה ייכלל כבר במערכות חדישות רבות ודבר זה יכול לשמש לבקרת האימות בעוד מעבד בתוך האביזר יכול לשמש למימוש האימות. ההוספה של מיקרו-בקר זול ובעל הספק נמוך היא יחסית קלה באם האביזר המאומת אינו מכיל כל בינה מובנית.
ערוץ תקשורת דו-נתיבי בין המערכת והאביזר אשר יאפשר החלפת נתונים מהווה דרישה פיזיקלית נוספת. המערכת והאביזר יכולים להשתמש בערוץ תקשורת קיים, או שניתן להרחיב ערוץ בתוך הציוד כדי לאפשר תקשורת עם האביזר.
UART I2C™ ,SPI ופרוטוקולים בעלי מוליך יחיד (דוגמת פרוטוקול ®UNI/O) ניתנים כולם לשימוש אם יש צורך להוסיף ערוץ תקשורת, בגלל המספר המוגבל של מחברים, דרישות מימוש פרוטוקולים נמוכות ומגוון רחב של התקנים בעלי תמיכה בחומרה. RFID עשוי להיות מתאים עבור יישומים רפואיים אחדים, מאחר שהוא אינו דורש חיבורים חשמליים חיצוניים. דבר זה מפשט את הניקוי והחיטוי מאחר שניתן לאטום את האביזרים והמערכות.
העברת ID יכולה לספק אימות פשוט בשעה שהאביזר מזהה עצמו כלפי המערכת כאשר נדרש. ניתן להחליף את המיקרו-בקר של האביזר על-ידי EEPROM טורי בעל ID מאוכסן אשר נקרא על-ידי המערכת תוך שימוש בסכמה זו. ניתן למנוע תופעות כגון השימוש באביזרים לא נכונים או שימוש חוזר מוטעה על-ידי אכסון נתונים המצביעים על כך שהאביזר כבר היה בשימוש בעזרת העברת ID. אולם, רמת האבטחה היא נמוכה ביותר, מאחר שמזייפים צריכים רק להפעיל מחדש את ה-ID המוקלט בעזרת אביזר תקין.
תגובה ואימות האתגר (challenge) והנגזרות שלהם מציעים פיתרון יותר מאובטח. בסכמה זו, המערכת שואלת את האביזר שאלה שרק אביזר אוטנטי יכול לענות עליה. האביזר האוטנטי עונה נכון, בשעה שחיקוי מתגלה מיד ומטופל על-ידי המערכת בהתאם.
איור 2 מציג כיצד האימות אתגר/תגובה משתמש במספר שלבים במימוש טיפוסי.
1. המערכת מפיקה מספר אקראי, או אתגר 2.5.
2. האתגר מועבר אל האביזר.
3. האביזר משנה את האתגר בדרך קבועה-מראש, לא-בולטת, כדי לייצר את התגובה.
4. האביזר מעביר את התגובה למערכת.
5. המערכת שומרת על עותק מהאתגר ומשנה אותו כדי לקבוע את התגובה האידיאלית.
6. המערכת משווה את התגובה האידיאלית עם התגובה של האביזר. אם הן תואמות, האביזר הוא אוטנטי.
המערכת צריכה לאפשר מגוון רחב של אתגרים כדי להתגונן בפני זיופים, והיא יוצרת לוח בדיקה על תגובות אוטנטיות לשם אימות מאובטח. מלבד עשיית עלות האכסון של לוחות גדולים לא-כלכלית עבור מזייפים, חישוב התגובה במקום מקטין את דרישות האכסון במקום אכסון התגובה באביזר.
במערכת דיגיטלית דטרמיניסטית הפקת מספרים אקראיים במערכת לשימוש בתור אתגרים איננה משימה קלה. מעט מדידות חיצוניות הן באמת אקראיות, בלתי-חזויות ומחולקות שווה, ומספר מוגבל של אתגרים פוטנציאליים מקטין את מספר התגובות שיש לאכסן על-ידי הזייפנים. אלגוריתם להפקת מספרים כמו-אקראי הוא שיטה יותר איתנה עם כל מערכת בעלת מספר גרעין (seed) יחיד, המשתמש אולי כצורה שונה במספר הסידורי של המערכת. אלגוריתמים כמו-אקראיים מאומתים של הפקת מספרים יוצרים רצף בלתי-חוזר של מספרים המבוזר בצורה שווה בתחום הפוטנציאלי של ערכי מוצא. ערך הגרעין המשמש להחיל את האלגוריתם קובע את רצף ערכי המוצא, ולכל מערכת צריך להיות ערך גרעין יחיד כדי ליצור רצף מספרים יחיד. יש לאכסן את המשתנים של האלגוריתם בתוך זיכרון בלתי-נדיף, כך שערכיהם נשמרים כאשר מנתקים את הכוח מהמערכת כדי למנוע חידוש האלגוריתם וחזרה על רצף המספר.
קידוד האתגר או העברתו דרך פונקציה מתמטית חד-כיוונית, המכונה קיצוץ (hash) מאובטח יכול לספק את שינוי האתגר. בשני המקרים, השינוי איננו בולט ואינו מייצר כל מגמה של זיהוי במוצא עבור המבואות הרציפים. על השינוי להיות לא-בולט מאחר שניתן לנטר את האתגר ואת התגובות על-ידי האזנה בסתר בערוץ התקשורת. הניסיון לקבוע את השינוי על-ידי אלגוריתמי קידוד וקיצוץ מאובטחים דורש מספר מוגזם של חישובים ומספר גדול של זוגות אתגר-תגובה. AES,TDES ו-XTEA הם צופני קידוד מבוססי-בלוקים המתאימים לאימות מבוסס-מיקרו-בקרים מאחר שהם דורשים מרווח RAM תכנית קטנה והם יעילים במחשוב. תכונות אלה מאפשרות את השימוש במיקרו-בקר זול והיעילות שלהן פירושה שניתן לבצע קידוד על-ידי מימוש מספר נמוך של פקודות. דבר זה מקטין את הזרם הכולל מאחר שהוא מאפשר למיקרו-בקר להיות מוצב במצב נמוך-הספק בהשלמתו. צופנים מבוססי-בלוקים מצפינים מספר בייטים באותו הזמן ויוצרים תוצאה של ממד מתאים. כל צופני קידוד אלה נמצאים ברשות הכלל, עברו ניתוח בינלאומי של האבטחה שלהם ועצמת הקידוד שלהם נחשבת למובנת היטב. אלגוריתמי קיצוץ מאובטחים דומים לסיכום בדיקות של האתגר, עם עירוב של ערך סודי, המספק שיטה לקבוע באם החישובים נערכו על-ידי התקן אמיתי. אלגוריתמי קיצוץ, שלא כמו קידוד, אינם מיפוי אחד-לאחד. המבוא המקורי לא ניתן לשחזור מהתוצאה, מאחר שניתן להפיק אותו בעזרת יותר מאשר סט יחיד של נתוני מבוא. אלגוריתמי קיצוץ דוגמת הHMAC-SHA-1 ו-HMAC-SHA-256 מתאימים, אם כי הם דורשים לממש יותר RAM וזיכרון תכנית, דבר המחייב מיקרו-בקר יקר יותר.
שיטת השינוי עבור נתוני המבוא נקבעת בעזרת מפתח עבור הן הקיצוץ המאובטח והן הקידוד. המפתח, ולא צופני הקידוד שנבחרו, קובע את אבטחת המערכת ולכן יש לשמור אותו בסוד. שיטה זו, הידועה כעיקרון Kerchoff, קובעת שהידיעה איזה אלגוריתם משמש איננה שוללת את האבטחה מאחר שהמפתח קובע כיצד משתנה המבוא. כדי להבטיח שהמפתח לא ניתן לקריאה חופשית והוא נשמר בסוד, יש לשומרו בזיכרון המערכת, דוגמת הבזק בתוך-העיבוד או EEPROM. דבר זה ניתן להשיג גם על-ידי אכסון המפתח בתוך הזיכרון על-השבב של המיקרו-בקר ומתן אפשרות לתכנות האבטחה לחסום אותו בפני הורדה כדי למנוע זיהוי המפתח. בכל מקרה, יש לשמור בזהירות את הטיפול והידע של המפתחות במהלך תכנון המערכת ובסביבות הייצור כדי למנוע חשיפה.
מפתחות בגדלים שונים ניתנים לתמיכה על-ידי אלגוריתמים אחדים, בעוד מפתחות גדולים יותר מציעים אבטחה מוגברת במחיר של חישובים ומשאבים נוספים כדי לבצע קידוד. כל סכמות הקידוד הן פגיעות למתקפה בכוח אלים. תוך שימוש בזוג ידוע של נתוני מבוא ומוצא, המבוא מקודד על-ידי רצף גדל של מפתחות עד שנוצר מוצא מתאים. על-אף העובדה שדבר זה עשוי לדרוש חישובים ניכרים אף עבור מפתחות קטנים יותר, כוח המחשוב העולה בהתמדה הקיים פירושו ששווה לממש את המפתח הגדול ביותר האפשרי עבור התחום הרצוי של מיקרו-בקרים, מאחר שמספר המפתחות גדל בצורה מעריכית (אקספוננציאלית) עם גודל המפתח, ובכך מגדיל את הזמן הדרוש למתקפה אלימה. יש לבחור מפתחות בצורה אקראית כדי להפחית את הסיכוי שהתקפה אלימה תאתר את המפתח בשלב מוקדם של הניסיונות שלו. אם כי אפשרי מתמטית שהתקפה אלימה תאתר את המפתח בניסיונו הראשון, הדבר מאוד לא סביר בהתחשב במספר האפשרויות הרב.
כדי למנוע התקפה, אפשר להגדיל במידה מספקת את הזמן הדרוש להפקת לוחות של תגובות אמיתיות. ניתן להשיג מטרה זו הן על-ידי יצירת פסקי-זמן, כמו חמש שניות בין האימות, והן על-ידי קביעת גבולות על קצב הנתונים המרבי האפשרי עבור תקשורת, אשר מגביל באיזה תדירות ניתן לקלוט אתגרים. מאחר שהגודל בביטים של האתגרים מעלה מעריכית את גודל הטבלה, האכסון הופך ליקר מידי עבור זיופים. יש גם שיטות עבור אתגרים גדולים יותר מאשר גודל גוש הצופן. אימות-מחדש מחזורי יכול למנוע מהמערכת לאתחל עם אביזר אמיתי, ולאחר מכן להחליף באחר לאחר האימות.
אתגור אביזרים מרובים במקביל יקטין את הזמן הדרוש להפקת טבלה של תגובות טובות. אולם, הטבלה עדיין תדרוש כמויות גדולות של אכסון והזמן הדרוש עשוי להיות עדיין משמעותי לצייד כל אביזר מאומת בעזרת מפתח קידוד מהווה שיפור אשר מקנה לכל אביזר את התגובה היחידה שלו לאתגר ואף ידרוש מהמערכת לאכסן את מפתחות הקידוד עבור כל האביזרים המאומתים או להיות מסוגל להפיק את המפתח הדרוש. שתי השיטות דורשות שלאביזר יהיה מספר סידורי כדי לזהות את המפתח הדרוש, אך הפקת המפתח הדרוש היא יותר יעילה מבחינת האכסון. המערכת מספקת זאת עם הקידוד של המספר הסידורי של האביזר תוך שימוש במפתח ראשי סודי-ביותר, כמתואר באיור 3. התוצאה של פעולה זו משמשת כמפתח קידוד לשם אימות. אם המפתח הראשי נחשף, הסכימה אינה מסוגלת לגלות העתקות כך שיש לנקוט באמצעים כדי להגן על המפתח הראשי. רק המערכת צריכה לשמור על המפתח, מאחר שהמספרים הסידוריים של האביזרים ידועים תוך תהליך הייצור והמפתח הראשי הסודי כבר נקבע, דבר הקובע את מפתח הקידוד עבור כל אביזר. לכן, יש לתכנת את האביזרים רק בעזרת המספר הסידורי שלהם ומפתח הקידוד שלהם, כך שאינם דורשים את המפתח הראשי.
היתרון של סכימה זו הוא שהתקנים מרובים לא ניתנים לאתגר במקביל, מאחר שלכל אחד מהם תהיה תגובה שונה. כמו כן, במידה שאביזר מאומת ייחשף, ניתן יהיה לייצר רק חיקויים של אביזר זה עם מספרים סידוריים זהים. מערכות צריכות להיות מסוגלות לחסום מספר סידורי זה לאחר שהוא נחשף.
ניתן לרשום את המספר הסידורי של אביזר אוטומטית על-ידי המערכת בתוספת אימות דיגיטלי המאפשר להנהלה לאסוף בחזרה ולתגבר את תאריכי הסיום אם הם כלולים במספרים הסידוריים. אימות דיגיטלי משתמש בקידוד כגורם-שינוי והסרת הצופן אינה ממומשת. אולם הסרת הצופן עשויה לדרוש משאבים וקטעי קוד דומים, המאפשרים הוספת תקשורת מאובטחת בין המערכת והאביזר. ניתן לאכסן נתונים נוספים בזיכרון הלא-נדיף, בתוך המיקרו-בקר, כדי לקשור בצורה הדוקה את הכיול עם האביזר ולאפשר רישום של נתונים שימושיים.

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

בינה מובנת

מאת: Jonathan Dillon, Microchip

תגובות סגורות