Manuel Pégourié-Gonnard
432e3b4198
Misc fixes & improvements to driver testing doc
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:44:41 +02:00
Manuel Pégourié-Gonnard
a47a3c4e13
Rephrase description of the KDF situation
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:44:41 +02:00
Manuel Pégourié-Gonnard
ae22f04769
Refine paragraphs about incomplete entry points
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:44:41 +02:00
Manuel Pégourié-Gonnard
0ca2fd0e2b
Update libtestdriver1 vs internal
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:44:40 +02:00
Manuel Pégourié-Gonnard
dde1abd572
Update of opaque asymmetric encrypt/decrypt
...
https://github.com/Mbed-TLS/mbedtls/pull/8700 merged in the meantime.
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:44:40 +02:00
Manuel Pégourié-Gonnard
6c45361a9c
Update for HMAC testing
...
Been merged in the meantime.
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:44:40 +02:00
Manuel Pégourié-Gonnard
98f8da1b1a
Update names of components renamed in the meantime
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:44:40 +02:00
Manuel Pégourié-Gonnard
f2089dab5e
Update status of RSA testing
...
Improved by https://github.com/Mbed-TLS/mbedtls/pull/8616/ - closing
8553.
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:40:01 +02:00
Manuel Pégourié-Gonnard
b18bc80133
Add note about fallback to other entry points
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:40:01 +02:00
Manuel Pégourié-Gonnard
6a96f42051
Document driver wrapper suite & tested configs
...
The coverage data for the test drivers was generated using the following
patch:
diff --git a/scripts/lcov.sh b/scripts/lcov.sh
index 9258ba788874..1ef071a65c06 100755
--- a/scripts/lcov.sh
+++ b/scripts/lcov.sh
@@ -63,8 +63,8 @@ if [ $# -gt 0 ] && [ "$1" = "--help" ]; then
fi
if in_mbedtls_build_dir; then
- library_dir='library'
- title='Mbed TLS'
+ library_dir='tests/src/drivers'
+ title='Mbed TLS test drivers'
else
library_dir='core'
title='TF-PSA-Crypto'
diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh
index 734d8323ca73..f6b17ca5692b 100755
--- a/tests/scripts/all.sh
+++ b/tests/scripts/all.sh
@@ -4795,14 +4795,17 @@ component_test_psa_crypto_drivers () {
msg "build: full + test drivers dispatching to builtins"
scripts/config.py full
scripts/config.py unset MBEDTLS_PSA_CRYPTO_CONFIG
- loc_cflags="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST_ALL"
+ loc_cflags="--coverage -DPSA_CRYPTO_DRIVER_TEST_ALL"
loc_cflags="${loc_cflags} '-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/user-config-for-test.h\"'"
- loc_cflags="${loc_cflags} -I../tests/include -O2"
+ loc_cflags="${loc_cflags} -I../tests/include -Og -g3"
- make CC=gcc CFLAGS="${loc_cflags}" LDFLAGS="$ASAN_CFLAGS"
+ make CC=gcc CFLAGS="${loc_cflags}" LDFLAGS="--coverage" -C tests test_suite_psa_crypto_driver_wrappers
msg "test: full + test drivers dispatching to builtins"
- make test
+ (cd tests && ./test_suite_psa_crypto_driver_wrappers --verbose)
+ #make test
+
+ scripts/lcov.sh
}
component_test_make_shared () {
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:40:01 +02:00
Manuel Pégourié-Gonnard
b66f9dba11
Document test-driver status per family
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:40:00 +02:00
Manuel Pégourié-Gonnard
1a827a3422
Start documenting test-driver framework.
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-04-12 12:40:00 +02:00
Bence Szépkúti
a376f84eb1
Merge pull request #8937 from valeriosetti/issue8712
...
Clarify the documentation of mbedtls_pk_setup_opaque
2024-04-04 13:40:57 +00:00
Valerio Setti
ac81e23c33
pk: add check_pair info to mbedtls_pk_setup_opaque() documentation
...
This also updates use-psa-crypto.md accordingly.
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-03-22 14:36:41 +01:00
Minos Galanakis
b70f0fd9a9
Merge branch 'development' into 'development-restricted'
...
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
2024-03-19 22:24:40 +00:00
David Horstmann
3147034457
Mention MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS
...
Explain this option and the way it relates to the copying macros.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-18 15:59:03 +00:00
David Horstmann
0ea8071bda
Remove 'Question' line around testing
...
This question has been resolved, as we know that we can test
transparently.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-18 15:51:03 +00:00
David Horstmann
4d01066311
Mention metatest.c
...
Add a note that validation of validation was implemented in metatest.c
and explain briefly what that program is for.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-18 15:02:08 +00:00
David Horstmann
872ee6ece0
Mention MBEDTLS_TEST_MEMORY_CAN_POISON
...
The configuration of memory poisoning is now performed via
compile-time detection setting MBEDTLS_MEMORY_CAN_POISON. Update
the design to take account of this.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-18 15:00:08 +00:00
David Horstmann
12b35bf3c2
Discuss test wrappers and updating them
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-18 14:48:52 +00:00
David Horstmann
5ea99af0f2
Add discussion of copying conveience macros
...
Namely LOCAL_INPUT_DECLARE() and friends
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-18 14:12:12 +00:00
David Horstmann
1c3b227065
Abstractify example in design exploration
...
Since this is just an example, remove specific-sounding references to
mbedtls_psa_core_poison_memory() and replace with more abstract and
generic-sounding memory_poison_hook() and memory_unpoison_hook().
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-18 13:37:59 +00:00
David Horstmann
3f2dcdd142
Rename mbedtls_psa_core_poison_memory()
...
The actual functions were called mbedtls_test_memory_poison()
and mbedtls_test_memory_unpoison(). Update the design section to
reflect this.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-18 13:32:57 +00:00
David Horstmann
331b2cfb31
Clarify design decision in light of actions
...
We were successful in adding transparent memory-poisoning testing, so
simplify to the real design decision we made.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-18 13:17:25 +00:00
Dave Rodgman
5ce1577629
Merge pull request #8928 from Ryan-Everett-arm/update-psa-thread-safety-docs
...
Update psa-thread-safety.md to reflect version 3.6 changes
2024-03-18 12:06:39 +00:00
Ryan Everett
765b75f2f8
Update docs/architecture/psa-thread-safety/psa-thread-safety.md
...
Co-authored-by: Paul Elliott <62069445+paul-elliott-arm@users.noreply.github.com>
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-03-18 10:20:43 +00:00
Ryan Everett
f266b51e3f
Respond to feedback on psa-thread-safety.md
...
A few typo fixes, extrapolations and extra details.
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-03-15 17:30:31 +00:00
Ryan Everett
c408ef463c
Update slot transition diagram
...
Adds missing transition and italicises internal functions
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-03-15 17:29:46 +00:00
Ronald Cron
a9bdc8fbb8
Improve tls13-support.md
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-15 15:52:04 +01:00
Ronald Cron
d514d9c798
tls13-early-data.md: Fix reading early data documentation
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-15 10:41:52 +01:00
Ronald Cron
0fce958f17
tls13-early-data.md: Adapt code examples to new coding style
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-15 10:41:52 +01:00
Ronald Cron
b372b2e5bb
docs: Move TLS 1.3 early data doc to a dedicated file
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-15 10:41:52 +01:00
Ronald Cron
d76a2d8b98
tls13-support.md: Stop referring to the prototype
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-15 10:41:52 +01:00
Ronald Cron
1b606d8835
tls13-support.md: Early data supported now
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-15 10:41:52 +01:00
Ronald Cron
124ed8a775
tls13-support.md: Some fixes
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-15 10:41:52 +01:00
David Horstmann
24c269fd4a
Rewrite section on PSA copy functions
...
The finally implemented functions were significantly different from the
initial design idea, so update the document accordingly.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-14 18:03:35 +00:00
Ryan Everett
d4d6a7a20d
Rework and update psa-thread-safety.md
...
I have restructured this file, and updated it to reflect changes in design/designs now being implemented.
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-03-14 15:22:06 +00:00
Ryan Everett
c9515600fd
Fix state transition diagram
...
This now represents the implemented model
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-03-14 13:22:05 +00:00
Manuel Pégourié-Gonnard
fb84c7681c
Merge pull request #8889 from gilles-peskine-arm/pk-psa-bridge-3.6-doc
...
Document PK-PSA bridge functions
2024-03-13 10:55:36 +00:00
Gilles Peskine
e29b4b42b7
Fix copypasta
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-03-13 09:33:03 +01:00
David Horstmann
93fa4e1b87
Merge branch 'development' into buffer-sharing-merge
2024-03-12 15:05:06 +00:00
Gilles Peskine
e4220fef2f
MBEDTLS_USE_PSA_CRYPTO: most pk bridge functions don't require it
...
mbedtls_setup_pk_opaque does require it.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-03-12 13:03:12 +01:00
Gilles Peskine
0cff1116f7
Remind the reader that PK doesn't support DH
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-03-12 13:02:58 +01:00
Gilles Peskine
7caf2dc964
Discuss mbedtls_pk_copy_public_from_psa
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-03-12 13:02:45 +01:00
Gilles Peskine
8462146d01
Merge pull request #8867 from gilles-peskine-arm/psa_key_attributes-remove_core
...
Merge psa_core_key_attributes_t back into psa_key_attributes_t
2024-03-05 09:59:24 +00:00
Gilles Peskine
634d60ce0a
List ECDSA signature conversion functions
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-03-04 19:29:13 +01:00
Gilles Peskine
0612adc0f7
Document mbedtls_pk_setup_opaque and mbedtls_pk_copy_from_psa
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-03-04 19:29:13 +01:00
Gilles Peskine
9d04f0872f
Document mbedtls_pk_import_into_psa
...
Explain how to use mbedtls_pk_get_psa_attributes() and
mbedtls_pk_import_into_psa() to make a PSA key from a PK key.
Remove the discussion of how to do the same manually.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-03-04 19:29:11 +01:00
Gilles Peskine
492d4a8ef9
Mention psa_generate_key_ext()
...
Replaces the recommendation to use mbedtls_rsa_gen_key() for RSA key
generation with a custom public exponent.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-03-04 19:28:19 +01:00
Gilles Peskine
acdc52e154
mbedtls_ecp_write_key_ext(): recommend over the old function in documentation
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-02-28 13:19:42 +01:00
Gilles Peskine
8988767b0e
Use attribute accessor functions in driver wrappers
...
Fully automated:
```
perl -i -pe 's/(\w+)->core\.(\w+)/psa_get_key_$2($1)/g' scripts/data_files/driver_templates/*.jinja docs/psa-driver-example-and-guide.md
```
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-02-28 01:29:13 +01:00
Gilles Peskine
3ea9450463
Merge pull request #8734 from valeriosetti/issue8564
...
Add test for driver-only HMAC
2024-02-14 13:43:40 +00:00
Gilles Peskine
3f557ad59c
Wording improvement
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-02-07 11:22:16 +01:00
Gilles Peskine
30a303f1a8
ECDSA signature conversion: put bits first
...
Metadata, then inputs, then outputs.
https://github.com/Mbed-TLS/mbedtls/pull/8703#discussion_r1474697136
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-02-06 19:45:11 +01:00
Manuel Pégourié-Gonnard
f1562a7217
Merge pull request #8657 from gilles-peskine-arm/pk-psa-bridge-design
...
PK-PSA bridge design document
2024-01-31 09:51:43 +00:00
Gilles Peskine
36dee75368
Update ECDSA signature conversion based on experimentation
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-30 16:15:17 +01:00
Valerio Setti
18be2fb9df
driver-only-builds: improve a sentence in the HMAC section
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-01-26 15:07:02 +01:00
Dave Rodgman
047c724c22
Merge remote-tracking branch 'restricted/development-restricted' into update-development-r
...
Conflicts:
programs/Makefile
tests/scripts/check-generated-files.sh
2024-01-26 12:42:51 +00:00
Valerio Setti
9f521056bc
driver-only-builds: add documentation for HMAC acceleration
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-01-24 15:44:24 +01:00
Gilles Peskine
4d4891e18a
Merge pull request #8666 from valeriosetti/issue8340
...
Export the mbedtls_md_psa_alg_from_type function
2024-01-18 13:58:55 +00:00
Gilles Peskine
c9077cccd3
Merge pull request #8664 from valeriosetti/issue7764
...
Conversion function from ecp group to PSA curve
2024-01-18 10:28:55 +00:00
Gilles Peskine
dd77343381
Open question for ECDSA signature that can be resolved during implementation
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-17 14:33:32 +01:00
Gilles Peskine
d5b04a0c63
Add a usage parameter to mbedtls_pk_get_psa_attributes
...
Let the user specify whether to use the key as a sign/verify key, an
encrypt/decrypt key or a key agreement key. Also let the user indicate if
they just want the public part when the input is a key pair.
Based on a discussion in
https://github.com/Mbed-TLS/mbedtls/pull/8682#discussion_r1444936480
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-17 14:31:57 +01:00
Gilles Peskine
702d9f65f6
Resolve several open questions as nothing special to do
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-17 12:58:25 +01:00
Gilles Peskine
42a025dc9c
Reference filed issues
...
All PK-related actions are now covered.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-17 12:35:31 +01:00
Gilles Peskine
5a64c42693
Reference ongoing work
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-17 10:09:16 +01:00
Gilles Peskine
89ca6c7e72
typo
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-17 10:08:56 +01:00
Gilles Peskine
32294044e1
Generalize mbedtls_pk_setup_opaque beyond MBEDTLS_USE_PSA_CRYPTO
...
It's useful in applications that want to use some PSA opaque keys regardless
of whether all pk operations go through PSA.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-17 10:07:55 +01:00
Bence Szépkúti
333ca8fdfc
Migrate to new RTD redirect format
...
Migrate to the new redirect format introduced by ReadTheDocs in
readthedocs/readthedocs.org#10881
Signed-off-by: Bence Szépkúti <bence.szepkuti@arm.com>
2024-01-16 17:06:06 +01:00
Manuel Pégourié-Gonnard
e334486753
Add new lines before lists
...
This is more portable markdown, and also for people who read the text,
it make the new lines after the list (but inside the same sentence) less
surprising I hope.
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-01-10 10:24:31 +01:00
Manuel Pégourié-Gonnard
0f45a1aec5
Fix typos / improve syntax
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-01-10 09:43:30 +01:00
Valerio Setti
afa01c7394
psa-transition: update "Elliptic curve mechanism selection" section
...
- add hyperlinks for the conversion functions.
- move conversion functions' description before the legacy<->PSA table.
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-01-09 13:41:52 +01:00
Valerio Setti
dc33200b74
psa-transition: extend "Elliptic curve mechanism selection"
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-01-09 13:41:52 +01:00
Manuel Pégourié-Gonnard
60c9eee267
Improve wording & fix typos
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-01-09 10:09:17 +01:00
Manuel Pégourié-Gonnard
d0c6f70e58
Update architecture doc for cipher dual dispatch
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-01-08 11:35:01 +01:00
Manuel Pégourié-Gonnard
c1cea63478
Quickly mention the status of RSA accel
...
Not related to other commits in this PR, should have been done in #8616
really, but since I'm updating the document, might as well do it here.
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-01-08 11:35:01 +01:00
Manuel Pégourié-Gonnard
dc4103e9aa
Clarify CCM/CM with partial accel
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2024-01-08 11:35:01 +01:00
Manuel Pégourié-Gonnard
5bad043c06
Merge pull request #8641 from valeriosetti/issue8358
...
G3-G4 wrap-up
2024-01-04 10:48:00 +00:00
Valerio Setti
7406b74fce
driver-only-builds: fix typo
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-01-03 14:47:36 +01:00
Valerio Setti
a87cd17b35
psa-transition: update with MD translation functions
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-01-02 16:20:44 +01:00
Gilles Peskine
9fe1c699a8
Clarify PSA-to-PK copy intent
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-02 13:16:31 +01:00
Gilles Peskine
f80dcc5f8b
Resolve ECDSA conversion API: don't use an ASN.1 interface
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-02 13:15:47 +01:00
Gilles Peskine
a7226a1f60
Our TLS 1.3 API doesn't actually require PSA key identifiers
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-02 13:15:14 +01:00
Gilles Peskine
93cdb77835
Minor clarifications
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-01-02 13:15:04 +01:00
Valerio Setti
045d680054
driver-only-builds: enhancing cipher related sections
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-29 15:42:22 +01:00
Valerio Setti
f333b3fbde
driver-only-builds: fix typos
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-29 15:08:39 +01:00
Valerio Setti
92e5c693ba
driver-only-builds: updated ciphers and AEADs related sections
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-28 13:28:03 +01:00
Gilles Peskine
8f1307adcd
Asymmetric cryptography: rough draft
...
Still many open questions
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-25 21:42:23 +01:00
Manuel Pégourié-Gonnard
69b290589b
Merge pull request #8057 from mpg/cipher-study
...
[G2] Tentative definition of Cipher light
2023-12-22 08:53:30 +00:00
Valerio Setti
49067d7d0e
driver-only-builds: update documentation
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-21 17:07:10 +01:00
Valerio Setti
8c1e6bbcdc
driver-only-builds: fix typos
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-21 15:02:48 +01:00
Gilles Peskine
907cb020ef
Merge pull request #8618 from Ryan-Everett-arm/new-state-transition-documentation
...
Update thread safety state transition documentation
2023-12-21 12:09:58 +00:00
Ryan Everett
3dd6cde0d8
Mention functional correctness explicitly
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-20 16:47:57 +00:00
Valerio Setti
66134661cd
driver-only-builds: add Restrictions section
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-20 17:06:13 +01:00
Ryan Everett
f5e135670b
Clarify key generation and memory-management correctness
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-20 15:24:47 +00:00
Valerio Setti
af53132e44
driver-only-builds: enhancing section on removing CIPHER_C
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-20 15:56:09 +01:00
Valerio Setti
3fab8a4deb
driver-only-builds: fix typos
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-20 14:25:37 +01:00
Valerio Setti
5eb8de12cb
driver-only-build: remove paragraph about RSA/DH deterministic key generation
...
This feature is not supported at all in MbedTLS, driver or not.
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-20 11:59:32 +01:00
Manuel Pégourié-Gonnard
9934f834af
Merge pull request #7766 from gilles-peskine-arm/psa-transition-doc-create
...
Legacy-to-PSA transition guide
2023-12-20 10:28:31 +00:00
Valerio Setti
7e11dd6ec6
driver-only-builds: add section for accelerated ciphers/AEADs
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-18 15:52:44 +01:00
Ryan Everett
c1c6e0d906
Justify linearization points
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-15 12:33:26 +00:00
Ryan Everett
6ecb9ce5fc
Link directly to the state transition diagram
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-14 15:19:31 +00:00
Ryan Everett
acfd774bca
Add some clarifications in thread_safety.md
...
Make it clearer how it is possible to reason here using linearization
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-14 15:19:31 +00:00
Ryan Everett
3eb4274a57
Fix transitions in diagram
...
Move the finish_key_creation transition
Neaten the diagram
Add transitions for the key loading functions in psa_get_and_lock_key_slot
Add psa_wipe_key_slot transition
Change file to be a png
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-14 15:19:01 +00:00
Ryan Everett
b461b8731c
Change how the state transition diagram is stored
...
Store the source of the diagram as a url instead of an xml file.
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-14 14:40:45 +00:00
Manuel Pégourié-Gonnard
4dde0b293c
md-cipher-dispatch: editorial improvements
...
Fix a typo, add a reference.
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2023-12-14 12:09:38 +01:00
Gilles Peskine
1ef1eb234f
Clarify psa_constant_names
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-13 11:09:47 +01:00
Gilles Peskine
5feac959a5
Correct and clarify discussion of AES-CMAC-PRF-128
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-12 19:20:45 +01:00
Gilles Peskine
0308d79a34
Fix some MAC-related function names
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-12 19:20:30 +01:00
Ryan Everett
177a45f556
Small clarifications in documentation
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-07 11:24:30 +00:00
Manuel Pégourié-Gonnard
b8c4254f44
Update cipher light -> block cipher definition
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2023-12-07 12:12:39 +01:00
Ryan Everett
204c852442
Move psa-thread-safety.md
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-07 11:05:37 +00:00
Ryan Everett
1e9733c6a8
Add graph
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-07 11:05:37 +00:00
Ryan Everett
9f06681cb4
Update psa-thread-safety.md
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2023-12-07 11:05:37 +00:00
Manuel Pégourié-Gonnard
303121eb16
Fix a typo
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2023-12-07 12:05:07 +01:00
Valerio Setti
acd7bafcbb
driver-only-build: update AEADs section
...
Note: this section shouldn't actually be updated in #8357 , but
rather in #8358 which is the wrapup related to cipher and AEADs
accelaration. As a consequence we start the AEAD section with
a disclaimer explaining that the information written there will
be updated soon by a follow up PR.
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-06 15:17:12 +01:00
Gilles Peskine
9f55e8e442
Add a section about ALT implementations
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-05 22:21:09 +01:00
Gilles Peskine
e5044a0eb2
Add a generic section about key management
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-04 23:17:19 +01:00
Gilles Peskine
32dfaf485c
More information about output buffer sizes
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-04 23:17:19 +01:00
Gilles Peskine
76bc64e101
Diffie-Hellman: several clarifications and corrections
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-04 23:17:19 +01:00
Gilles Peskine
d921391bf4
Note a few things about PAKE (thanks Manuel)
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-04 23:17:19 +01:00
Gilles Peskine
5eeca33749
Use "workflow" rather than "flow" for clarity
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-04 23:17:19 +01:00
Gilles Peskine
06002c5624
typos and minor clarifications
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-04 23:17:19 +01:00
Gilles Peskine
2fffc45feb
fixup! Correct function names prefixes where they diverge from module names
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-12-04 23:17:16 +01:00
Valerio Setti
20e93a2a9d
driver-only-builds: update documentation for AEADs
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2023-12-04 15:24:25 +01:00
Gilles Peskine
1097d4e731
Minor clarification
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 21:18:10 +01:00
Gilles Peskine
c3fd0958ce
typo
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 21:18:04 +01:00
Gilles Peskine
02112cc9a1
Update PBKDF2 availability for 3.5
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 21:17:55 +01:00
Gilles Peskine
3ea22dcb51
Correct function names prefixes where they diverge from module names
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 21:07:24 +01:00
Gilles Peskine
dbcfc7dd95
Be more informative about "No change"
...
Distinguish between interfaces that won't change in 4.0, and interfaces that
have no PSA equivalent but are likely to change in 4.0.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 21:04:06 +01:00
Gilles Peskine
d79854b3f7
That's not what mbedtls_ecdh_get_params does
...
Keep the discussion of how to retrieve information about a key exchange.
This doesn't seem to have equivalent legacy ECDH APIs.
Add a todo item for mbedtls_ecdh_get_params(). At this point I don't know
where it fits.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 14:01:59 +01:00
Gilles Peskine
f7746bdd79
Correct lists of sign/verify functions
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 14:01:44 +01:00
Gilles Peskine
951cf39b3f
Corrections and clarifications around asymmetric key formats
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 14:01:20 +01:00
Gilles Peskine
4d234f1ede
Editorial corrections
...
Fix typos, copypasta, and other minor clarifications.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 13:59:49 +01:00
Gilles Peskine
396a2a3dcb
Explain interruptible operations
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-30 11:02:06 +01:00
Gilles Peskine
d96aa1b5cd
Say who to contact
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-29 21:13:02 +01:00
Gilles Peskine
dfe6707fc7
Fix typos and make minor style improvements
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-29 21:12:39 +01:00
Gilles Peskine
d372da6201
Expand on the removal of RNG boilerplate
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-28 18:03:53 +01:00
Gilles Peskine
601d3a0bd7
Add links to newly added functions
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-28 18:03:16 +01:00
Gilles Peskine
5403cb340a
typos
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-28 18:03:03 +01:00
Gilles Peskine
677285a299
Clarify "functions that facilitate the transition"
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-28 16:45:50 +01:00
Gilles Peskine
7ee4cc302a
Create legacy-API bridge API design document
...
Do the analysis for hashes.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-11-28 16:08:26 +01:00
Gilles Peskine
b86873e6eb
Merge remote-tracking branch 'development' into development-restricted
2023-11-20 18:43:21 +01:00
Dave Rodgman
16799db69a
update headers
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
2023-11-02 19:47:20 +00:00
Tom Cosgrove
6dcb63bc6d
Fix broken link to psa-driver-example-and-guide in psa-driver-wrappers-codegen-migration-guide.md
...
Fixes #8453
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2023-10-31 15:39:25 +00:00
David Horstmann
f63a52ed63
Remove auto-generation of test wrappers
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-31 14:26:00 +00:00
David Horstmann
413dd07a49
Downgrade auto testing testing to a nice-to-have
...
Automatic testing of our testing is not essential, as our testing
framework may be manually tested. Having automated tests to test our
tests may be left to future work.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-31 12:20:19 +00:00
David Horstmann
2531dab296
Add auto-generation of test wrappers to design
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-30 18:27:10 +00:00
David Horstmann
15b5beea0c
Add note on platform-specific barriers
...
Describe the approach of platform-specific code and draw a comparison
with the constant-time module.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-30 17:13:54 +00:00
David Horstmann
e045b55c65
Add sections on validation of validation
...
These cover the fact that we need to test our test framework to make
sure it really detects incorrect accesses.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-30 17:00:16 +00:00
David Horstmann
e88a6f8368
Add portability consideration to careful-access
...
It's important that we be able to test for target-specific bugs.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-30 15:26:21 +00:00
David Horstmann
d081e52685
Discuss plain-overwriting memory poisoning
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-30 15:22:07 +00:00
Manuel Pégourié-Gonnard
4823d2c94e
Extend design discussion
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2023-10-26 12:56:39 +02:00
Janos Follath
a365efc6f1
Threading design: fix internal links
...
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-26 10:22:55 +01:00
Manuel Pégourié-Gonnard
6b3643117b
Document chosen goals and priorities for 3.x
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2023-10-26 11:02:17 +02:00
Manuel Pégourié-Gonnard
3bcda449c0
Things forgotten in the previous commit
...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2023-10-26 10:03:49 +02:00
David Horstmann
599b087990
Rename and specify config options
...
* Rename config options to have MBEDTLS_TEST_ prefix
* Clarify that these config options should not exist in mbedtls_config.h
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-25 18:09:17 +01:00
David Horstmann
78bd77f574
Careful-access prototyping to design exploration
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-25 18:04:39 +01:00
David Horstmann
c59913822e
Remove references to new-test approach in design
...
This is already covered in the design exploration and since the other
approach was chose, we do not need to discuss it in the detailed design
section.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-25 15:33:50 +01:00
David Horstmann
2b86df87da
De-duplicate section titles
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-25 15:26:27 +01:00
David Horstmann
8e58ccb4f6
Add blank lines before lists
...
This widens compatibility with different dialects of Markdown.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-25 15:13:29 +01:00
David Horstmann
2711d23976
Fix broken links
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-25 15:07:58 +01:00
David Horstmann
f95767ad56
Clarify use of new tests for careful-access
...
New tests are needed (rather than existing ones) because the complexity
of setting up careful-access tests would make it difficult to build atop
existing tests.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-24 16:16:36 +01:00
David Horstmann
c7ccbf5157
Add detailed design section for careful access
...
This consists in outlining the prototyping and evaluation of different
possible testing approaches.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-24 15:43:12 +01:00
David Horstmann
56aa1b3fbb
Add exploration section on FVP testing
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 21:20:01 +01:00
David Horstmann
09c84ef0cd
Add lengths to convenience interface sketch
...
Add lengths to structs in the convenience functions to allocate and copy
input and output buffers. It seems better to ensure we always store a
buffer with its length.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 20:43:03 +01:00
David Horstmann
730dea31cb
Rewrite incorrect description of psa_exercise_key
...
And clarify our potential use of it as a starting point for writing
memory poisoning tests from scratch.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 20:35:35 +01:00
David Horstmann
6c51207602
Add notes about configuration of poisoning tests
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 20:25:14 +01:00
David Horstmann
8f905c289d
Add reference to test hooks in detailed design
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 20:08:38 +01:00
David Horstmann
806055edbf
Refactor note on preferred poison-test approach
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 19:53:30 +01:00
David Horstmann
52df620736
Use ASan for memory poisoning as well as Valgrind
...
Also add information about ASan from Microsoft docs.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 19:49:00 +01:00
David Horstmann
c61ddb2089
Add C language annotation to code block
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 19:18:50 +01:00
David Horstmann
cbf068dbee
Fix broken reference
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 19:03:10 +01:00
David Horstmann
f889e0fa0a
Replace vague 'above' with a reference for ease-of-navigation
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 19:01:21 +01:00
David Horstmann
ded14a2c02
Add example wrapper function implementation
...
Give an example wrapper foir psa_aead_update for the transparent testing
option.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 18:58:41 +01:00
David Horstmann
16dac00cb9
Add skeleton of detailed design rewrite
...
In light of choosing Valgrind/ASan over mprotect()-based poisoning,
update the detailed design of copy validation.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-23 18:57:01 +01:00
Janos Follath
54bd71b40f
Update operation threading strategy
...
The library does not need to provide protection, leave it to the crypto
service.
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-23 10:30:50 +01:00
Janos Follath
e604269a59
Threading Design: emphasise performance requirement
...
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-23 10:16:58 +01:00
Janos Follath
23f7e41633
Threading design: improve language
...
Co-authored-by: Paul Elliott <62069445+paul-elliott-arm@users.noreply.github.com>
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-23 10:11:18 +01:00
David Horstmann
be868347f4
Rewrite design exploration of copy validation
...
Main changes:
* New tests are easier to write than first stated
* Use of existing tests is ledd beneficial
* But using existing tests is a benefit if it can be done transparently
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-20 19:25:11 +01:00
David Horstmann
51fc6cf378
Explore sanitizers for memory poisoning
...
Consider MSan, ASan and Valgrind as options for implementing memory
poisoning tests. Come to the altered conclusion that Valgrind is the
best option.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-20 18:40:15 +01:00
David Horstmann
17b3716c5a
Tweak compiler optimization evaluation section
...
* Remove references to the platform - this is unlikely to affect whether
copies are optimized.
* Note that the evaluation should test extreme optimisation settings.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-20 18:39:14 +01:00
Janos Follath
49d467c37d
Threading design: update and clarify 3.6 plan
...
- Separation of attr and slot state is added
- Driver support is cut back
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-20 15:41:40 +01:00
Janos Follath
de0e3e352d
Threading design: Update empty slot tracking
...
Using a dedicated field allows clean separatin between key attributes
and slot state. This allows us to use the same mechanics for attributes
and key content. Which in turn means lower code size and easier
maintenance.
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-20 15:12:42 +01:00
Janos Follath
52586895f7
Clarify threading design document structure
...
Separate design analysis from plans and make the distinction clear
between what is implemented, what is planned to be implemented soon,
what is planned to be implemented in the future, and what is ideas that
are rejected.
(The distinction between the last two categories doesn't have to be
clear, we can't and shouldn't plan that far ahead.)
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-20 14:26:57 +01:00
Janos Follath
19192a5158
Clarify reentrancy requirements for drivers
...
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-20 13:16:48 +01:00
David Horstmann
4e54abf182
Add section on possible use of Valgrind tracing
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-19 17:59:45 +01:00
David Horstmann
05ca3d9a1b
Expand design for validation of careful access
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-19 16:45:37 +01:00
David Horstmann
a72b4ca734
Modify optimize-testing instructions
...
Mention -flto and whole-program optimization as this is the most
important aspect.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-19 15:22:15 +01:00
David Horstmann
3f7e42a750
Move implementation by module table earlier
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-19 15:14:50 +01:00
David Horstmann
dae0ad439f
Add more detail in design of memory poisoning
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-19 15:12:34 +01:00
David Horstmann
0bd87f5959
Change unsigned int to uint8_t
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-19 13:45:21 +01:00
David Horstmann
23661cc232
Detailed design of memory protection strategy
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2023-10-18 18:20:33 +01:00
Gilles Peskine
df62f1a010
Merge pull request #1106 from gilles-peskine-arm/psa-shared-buffers-requirements
...
PSA shared buffers requirements
2023-10-17 20:38:00 +02:00
Janos Follath
d7a39ae21e
Add plan for 3.6 to threading design
...
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-17 14:34:26 +01:00
Janos Follath
574100bb0d
Add clarifications to thread safety design
...
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-17 12:50:28 +01:00
Janos Follath
811a954383
Add reentrancy section to thread safety design
...
Signed-off-by: Janos Follath <janos.follath@arm.com>
2023-10-17 12:50:21 +01:00
Gilles Peskine
8ebeb9c180
Test for read-read inconsistency with mprotect and ptrace/gdb
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-10-16 18:37:02 +02:00
Gilles Peskine
87889ebe86
Fix editorial error with semantic consequences
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-10-16 15:40:02 +02:00
Gilles Peskine
a3ce6437bf
Typos
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2023-10-16 15:39:37 +02:00