31

これで、MQTTのすべてのセットアップと作業が完了しました。私はIBMwmqtt.jarとMosquittoブローカーを使用しています。

私のJavaサーブレットは、ブローカーへのMQTTConnectionを作成し、トピック「AndroidDeviceID/myAppName」で公開します。

Androidクライアントは同じトピックをサブスクライブします...

誰かが私のユーザーのデバイス名を知っていれば、簡単なAndroidアプリを作成して、私のMQTTブローカーでそのトピックをサブスクライブできるように思えます。次に、ユーザーからすべての通知(この場合はインスタントメッセージングメッセージ)を受け取ります。

これはどのように適切に回避されますか?

4

4 に答える 4

18

Mosquitto は、ユーザー名とパスワードによる認証と、アクセス制御リストによるトピックへのアクセス制限によってセキュリティを提供します。mosquitto.conf の man ページに詳細があります: http://mosquitto.org/man/mosquitto-conf-5.html

于 2012-04-07T18:54:12.270 に答える
6

ACL は、トピックにサブスクライブするクライアントを制限するものです。私は auth-plugin を使用してこれを行っています。リンクmosquitto auth pluginは次のとおりです。

于 2014-04-17T14:05:30.237 に答える
4

一般に、MQTT はもともと閉じたセンサー ネットワークで使用するために設計されているため、セキュリティは非常に「軽く」保たれます。SSL などを提供し、ユーザー名/パスワードのバックエンドを処理する方法を決定するのは、ブローカーの実装次第です。

メッセージ データの暗号化がプロトコル自体によって提供されることはほとんどなく、これが重要な場合は通常、アプリケーション層で行われます。

于 2012-04-08T15:49:59.240 に答える
2

トピックのアクセス制御と許可を処理するためのよりカスタムな方法が必要な場合は、HiveMQ MQTT ブローカーを使用してみてください。ドキュメントで説明されているように、プラグインを使用して独自の動作を実装できます。このアプローチにより、クライアント、パブリッシュ、およびサブスクライブの認証と承認をどのように処理するかを完全に決定できます [1]。興味がある場合は、独自のプラグインを開始する最良の方法がここに記載されています [2]。

ところで、HiveMQ の TLS を構成することも非常に簡単です [3]。

クリスチャン (HiveMQ チーム)

[1] http://www.hivemq.com/docs/plugins/1.5.0/#auth-permission-chapter

[2] http://www.hivemq.com/documentations/getting-started-plugins/

[3] http://www.hivemq.com/docs/hivemq/1.5.0/#hivemqdocs_ssl_tls

于 2014-05-03T18:49:54.923 に答える