پرش به مطلب اصلی

TLS در AirNgin

پلتفرم AirNgin، امکان برقراری ارتباط امن در سطح Transport Layer را فراهم کرده است. تولیدکنندگان می‌توانند برای افزایش امنیت ارتباط دستگاه‌های خود با سرور، از پروتکل TLS استفاده کنند.

استفاده از TLS باعث می‌شود ارتباط بین Device → Broker و Broker → Server در برابر شنود، دستکاری داده‌ها و حملات MITM محافظت شود.

چرا TLS مهم است؟​

TLS یک استاندارد جهانی برای ایجاد تونل امن رمزگذاری‌شده است. استفاده از آن مزایای زیر را برای شما به همراه دارد:

  • جلوگیری از شنود (Eavesdropping)

  • جلوگیری از دستکاری پیام‌ها (Tampering)

  • جلوگیری از حملات مرد میانی (MITM)

  • احراز هویت سرور (Server Authentication)

  • ارتباط امن حتی بدون استفاده از امنیت لایه دوم AirNgin

نحوه کار TLS در AirNgin​

پلتفرم ما روی پورت‌های زیر از TLS پشتیبانی می‌کند:

  • 1883 → Non-TLS (سریع، سبک، مناسب شبکه‌های محلی)

  • 8883 → TLS فعال (امن، مناسب ارتباط اینترنتی عمومی)

هنگامی که دستگاه شما به پورت 8883 متصل می‌شود:

  • اتصال TLS برقرار می‌شود

  • هویت سرور با استفاده از Certificate معتبر بررسی می‌شود

  • تمام ترافیک MQTT رمزگذاری می‌شود

نحوه استفاده​

برای فعال‌سازی TLS در ابزار خود کافیست هنگام اتصال به بروکر، به‌جای پورت 1883 از پورت 8883 استفاده کنید و آدرس بروکر اصلی (mqtt.airngin.com) یا بروکر پشتیبان (mqtt.airngin.ir) را با همان Username، Password و ClientId که در بخش ورود ابزار به سرور MQTT دریافت کرده‌اید فراخوانی کنید. کتابخانه MQTT مورد استفاده شما (مانند PubSubClient روی ESP32) باید یک WiFiClientSecure (یا معادل آن) با گواهی معتبر CA تنظیم شده باشد تا بتواند تونل TLS را برقرار کند؛ در غیر این صورت اتصال با خطای handshake رد خواهد شد.

نکته مهم: TLS یک لایه امنیتی مستقل از امنیت لایه دوم AES-256-GCM است؛ می‌توانید هرکدام را جدا یا هر دو را همزمان فعال کنید. برای جزئیات لایه دوم به امنیت لایه دوم مراجعه نمایید.

نکته درباره ساعت دستگاه: اعتبارسنجی گواهی TLS به ساعت صحیح میکروکنترلر وابسته است. اگر ابزار شما فاقد RTC است یا ساعت آن هنگام روشن شدن نامعتبر است، پیش از برقراری اتصال TLS ابتدا ساعت را (برای مثال از طریق تاپیک Time/Time/Tehran) تنظیم کنید.