首页 > 解决方案 > ESP32 闪存加密

问题描述

致力于在 ESP32 上实现闪存加密和安全启动。第一步是让闪存加密工作。我的目标是以下设置:

MA连同我的 2 个 OTA 应用程序分区,我使用了一个子类型 nvs 的数据分区来存储我的设备安全证书以访问我的云后端。

在我的 partitions.csv 文件中,我认为我不能将 nvs 分区设置为加密,因为它会使我的设备变砖。如何确保安全?

我是否需要在 nvs_keys 分区中添加 nvs 加密?

标签: esp32esp-idf

解决方案


NVS 分区也可以加密,但它与加密 Flash 中的所有其他内容不同。简而言之,您需要两个分区。一种是使用 NVS 加密算法加密的 NVS 数据分区。另一个是“NVS 密钥”分区,它保存着以前的加密密钥,这个分区使用标准的 Flash 加密算法进行加密。如果这听起来令人困惑,欢迎来到俱乐部。但是,一旦您深入研究了这一点,它就可以正常工作。

预先生成带有一些数据(例如您的证书)的加密 NVS 数据分区现在需要一个额外的步骤,您可以在将其写入 Flash 之前在计算机上对其进行加密。


推荐阅读