SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

システム環境の明後日を支える新技術

IoT時代を支えるプロトコル「MQTT」(後編)

システム環境の明後日を支える新技術(6)

  • X ポスト
  • このエントリーをはてなブックマークに追加

MQTT暗号化通信を解析する

 それでは、まずPublisherの暗号化通信についてネットワークアナライザであるWiresharkを使ってみていきましょう。Wiresharkの使い方については『IoT時代を支えるプロトコルMQTT(前編)』をご参照ください。

 それでは、まずはWiresharkを起動してパケットキャプチャを行います(図7)。

図7. Wiresharkの起動とパケットキャプチャの開始方法
図7. Wiresharkの起動とパケットキャプチャの開始方法

 次に、先ほどのPublisherを起動し、test.mosquitto.orgの8833番ポートに「SSLあり」で接続します(図8)。

図8. MQTT Pythonライブラリを使ったClient/Publisher接続の実行例
C:\test> py pub-mqtt-tls.py
Connected with result code 0
message published
:

 ここでも、Wiresharkのパケットキャプチャが開始されてからプログラムを起動するように注意してください。

 さらにWiresharkで該当するトラフィックに対してSSL/TLS通信のデコードを適用します(図9)。

図9. WiresharkによるSSL/TLS解析手順 その1
図9. WiresharkによるSSL/TLS解析手順 その1

 これにより、解析結果からPublisherとMQTT Brokerとの間でのSSL/TLSのやり取りの内容を確認することができます(図10)。

図10. WiresharkによるSSL/TLS解析手順 その2
図10. WiresharkによるSSL/TLS解析手順 その2

 PublisherとMQTT Brokerとの間でのSSL/TLSのやり取りのシーケンスごとに並べると、図11のようになります。

図11. Publisher, BrokerにおけるMQTTコマンドの動作(暗号化通信)
図11. Publisher, BrokerにおけるMQTTコマンドの動作(暗号化通信)

 上記のようにPublisherとMQTT Brokerとは暗号化通信によりデータが保護されているのが分かります。IoT(Internet of Things)では、データ通信内容をインターネット上でやり取りすることを意図しています。PublisherおよびSubscriberへ伝搬するメッセージには、さまざまな情報が含まれることを考慮するならば、暗号化によるデータ保護を前提としてシステム設計をすると良いでしょう。

 次に、MQTTシステム設計上での課題について整理していきましょう。

次のページ
MQTTシステム設計上の課題

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
システム環境の明後日を支える新技術連載記事一覧

もっと読む

この記事の著者

松本 直人(マツモト ナオト)

1996年より特別第二種通信事業者のエンジニアとしてインターネット網整備に従事。その後システム・コンサルタント,ビジネス・コンサルタントを経て2010年より,さくらインターネット株式会社 / さくらインターネット 研究所 上級研究員。(2016年より一時退任)研究テーマはネットワーク仮想化など。3~5年先に必要とされる技術研究に取り組み、世の中に情報共有することを活動基本としている。著書: 『モノのインターネットのコトハジメ』,『角川インターネット講座 ~ビッグデータを開拓せよ~』など多数。情報処理学会 インターネットと運用技術研究会 幹事

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8020 2014/09/30 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング