【如果您之前有关注乐鑫的博客和新闻,那么应该对 ESP RainMaker 及其各项功能有所了解。如果不曾关注,建议先查看相关信息,知晓本文背景。】
在物联网系统的建构中,安全性是一项核心要素。乐鑫科技对系统安全给予了极高的重视。ESP RainMaker 平台能使设备安全接入 Wi-Fi 网络,并支持通过云平台进行有效的控制和监控。此外,硬件自身的安全性亦不容忽视。因此,乐鑫的 MCU 设备集成了多种安全特性,如安全启动、flash 加密等。
其中,安全启动功能尤为重要,该功能确保了只有获得授权的固件能在 MCU 上运行。在 ESP-IDF 中使能安全启动功能十分简便,然而,安全启动密钥的管理责任归开发者所有。对此,乐鑫用户有一系列疑问,例如:
- 如何生成安全启动密钥?
- 安全存储密钥的地方:是开发者的设备还是服务器?
- 如何防止密钥泄露?工程师离职对此有何影响?
- 如何正确配对设备和密钥,以避免升级时采用错误的密钥造成潜在风险?
- 如何管理固件相似但安全启动密钥不同的设备?
ESP RainMaker 最新引入的“安全签名”功能解答了上述疑问,扫除了用户的担忧。它具备如下功能:
- 生成和管理密钥;
- 在设备制造之前简化 BootLoader 和应用固件的签名过程;
- 支持在部署固件升级任务之前进行固件自动签名的功能。
OTA 的自动签名功能
使用 OTA 的自动签名功能时,开发者只需将未签名的固件上传到 ESP RainMaker 平台,并部署固件升级任务。ESP RainMaker 后端会在固件升级过程中使用正确的密钥进行签名处理。
如果这些设备使用不同密钥进行密钥验证,ESP RainMaker 将确保只有正确签名的固件发送到对应的设备。
开发者现在无需跟踪密钥(甚至在许多情况下,密钥对开发者不可见),从而极大地简化了设备签名密钥管理。
此外,由于密钥管理的过程在云端进行,无需开发者与设备管理人员的参与,使他们的分工变得更为明确。
密钥管理
在 ESP RainMaker 平台中,安全启动签名密钥在 ESP RainMaker 云端 中创建、维护。私钥本身对用户不可见,仅用于执行签名请求。在私有部署中,RainMaker 采用符合 FIPS(联邦信息处理标准)的硬件安全模块 (HSM) 确保安全性。访问控制授权了签名请求,确保只有获得授权的人员可以对固件镜像进行签名,增强了系统的安全性。
首次签名
在 ESP RainMaker 平台中创建签名密钥后,用户需要对启用安全启动功能的BootLoader 和固件进行签名,然后将它们烧录到生产设备上。操作方法是:首先,将未经过签名的 BootLoader 和固件镜像上传到相应的平台或工具中,上传完成后,用户对这些未签名的镜像进行首次签名操作。
ESP RainMaker 提供了详尽的烧录指南和设置说明,指导用户如何正确烧录签名后的BootLoader和固件到 SoC 上,以完成配置并确保设备能够实现安全启动。
安全签名功能适用于公共和私有 RainMaker 部署环境。在操作该功能时,请确保使用后端版本 2.1.0 或更新版本以及前端版本 2.0.1 或更新版本。
获取使用详情,请查看 ESP RainMaker docs。如有任何疑问,请发送邮件至 esp-rainmaker-support@espressif.com 与我们联系。