הבנה של תמיכה ב- Multi-User Systems

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

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

מושגים ודיסtinctions

לפני הטמעה, חשוב להבהיר מה המשמעות של תמיכה מרובה משתמשים בהקשר מוטבע.בניגוד ל- OS-purpose שבו משתמשים מרובים יכולים להיכנס באמצעות SSH או קונסולות גרפיות, מערכות משובצות לעתים קרובות אינטראקציה באמצעות ממשקים מיוחדים (למשל, מסכי מגע, לוחות אינטרנט, שדהבוס).משתמש יכול להיות מפעיל אנושי באמצעות מסוף פיזי, API שולח פקודות, או תהליך אוטומטי עם אישורים מערכת ההפעלה, IO, כדי לאכוף את התכונות של מערכת גישה, IO.

מערכות מרובות משתמשים הטמיעו בדרך כלל את בקרת הגישה של FLT:0discretionary Access control (DAC)BuildFLT:1 או FLT:2, 000 שליטה בגישה המנדטורית (MAC) EvolutionFLT 3(DAC, נפוץ במערכות מילוט מבוססות לינוקס, מאפשר למשתמשים לשלוט בגישה לאובייקטים שלהם.

אתגרים מרכזיים ב- Embedded Multi-User Implementation

המונחים: constraints

מערכות Embedded פועלות בדרך כלל עם 256 KB של RAM וכמה מגה-בתים של אחסון פלאש.כל מושב משתמש פעיל צורב זיכרון לאחסון חיוני, בלוקים של שליטה, תיאורי קבצים ומצב ישיבה.ראש של מסגרת ניהול מלא POSIX משתמשים (למשל, PAM, NSS) יכול להיות אסור מהנדסים ולכן אסורים לפסים מינימליים להגדרות - לעתים קרובות מוגבל של ממשק משתמש סטטי או קומפקטי עבור טבלאות קבועות.

זמן אמת-זמן-הפסקיניזם

(המבצעים הרב-משתמש כגון כניסה, אימות ובדיקות הרשאות מציגות הבדלים של שקיפות שיכולים להשפיע על מועדי זמן קשים בזמן אמת, אם משימה בזמן אמת גבוהה נאלצת לחכות לאימות של המשתמש להגדרתו, המערכת עשויה להחמיץ חלון מפריע, מיגציות כוללות אימות פועל במשימה נפרדת, נמוכה יותר ואימות ל- caching ב-Kallenapation במהירות עבור מערכות הפעלה מסוימות: 0FTM, כדי למנוע תמיכה משולבת לחלוטין.

התקפה אבטחה

הוספת משתמשים מרובים המתפרסמים את פני השטח של המערכת.כל ממשק משתמש (טווח, שרת אינטרנט, חיבור BLE) הוא נקודת כניסה פוטנציאלית עבור תנועה מאוחרת או הסלמה פריבילטיבית.המערכת המוטבעת חייבת להגן מפני פרצות נפוצות כמו buffer overflows ב-Tatretrated, כולל אמצעי אחסון מוגבלים (Ricial Replay), ו-Ring.com) כולל שימוש בספריות מינימליות (D.

ניהול ו Robustness

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

אסטרטגיות עיצוב עבור Multi-User Embedded OS

אור משקל אור ואימות ניהול זהות

אימות Embedd חייב לאזן את האבטחה עם שימוש במשאב.

  • (FLT:0 Token-based Authenment: 1FLT) משתמשים מציגים אסימוני חומרה (למשל, כרטיסי NFC, TOTP מסמארטפון) אשר מאומתים נגד סוד מאוחסן.הערך הסימון הוא אפסמריאל ואינו דורש סיסמה מלאה החלת על המכשיר.
  • (FLT:0) אימות ביומטרי: 1FLT טביעת אצבע או זיהוי Iris המשולב לתוך המכשיר.תבנית הביומטרית מאוחסנים בזיכרון ⁇ מאובטח, והתאמה של ריצה במעבד ייעודי כדי להימנע מטעינה את ה- CPU הראשי. גישה זו צוברת מתחומת במכשירים רפואיים בעלי ביטחון גבוה.
  • (ב) ⁇ (המפתח המשותף מראש (PSK) או מבוסס תעודה: 1.FLT:1 עבור מערכות חסרות ראש (למשל, נתבים, שערי IoT), לכל משתמש יש תעודה ייחודית או מפתח אשר מתעדים שיחות API.
  • (FLT:0) כניסה ללא מילים דרך נוכחות פיזית: קיד 1) כמה מכשירים משובצים עקפים אימות מסורתי על ידי דרישה של לחץ כפתור פיזי או קפיצה להעלאת הפריבילגיה באופן זמני.זה מקטין את המורכבות של הקוד אבל צריך להיות משולב עם אמצעי אבטחה חומרה כדי למנוע התעללות.

איזו שיטה נבחרת, אימות צריך להיות מחוספס מהיישום הראשי. a Small Identity daemon (או מודול הקרנל) מטפל אימות גולגולתי, בעוד שאר המערכת נותרה לא מודעת לזהויות משתמש עד בדיקת אישור יש צורך.אדריכלות זו תומכת בקרת גישה מבוססת תפקידים (RBAC) מתוך הקופסה.

פרופילים ומודלים של הרשאות

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

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

המונחים: Allocation and Fairness

מערכות מרובות משתמשים סיכון רעב משאבים אם משתמש אחד ממונופולס CPU, זיכרון, או I / O רוחב פס. Embedded לוח זמנים חייב לשלב תקציבים CPU למשתמש.לדוגמה, כל משתמש יכול להיות מוקצה פרוסה CPU מינימלית מובטחת באמצעות לוח זמנים מבוסס הזמנה (למשל, POSIX שרת זיכרון יכול להיות מפוזר באמצעות בריכות מוגדרות מראש - כל בריכה עם מזהה אחד יכול להיות מתואם על בסיס מערכת ההפעלה.

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

טכניקת בידוד

תהליך Isolation

מערכות הפעלה מוטבעות מודרניות (כמו FLT:0) Zephyr RTOSFLT) לספק חוטי חלל של משתמשים עם MPU ( יחידת הגנה מזיכרון) או תמיכה MMU.כל התהליכים של המשתמש לרוץ בתחומים נפרדים של חומרה, מונעים קריאה / טקסים לא מורשים.עבור מערכות ללא תשלום מ-MMU, מסתמך על בדיקות תוכנה בשכבה ה- RTOS API - כל משתמש הוא מוגבל משימות, אך ורק כדי לבצע בדיקות זיכרון מוגבלות.

וירטואליזציה

מלא או פר-וירטואליזציה יכול לבודד משתמשים שונים כמקרים נפרדים של מערכת ההפעלה של אורח.זה מתאים עבור מערכות משובצות high-end (ARM Cortex-A, RISC-V עם הרחבה יתר של Hypervisor) שבו תמיכה וירטואלית חומרה קיימת. כל משתמש רואה פלטפורמה וירטואלית מלאה, וקצת Hypervisor מדיה גישה למשאבים פיזיים.

TrustZone או Secure Enclaves

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

מחקרים: Multi-User Embedded Systems in Practice

מערכת בקרת תעשייה עם גישה מבוססת-תפקיד

שקול בקר לוגי הניתן לתוכנה (PLC) המשמש בקומת המפעל.מספר מפעילי עשויים להיות צריכים לפקח על קו הייצור, בעוד מפקח יכול לשנות את לוגיקה שליטה, ומנהל יכול לעדכן קושחה. RTOS מותאם אישית עם תמיכה מרובה משתמשים יושמה באמצעות FreeRTOS + מערכת קובץ אור עם ACLs.exe יש גישה רק ל- I/O מפות, מפקחים יש גישה ל-Logicial, ו-Certials יכול להבטיח את כל לוח זמנים של לוח זמנים לאטום.

Infusion Pump with Multi-User פרופילים

משאבה רב-רולולית של היתוך מאפשרת לאחיות לקבוע שיעורי ההיתוך, הרוקחים כדי לעקוף את ספריות התרופות, ומהנדסים ביו-רפואיים לחיישנים calibrate.מערכת ההפעלה (Nucleus RTOS) הורחבה עם מנהל פרופיל משתמש המאחסן עד 10 משתמשים בזיכרון פלאש מוצפן.כל פרופיל יש PIN ייחודי ותפקיד.

יצרן: Smart Home Hub

מרכז בית חכם יכול לשמש על ידי בני משפחה מרובים.כל חבר יש רמה שונה של גישה: הורים יכולים להוסיף מכשירים חדשים ולשנות הגדרות אבטחה; ילדים יכולים רק לשלוט אורות ותרמוסטטים; האורחים יכולים להשתמש PIN זמני כדי לפתוח את הדלת הקדמית.המרכז פועל לינוקס עם מערכת קבצים מינימלית ומשתמשת פרויקט Yocto לבנות. Multi-user תומך הוא מיושם עם מדבקה מותאם אישית כי לנהל אישורים כדי למנוע הפעלות אחד של המכשיר אינו מתאים.

שיקולים ביטחוניים וביטוח

ביקורת וחשבונאות

כל פעולה של משתמשים המשפיעה על אבטחה או מצב תפעולי חייבת להיות רשומה. יומן הביקורת צריך לכלול מזהה משתמש, פעמיםטאמפ, סוג פעולה, וכתוצאה (scess /failure) בתעשיות מוסדרות (בטיחות רפואית, תעשייתית, רכב), יומני חייב להיות tamper-הוכחה ושמר לתקופה מוגדרת. השתמש בחלוקה אחסון נפרדת, Append-רק (למשל, קטן I NOR) אשר אינו מוכר על ידי פעולות הגנה על ידי כל פעם.

Secure Boot ו- User Data Integrity

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

רשת Exsure

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

מגמות עתידיות ב- Multi-User Embedded OS

ככל חומרה מוטבעת הופכת להיות יותר מסוגלת (multi-core, MMU, הרחבות וירטואליזציה), תמיכה מרובה משתמשים תשתנה לעבר פרדיגמות מערכת ההפעלה קונבנציונליות יותר, בעוד עדיין עומד בדרישות בזמן אמת.העלייה של קוד פתוח RTOS כמו Zephyr ו- NutttttX היא סטנדרטיזציה של משתמשים-space ותכונות מרובות-משתמש על פני מגוון רחב של שבבים.SC-V עם PMP (הגנה פיזית) מאפשרת בידוד של תאים גמישים של תאים גמישים ב-אוטומטיים, אפילו ב-אוטומטיים, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, כל רמה גבוהה יותר של תכונות של תכונות של תכונות של תכונות מרובות של ממשקי-משתמש, עם רמה גבוהה של ממשק עם רמה גבוהה של ממשק עם רמה גבוהה של ממשק עם רמה גבוהה של אבטחה, עם רמה גבוהה של ממשק משתמש.

לבסוף, הנוף הרגולטורי הגדל למכשירים רפואיים (FDA), רכב (ISO 26262), ובטיחות תעשייתית (IEC 61508) ידחוף את ספקי מערכת ההפעלה המוטבעים לאמת באופן רשמי את יישום המשתמשים שלהם.זה עלול להוביל לאימוץ של microkernels (seL4) המספקים חללי משתמש מבודדים ובקרת גישה קפדנית ממש מחוץ לקופסה.

מסקנה

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