Thomas Daubney
692fb3c11c
Fix missing semicolon
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-03-12 16:20:41 +00:00
David Horstmann
3232842d63
Merge pull request #1188 from davidhorstmann-arm/interruptible-sign-hash-buffer-protection
...
Add buffer protection for interruptible sign/verify
2024-03-12 14:47:00 +00:00
Ronald Cron
e98a492cf5
Merge pull request #1187 from ronald-cron-arm/issue-1185
...
Add security change log for issue 1185
2024-03-11 18:04:47 +01:00
David Horstmann
c5064c83a1
Do not attempt to wipe output buffer if it is NULL
...
If the output buffer is NULL, it either:
* Does not need wiping because it is zero-length.
* Has failed allocation of a copy.
* Has not yet been written to as a copy hasn't been allocated.
In any of these circumstances, we should not try to write the buffer,
so perform a NULL check before wiping it.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-11 17:02:03 +00:00
David Horstmann
5ba3f5f7a5
Flip logic of generate_psa_wrappers.py
...
Change from a long list of PSA functions to a list of excluded
false-positives.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-11 15:57:43 +00:00
David Horstmann
5d64c6acca
Generate memory poisoning in wrappers
...
Generate memory poisoning code in test wrappers for:
* psa_sign_hash_start()
* psa_sign_hash_complete()
* psa_verify_hash_start()
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-11 15:56:13 +00:00
David Horstmann
0fea6a52b4
Add buffer copying to psa_verify_hash_start()
...
Protect input buffers to psa_verify_hash_start(), namely the hash and
signature parameters.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-11 15:56:13 +00:00
David Horstmann
4a523a608e
Add buffer copying to psa_sign_hash_start/complete
...
Add buffer protection to:
* psa_sign_hash_start(), which takes an input buffer for the hash.
* psa_sign_hash_complete(), which takes an output buffer for the
calculated signature.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-11 15:56:13 +00:00
David Horstmann
63dfb45e5e
Merge pull request #1181 from tom-daubney-arm/key_agreement_buffer_protection
...
Implement safe buffer copying in key agreement
2024-03-11 15:10:49 +00:00
Ronald Cron
44193fa573
Fix and improve the change log
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-11 13:40:24 +01:00
David Horstmann
849bb717bc
Merge pull request #1160 from davidhorstmann-arm/copying-pake
...
Add secure buffer copying to PAKE
2024-03-08 16:09:10 +00:00
Ronald Cron
53dff7b0af
Do not forget about TLS 1.2 disabled at runtime aspect
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-07 16:01:51 +01:00
Ronald Cron
e301813da4
Improve change log
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-07 09:10:22 +01:00
Ronald Cron
130bfe7799
Add change log
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-03-07 06:59:01 +01:00
tom-daubney-arm
d4c57c0ad2
Merge branch 'development-restricted' into key_agreement_buffer_protection
...
Signed-off-by: tom-daubney-arm <74920390+tom-daubney-arm@users.noreply.github.com>
2024-03-06 16:47:13 +00:00
Thomas Daubney
a4866945b8
Fix issue with large allocation in tests
...
In test_suite_psa_crypto_op_fail.generated.function
the function key_agreement_fail was setting the
public_key_length variable to SIZE_MAX which meant that
a huge allocation was being attempted.
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-03-06 16:32:25 +00:00
David Horstmann
a5175634b0
Merge branch 'development-restricted' into copying-pake
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-03-06 11:18:28 +00:00
David Horstmann
714418f2dc
Merge pull request #1167 from gabor-mezei-arm/buffer_protection_for_cipher
...
Buffer protection for cipher functions
2024-03-05 18:42:48 +00:00
Gabor Mezei
1b5b58d4d9
Fix merge
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-03-04 17:15:08 +01:00
Gábor Mezei
716cf2d4e0
Merge branch 'development-restricted' into buffer_protection_for_cipher
...
Signed-off-by: Gábor Mezei <63054694+gabor-mezei-arm@users.noreply.github.com>
2024-03-04 15:38:05 +00:00
David Horstmann
2bb537ec61
Merge pull request #1172 from davidhorstmann-arm/generate-random-buffer-protection
...
Add secure buffer copying to `psa_generate_random()`
2024-03-04 13:23:46 +00:00
David Horstmann
c5688a2629
Merge branch 'development-restricted' into generate-random-buffer-protection
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-02-29 14:25:56 +00:00
David Horstmann
920a932bab
Merge pull request #1153 from tom-daubney-arm/asymmetric_encrypt_buffer_protection
...
Implement safe buffer copying in asymmetric encryption
2024-02-29 14:16:59 +00:00
David Horstmann
7581363122
Fix incorrect conflict resolution
...
A return statement was missing in the wrapper generation script.
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-02-29 11:26:45 +00:00
Gabor Mezei
0b04116cc8
Do not copy the content to the local output buffer with allocation
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-29 10:08:16 +00:00
tom-daubney-arm
840dfe8b41
Merge branch 'development-restricted' into asymmetric_encrypt_buffer_protection
...
Signed-off-by: tom-daubney-arm <74920390+tom-daubney-arm@users.noreply.github.com>
2024-02-28 15:42:38 +00:00
Gabor Mezei
f1dd0253ec
Remove write check in driver wrappers tests
...
This check is intended to ensure that we do not write intermediate
results to the shared output buffer. This check will be made obselete
by generic memory-poisoning-based testing for all functions.
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-28 15:18:21 +00:00
Gabor Mezei
358eb218ab
Fix buffer protection handling for cipher_generate_iv
...
Use the `LOCAL_OUTPUT_` macros for buffer protection instead of the existing
local variable.
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-28 15:17:19 +00:00
Gabor Mezei
b74ac66c8b
Update test wrapper functions for ciper buffer protection
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-28 15:17:18 +00:00
Gabor Mezei
7abf8ee51b
Add buffer protection for cipher_generate_iv
and cipher_set_iv
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-28 15:17:18 +00:00
Gabor Mezei
8b8e485961
Move local buffer allocation just before usage
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-28 15:17:18 +00:00
Gabor Mezei
4892d75e9b
Add LOCAL_OUTPUT_ALLOC_WITH_COPY
macro if buffer protection is disabled
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-28 15:17:17 +00:00
Gabor Mezei
c25fbd2cc1
Fix ASAN error for psa_cipher_update
...
The ASAN gives an error for `psa_cipher_update` when the `input_length`
is 0 and the `input` buffer is `NULL`. The root cause of this issue is
`mbedtls_cipher_update` always need a valid pointer for the
input buffer even if the length is 0.
This fix avoids the `mbedtls_cipher_update` to be called if the
input buffer length is 0.
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-28 15:17:17 +00:00
Gabor Mezei
b8f97a1f3f
Add test wrapper functions for cipher buffer protection
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-28 15:17:17 +00:00
Gabor Mezei
212eb08884
Add buffer protection for cipher functions
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
2024-02-28 15:15:49 +00:00
David Horstmann
e097bbdcf3
Add missing guards around exit label
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-02-28 14:17:10 +00:00
David Horstmann
1ff95e61d7
Merge pull request #1149 from tom-daubney-arm/mac_buffer_protection
...
Implement safe buffer copying in MAC API
2024-02-26 19:06:42 +00:00
David Horstmann
075c5fb76f
Generate test wrappers for psa_generate_random()
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-02-26 17:12:34 +00:00
David Horstmann
6e99bb203f
Add buffer copying to psa_generate_random()
...
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-02-26 17:12:34 +00:00
Thomas Daubney
4a46d73bb0
Suppress pylint
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-02-26 13:49:26 +00:00
tom-daubney-arm
5cd611d144
Merge branch 'development-restricted' into mac_buffer_protection
...
Signed-off-by: tom-daubney-arm <74920390+tom-daubney-arm@users.noreply.github.com>
2024-02-22 15:26:06 +00:00
Thomas Daubney
5390acada9
Decouple if statements in psa_raw_key_agreement exit.
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-02-22 11:06:04 +00:00
Thomas Daubney
0576a6a174
Revise how output allocation is checked
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-02-21 15:15:00 +00:00
Thomas Daubney
89d8c2a1b4
Rework check for failed output allocation
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-02-21 12:14:57 +00:00
David Horstmann
cf3457ef26
Merge pull request #1132 from davidhorstmann-arm/copying-aead
...
Copy buffers in AEAD
2024-02-20 16:07:30 +00:00
Thomas Daubney
d997e7ad9a
Check output allocated before randomising
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-02-20 11:24:07 +00:00
Thomas Daubney
50f58fc3e4
Conditionally include exit label
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-02-15 14:24:03 +00:00
Thomas Daubney
fe2bda3257
Generate test wrappers
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-02-15 13:35:06 +00:00
Thomas Daubney
9739ac047a
Add buffer protection to psa_key_derivation_key_agreement
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-02-15 13:15:47 +00:00
Thomas Daubney
81899aba11
Add buffer protection to psa_raw_key_agreement
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-02-15 12:57:26 +00:00