Commit Graph

38 Commits (a6207cadad0acd1876f436dc6baeddf46c42af06)

Author SHA1 Message Date
Jaeden Amero 0961f312c6 Make PSA util compatible with Mbed Crypto 3.0.1
Mbed Crypto 3.0.1 ships with TF-M. To make Mbed TLS 2.22.0 compatible
with Mbed Crypto 3.0.1, changes are needed in psa_util.h (which
abstracts some portions of the PSA Crypto API for use with TLS) to deal
with new ECC curve define changes.

Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2020-06-18 12:16:25 +01:00
Devaraj Ranganna 76e911c5ef psa: Replace Mbed PSA with TF-M
Add TF-M to Mbed OS, replacing the previous PSA implementation for
TF-M-capable targets. This commit adds files imported from TF-M, without
modification. The version of TF-M imported can be found in
`features/FEATURE_PSA/TARGET_TFM/VERSION.txt`.

These changes switch to TF-M as the sole PSA implementation for v8-M and
dual core targets, with TF-M running on the secure side and Mbed OS
running on the non-secure side. Single core v7-M targets will continue
to have PSA implemented via PSA emulation, implemented by Mbed OS.

Move or remove many PSA-implementing files, as PSA will be provided by
TF-M on non-single-v7-M targets. Delete any files that are not relevant
for PSA emulation mode.
 - Remove imported TF-M SPM
 - Remove Mbed SPM and tests
 - Remove Mbed-implemented PSA services and tests
 - Remove PSA_SRV_IMPL, PSA_SRV_IPC, PSA_SRV_EMUL and NSPE.
 - Replace PSA_SRV_EMUL and PSA_SRV_IMPL with MBED_PSA_SRV
 - Remove any files autogenerated by
   "tools/psa/generate_partition_code.py", which no longer exists.

Add new feature `PSA` to support PSA in Mbed OS.

