-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Enable PSA RNG for nrf54h20 #24932
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Enable PSA RNG for nrf54h20 #24932
Conversation
|
The following west manifest projects have changed revision in this Pull Request:
⛔ DNM label due to: 1 project with PR revision Note: This message is automatically posted and updated by the Manifest GitHub Action. |
CI InformationTo view the history of this post, clich the 'edited' button above Inputs:Sources:sdk-nrf: PR head: a7fbace702ac1a3fa202aee6f294b31587e292af more detailssdk-nrf:
zephyr:
Github labels
List of changed files detected by CI (23)Outputs:ToolchainVersion: 46667c6630 Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
971746f to
feb192f
Compare
feb192f to
7212518
Compare
7212518 to
881bdce
Compare
|
You can find the documentation preview for this PR here. |
2369a9b to
b47e11b
Compare
8f7b070 to
ba2cc15
Compare
|
Ping @nrfconnect/ncs-co-build-system @nrfconnect/ncs-code-owners @nrfconnect/ncs-si-bluebagel |
ba2cc15 to
6fe9cd6
Compare
subsys/nrf_security/src/core/Kconfig
Outdated
| bool | ||
| prompt "No PSA core (for SSF crypto client support)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| bool | |
| prompt "No PSA core (for SSF crypto client support)" | |
| bool "No PSA core (for SSF crypto client support)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did that for both this and the other config in this file which used prompt.
6fe9cd6 to
1d54548
Compare
1d54548 to
9540f02
Compare
| - nrf52840dk/nrf52840 | ||
| - nrf5340dk/nrf5340/cpuapp | ||
| - nrf5340dk/nrf5340/cpuapp/ns | ||
| - nrf54h20dk/nrf54h20/cpuapp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So from now we cannot use Oberon crypto APIs directly on nRF54H20? If so, then maybe we should also add dependency that prevents enabling CONFIG_BT_FAST_PAIR_CRYPTO_OBERON on nRF54H20. Looking at the rest of your PR, we might also need to update the dependencies of the CONFIG_BT_FAST_PAIR_CRYPTO_PSA: MBEDTLS_PSA_CRYPTO_C should no longer be selected, right? (CONFIG_PSA_CRYPTO should be used instead)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MarekPieta I updated the BT_FAST_PAIR to take into account Ironside. Please check again.
Automatically created by Github Action Signed-off-by: Nordic Builder <[email protected]>
Make sure that the PSA_CORE_DISABLED is always selected and is the only available option for the Ironside enabled devices. Signed-off-by: Georgios Vasilakis <[email protected]>
Enable NRF_SECURITY by default when the PSA RNG is enabled with the Ironside devices. I also refactored the previous logic to avoid duplications in the default statements. Signed-off-by: Georgios Vasilakis <[email protected]>
Ironside is a provider of PSA services (including storage) so it cannot be used along with the trusted storage subsystem which provides PSA storage APIs. Signed-off-by: Georgios Vasilakis <[email protected]>
Enable the option PSA_CRYPTO when NRF_SECURITY is enabled. This will make it possible to select different providers for PSA crypto APIs, one provider being MbedTLS, another is TF-M and a custom one could be used as well. Since nrf_security provides PSA crypto APIs it sets the custom provider as default. Signed-off-by: Georgios Vasilakis <[email protected]>
The default entropy device for nRF54H20 now uses PSA APIs from Ironside. This is incompatible with Oberon so disable it in the test. Signed-off-by: Georgios Vasilakis <[email protected]>
When Ironside is enabled direct access to the crypto APIs is not possible. Add the relevant dependencies of the Ironside to the BT_FAST_PAIR options. Signed-off-by: Georgios Vasilakis <[email protected]>
e74620e to
a7fbace
Compare
|
@nrfconnect/ncs-dragoon Please have a look on this, only the last commit should be relevant to you. |
| select NRF_SECURITY | ||
| select MBEDTLS_PSA_CRYPTO_C | ||
| select MBEDTLS_ENABLE_HEAP | ||
| select MBEDTLS_PSA_CRYPTO_C if !DT_HAS_NORDIC_IRONSIDE_CALL_ENABLED |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we allow building with TFM_PROFILE_TYPE_MINIMAL if DT_HAS_NORDIC_IRONSIDE_CALL_ENABLED is set (as IronSide handles the crypto calls then)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we select CONFIG_PSA_CRYPTO instead of MBEDTLS_PSA_CRYPTO_C ? (or maybe selecting only the NRF_SECURITY would be sufficient here as it has select PSA_CRYPTO)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we allow building with TFM_PROFILE_TYPE_MINIMAL if DT_HAS_NORDIC_IRONSIDE_CALL_ENABLED is set (as IronSide handles the crypto calls then)?
TF-M is not supported in Ironside enabled devices at all. I am not sure how/if this is enforced at the moment but hopefully it is another task to make sure that this is not allowed at all.
Shouldn't we select CONFIG_PSA_CRYPTO instead of MBEDTLS_PSA_CRYPTO_C ? (or maybe selecting only the NRF_SECURITY would be sufficient here as it has select PSA_CRYPTO)
Yeah, my thinking was that since NRF_SECURITY enables it already we don't also need to do it here.
This PR enables the PSA RNG as the default random provider for nRF54h20. Please see commits for details