在 DeviceTwin 中存储秘密

Store secrets in DeviceTwin

有点概念性的问题,我们正在考虑在我们的 IoT 中心解决方案中实现 devicetwins,我们很清楚我们可以在 devicetwin 配置中存储标签、元数据,但随后我们开始讨论在 devicetwin 配置中存储秘密.

我有点犹豫是否要开始在其中存储凭据/秘密 - 这是一个错误的假设吗?我是不是太担心了?

对此有几点看法

  • 设备孪生(或通常是设备注册表)不像 Azure Key Vault 那样经过特别加密,您也不能像在其他服务中那样使用 BYOK 对其进行加密。我们可以假设在幕后,它使用 Microsoft 管理的密钥以某种加密方式静态存储,但如果这对您的用例/安全要求来说不够好,那么您就出局了。
  • 对设备孪生的访问权限显然是设备本身(我猜你想在这里读取秘密),还有对 IoT 中心的设备注册表具有读取权限的每个人。这可能是您组织中确实需要访问注册表的很多人 - 即使他们可能不需要阅读机密。但是你无法区分他们的权限。因此,如果需要访问注册表的人多于应该访问秘密的人,那还是不行。
  • 从设备到 IoT 中心以读取孪生的任何访问始终通过 SSL 加密。所以从这个角度来说应该没问题。
  • 这些设备可能不会假设他们的双胞胎是非常敏感的东西并且没有适当地处理它。因此,您需要确保它们是,而不是例如,将它们的设备孪生以纯文本形式存储在它们的本地磁盘上。

如果您了解您的场景的所有这些要点 - 并且您知道任何安全隐患 - 那么我会说您可以在孪生中存储敏感值。 (这当然是假设我们不是在谈论贵公司的主密钥等...)