گزینههای احراز هویت دستگاه
اعتبارهای دستگاه برای اتصال به سرور ThingsBoard توسط برنامههایی که در دستگاه اجرا میشوند، استفاده میشوند. ThingsBoard طراحی شده است تا اعتبارهای دستگاه مختلف را پشتیبانی کند. در حال حاضر، سه نوع اعتبار پشتیبانی میشود:
- توکن دسترسی – اعتبارهای عمومی که برای دستگاههای مختلف مناسب هستند. احراز هویت بر اساس توکن دسترسی ممکن است در حالت بدون رمزنگاری، حالت SSL یکطرفه یا حالت accessToken DTLS استفاده شود.
- مزایا: پشتیبانی از دستگاههای محدود منابع. هزینهٔ شبکه کم. آسان برای تأمین و استفاده.
- معایب: ممکن است به آسانی در هنگام استفاده از اتصال شبکه بدون رمزنگاری (HTTP به جای HTTPS، MQTT بدون TLS/SSL، CoAP بدون DTLS و غیره) قابل رهگیری باشد.
- اعتبارهای MQTT پایه – شبیه به گزینه اول، اما بر اساس MQTT Client Id، نام کاربری و رمز عبور کار میکند. میتوان در حالت بدون رمزنگاری یا حالت SSL یکطرفه استفاده شود.
- مزایا: پشتیبانی از دستگاههای محدود منابع. هزینهٔ شبکه کم. آسان برای تأمین و استفاده.
- معایب: ممکن است به آسانی در هنگام استفاده از اتصال شبکه بدون رمزنگاری (MQTT بدون TLS/SSL) قابل رهگیری باشد.
- گواهینامه X.509 – استاندارد PKI، TLS و DTLS. احراز هویت بر اساس گواهینامه X.509 در حالت SSL دوطرفه و حالت DTLS CoAP با استفاده از گواهینامه X.509 استفاده میشود.
- مزایا: سطح بالای امنیت با استفاده از اتصال شبکه رمزنگاری شده و زیرساخت کلید عمومی.
- معایب: توسط برخی از دستگاههای محدود منابع پشتیبانی نمیشود. تأثیر بر مصرف باتری و استفاده از CPU دارد.
اعتبارهای دستگاه باید برای موجودیت دستگاه مربوطه در سرور تأمین شوند. برای این کار روشهای مختلفی وجود دارد:
- به صورت خودکار، با استفاده از زنجیرهٔ گواهینامه X.509 یا تأمین دستگاه. این روش به دستگاهها اجازه میدهد خودشان را به طور خودکار در ThingsBoard تأمین کنند.
- توسط اسکریپت، با استفاده از رابط برنامهنویسی REST ThingsBoard. به عنوان مثال در طول تولید، کنترل کیفیت یا تکمیل سفارش خرید.
- به صورت دستی، با استفاده از رابط کاربری وب ThingsBoard. به عنوان مثال برای اهداف توسعه یا توسط مدیر سیستم.