Azure 物联网中心反欺骗

Azure IoT Hub anti-spoofing

刚看完这篇

尽管如此,我仍在问自己的是,IoT 中心是否确实检测到有多个活动连接使用相同的设备 ID 和凭据? 如果攻击者窃取设备授权密钥或 SAS 令牌,就会出现这种情况。

反欺骗 属性 ConnectionDeviceGenerationId 似乎不用于此,因为:

generationId - An IoT hub-generated, case-sensitive string up to 128 characters long. This value is used to distinguish devices with the same deviceId, when they have been deleted and re-created.

What I am still asking myself though is whether the IoT Hub does detect that there are multiple active connections that use the same deviceid and credentials?

对于 AMQP 和 HTTP,在发送设备到云消息时,使用相同设备 ID 的多个活动连接能够正常工作。但是当接收云到设备消息时它不起作用。

但是对于 MQTT,IoT Hub only supports one active MQTT connection per device. Any new MQTT connection on behalf of the same device ID causes IoT Hub to drop the existing connection.

更新:

IoT Hub allows devices to use MQTT, MQTT over WebSockets, AMQP, AMQP over WebSockets, and HTTP protocols for device-side communications. The following table provides the high-level recommendations for your choice of protocol:

  • MQTT(基于 WebSocket 的 MQTT)

    在不需要通过同一 TLS 连接连接多个设备(每个设备都有自己的设备凭据)的所有设备上使用。

  • AMQP(基于 WebSocket 的 AMQP)

    在现场和云网关上使用以利用跨设备的连接多路复用。

  • HTTP

    用于不支持其他协议的设备。