MQTT是否可以让发布者在主题上定义允许的订阅者?

时间:2020-03-12 14:39:01

标签: python security mqtt

我有一个基本的MQTT问题:如果我有一个无法配置自己但匿名发布或订阅的代理,发布者是否可以在该主题上定义允许的客户?

例如使用mosquitto可以定义ACL文件,但只能在代理站点上定义。

如果不可能,用python加密已发布数据的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

不,MQTT发布者绝对不了解或控制哪些客户端可以订阅它发布消息的主题。

MQTT是一种发布/订阅协议,其主要宗旨之一是使发布者与订阅者完全脱钩。发布消息时,订阅者的数量可以是0到n个订阅者。

如@GDagger的注释中所述,控制的唯一选项是您可以加密有效负载,因此只有授权的订户才能解密它。由于MQTT有效负载只是字节的集合,因此您可以发送所需的任何内容(大小限制为256mb)

另一方面,代理具有完全控制权,它可以使用ACL来决定哪些客户端可以发布或订阅哪些主题。

相关问题