ESP32生产级设备的安全特性与OTA更新指南
1. 量产前的关键要点
在进行大规模生产之前,有几个关键要点需要牢记:
- 确保固件真实性 :运行在ESP32设备上的固件必须是我们自己的固件。实现这一点的方法是启用安全启动(Secure Boot)。这里的关键问题是加密密钥的生成和私钥的安全性。我们要确保私钥的保密性,仅将公钥与第三方(如生产和组装工厂)共享。
- 闪存加密 :安全启动可以保证固件的真实性,但它不会对固件进行加密,这意味着固件是以明文形式烧录的。任何人都可以读取固件并在其他地方使用。此外,如果我们需要在固件中嵌入一些敏感数据,这种漏洞的影响可能会超出设备本身。闪存加密用于防止此类攻击。不过,如果我们共享应用固件,在组装工厂中固件仍可能受到攻击。因此,最好使用两种不同的固件二进制文件:第一种用于组装工厂验证硬件,第二种是真正的应用程序,在受信任的工厂区域使用闪存加密进行烧录。
2. 数字签名(DS)
对于物联网设备来说,安全启动和闪存加密只是安全措施的一部分。在需要在设备上保存私钥的场景中(例如,与安全服务器进行相互认证),我们希望对该密钥有更高的安全性。为此,Espressif在较新的ESP32系列中引入了数字签名外设。
2.1 DS的工作原理
DS外设仅在ESP32 - S2、ESP - S3、ESP32 - C3和ESP - C6上可用,它为基于RSA的操作提供硬件加速。DS用于私钥安全的技术是多种其他加密方法的组合。其基本思想是使用一个秘密密钥对应用程序的私钥进行加密,这样只有拥有初始秘密密钥才能使用应用程序的私钥。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



