You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/nrf/libraries/security/trusted_storage.rst
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,9 @@ Trusted storage
8
8
:depth: 2
9
9
10
10
The trusted storage library enables its users to provide integrity, confidentiality and authenticity of stored data using Authenticated Encryption with Associated Data (AEAD) algorithms or cryptographic hash, without the use of TF-M Platform Root of Trust (PRoT).
11
-
The library implements the PSA Certified Secure Storage API.
11
+
The library implements the :ref:`PSA Certified Secure Storage API <ug_psa_certified_api_overview_secstorage>` for use on builds without TF-M (no :ref:`security by separation <ug_tfm_security_by_separation>`).
12
+
13
+
See also :ref:`secure_storage_in_ncs` for an overview of the PSA Secure Storage API implementation in the |NCS|.
12
14
13
15
Overview
14
16
********
@@ -87,6 +89,16 @@ The following backends are used in the trusted storage library:
87
89
88
90
The trusted storage library provides the ``TRUSTED_STORAGE_STORAGE_BACKEND_SETTINGS`` as a storage backend, but it has support for adding other memory types for storage.
89
91
92
+
Security functional requirement standards
93
+
=========================================
94
+
95
+
The trusted storage library addresses two of the PSA Certified Level 2 and Level 3 optional security functional requirements (SFRs):
96
+
97
+
* Secure Encrypted Storage (internal storage)
98
+
* Secure Storage (internal storage)
99
+
100
+
The Secure External Storage SFR is not covered by the trusted storage library, but you can implement a custom storage backend.
Copy file name to clipboardExpand all lines: doc/nrf/protocols/bt/bt_mesh/configuring.rst
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -291,13 +291,13 @@ The following two types of security risks are possible:
291
291
* Execute a key refresh procedure for all existing keys used on the entire network as soon as possible by excluding the compromised device, if any.
292
292
The mechanism to determine if the device is compromised is up to the OEM developers.
293
293
294
-
Additionally, after upgrading the device firmware with the key importer functionality enabled, and once the key import is complete, it is recommend to update device firmware with the key importer functionality disabled as soon as possible.
294
+
Additionally, after upgrading the device firmware with the key importer functionality enabled, and once the key import is complete, it is recommended to update device firmware with the key importer functionality disabled as soon as possible.
295
295
296
-
Trusted storage
297
-
---------------
296
+
Secure storage
297
+
--------------
298
298
299
-
The :ref:`trusted_storage_in_ncs` is a security mechanism designed to securely store and manage sensitive data.
300
-
Currently, all :ref:`bt_mesh_samples` in the |NCS| use the :ref:`trusted_storage_readme` library as the Trusted Storage backend for all supported platforms.
299
+
:ref:`secure_storage_in_ncs` lets you securely store and manage sensitive data.
300
+
Currently, all :ref:`bt_mesh_samples` in the |NCS| use the :ref:`trusted_storage_readme` library as the PSA Secure Storage API implementation for all supported platforms.
301
301
302
302
.. note::
303
303
For the nRF52840 devices, in regards to :ref:`bt_mesh_samples` in |NCS|, AEAD keys are derived using hashes of entry UIDs (:kconfig:option:`CONFIG_TRUSTED_STORAGE_BACKEND_AEAD_KEY_HASH_UID`).
Copy file name to clipboardExpand all lines: doc/nrf/protocols/matter/end_product/security.rst
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,12 +52,12 @@ The recommended values are provided in the :ref:`ug_matter_hw_requirements_layou
52
52
By default, the DAC private key is stored in the KMU storage while using TF-M.
53
53
See the :ref:`matter_platforms_security_dac_priv_key_kmu` section for more information.
54
54
55
-
Trusted storage
56
-
***************
55
+
Secure storage
56
+
**************
57
57
58
-
The :ref:`trusted_storage_in_ncs` is a security mechanism designed to securely store and manage sensitive data.
59
-
Currently, all :ref:`matter_samples` in the |NCS| use the :ref:`trusted_storage_readme` library as the Trusted Storage backend for all supported platforms.
60
-
You can find an overview of the Trusted Storage layer configuration supported for each |NCS| Matter-enabled platform in the :ref:`matter_platforms_security_support` section.
58
+
:ref:`secure_storage_in_ncs` lets you securely store and manage sensitive data.
59
+
Currently, all :ref:`matter_samples` in the |NCS| use the :ref:`trusted_storage_readme` library as the PSA Secure Storage API implementation for all supported platforms.
60
+
You can find an overview of the PSA Secure Storage configuration supported for each |NCS| Matter-enabled platform in the :ref:`matter_platforms_security_support` section.
61
61
62
62
.. note::
63
63
For the nRF52840 devices, in regards to :ref:`matter_samples` in |NCS|, AEAD keys are derived using hashes of entry UIDs (:kconfig:option:`CONFIG_TRUSTED_STORAGE_BACKEND_AEAD_KEY_HASH_UID`).
Copy file name to clipboardExpand all lines: doc/nrf/releases_and_maturity/releases/release-notes-2.7.0.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1353,7 +1353,7 @@ Documentation
1353
1353
* The :ref:`ug_wifi_overview` page by separating the information about Wi-Fi certification into its own :ref:`ug_wifi_certification` page under :ref:`ug_wifi`.
1354
1354
* The :ref:`ug_bt_mesh_configuring` page with an example of possible entries in the Settings NVS name cache.
1355
1355
* The :ref:`lib_security` page to include all security-related libraries.
1356
-
* The trusted storage support table in the :ref:`trusted_storage_in_ncs` section by adding nRF52833 and replacing nRF9160 with nRF91 Series.
1356
+
* The secure storage support table in the :ref:`secure_storage_in_ncs` page by adding nRF52833 and replacing nRF9160 with nRF91 Series.
1357
1357
* The :ref:`ug_nrf52_developing` and :ref:`ug_nrf5340` by adding notes about how to perform FOTA updates with samples using random HCI identities, some specifically relevant when using the iOS app.
1358
1358
* Improved the :ref:`ug_radio_fem` user guide to be up-to-date and more informative.
1359
1359
* The :ref:`bt_fast_pair_readme` page to document support for the FMDN extension and aligned the page with the sysbuild migration.
Copy file name to clipboardExpand all lines: doc/nrf/releases_and_maturity/releases/release-notes-3.0.0.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -382,7 +382,7 @@ Matter
382
382
383
383
* By disabling the :ref:`mpsl` before performing a factory reset to speed up the process.
384
384
* The :ref:`ug_matter_device_low_power_configuration` page to mention the `nWP049 - Matter over Thread: Power consumption and battery life`_ and `Online Power Profiler for Matter over Thread`_ as useful resources in optimizing the power consumption of a Matter device.
385
-
* The general documentation on trusted storage by moving it to the :ref:`trusted_storage_in_ncs` page and :ref:`trusted_storage_readme` library documentation.
385
+
* The general documentation on secure storage by moving it to the :ref:`secure_storage_in_ncs` page and :ref:`trusted_storage_readme` library documentation.
Copy file name to clipboardExpand all lines: doc/nrf/security.rst
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -122,10 +122,12 @@ Some of them are documented in detail in other parts of this documentation, whil
122
122
In the |NCS|, the CMSE support is implemented using Trusted Firmware-M (TF-M).
123
123
- See :ref:`app_boards_spe_nspe`.
124
124
- All samples and applications that support the ``*/ns`` :ref:`variant <app_boards_names>` of the boards.
125
-
* - Trusted storage
126
-
- The trusted storage library enables you to provide features like integrity, confidentiality and authenticity of the stored data, without using the TF-M Platform Root of Trust (PRoT).
127
-
- See :ref:`trusted_storage_in_ncs` and :ref:`trusted storage library configuration <trusted_storage_configuration>`.
128
-
- :ref:`trusted_storage_readme` library
125
+
* - Secure storage
126
+
- Secure storage enables you to provide features like integrity, confidentiality and authenticity of the stored data, with or without TF-M.
127
+
- See :ref:`secure_storage_in_ncs`.
128
+
- | - :ref:`trusted_storage_readme` library
129
+
|- TF-M's :ref:`ug_tfm_services_its`
130
+
|- TF-M's :ref:`tfm_partition_ps`
129
131
* - Hardware unique key (HUK)
130
132
- Nordic Semiconductor devices featuring the CryptoCell cryptographic accelerator allow the usage of a hardware unique key (HUK) for key derivation.
131
133
A HUK is a unique symmetric cryptographic key which is loaded in special hardware registers allowing the application to use the key by reference, without any access to the key material.
@@ -141,5 +143,5 @@ Some of them are documented in detail in other parts of this documentation, whil
Copy file name to clipboardExpand all lines: doc/nrf/security/crypto/crypto_architecture.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,7 +115,7 @@ When using the Oberon PSA Crypto implementation, persistent keys from the PSA Cr
115
115
* Zephyr's :ref:`Secure storage <zephyr:secure_storage>` subsystem - Zephyr-specific implementation of the functions defined in the `PSA Certified Secure Storage API`_.
116
116
* |NCS|'s :ref:`trusted_storage_readme` library - which provides features like integrity, confidentiality, and authenticity of the stored data without using the TF-M Platform Root of Trust (PRoT).
117
117
118
-
For more information about the storage integration for the Oberon PSA Crypto implementation, see :ref:`trusted_storage_in_ncs`.
118
+
For more information, see :ref:`secure_storage_in_ncs`.
Copy file name to clipboardExpand all lines: doc/nrf/security/psa_certified_api_overview.rst
+27-34Lines changed: 27 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -186,55 +186,48 @@ See PSA's `protected_storage.h`_ file for versioning.
186
186
187
187
The Secure Storage API consists of the following components:
188
188
189
-
* Internal Trusted Storage - The Internal Trusted Storage API is used internally by the SPE to store data persistently in secure flash.
189
+
* Internal Trusted Storage (ITS) - The Internal Trusted Storage API is used internally by the SPE to store data persistently in secure flash.
190
+
The Internal Trusted Storage API is one of the :ref:`ug_tfm_architecture_rot_services_platform` and is not available by default in the Non-Secure Callable interface.
190
191
It is possible to expose the Internal Trusted Storage API to the NSPE, but it is not recommended.
191
192
192
-
* Protected Storage - The Protected Storage API is for storing data persistently in secure flash and provides integrity checks to the stored data.
193
+
* Protected Storage (PS) - The Protected Storage API is used for securely storing data in non-volatile memory.
194
+
It provides authenticity and integrity checks to the stored data.
193
195
The Protected Storage API is one of :ref:`ug_tfm_architecture_rot_services_application` and is available in the Non-Secure Callable interface, making the Protected Storage API callable from either the SPE or the NSPE.
194
196
Data in Protected Storage has ownership, so data stored from the SPE is only available to the SPE.
195
197
196
198
The following table provides an overview over features in Internal Trusted Storage and Protected Storage:
| Root of Trust (RoT) |:ref:`Platform RoT Service <ug_tfm_architecture_rot_services_platform>` |:ref:`Application RoT Service <ug_tfm_architecture_rot_services_application>` |
SoCs from Nordic Semiconductor that come with dedicated hardware components for security (such as `nRF9160's System Protection Unit <nRF9160 System Protection Unit_>`_ or `nRF54L Series' security components <nRF54L15 Security_>`_) have the functionality for `flash <nRF9160 flash access control_>`_ (nRF9160) or `feature <nRF54L15 feature access control_>`_ (nRF54L15) access control, making it possible to configure different features as secure.
226
-
Internal Trusted Storage and Protected Storage saves data to the sections of secure flash.
227
-
This way, the NSPE cannot directly access data saved by the Internal Trusted Storage API or the Protected Storage API.
226
+
.. ncs-include:: secure_storage.rst
227
+
:start-after: secure_storage_options_table_start
228
+
:end-before: secure_storage_options_table_end
228
229
229
-
Internal Trusted Storage is by default only available from the SPE.
230
-
231
-
.. note::
232
-
233
-
For Nordic SoCs without TF-M's Platform Root of Trust (such as the nRF52832), the :ref:`trusted_storage_readme` library is used for the PSA Certified Secure Storage APIs.
234
-
235
-
The PSA Protected Storage API implementation is optional for use in the |NCS|.
236
-
It does not support storing data to external flash.
237
-
Instead, you can configure your application to encrypt data stored to the external flash, for example using the :ref:`ug_psa_certified_api_overview_crypto`.
230
+
For more information, see :ref:`secure_storage_in_ncs`.
0 commit comments