Move the Mbed OS implementation of PSA services for v7-M targets (which
employ PSA emulation, and don't yet use TF-M) to
features/FEATURE_PSA/TARGET_MBED_PSA_SRV. Update the `requires`
attribute in TESTS/configs/baremetal.json to avoid breaking baremetal
testing builds.

Update .astyleignore to match new directory structure

Update Mbed TLS importer to place files into FEATURE_PSA

Create the following generic PSA targets:

* `PSA_Target` (Root level PSA generic target)
* `PSA_V7_M` (Single v7-M PSA generic target)
* `PSA_DUAL_CORE` (Dual-core PSA generic target)
* `PSA_V8_M` (v8-M PSA generic target)

Flatten MUSCA_NS and private MUSCA targets into public MUSCA targets.

Move mcuboot.bin to flat location (removing prebuilt folder)

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-06-18 12:16:20 +01:00
Jaeden Amero 5d6ec71171 crypto: Move PSA Crypto headers to MBED_PSA_SRV
TF-M provides its own PSA headers for TF-M targets. Single v7-M targets
need to get PSA crypto from Mbed Crypto.

Note that we don't yet move crypto_struct.h to its new location. This is
to avoid breaking v8-M targets for the time being. When TF-M provides
the PSA implementation on v8-M, we will add crypto_struct.h to the
correct place.

Likewise, none of the PSA-implementing source is moved out of
COMPONENT_PSA_SRV_IMPL yet, as still must not be built for PSA NS
targets. When PSA NS targets switch to using TF-M provided
implementations rather than MBED_PSA_SRV, we can take the source out of
COMPONENT_PSA_SRV_IMPL.

Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-05-29 13:19:11 +01:00
Darryl Green 1a6a8495ef Define mbedtls_ecc_group_to_psa inline for NS world
Signed-off-by: Darryl Green <darryl.green@arm.com>
2020-04-30 11:28:26 +01:00
Darryl Green fc07e5ba93 Update Mbed TLS to latest version
As Mbed Crypto has been remerged into Mbed TLS, remove Mbed Crypto
at the same time.

Signed-off-by: Darryl Green <darryl.green@arm.com>
2020-04-30 11:28:05 +01:00
Jaeden Amero cfc9e9fa65 tls: Update Mbed TLS to 2.20.0d1 2019-12-20 11:54:44 +00:00
Jaeden Amero f2d42bfa31 Update Mbed TLS to version 2.20.0d0 2019-10-15 14:14:01 +01:00
Jaeden Amero eb00fbadb4 tls: Update to Mbed TLS 2.19.1
Update Mbed TLS to Mbed TLS 2.19.1.
2019-09-17 15:24:09 +01:00
Jaeden Amero 612255f8c3 tls: Update to Mbed TLS 2.19.0 2019-09-06 16:15:47 +01:00
Jaeden Amero ea17d58b49 mbedtls: Update Mbed TLS and Mbed Crypto
Update Mbed TLS to 2.19.0d0 and Mbed Crypto to 2.0.0d1.
2019-08-29 14:55:05 +01:00
Jaeden Amero 045cd67e6d mbedtls: Update to Mbed TLS 2.18.1
Update to Mbed TLS 2.18.1 and Mbed Crypto 1.1.1.
2019-07-12 16:07:43 +01:00
Jaeden Amero 1470d06811 mbedtls: PSA entropy is compatible with other entropy
When using Mbed Crypto's PSA Entropy Injection feature on Mbed OS, it is
not required to opt out of having entropy sources added to your entropy
contexts by default (via MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES).

As integrated in Mbed OS, MBEDTLS_PSA_INJECT_ENTROPY is compatible with
actual entropy sources. PSA entropy injection is implemented using the
standard Mbed TLS NV Seed feature, and is as compatible with other
entropy sources as the standard Mbed TLS NV Seed feature which does
support entropy mixing.
2019-06-11 12:43:17 +01:00
Jaeden Amero 4917b10725 mbedtls: Update to Mbed TLS 2.18.0-rc3 2019-06-10 13:05:46 +01:00
k-stachowiak 948d4379d8 Update Mbed TLS feature to 2.18.0-rc2 2019-05-28 11:00:16 +01:00
Jaeden Amero 60252b9988 mbedtls: Update to Mbed TLS 2.18.0-rc1
Update Mbed TLS to 2.18.0-rc1. Update Mbed Crypto to 1.1.0d0.
2019-05-23 14:47:42 +01:00
Simon Butcher 5285b39c01 Update Mbed TLS to the latest development version
This updates Mbed TLS to the latest development version, commit 535ee4a35b9c
in the Mbed TLS repo.
2019-03-03 23:04:00 +00:00
Jaeden Amero c74993bac4 crypto: Re-import Mbed Crypto 0.1.0b2
Use the Mbed-Crypto-specific importer script to re-import Mbed Crypto
0.1.0b2 to its new location.
2019-01-29 11:43:24 +02:00
Jaeden Amero 3900b81d02 Update Mbed TLS to mbedtls-2.15.0 2018-11-23 22:54:09 +00:00
Simon Butcher 15785191e7 Update Mbed TLS version to 2.13.1 2018-09-06 19:32:03 +01:00
Krzysztof Stachowiak 7d7b8d4a07 Disable the OFB cipher mode in Mbed TLS 2018-09-03 16:20:55 +01:00
Krzysztof Stachowiak f1d76691b6 Update to Mbed TLS 2.13.0 2018-09-03 16:20:46 +01:00
Krzysztof Stachowiak 843b1a19e7 Update Mbed TLS after corrections for the import procedure 2018-06-07 10:25:21 +02:00
Krzysztof Stachowiak 7eeb694dd9 Update MbedTLS to 2.10.0 (from an RC) 2018-06-06 17:31:18 +02:00
Krzysztof Stachowiak f85e3f6177 Update Mbed TLS do version 2.10.0-rc1 2018-06-06 09:13:06 +02:00
Cruz Monrreal 06180e89f7
Merge pull request #6642 from yossi2le/yossi-device-key-driver
Device key implementation
2018-05-24 10:06:14 -05:00
Krzysztof Stachowiak 5317e872db Update Mbed TLS to version 2.9.0 2018-05-09 18:09:13 +02:00
Yossi Levy a8febd57a1 Device key implementation 2018-04-11 15:35:00 +03:00
Krzysztof Stachowiak 947275036c Update Mbed TLS to version 2.7.1 2018-02-28 10:02:30 +01:00
Andres Amaya Garcia 7c8ed0cc42 Enable MBEDTLS_AES_ROM_TABLES in mbed TLS main conf
Enable the compile-time option MBEDTLS_AES_ROM_TABLES in the mbed TLS
main config.h file in mbed OS. This option has the effect of labelling
the AES tables as 'const' so they are placed in ROM, which saves some
RAM space.
2017-08-29 12:05:50 +01:00
Andres Amaya Garcia adbba2c86b Update mbed TLS to version 2.6.0 2017-08-29 11:50:29 +01:00
Hanno Becker e9e3040297 Update mbed TLS to version 2.5.0-rc1 2017-05-15 17:07:30 +01:00
Andres AG 1c8d7c1115 Update mbed TLS feature to mbedtls-2.4.2 2017-03-08 15:56:59 +00:00
Andres AG 509a72ca81 Add checks for NULL_ENTROPY and SSL_TLS in mbed OS 2016-10-20 17:07:32 +01:00
Andres AG 57814ddbbc Update feature/mbedtls to version 2.4.0 2016-10-17 13:32:25 +01:00
Andres AG 2ff5400158 Update to mbed TLS release candidate 2016-10-14 09:03:05 +01:00
Andres AG 39c95e0e2f Sync mbed TLS with development HEAD
Update the current version of mbed TLS with the development HEAD of the
mbed TLS project repository. This mostly includes the latest CMAC
feature. Also, update the version in the importer Makefile and
VERSION.txt with the hash of the mbed TLS commit that was sync'ed.
2016-10-06 16:29:41 +01:00
Andres AG 11ee1de620 Update feature/mbedtls with mbedtls' development HEAD 2016-09-28 09:26:02 +01:00
Sam Grove 4794bc87e3 Update mbed TLS to version 2.3.0 2016-07-23 00:13:43 -05:00