当mqtt客户端在TLS握手期间不提供公钥证书时,是否会出现任何安全问题?

问题描述 投票:0回答:2

我正在建立一个类似于小型物联网的系统,其中mqtt设备(客户端)正在发送和接收与安全相关的关键信息或命令。

我已经知道,无需通过客户端的PK证书进行客户端身份验证,就可以选择建立TLS连接。

[通常,mqtt客户端设备没有足够的资源来支持PKI,首先,它必须存储证书,并且不时要在有效性已经过时或原始证书已通过时使用新发行的证书来更新它。撤销。

那是我认为的原因,为什么许多mqtt代理可以选择在TLS握手期间配置打开/关闭客户端身份验证。

但是,我担心的是,通过客户端身份验证步骤是否会出现任何安全问题,例如,冒充其他模仿我设备之一的恶意设备可以连接到代理的机会可能会获得这些关键信息和命令。

我的问题是考虑到设备的约束资源,我可以采取哪些最佳选择和最佳实践来最大程度地减少这种风险。

authentication ssl client mqtt handshake
2个回答
0
投票

缺少客户端身份验证意味着包括攻击者在内的每个人都可以声称自己是有效的客户端。可能存在诸如公共服务之类的用例,而这并不是问题,而在其他用例中,服务器仅希望限制对特定已知客户端的访问。


0
投票

此问题没有明确的答案,它将始终取决于以下因素,只有设计者才能回答这些问题:

  1. 您正在使用的威胁模型是什么?您试图将谁拒之门外,为什么,某人连接了红色客户会产生什么后果?
  2. 您准备花费多少?如果您打算为每台设备部署客户端证书,甚至是唯一的用户名/密码,将如何保护它?您打算使用的硬件是否支持安全的飞地/硬件秘密存储?这意味着攻击者从设备中提取客户端用户名/密码或密钥会有多困难?
  3. 您还有哪些其他安全措施?您是否具有访问控制列表来保护客户端可以发布/订阅的主题?您是否有适当的监视手段来检测来自客户端的恶意行为,以便可以断开和禁止它们?
© www.soinside.com 2019 - 2024. All rights reserved.