Table of Contents
MQTT (راهنمای حمل و نقل Telemetry) یک پروتکل پیام رسانی سبک است که معمولا در برنامه های IoT استفاده می شود. اطمینان از امنیت آن شامل اجرای تکنیک های رمزگذاری و تأیید اعتبار برای محافظت از داده ها و جلوگیری از دسترسی غیر مجاز است.این مقاله در مورد روش های عملی برای امن کردن ارتباطات MQTT به طور موثر بحث می کند.
تکنیک های رمزگذاری برای MQTT
رمزگذاری تضمین می کند که داده های انتقال بین مشتریان و کارگزاران محرمانه باقی مانده است. TLS (Transport Layer Security) روش استاندارد برای رمزگذاری ترافیک MQTT است. آن را رمزگذاری کل کانال ارتباطی، جلوگیری از تجزیه و تحلیل و دستکاری.
برای پیاده سازی TLS، تولید گواهینامه های SSL برای کارگزار و مشتریان. Configure the MQTT برای پشتیبانی از TLS با مشخص کردن فایل های گواهی.مشتریان همچنین باید پیکربندی شوند تا گواهی کارگزار را در طول اتصال تأیید کنند.
روش های Authentication
تأیید هویت مشتریان متصل به کارگزار MQTT را تأیید می کند. روش های مشترک شامل نام کاربری / رمز عبور و گواهی های مشتری است.استفاده از گواهینامه های مشتری سطح بالاتری از امنیت را از طریق TLS متقابل فراهم می کند.
پیاده سازی نام کاربری / احراز هویت رمز عبور شامل پیکربندی کارگزار برای اعتباربخشی به اعتبار ذخیره شده به طور ایمن است.برای امنیت پیشرفته، این را با TLS ترکیب کنید تا اعتبارنامه ها را در طول انتقال رمزگذاری کنید.
مثال عملی: تزریق MQTT با گواهینامه های TLS و مشتری
اول، یک گواهی CA، گواهی سرور و گواهینامه های مشتری ایجاد کنید. Configure the MQTT را برای فعال کردن TLS و مشخص کردن گواهی سرور و کلید.ارائه گواهی مشتری در تنظیمات کارگزار.
در سمت مشتری، گواهینامه مشتری و کلید را نصب کنید. مشتری MQTT را برای استفاده از این گواهینامه ها هنگام ایجاد یک اتصال، تنظیم می کند که تنها مشتریان دارای گواهینامه های معتبر می توانند به طور ایمن متصل شوند.
با استفاده از ابزارهایی مانند OpenSSL، مدیران می توانند گواهینامه های MQTT مانند Mosquitto را از TLS و گواهی مشتری پشتیبانی کنند و پیاده سازی را با پیکربندی مناسب انجام دهند.