该服务是 Microsoft Azure IoT 架构的一部分。微软声称,他们设计这项服务的目的是为了在实际应用中为大量 IoT 设备的配置提供零接触的解决方面,而不需要人为干预。
Nicole Berdy 是 IoT Hub 的一名高级项目经理,他在公告中指出:
我们在设计“设备配置过程(Device Provisioning Process)”时,充分考虑了供应链面临的挑战,为以一种安全、可伸缩的方式配置数以百万计的设备提供了所需的基础设施。
典型的 IoT 设备配置过程可能包括在生产的时候向设备增加一个连接串,当设备部署完成后立即就可以开始发送消息。然而,这会导致安全和伸缩性方面的问题,因为每个设备在部署之前就必须有一个独一无二的连接串。
在 Azure IoT Hub 设备配置服务(DPS)中,过程就不一样了。
首先,制造商向 Azure 门户上的 DPS 实例中添加设备注册信息。至此,当设备在工厂中生产并准备好后,它就配置好了 DPS 服务的端点。
一旦设备激活,以下过程就会自动发生,无需人工干预:
1、设备和服务通信,发送设备标识信息证明其身份;
2、一旦注册标识和密钥验证通过,服务就会把设备注册到 IoT Hub,并创建期望的设备孪生状态,其中包含设备最初的配置信息;
3、IoT Hub 向 DPS 返回设备 ID;
4、DPS 向设备返回 IoT Hub 的连接信息;
5、设备直接和 IoT Hub 通信,从 IoT Hub 获取期望的状态配置。
此时,设备可以正常通信了。DPS 支持的协议和 Azure IoT Hub 一样,包括 HTTP、AMQP、 MQTT、AMQP over web sockets 和 MQTT over web sockets 等。
设备端和服务端操作的开发支持都是通过 SKD 提供的,可用的 SDK 有 C、C#、Java、Node、Python 等语言的。GitHub 上提供了这些 SDK 的下载,并且提供了快速入门教程,帮助用户开始使用这项服务。
IoT 解决方案的一个重要部分是保证设备及通信的安全。为此,DPS 当前支持两种设备标识机制:
1、X.509 证书,用于交换设备生产时创建并安装到设备上的证书;
2、从安装好的 TPM 设备上提取可信平台模块(TPM)“签注密钥(endorsement key)”的公共部分。TPM 是一个专用的微处理器,用于保障硬件安全,是一项国际标准。
Azure IoT Hub 设备配置服务可以连接到 Azure IoT Hub 的许多实例,使该服务可以向位于不同区域的许多 IoT Hub 分配设备,支持设备地理复制或负载均衡及跨不同的 Azure 订阅,支持多客户或环境。
自 2018 年 2 月 1 日起,该服务的收费标准为每 1000 次操作 0.10 美元,微软 Azure 文档站点提供了完整的文档。