fix(nvs_flash): Remove the forceful selection of NVS_ENCRYPTION with flash encryption
- This change will introduce a breaking change for SoCs with the HMAC peripheral. Turning on flash encryption will no longer enable NVS encryption automatically. Closes https://github.com/espressif/esp-idf/issues/12549
This commit is contained in:
@@ -20,7 +20,13 @@ NVS Encryption: Flash Encryption-Based Scheme
|
||||
|
||||
In this scheme, the keys required for NVS encryption are stored in yet another partition, which is protected using :doc:`Flash Encryption <../../security/flash-encryption>`. Therefore, enabling :doc:`Flash Encryption <../../security/flash-encryption>` becomes a prerequisite for NVS encryption here.
|
||||
|
||||
NVS encryption is enabled by default when :doc:`../../security/flash-encryption` is enabled. This is done because Wi-Fi driver stores credentials (like SSID and passphrase) in the default NVS partition. It is important to encrypt them as default choice if platform level encryption is already enabled.
|
||||
.. only:: SOC_HMAC_SUPPORTED
|
||||
|
||||
NVS encryption should be enabled when :doc:`../../security/flash-encryption` is enabled because the Wi-Fi driver stores credentials (like SSID and passphrase) in the default NVS partition. It is important to encrypt them if platform level encryption is already enabled.
|
||||
|
||||
.. only:: not SOC_HMAC_SUPPORTED
|
||||
|
||||
NVS encryption is enabled by default when :doc:`../../security/flash-encryption` is enabled. This is done because Wi-Fi driver stores credentials (like SSID and passphrase) in the default NVS partition. It is important to encrypt them as default choice if platform level encryption is already enabled.
|
||||
|
||||
For using NVS encryption using this scheme, the partition table must contain the :ref:`nvs_encr_key_partition`. Two partition tables containing the :ref:`nvs_encr_key_partition` are provided for NVS encryption under the partition table option (``menuconfig`` > ``Partition Table``). They can be selected with the project configuration menu (``idf.py menuconfig``). Please refer to the example :example:`security/flash_encryption` for how to configure and use the NVS encryption feature.
|
||||
|
||||
|
||||
@@ -9,5 +9,6 @@ Migration from 5.1 to 5.2
|
||||
gcc
|
||||
peripherals
|
||||
protocols
|
||||
storage
|
||||
system
|
||||
wifi
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Storage
|
||||
=======
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
||||
NVS Encryption
|
||||
--------------
|
||||
|
||||
- For SoCs with the HMAC peripheral (``SOC_HMAC_SUPPORTED``), turning on :doc:`Flash Encryption <../../../security/flash-encryption>` will no longer automatically turn on :doc:`NVS encryption <../../../api-reference/storage/nvs_encryption>`.
|
||||
- You will need to explicitly turn on NVS encryption and select the required scheme (flash encryption-based or HMAC peripheral-based). You can select the HMAC peripheral-based scheme (:ref:`CONFIG_NVS_SEC_KEY_PROTECTION_SCHEME`), even if flash encryption is not enabled.
|
||||
- SoCs without the HMAC peripheral will still automatically turn on NVS encryption when flash encryption is enabled.
|
||||
@@ -9,5 +9,6 @@
|
||||
gcc
|
||||
peripherals
|
||||
protocols
|
||||
storage
|
||||
system
|
||||
wifi
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: ../../../../en/migration-guides/release-5.x/5.2/storage.rst
|
||||
Reference in New Issue
Block a user