我正在调查使用Azure IoT中心进行软件客户端和后端之间的通信。软件客户端应充当物联网中心用语中的设备。
是否可以将软件客户端配置为具有IoT Hub设备配置服务的设备,而不是每个客户端都在TPM模块中获得唯一标识符或唯一的X.509证书?
在配置之前,我不需要对客户端进行身份验证,我只希望每个客户端能够与IoT中心安全地通信。配置后,客户端必须是唯一可识别的。那时,其他客户端不应该冒充它。
目前,我认为客户端软件需要嵌入一个中间证书,它可以用来签署它在尝试自行配置时创建的证书。
是否有其他方法可以让IoT集线器客户端设备自行配置,而无需使用SAS,令牌或其他唯一标识符进行预编程?
答案 0 :(得分:2)
使用设备配置服务不需要使用HSM(来源:我是服务的PM)。如果您的客户已经拥有一个中间证书,他们可以用来生成叶证书,如果所有设备的所有中间证书都有一个共同签名者,那么您可以使用该通用签名证书在配置服务中创建一个注册组允许所有设备通过该注册组进行配置。
配置服务并不关心哪个实体是您的设备客户所提供的证书的最终信任根,但您必须通过持有证明步骤来证明您可以访问签名的私有部分使用注册组时的证书。通过证明链中的签名证书的所有权(不必是根,只是其中一个中间人),您证明您有权为将要注册为其中一部分的设备生成叶证书。那个报名组。
答案 1 :(得分:0)
恐怕答案是肯定的。
要连接Azure IoT Hub,设备(软件客户端)需要选择Secuity Keys(与Tokens相关)或x509(certificate)作为身份验证方法。
至于Device Provisioning Service,您需要选择x509或基于TPM的身份来配置设备。
Device Provisioning Service是IoT Hub的帮助服务 为正确的IoT集线器提供零接触,及时配置 无需人为干预,允许客户提供 数百万台设备以安全和可扩展的方式。
X.509证书和SAS令牌都可以存储在硬件安全模块中,因此您不必在设备客户端中使用SAS,令牌或其他唯一标识符进行预编程。
对于软件客户端,也许您可以使用基于软件的TPM。但我不确定您的平台是否支持基于软件的TPM。 There是Windows 10 IoT核心支持的软件TPM。