Azure IoT Edge&;证书

Azure IoT Edge&;证书,azure,mqtt,azure-iot-edge,Azure,Mqtt,Azure Iot Edge,我们希望在我们的内部网络上部署几千台物联网设备,并通过物联网边缘作为透明网关(使用MQTT)将它们连接到Azure物联网中心 读了这篇文章,我似乎需要自己的根CA,所以我需要设置和管理自己的内部PKI基础设施(或者从第三方购买企业管理的CA服务)。对吗 我的替代方案是添加我自己的MQTT服务器模块,而不使用“透明”网关功能,但随后我放弃了C2D功能,因为模块无法接收C2D消息 我上面的假设是正确的还是错误的?从开发/测试的角度来看,但是如果您稍微研究一下这些文件,您可能还能够利用这些工作来制作能

我们希望在我们的内部网络上部署几千台物联网设备,并通过物联网边缘作为透明网关(使用MQTT)将它们连接到Azure物联网中心

读了这篇文章,我似乎需要自己的根CA,所以我需要设置和管理自己的内部PKI基础设施(或者从第三方购买企业管理的CA服务)。对吗

我的替代方案是添加我自己的MQTT服务器模块,而不使用“透明”网关功能,但随后我放弃了C2D功能,因为模块无法接收C2D消息

我上面的假设是正确的还是错误的?

从开发/测试的角度来看,但是如果您稍微研究一下这些文件,您可能还能够利用这些工作来制作能够满足生产需要的长期证书

不过,这需要非常谨慎地进行;您将制作需要仔细保护的强大安全“密钥”。

(仅供参考-我是您链接到的文档的作者…:))不要求使用完整的PKI基础设施或公共证书(如Digicert)。主要要求是,当叶设备尝试连接时,叶IoT设备信任IoT边缘返回的证书。最简单的方法是使用公共CA(digicert等),或者在已经有PKI基础设施的企业环境中,企业中的设备可能已经信任PKI基础设施。但这两项都不是必要条件。要求是让叶信任生成边缘证书的根证书,它可以是从openssl等生成的自签名根证书(就像我们的脚本一样)。这样做的缺点是,现在由你来保护证书的私有部分,以防止坏演员获得证书,但最重要的是,由你来将证书(公共)分发给你的叶子设备,并由你的叶子设备信任。根据叶设备的操作系统,这可能更容易(例如Windows组策略、linux脚本等),也可能更难(例如嵌入式操作系统)。但关键的一点是,可以只使用自签名证书,然后通过将自签名的根证书放入设备受信任的根ca列表(这取决于操作系统和编程语言),让叶设备信任它们


此外,根证书和设备ca证书之间不需要中间证书(我们的脚本只是为了显示“典型”环境)。然而,设备ca证书本身在“技术上”是一种中间证书(它是一种“签名”证书)。

我们为物联网中心活动建立了自己的内部ca。
我们创建了根CA和中间CA,然后将其部署到IoT边缘。
我们向IoT边缘提供了中间证书和私钥(我们必须删除密码)
我们已将根证书发送给设备制造商。

围绕OpenSSL构建您自己的小型web界面并不是那么棘手,只是取决于您希望与现有基础设施集成多少。例如,我将尝试一下,并为我们的项目采用自签名证书。经过调查,没有多大帮助。IoT Edge需要创建一个中间CA链(根、设备、工作负载)。您的超级web界面非常适合生成证书,但不是中间CA。应该有大量关于如何生成中间CA证书的文档(它实际上只是另一个带有额外标志的用户证书),然后您可以将web界面指向该证书继续前进。我们与Gavin有点同舟共济,试图找到一种解决方案,通过可信证书链将我们的物联网优势投入生产。我们有点迷茫的是,如果我们想在Digicert购买证书,或者出于其他目的,我们应该使用什么样的证书?更简单的选择是什么?