MQTT (Mesage Queuing Telemetry Transport) הוא פרוטוקול מסרים קל משקל נפוץ יישומי IoT.הבטחת האבטחה שלו כרוכה ביישום טכניקות הצפנה ואימות כדי להגן על נתונים ולמנוע גישה לא מורשית. מאמר זה דן שיטות מעשיות כדי לאבטח את התקשורת MQTT ביעילות.

טכניקות הצפנה עבור MQTT

הצפנה מבטיחה כי נתונים המועברים בין לקוחות וברוקרים נותרים חסויים.TLS (Transport Layer Security) היא השיטה הסטנדרטית להצפין את תעבורת MQTT. היא מצפינת את כל ערוץ התקשורת, המונעת נפיחות ונפיחות.

כדי ליישם את TLS, ליצור תעודות SSL עבור הברוקר והלקוחות.לתקן את ברוקר MQTT כדי לתמוך ב-TLS על ידי סימון קבצי תעודה.לקוחות חייבים גם להיות מוגדרים כדי לאמת את תעודת התיווך במהלך החיבור.

שיטות אימות

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

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

דוגמה מעשית: להזדקק MQTT עם TLS ותעודות לקוחות

ראשית, ליצור תעודה CA, אישור השרת ותעודות הלקוח. להגדיר את ברוקר MQTT כדי לאפשר TLS ולפרט את תעודת השרת ואת המפתח.אימות אישור לקוחות ניתן לאימות בהגדרות הברוקר.

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

באמצעות כלים כמו OpenSSL, מנהלי המערכת יכולים ליצור ולנהל תעודות. מ"קTT ברוקרים כגון Mosquitto תמיכה ב- TLS ואימות של לקוחות, ביצוע יישום פשוט עם תצורה נכונה.