tutorial raspberry android mqtt

android - raspberry - Seguridad de MQTT: ¿cómo evitar que los abusadores se suscriban a temas?



mqtt raspberry (4)

ACL es lo que restringe a los clientes que se suscriben a temas, estoy usando un complemento de autenticación para hacerlo, aquí está el complemento de autenticación de mosquitto de enlace

Tengo todo configurado y trabajando para MQTT ahora. Estoy usando IBM wmqtt.jar y el agente de Mosquitto ..

Mi Java Servlet crea una MQTTConnection al intermediario y publica bajo el tema "AndroidDeviceID / myAppName".

El cliente de Android se suscribe a ese mismo tema ...

Me parece que si alguien supiera el nombre del dispositivo de mi usuario, podría crear una aplicación de Android simple y suscribirse a ese tema en mi agente MQTT. Luego reciben todas las notificaciones (en este caso, mensajes de mensajería instantánea) de mis usuarios.

¿Cómo se evita esto correctamente?


En general, MQTT mantiene la seguridad muy "liviana", ya que fue diseñada originalmente para su uso con redes de sensores cerradas. Depende de la implementación del agente proporcionar, por ejemplo, SSL y decidir cómo manejar el nombre de usuario / contraseña.

Es poco probable que el protocolo en sí proporcione el cifrado de los datos del mensaje y esto es algo que normalmente se realiza en la capa de la aplicación si esto es crítico.


Mosquitto proporciona seguridad a través de la autenticación de nombre de usuario y contraseña, además de limitar el acceso a temas con listas de control de acceso. Hay detalles en la página del manual de mosquitto.conf: http://mosquitto.org/man/mosquitto-conf-5.html


Si necesita una forma más personalizada de manejar el control de acceso y el permiso de los temas, intente usar el agente HiveMQ MQTT. Como se explica en la documentación, puede implementar su propio comportamiento con un complemento. Este enfoque le permite decidir completamente cómo se maneja la autenticación y autorización de los clientes, las publicaciones y las suscripciones [1]. Si está interesado, la mejor manera de comenzar con su propio complemento se describe aquí [2].

Por cierto, también es muy fácil configurar TLS para HiveMQ [3].

Cristiano (Equipo 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