MQTT Sicherheit – wie zu verhindern, dass Abwürfe Themen abonnieren?

Ich habe alles Setup und arbeite für MQTT jetzt. Ich benutze die IBM wmqtt.jar und die Mosquitto Makler ..

Mein Java Servlet erstellt eine MQTTConnection zum Broker und veröffentlicht unter dem Thema "AndroidDeviceID / myAppName" ..

  • Toast versus Dialogboxen: Wann?
  • Wie kann man die Kontextobjekte der beiden verschiedenen Aktivitäten vergleichen?
  • Sicherheit des Android-Assets
  • Eclipse sagt, dass mein Android-Projekt (e) Fehler enthält, aber es gibt keine
  • Abbrechen eines bereits geöffneten Toasts in Android
  • Wie kommuniziert man mit einem USB-Gerät?
  • Der Android-Client abonniert das gleiche Thema …

    Es scheint mir, dass wenn jemand den Gerätenamen meines Nutzers kannte, könnten sie eine einfache Android-App erstellen und dieses Thema auf meinem MQTT-Broker abonnieren. Dann bekommen sie alle Benachrichtigungen (in diesem Fall Instant Messaging-Nachrichten) von meinen Benutzern ..

    Wie wird das richtig vermieden?

  • PACKAGE_ADDED BroadcastReceiver funktioniert nicht
  • Verwendungen von Fragment-Tags
  • Android-String-Codierung und HTML-Entities Konvertierung
  • Android: Können Sie Daten über ein Telefongespräch senden / empfangen?
  • Richten Sie einen Stomp-Client in Android mit Spring-Framework auf Server-Seite ein
  • Wie bekomme ich Text von EditText?
  • 4 Solutions collect form web for “MQTT Sicherheit – wie zu verhindern, dass Abwürfe Themen abonnieren?”

    Mosquitto bietet Sicherheit durch Benutzername und Passwort-Authentifizierung sowie Begrenzung des Zugriffs auf Themen mit Zugriffssteuerungslisten. Es gibt Details in der mosquitto.conf man Seite: http://mosquitto.org/man/mosquitto-conf-5.html

    ACL ist, was beschränkt Kunden abonnieren Themen, ich bin mit einem auth-Plugin zu tun, hier ist der Link mosquitto auth Plugin

    Im Allgemeinen hält MQTT Sicherheit sehr "leicht", wie es ursprünglich für den Einsatz mit geschlossenen Sensornetzwerken konzipiert wurde. Es liegt an der Broker-Implementierung, um zB SSL zur Verfügung zu stellen und zu entscheiden, wie man mit dem Benutzernamen / Passwort-Backend umgehen soll.

    Eine Verschlüsselung von Nachrichtendaten ist wahrscheinlich nicht vom Protokoll selbst bereitgestellt und ist etwas, was typischerweise auf der Anwendungsschicht erfolgt, wenn dies kritisch ist.

    Wenn Sie eine benutzerdefinierte Art und Weise der Behandlung von Zugriffskontrolle und Erlaubnis von Themen benötigen, versuchen Sie es mit dem HiveMQ MQTT Broker. Wie in der Dokumentation erklärt, können Sie Ihr eigenes Verhalten mit einem Plugin umsetzen. Dieser Ansatz ermöglicht es Ihnen, vollständig zu entscheiden, wie die Authentifizierung und Autorisierung von Clients, veröffentlicht und abonniert wird behandelt [1]. Wenn Sie interessiert sind, ist der beste Weg, um mit Ihrem eigenen Plugin zu beginnen, hier beschrieben [2].

    Übrigens ist es auch sehr einfach, TLS für HiveMQ [3] zu konfigurieren.

    Christian (HiveMQ Team)

    [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

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.