読み方 : エムキューティーティーエス
MQTTS【MQTT over SSL/TLS】

MQTT(Message Queuing Telemetry Transport)は軽量なメッセージ伝送プロトコルで、処理能力やメモリが限られた組み込み機器や不安定なネットワーク環境での使用を想定して設計されている。Pub/Subモデルを採用しており、送信者(パブリッシャー)が中継サーバ(ブローカー)にメッセージを送り、そのトピックを購読している受信者(サブスクライバー)がメッセージを受け取ることができる。
標準のMQTTは暗号化機能を持たないため、インターネットなどオープンなネットワークで運用すると通信内容が平文で流れるリスクがある。MQTTSはこの通信経路にTLS(Transport Layer Security)を適用することで、盗聴や改竄、なりすましを防ぐ。HTTPに対するHTTPSと同様の関係である。標準のMQTTが1883番ポートを使用するのに対し、MQTTSでは8883番ポートが標準的に使われる。TLS接続の確立にはTLSサーバ証明書が必要であり、相互認証が必要な環境ではクライアント証明書も併用される。
MQTTSはスマートホーム機器、産業用センサー、医療機器、自動車のテレマティクス装置など、セキュリティが求められるIoT用途で採用されている。「AWS IoT Core」や「Azure IoT Hub」などのクラウドサービス、「Eclipse Mosquitto」などのMQTTブローカーは標準でMQTTSに対応しており、本番環境ではMQTTSによる接続が標準的な構成となっている。処理能力が極めて限られたマイコンでも、軽量なTLSライブラリを用いることでMQTTSを実装できる。