0

我正在研究使用 Azure IoT 中心在软件客户端和后端之间进行通信。软件客户端应充当 IoT 中心用语中的设备。

是否可以将软件客户端配置为具有 IoT 中心设备配置服务的设备,而无需在 TPM 模块中为每个客户端提供唯一标识符或唯一 X.509 证书?

我不需要在配置之前对客户端进行身份验证,我只希望每个客户端都能够与 IoT 中心安全地通信。配置后,客户端必须是唯一可识别的。那时,其他客户端应该无法冒充它。

目前,我认为客户端软件需要嵌入一个中间证书,它可以使用它来签署它在尝试配置自己时创建的证书。

是否有其他方法可以让 IoT 中心客户端设备自行配置而无需使用 SAS、令牌或其他唯一标识符进行预编程?

4

2 回答 2

2

使用设备配置服务不需要使用 HSM(来源:我是该服务的 PM)。如果您的客户端都已拥有可用于生成叶证书的中间证书,并且您的所有设备的所有中间证书都有一个共同的签名者,那么您可以使用该共同签名证书在配置服务中创建一个注册组,然后允许您的所有设备通过该注册组进行配置。

配置服务不关心哪个实体是您的设备客户端提供的证书的最终信任根,但是您必须通过所有权证明步骤来证明您在使用时可以访问签名证书的私有部分一个招生组。通过证明链中签名证书的所有权(不必是根证书,只是中间证书之一),您证明您有权为将注册为一部分的设备生成叶证书那个招生组。

于 2018-03-22T16:57:09.717 回答
0

恐怕答案是否定的。

要连接 Azure IoT Hub,设备(软件客户端)需要选择安全密钥(与令牌相关)或 x509(证书)作为身份验证方法。

至于设备供应服务,您需要选择基于 x509 或 TPM 的身份来供应设备。

Device Provisioning Service 是 IoT 中心的一项辅助服务,可在无需人工干预的情况下实现对正确 IoT 中心的零接触、即时配置,从而允许客户以安全且可扩展的方式配置数百万台设备。

X.509 证书和 SAS 令牌都可以存储在硬件安全模块中,因此您不必在设备客户端中使用 SAS、令牌或其他唯一标识符进行预编程。

对于软件客户端,也许您可​​以使用基于软件的 TPM。但我不确定您的平台是否支持基于软件的 TPM。Windows 10 IoT核心支持软件 TPM。

于 2018-03-21T09:49:36.390 回答