tcp – MQTT بدون TLS – جلوگیری از ارسال پیام ها از دستگاه های غیرقابل شناسایی

من یک مورد استفاده دارم که در آن من نمی توانم از MQTTS / TLS به دلیل محدودیت در دستگاه استفاده کنم.

برنامه ما این است که در طول MQTT CONNECT تأییدیه را منتقل کنیم، یک نشانه JWT به عنوان یک کلمه عبور. اگر به درستی درک کنم MQTT یک اتصال TCP را برای تمام پیام های بعدی باز نگه می دارد.

با توجه به یک Broker استاندارد MQTT (مانند HiveMQ، VerneMQ، …)، ممکن است یک مهاجم به PUBLISH mqtt message بدون تماس CONNECT ابتدا؟

البته آنها به طور بالقوه میتوانند نشانه JWT را تشخیص دهند و با CONNECT تماس بگیرند، اما این نشانه تنها برای مدت کوتاهی معتبر خواهد بود .. و همچنین ما می توانیم برخی از حسابرسی در CONNECT برای جلوگیری از حملات (فیلتر کردن IP، …)

قرار داد.

من شناخته شده است که در هر صورت این راه حل امن اثبات نخواهد شد، اما این تنها در یک مجموعه کوچک از دستگاهها مورد استفاده قرار می گیرد، امیدوارم مدت زمان کوتاهی باشد.

نگرانی من این است که آیا مهاجم فقط می تواند ترافیک را از طرف یک اتصال TCP دیگر ارسال کند؟ تماس انتشار بدون تماس اول CONNECT . شاید این حس نداشته باشد …