MQTT暗号化通信を解析する
それでは、まずPublisherの暗号化通信についてネットワークアナライザであるWiresharkを使ってみていきましょう。Wiresharkの使い方については『IoT時代を支えるプロトコルMQTT(前編)』をご参照ください。
それでは、まずはWiresharkを起動してパケットキャプチャを行います(図7)。
次に、先ほどのPublisherを起動し、test.mosquitto.orgの8833番ポートに「SSLあり」で接続します(図8)。
C:\test> py pub-mqtt-tls.py Connected with result code 0 message published :
ここでも、Wiresharkのパケットキャプチャが開始されてからプログラムを起動するように注意してください。
さらにWiresharkで該当するトラフィックに対してSSL/TLS通信のデコードを適用します(図9)。
これにより、解析結果からPublisherとMQTT Brokerとの間でのSSL/TLSのやり取りの内容を確認することができます(図10)。
PublisherとMQTT Brokerとの間でのSSL/TLSのやり取りのシーケンスごとに並べると、図11のようになります。
上記のようにPublisherとMQTT Brokerとは暗号化通信によりデータが保護されているのが分かります。IoT(Internet of Things)では、データ通信内容をインターネット上でやり取りすることを意図しています。PublisherおよびSubscriberへ伝搬するメッセージには、さまざまな情報が含まれることを考慮するならば、暗号化によるデータ保護を前提としてシステム設計をすると良いでしょう。
次に、MQTTシステム設計上での課題について整理していきましょう。
この記事は参考になりましたか?
- この記事の著者
-
松本 直人(マツモト ナオト)
1996年より特別第二種通信事業者のエンジニアとしてインターネット網整備に従事。その後システム・コンサルタント,ビジネス・コンサルタントを経て2010年より,さくらインターネット株式会社 / さくらインターネット 研究所 上級研究員。(2016年より一時退任)研究テーマはネットワーク仮想化など。3~5年先に必要とされる技術研究に取り組み、世の中に情報共有することを活動基本としている。著書: 『モノのインターネットのコトハジメ』,『角川インターネット講座 ~ビッグデータを開拓せよ~』など多数。情報処理学会 インターネットと運用技術研究会 幹事
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

