如何将 > 8K 的敏感二进制信息传输到 Azure 物联网设备

How to transfer > 8K sensitive binary information to Azure IoT Device

使用 Azure IoT 中心 SDK 连接到 IoT 中心的 IoT 设备如何检索作为设备配置一部分的大量敏感数据?

我知道我可以使用 Device Twins 作为每台设备的配置文件,但总共限制为 8K。 当我的设备 - 例如 - 重置为出厂默认设置或由于硬件故障以某种方式丢失其本地存储时,我需要将大量二进制格式的数据传输到设备。

我正在考虑使用 D2C 方法触发请求,这会导致对发送相关信息的请求设备进行一系列 C2D 或直接方法调用(基本上模仿 request/response 行为)。然而,这感觉像是一种解决方法。

我的另一个想法是将 URL 作为设备孪生属性的一部分传输到存储帐户,允许设备使用存储 SDK 下载二进制信息,但是考虑到下载信息的敏感性,我不能直接使用 Azure 存储中的 public 可访问容器将此信息公开到 Internet。

所以我最后的想法是访问控制信息访问的 REST API。然而,我担心的是,我打破了安全通信通道,IoT Hub SDK 提供了它内置的通信方法,我必须使用某种旋转秘密来保护设备和 REST API 之间的通信这可能会暴露其他风险以及复杂的自定义实现。

为 Azure IoT 客户端提供对此类设备特定数据的访问的建议方法是什么?

我建议使用 Azure IoT 中心的一项新功能(仍在预览中),例如 Device Streams

您可以使用我更新的工具测试这个新的预览功能 Azure IoT Hub Tester(参见附录 A2)