2017-07-28 70 views
0

以下情况: 我们的网关具有TPM,我们将为每个设备证书(由我们的PKI颁发)配置它。 IoT Hub认证如何工作? 据我所知,需要在物联网集线器上注册主要和辅助证书的指纹,这是可以的。 稍后,我们想要使用主要证书来认证使用IoT Hub的设备。据this一个项目的源代码应该提供证书的私钥具有x509证书和TPM的Azure IoT Hub

var authWithPrimaryPfx = new DeviceAuthenticationWithX509Certificate(device.Id, primaryCertSecret); 

这是我想避免的。我不希望私钥在内存(RAM)中。是否有可能散列/加密并使用结果进行身份验证?它将如何工作?

我们将使用Windows 10物联网企业或Linux(而不是Windows 10物联网核心)

编辑:这里https://github.com/ms-iot/security/blob/master/Limpet/Limpet.NET/Limpet.cs是方法(SignHmac)用于创建基于一个SAS令牌的签名设备的主键直接在TPM(2.0)中。我需要与证书类似的东西。

+0

你检查[这](https://github.com/Azure/azure-iot-hub-vs-cs/wiki/Device -Provisioning与 - TPM)? –

+0

是的,这是我看到TpmDevice类的用法。该示例是我们不使用的Windows 10 IoT Core,它演示了对称密钥(主)的用法。我想使用证书 – Helikaon

+0

您可以[打开问题](https://github.com/ms-iot/security/issues)了解TPM支持的证书。 –

回答