Commit Graph

303 Commits (453122944ce4209bbecd8901acebc2cffa34f25c)

Author SHA1 Message Date
Michael Schwarcz 6354b9a473 TF-M patch: More fixes to tfm_memory_check issue (TF-M issue #224)
- Link to bug tracking: https://developer.trustedfirmware.org/T224
2019-02-21 17:38:30 +02:00
Cruz Monrreal 813c844fb4
Merge pull request #9745 from moranpeker/psa_security_lifecycle
Fix incorrect return value in psa_security_lifecycle_state (emul)
2019-02-20 12:12:56 -06:00
Cruz Monrreal 9f6ee7db66
Merge pull request #9754 from netanelgonen/SPM_return_value
Fix SPM returning the wrong value
2019-02-19 15:29:48 -06:00
Cruz Monrreal 4c04771c5d
Merge pull request #9653 from kfnta/tfm_src_integ
TF-M sources integration to Mbed-OS
2019-02-19 15:28:44 -06:00
Cruz Monrreal 19474fcab1
Merge pull request #9617 from kjbracey-arm/spe_atomics
SPE: Fix up atomic usage
2019-02-19 15:27:54 -06:00
Michael Schwarcz 6a90da42fa Add BSD3-clause license file to TF-M folder 2019-02-19 16:29:28 +02:00
Nir Sonnenschein 4a4af57c22 allow calling hash or mac on large buffers without large memory allocation
use a fixed size buffer for large inputs to process the input
in multiple smaller pieces.
2019-02-19 15:49:52 +02:00
Michael Schwarcz 9e33f0d8cd Re-generate TF-M partition files 2019-02-19 15:19:07 +02:00
Alexander Zilberkant 0ba963acfc Adding TF-M integration guide 2019-02-19 15:19:05 +02:00
Michael Schwarcz cf3fd858ad Align existing partitions to work with TF-M
- ITS
- Crypto
- Platform
2019-02-19 15:19:01 +02:00
Edison Ai 67a4e6d723 TF-M patch: Fix psa_set_rhandle() issue during CONNECT (TF-M issue #216)
- Link to bug tracking: https://developer.trustedfirmware.org/T216
2019-02-19 15:19:00 +02:00
Michael Schwarcz 008bf1b2d1 TF-M patch: Fix wrong check in tfm_spm_check_client_version (TF-M issue #236)
- Link to bug tracking: https://developer.trustedfirmware.org/T236
2019-02-19 15:19:00 +02:00
Michael Schwarcz da01e3411f TF-M patch: Fix tfm_psa_call_venner wrong argument type (TF-M issue #241)
- Link to bug tracking: https://developer.trustedfirmware.org/T241
2019-02-19 15:18:59 +02:00
Michael Schwarcz 011fa28110 TF-M patch: Fix tfm_memory_check issue (TF-M issue #224)
- Link to bug tracking: https://developer.trustedfirmware.org/T224
2019-02-19 15:18:59 +02:00
Michael Schwarcz fc78640559 TF-M patch: Fix fixed-size partitions stack size (TF-M issue #240)
- Link to bug tracking: https://developer.trustedfirmware.org/T240
2019-02-19 15:18:58 +02:00
Michael Schwarcz 0c23e86989 TF-M patch: Fix service handles not cleared issue (TF-M issue #230)
- Link to bug tracking: https://developer.trustedfirmware.org/T230
2019-02-19 15:18:58 +02:00
Michael Schwarcz 5f2e4b3911 TF-M patch: Fix tfm_ns_lock_init issue (TF-M issue #239)
- Link to bug tracking: https://developer.trustedfirmware.org/T239
2019-02-19 15:18:57 +02:00
Michael Schwarcz 1f30b52488 TF-M patch: General modifications
- Remove un-needed files
- Disable printf and uart
- Modify include paths
- Guard macros from mbed_lib with ifndef
2019-02-19 15:18:57 +02:00
Michael Schwarcz 8e62826991 Add mbed_lib.json to TF-M SPE 2019-02-19 15:18:56 +02:00
Michael Schwarcz 9277d0f586 Generate partition files 2019-02-19 15:18:56 +02:00
Michael Schwarcz 73ea7ca4c4 [trusted-firmware-m]: Updated to 45e5276 2019-02-19 15:18:55 +02:00
Netanel Gonen 1a87f24955 support in more types then just RSA_KEYPAIR
if the type is not supported the psa_crypto will return the error code
for unsupported
2019-02-19 14:47:11 +02:00
Netanel Gonen d0dae03d01 Fix SPM returning the wrong value 2019-02-19 12:56:41 +02:00
Moran Peker fb9ae2faae Fix incorrect return value in psa_security_lifecycle_state (emul)
psa_security_lifecycle_state should return uint32_t of the security
lifecycle state.
bug: psa_platfrom_lifecycle_get_impl return value
is psa_status_t.
2019-02-17 14:28:53 +02:00
Cruz Monrreal c07410d78c
Merge pull request #9628 from kfnta/bare-metal-updates
Bare metal mbed_lib updates
2019-02-14 09:13:34 -06:00
Oren Cohen b5e8492458
Add PSA mbed-lib.json 2019-02-13 20:36:01 +02:00
Oren Cohen 45c44eb07c Fix dependencies of platform partition 2019-02-13 17:10:12 +02:00
Kevin Bracey a3e7a6d85a SPE: Fix up atomic usage
PSA SPE code was using atomics, but not consistently. On the assumption
that the atomics are needed, correct the code to be properly atomic.

* Tighten up table full case - new_handle was left with a bogus value,
  and surrounding code (as a result?) used loop index to assert success.
  Make handle the sole output of the loop, and correct and use it.
* Ensure handle in table is cleared last, with atomic store to release.
* Make skipping of the invalid handle in handle generator loop atomic.
* Use atomic load on state assert, and don't re-read on failure.
* Tighten up types, and avoid casts by using new signed atomics.
2019-02-05 16:03:25 +02:00
Oren Cohen c11904e097
Fix compilation for single v7 platforms 2019-01-31 21:26:47 +02:00
Oren Cohen 27cfacec5c Remove demand for MBED_SPM on single v7 platforms 2019-01-31 18:36:18 +02:00
itayzafrir b7b85516cb crypto service: Add documentation 2019-01-31 17:17:58 +02:00
Oren Cohen ea9f104463 Fix Licenses 2019-01-31 17:17:58 +02:00
Oren Cohen 5d448d758c Astyle 2019-01-31 17:17:57 +02:00
Oren Cohen 20478ba654 Last update 2019-01-31 17:17:57 +02:00
Oren Cohen b0cbe815ec Regenerate SPM data 2019-01-31 17:17:57 +02:00
Oren Cohen 98707d047b Fix Typo 2019-01-31 17:17:57 +02:00
Oren Cohen 47365d4620 Update ITS test 2019-01-31 17:17:56 +02:00
Alexander Zilberkant 95f8dbce7b Add new platform partition 2019-01-31 17:17:56 +02:00
Oren Cohen cae1ebf33d Add new ITS reset SID
Only accessible from SPE
2019-01-31 17:17:55 +02:00
Oren Cohen 156d3b785b Replace psa_prot_internal_storage.h with psa/internal_trusted_storage.h 2019-01-31 17:17:54 +02:00
Oren Cohen 642fce5022 ITS 1.0 2019-01-31 17:17:54 +02:00
Oren Cohen 34895a05ad CR fixes 2019-01-31 17:17:54 +02:00
Oren Cohen 8841ba69f8 Align to new spec changes and prep for TFM SPM
# Conflicts:
#	components/TARGET_PSA/services/crypto/COMPONENT_PSA_SRV_IPC/psa_crypto_spm.c
#	components/TARGET_PSA/services/crypto/COMPONENT_SPE/psa_crypto_partition.c
2019-01-31 17:17:53 +02:00
Oren Cohen b08c0e2361 Create new PSA compliant headers 2019-01-31 17:17:52 +02:00
Oren Cohen 99b8eafc35 Align with PSA spec
* psa_error_t -> psa_status_t
* psa_invec_t -> psa_invec
* psa_outvec_t -> psa_outvec
* Use new PSA headers
2019-01-31 17:16:41 +02:00
itayzafrir 861fb0cbf0 crypto service: Implement function psa_hash_clone over IPC 2019-01-29 11:43:27 +02:00
itayzafrir 81a4ff6425 crypto service: Implement IPC according to Mbed Crypto 1.0.0d1 API
1. Removed obsolete crypto APIs from IPC implementation.
2. Updated existing crypto APIs in IPC implementation.
3. Added new crypto APIs to IPC implemntation (except for psa_hash_clone).
2019-01-29 11:43:27 +02:00
Martin Kojtal 8301325481
Merge pull request #8935 from kfnta/crypto_partition_fix
Fix PSA crypto partition and tests
2018-12-06 11:34:45 +01:00
Cruz Monrreal 0b1b8e0cc3
Merge pull request #8908 from kfnta/alzix_fix_its
Fix PSA internal storage configuration
2018-12-04 11:51:04 -06:00
Oren Cohen fa5c96c857 Fix includes 2018-12-04 18:37:47 +02:00
Oren Cohen c3bd6f12d2 Fix PSA crypto partiotion and tests
* Styling
* Correct error codes on failing connection
* Add panics where needed
* correct skip defines
* Fix psa_spm_init_refence_counter bug
2018-12-04 17:07:28 +02:00
Martin Kojtal 6edc81ddae
Merge pull request #8873 from kfnta/psa_spm_docs
PSA-SPM documentation follow-up
2018-12-04 15:38:45 +01:00
Alexander Zilberkant 44ec2aa49a Better PID handling
PSA PID is of int32_t type - use native type during the whole flow for better readability.
Convert PID to unsigned for calculations only.
Add dedicated inline function for logic shift right.
2018-12-04 14:08:14 +02:00
Alexander Zilberkant 9f7752b1f9 Replace PID and UID order in file name
PID should come first to create - to prevent timing attacks. Each partition can only request its own files. Thus starting lookup from the PID makes more sence.
2018-12-04 14:08:14 +02:00
Alexander Zilberkant e7df8583d6 Optimize error handling 2018-12-04 14:08:14 +02:00
Alexander Zilberkant 9d59ed8c60 Fix PSA internal storage misconfiguration
Use internal TDBStore instance instead of default one
2018-12-04 14:08:14 +02:00
Martin Kojtal 6ae3501a66 spm spe: remove space 2018-12-04 11:50:14 +00:00
Mel W 56e3dd9a7f
Grammatical and capitalization changes 2018-12-04 13:03:21 +02:00
Jaeden Amero 6de7c184d7 psa: storage: Fix PSA_PS_ERROR_OFFSET typo
Correct typo of PSA_PS_ERROR_OFFSET to PSA_ITS_ERROR_OFFSET.
2018-11-30 15:36:22 +00:00
Oren Cohen 549d24f213 More fixes by Melinda 2018-11-28 14:52:40 +02:00
Oren Cohen 01301387f8 Run SPM code generator 2018-11-28 14:40:01 +02:00
Oren Cohen 45bd4f305a Add SPM code generation test to Travis-CI 2018-11-28 14:38:44 +02:00
Oren Cohen 6ec5144e0c Melinda's remarks 2018-11-28 12:17:37 +02:00
Oren Cohen 3629e002ee Fix PSA-SPM Documentation 2018-11-28 12:17:36 +02:00
mohammad1603 6e862cf112 Fix psa_crypto_generator_init implementation to use the init define macro 2018-11-27 11:56:59 +02:00
mohammad1603 88f4f48fac Astyle fixes for the source
Used running: astyle -n --options=.astylerc
2018-11-27 11:56:57 +02:00
Mohammad AboMokh 5c2cf07780 Revert file permission change 2018-11-27 11:56:56 +02:00
Mohammad AboMokh 1d4b6a4e89 Return invalid argument error in case of zero or negative handle for generators 2018-11-27 11:56:55 +02:00
Mohammad AboMokh 79d957ac7b Change PSA_MAX_NONCE_SIZE to PSA_AEAD_MAX_NONCE_SIZE 2018-11-27 11:56:54 +02:00
Mohammad AboMokh ba47b450aa Remove unnecessary define 2018-11-27 11:56:54 +02:00
Mohammad AboMokh 7776fea903 Remove unneeded includes 2018-11-27 11:56:53 +02:00
Netanel Gonen 352bac3b26 Crypto SPM - fix - PART1
Fail fast on invalid handles before calling to SPM
2018-11-27 11:56:52 +02:00
Netanel Gonen bab6116f31 compilation fix 2018-11-27 11:56:51 +02:00
Mohammad AboMokh a4c498e02a Integrate psa_key_agreement() with SPM code 2018-11-27 11:56:50 +02:00
Netanel Gonen 59c3c9fff7 crypto init with multiple client guard & tests 2018-11-27 11:56:48 +02:00
Netanel Gonen 7f49fd2b09 Fix memory leak if user does not calls abort. call abort when connection is closed 2018-11-27 11:56:46 +02:00
Netanel Gonen 58f92c3266 remove execute permissions from file 2018-11-27 11:56:45 +02:00
Mohammad AboMokh 54cd8bf51f Change behavior realted to MBEDTLS_ENTROPY_NV_SEED and MBEDTLS_PSA_HAS_ITS_IO flags
* mbedtls_psa_inject_entropy() MUST be always available for client side.
* Partition will return PSA_ERROR_NOT_SUPPPORTED in case where MBEDTLS_ENTROPY_NV_SEED or MBEDTLS_PSA_HAS_ITS_IO flags are not defined
2018-11-27 11:56:40 +02:00
Mohammad AboMokh fb88cb4cb5 Add missing guards 2018-11-27 11:56:38 +02:00
Mohammad AboMokh 587fdbb447 Remove crypto init that was not called by the user 2018-11-27 11:56:32 +02:00
Mohammad AboMokh bd47a8c2b8 Add entropy inject to spm 2018-11-27 11:56:30 +02:00
Oren Cohen f4581faab0 Create a new partition for the crypto service
The following files initially were taken
from https://github.com/ARMmbed/psa-crypto-spm/releases/tag/spm-crypto-5.11
* crypto_platform_spe.h
* crypto_struct.h
* crypto_struct_ipc.h
* psa_crypto_spm.c
* crypto_spe.h
* crypto_partition_psa.json

The rest of the files were autimatically generated
by tools/spm/generate_psa_partition.py
2018-11-27 11:56:29 +02:00
Alexander Zilberkant ed8505ae64 Update components/TARGET_PSA/spm/psa_defs.h
Co-Authored-By: orenc17 <oren.cohen@arm.com>
2018-11-27 09:16:48 +02:00
Amanda Butler ba6fdcf494 Edit psa_defs.h
Make minor edits, mostly for consistent abbreviations.
2018-11-27 09:16:48 +02:00
Amanda Butler b87ab2511b Edit spm_server.h
Make minor edits, mostly for consistent capitalization and style.
2018-11-27 09:16:47 +02:00
Amanda Butler 25239a4a9d Edit spm_client.h
Make minor copy edits, mostly for punctuation and style.
2018-11-27 09:16:47 +02:00
Oren Cohen 5455a2da59 Astyle fixes 2018-11-27 09:16:46 +02:00
Alexander Zilberkant 8501e79e93 spm_init.h add function docs 2018-11-27 09:16:46 +02:00
Alexander Zilberkant 628ef9b28d spm_internal.h - add missing function docs 2018-11-27 09:16:46 +02:00
Oren Cohen 773ac8dd95 CR fixes 2018-11-27 09:16:45 +02:00
Alexander Zilberkant 2b9f94a0ad Remove dead code 2018-11-27 09:16:45 +02:00
Alexander Zilberkant 1a33ae527d Handle manager documentation fix
Move function description to header files

Note: it is not in Doxygen format since it is an internal module and
        Doxygen should not be generated for it
2018-11-27 09:16:44 +02:00
Oren Cohen 1e27eb1c77 Remove SPM negative tests 2018-11-27 09:16:43 +02:00
Oren Cohen 6cd4f7789f Add Version to SPM templates and generator 2018-11-27 09:16:43 +02:00
Alexander Zilberkant 4a391d3297 Remove internal RTX includes 2018-11-27 09:16:42 +02:00
Alexander Zilberkant ecd556b354 Generate better magic numbers 2018-11-27 09:16:41 +02:00
Oren Cohen 940645077e Coverity bug fixes 2018-11-27 09:16:41 +02:00
Alexander Zilberkant 9cc017fd48 Normalize license headers
- add SPDX license identifier
- add missing license headers
- update year in license headers
2018-11-27 09:16:40 +02:00
Alexander Zilberkant aea01a86f6 astyle changes 2018-11-27 09:16:38 +02:00
Oren Cohen dd73fa689c PSA SPM
* Intorduce PSA-SPM to mbed-os
* Add SPM tests (for PSA targets)
* Add PSA PRoT internal storage Secure implementation
* Integrate SPM into the boot proccess
* PSA manifest data generator
* Introduce PSA targets skeleton to mbed-os
* Add artifact delivery to the tools
2018-11-27 09:16:35 +02:00
Alexander Zilberkant 9b13e240c3 Add SPDX license identifier 2018-11-25 09:57:23 +02:00
Alexander Zilberkant 9fa1f5a3d5 astyle changes 2018-11-25 09:57:22 +02:00
Danny Shavit 53728e45b7 Add a new PSA Internal Trusted Storage APIs 2018-11-25 09:57:22 +02:00