我应该如何验证我的设备?
我有一个arduino yun,在OpenWRT端运行“守护程序”。守护程序从我的消息代理读取命令,执行命令,然后返回值。

在与代理进行通信之前,应该对设备进行身份验证(我相信)。正确的流程是什么?

我是否需要对其进行身份验证?如果代理凭据已嵌入在设备中,则可能不需要这样做。但是我不太确定。

#1 楼

MQTT支持用户名/密码身份验证和客户端证书,以向代理对客户端进行身份验证。

使用证书还可以让您验证代理(如果您使用证书固定)没有被模拟。

评论


请注意,这些方案通常无法抵御原来是真实的但现在受到危害的客户端盒,它们在监视旨在供其他用户拥有的其他客户端的流量时使用。

–克里斯·斯特拉顿(Chris Stratton)
18年4月4日在18:41



不会,但是构建良好的主题树和ACL将确保受感染的客户端只能看到针对该客户端的流量,并且吊销证书的能力将切断该客户端。密钥/证书应尽可能存放在安全的地方

– hardillb
18年6月4日在18:43

我相信您需要使用一个插件来提供这种隔离-不幸的是,这不是设计功能之一。就密钥而言,它们是否位于安全元素中并不重要-它们在每个客户端实例中都必须是唯一的,并且客户端的整个功能几乎都是攻击面,有人可以通过该攻击面进行攻击。客户将其密钥用于制造商意想不到的目的,因此,您不必限制密钥的使用,而必须限制密钥的功能。

–克里斯·斯特拉顿(Chris Stratton)
18年6月4日在18:46



我所描述的任何东西都不需要插件(但是mosquitto插件可以使事情管理更轻松)。是的,一个紧密绑定的ACL与证书/密钥身份相关联,是正确的前进方向,但是由于问题令人难以置信,所以高层的回答可能就足够了。如果需要,可以随意添加自己的。

– hardillb
18年6月4日在18:50