Azure IOT Hub,是否可以让多个设备使用相同的身份验证凭据?

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

我使用 X.509 CA 方法和共享密钥成功连接到 Azure Iot Hub。

对于使用证书,很明显,每个设备内部都应具有由根 CA 签名的唯一证书/密钥。无论如何,存储这些证书需要付出巨大的努力,并且会浪费小型嵌入式 MCU 资源。

现在我根据这个用令牌尝试了 SAS
https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-dev-guide-sas?tabs=node#authenticating-a-device-to-iot-hub

对于设备,我在 Azure 门户中生成令牌

HostName=xxxxxx.azure-devices.net;DeviceId=mydevice1;SharedAccessSignature=SharedAccessSignature sr=xxxxxx.azure-devices.net%2Fdevices%2Fmydevice1&sig=ufWZ4OVyJpWu4EbyRESbAzY7kfTahcgT7n5P0xA4WU0%3D&se=4833693930

这个令牌也是唯一的,里面包含了设备的名称。我的嵌入式设备也可以用这种方法很好地连接,但我们正在设计可能有大量设备的过程。

是否有任何方法可以使用相同的令牌将多个设备连接到 Iot Hub,以使固件相同?或任何其他方法进行身份验证。

感谢任何提示,

azure-iot-hub
1个回答
0
投票

每个设备都需要一个唯一的 ID 和安全令牌。如果您直接连接到物联网中心,唯一的选择是 X.509 或 SAS。

另一种方法是使用 DPS (https://learn.microsoft.com/azure/iot-dps/) - 这种方法让设备首先连接到 DPS 以获得连接到 IoT 中心所需的连接信息.设备仍然需要唯一凭据来使用 DPS 进行身份验证,但除了 X.509 和 SAS 之外,设备还可以使用存储在其 TPM 中的信息。我不知道您的设备是否有 TPM,以及您有哪些选项可以在 TPM 中存储凭据。

要考虑的另一个选择是使用令牌服务。请参阅:https://learn.microsoft.com/azure/iot-hub/iot-hub-dev-guide-sas?tabs=node#create-a-token-service-to-integrate-existing-devices

© www.soinside.com 2019 - 2024. All rights reserved.