Skip to content
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

doc: psa_tls: update for TLS v1.3 #20833

Merged
merged 1 commit into from
Mar 24, 2025

Conversation

greg-fer
Copy link
Contributor

Updated sample documentation for TLS v1.3.
NCSDK-32250.

@greg-fer greg-fer added CI-disable Disable CI for this PR doc only labels Mar 10, 2025
@greg-fer greg-fer added this to the 3.0.0 milestone Mar 10, 2025
@greg-fer greg-fer requested review from magnev and endre-nordic March 10, 2025 13:54
@greg-fer greg-fer requested a review from a team as a code owner March 10, 2025 13:54
@github-actions github-actions bot added doc-required PR must not be merged without tech writer approval. changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Mar 10, 2025
@greg-fer greg-fer force-pushed the doc_psa_tls13_support branch from a939636 to 4fdd44a Compare March 10, 2025 13:55
@greg-fer greg-fer requested a review from a team as a code owner March 10, 2025 13:55
@github-actions github-actions bot removed the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Mar 10, 2025
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Mar 10, 2025

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 6

Inputs:

Sources:

more details

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (0)

Outputs:

Toolchain

Version:
Build docker image:

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain
  • ◻️ Build twister
  • ◻️ Integration tests

Note: This message is automatically posted and updated by the CI

@@ -251,15 +286,15 @@ After programming the sample to your development kit, complete the following ste

sudo ./eth_rtt_link --snr 960010000 --ipv4 192.0.2.1

#. Use ``openssl`` to start the server, which waits for the `client` connection and handshake operation.
#. Use OpenSSL to start the server, which waits for the `client` connection and handshake operation.

.. code-block:: console

openssl s_server -dtls -accept 4243 -cipher ECDHE-ECDSA-AES128-SHA256 -cert certs/ecdsa/cert.pem -key certs/ecdsa/cert.key
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about commands for DTSL server/client, @magnev ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DTLS v1.3 is not yet supported in OpenSSL, unfortunately.

Comment on lines 52 to 53
* RSA is not supported in applications with CMSE enabled.
* AES256 is not supported in applications with CMSE enabled that are running on nRF9160.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* RSA is not supported in applications with CMSE enabled.
* AES256 is not supported in applications with CMSE enabled that are running on nRF9160.
* RSA in applications with CMSE enabled.
* AES256 in applications running on the nRF9160 with CMSE enabled.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rephrased as instructed by @magnev . Kept is not supported for users who don't read the introductory lines to lists ;)


You can find the ``_SEGGER_RTT`` RAM address in the :file:`.map` file.
When using an nRF5340 development kit, if :file:`eth_rtt_link` cannot start the RTT connection, pass the ``_SEGGER_RTT`` RAM block address as a parameter using ``--rttcbaddr``, as shown in the following example:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When using an nRF5340 development kit, if :file:`eth_rtt_link` cannot start the RTT connection, pass the ``_SEGGER_RTT`` RAM block address as a parameter using ``--rttcbaddr``, as shown in the following example:
When using an nRF5340 development kit and the :file:`eth_rtt_link` cannot start the RTT connection, pass the ``_SEGGER_RTT`` RAM block address as a parameter using ``--rttcbaddr``, as shown in the following example:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see it as two conditions, so kept old phrasing.

@greg-fer greg-fer force-pushed the doc_psa_tls13_support branch 2 times, most recently from 1fcb312 to 69d275a Compare March 12, 2025 12:55
@greg-fer greg-fer requested a review from peknis March 12, 2025 12:55
* - ``nrf52840dk/nrf52840``
``nrf9160dk/nrf9160``
``nrf9151dk/nrf9151``
- :ref:`cc3xx_legacy<nrf_security_drivers_legacy>`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@magnev , can you double check links in this table? I'm not sure if the legacy links are correct. Thanks.

Copy link
Contributor

@magnev magnev Mar 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Links look good

@greg-fer greg-fer force-pushed the doc_psa_tls13_support branch from 69d275a to 50ca0b9 Compare March 18, 2025 13:45
@greg-fer greg-fer requested a review from a team as a code owner March 18, 2025 13:45
@@ -1,13 +1,13 @@
.. _crypto_tls:

Crypto: PSA TLS
###############
Crypto: PSA Transport Layer Security
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sample name is "psa_tls"
I was a bit confused trying to find the sample documentation in the doc preview link, before I realized the documentation was renamed.
"TLS" is a pretty established abbreviation, so I propose we keep the "abbreviated" sample name in the header to keep it simple for developers to match the doc with the sample name, and then we can expand the abbreviations in the text description

- No
- No
- AES256, AES-GCM, SHA-512
- Also supports :ref:`PSA Crypto nrf_oberon driver<nrf_security_drivers_oberon>`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be the "Mbed TLS legacy nrf_oberon" backend.

Mbed TLS "legacy crypto" and "PSA crypto" are two distinct crypto APIs. In this row we are referring TLS using the "legacy crypto" APIs.

Both "legacy" and PSA crypto APIs have A HW driver (using cc3xx driver) and a SW implementation (using the nrf_oberon oberon), however their configuration and usage are distinct.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, I now see that the legacy crypto using "nrf_oberon" is listed as a separate row below.
So just remove the "Also supports: PSA Crypto nrf_oberon driver" comment here

- No
- No
-
- Also supports :ref:`PSA Crypto nrf_oberon driver<nrf_security_drivers_oberon>`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leave this comment blank. Same reasoning as above (this row lists legacy crypto support. Not PSA crypto)

- No
- Yes
-
- Also supports :ref:`PSA Crypto nrf_oberon driver<nrf_security_drivers_oberon>`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leave this as blank as well.
SSF crypto service does not support nrf_oberon driver due to other reasons. The explanation might be a bit long for this comment. Happy to have a discussion offline.

- No
- No
-
- Also supports :ref:`PSA Crypto nrf_oberon driver<nrf_security_drivers_oberon>`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leave the comment blank here as well

- :ref:`PSA Crypto CRACEN driver<nrf_security_drivers_cracen>`
- Yes
- Yes
-
Copy link
Contributor

@magnev magnev Mar 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RSA is not supported for these last 3 targets in the list:

  • nrf54l15dk/nrf54l15/cpuapp,
  • nrf54l15dk/nrf54l10/cpuapp,
  • nrf54h20dk/nrf54h20/cpuapp / nrf54h20dk/nrf54h20/cpurad

- :ref:`PSA Crypto CRACEN driver<nrf_security_drivers_cracen>`
- Yes
- No
-
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RSA is not supported for any of the TLS v1.3 targets

Supported cipher suites
=======================

See the following tabs for the list of supported cipher suites for each TLS version.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps mention that other cipher suites may be working as well, but this list is what we verify

Updated sample documentation for TLS v1.3.
NCSDK-32250.

Signed-off-by: Grzegorz Ferenc <[email protected]>
@greg-fer greg-fer force-pushed the doc_psa_tls13_support branch from 50ca0b9 to 2f0f6ba Compare March 19, 2025 15:02
@greg-fer greg-fer requested review from magnev and endre-nordic March 19, 2025 15:02
@greg-fer
Copy link
Contributor Author

@magnev , @endre-nordic , kindly please re-review.

@rlubos rlubos merged commit d1c0981 into nrfconnect:main Mar 24, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI-disable Disable CI for this PR doc only doc-required PR must not be merged without tech writer approval.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants