ESP32 TLS 证书更新

问题描述 投票:0回答:1

我的公司将在他们的设备中使用 ESP32。我必须编写允许从 HTTPS 服务器下载 ESP32 OTA 更新的代码。 TLS 服务器的根证书每年过期一次。这是我的问题:如果证书已过期,如何安全地从服务器下载新证书?如果证书过期,我将失去对 ESP 的远程控制,并且无法向其上传新文件。例如,Chrome 或 Firefox(据我了解)等网络浏览器会更新其 CA 商店,而用户甚至不会注意到它。可以在 ESP32 上实现该功能吗?

我唯一的想法是连接第二个网站(HTTP,而不是 HTTPS),然后下载新证书。但我必须一直使用TLS,所以这个解决方案是不可接受的。我是网络技术新手,需要帮助和提示!

ssl esp32 cert
1个回答
0
投票

您确定服务器使用根证书,而不是中间证书吗?浏览器和嵌入式设备之间的区别在于,无论您当前的版本有多旧,您仍然可以使用简单的离线安装程序更新浏览器。对于嵌入式设备,OTA 服务器是唯一的生命线 - 如果设备无法与服务器通信,则无法更新。它变成了僵尸,只能通过电缆更新,这通常是不可行的。

如果您的嵌入式设备的 OTA 依赖于具有 1 年根证书的 PKI,我想说您的处境很糟糕。这要求每台设备无一例外地在前一个设备轮换之前更新其根证书,留下的任何人都是僵尸。如果您确定可以在截止日期之前更新全部,请继续这样做。请注意几个月无法访问互联网的设备(例如,因为它们位于仓库中)。

这是我按个人喜好排列的解决方案列表:

  1. 创建具有 50 年有效根证书的嵌入式 PKI。使用中间证书(由根证书签名)保护所有网络资产 - 这些资产可以随时轮换。每台设备都具有 50 年的根证书,并且可以验证任何中间证书,无论这些证书的轮换频率如何。请注意,如果需要,您仍然可以通过 OTA 轮换根证书,这只是在更受控制的情况下发生。
  2. 否则创建一个并行 PKI,根证书有效期为 50 年。然后使用您可用的任何方法来更新 OTA 证书(甚至可以选择通过 SMS 发送,只要您可以使用根证书验证传入的内容)。这很愚蠢,但您可以为错过截止日期的设备保留一些备用生命线。
  3. 放弃安全性,只接受错过轮换截止日期的设备无需任何验证即可更新其证书。
© www.soinside.com 2019 - 2024. All rights reserved.