| 12ddd2b1 | 19-Oct-2015 |
Pascal Brand <pascal.brand@st.com> |
Introduce free_rsa_public_key() and free_ecc_public_key()
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand
Introduce free_rsa_public_key() and free_ecc_public_key()
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| a2e9a830 | 16-Sep-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
GP11 : trusted storage verify (block enc fs)
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@l
GP11 : trusted storage verify (block enc fs)
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)
show more ...
|
| 8b0894f5 | 09-Sep-2015 |
James Kung <james.kung@linaro.org> |
Secure Storage: Support extending file size and file hole
With this patch, user can extend file size by truncate operation.
Also the file hole feature is supported in this patch, that is, user can
Secure Storage: Support extending file size and file hole
With this patch, user can extend file size by truncate operation.
Also the file hole feature is supported in this patch, that is, user can seek to a position larger than file size and write data from the position.
The file hole implementation actually is not an efficient solution, because we always fill zero in these holes.
Signed-off-by: James Kung <james.kung@linaro.org> Tested-by: James Kung <james.kung@linaro.org> (QEMU, MT8173 EVB) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 9470783f | 09-Sep-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: export TEE file header structure for xtest
Export 'struct meta_header' and 'struct block_header' to $TA_DEV_KIT_DIR/host_include, those structures can be used by xtest. This prevents
Secure Storage: export TEE file header structure for xtest
Export 'struct meta_header' and 'struct block_header' to $TA_DEV_KIT_DIR/host_include, those structures can be used by xtest. This prevents hard-coding the structure in xtest.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| c7856574 | 05-Jun-2015 |
James Kung <james.kung@linaro.org> |
Secure Storage: Implement block-based encrypted file system
- Meta file encryption/decryption is enforced - Block file encryption/decryption is optional
Signed-off-by: James Kung <james.kung@linaro
Secure Storage: Implement block-based encrypted file system
- Meta file encryption/decryption is enforced - Block file encryption/decryption is optional
Signed-off-by: James Kung <james.kung@linaro.org> Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: James Kung <james.kung@linaro.org> (QEMU, MT8173 EVB) Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| f4c0a293 | 23-Jun-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: Implemented atomic operations
The following operations should be atomic:
- Write - Rename - Create/Delete - Truncate
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu
Secure Storage: Implemented atomic operations
The following operations should be atomic:
- Write - Rename - Create/Delete - Truncate
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 69d4445d | 05-Jun-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: Implemented block-based file operations
This patch represent a TEE file by many small REE files and single meta file, which is used to describe the TEE file. This approach can be use
Secure Storage: Implemented block-based file operations
This patch represent a TEE file by many small REE files and single meta file, which is used to describe the TEE file. This approach can be used as basis to support atomic operation and enhance encrypt fs performance.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 60fc60b3 | 22-Jul-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: optimize size with const crypto_ops
Optimize size of unpaged data by making crypto_ops const.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand
core: optimize size with const crypto_ops
Optimize size of unpaged data by making crypto_ops const.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| bf494894 | 02-Jul-2015 |
Pascal Brand <pascal.brand@st.com> |
ECC: DH implementation and self tests
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jerome Forissier <jerome.forissie
ECC: DH implementation and self tests
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32 & 64-bit) Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 1d8052f0 | 02-Jul-2015 |
SY Chiu <sy.chiu@linaro.org> |
SE API: Use tee_svc_copy_kaddr_to_user32() to avoid buffer overflow
Note: buffer overflow is supposed to happen when we have 64-bit kernel and 32-bit TA, but SE API can only be tested on QEMU which
SE API: Use tee_svc_copy_kaddr_to_user32() to avoid buffer overflow
Note: buffer overflow is supposed to happen when we have 64-bit kernel and 32-bit TA, but SE API can only be tested on QEMU which cannot hosts 64-bit kernel for now. Thus, the test is just make sure the change doesn't corrupt SE API implementation.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU+jcardsim) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 9977404e | 25-Jun-2015 |
Pascal Brand <pascal.brand@st.com> |
ECC: sign and self tests, at crypto_ops level
Note that in case of pager, the emulated esram size has been increased from 200KB to 256KB.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Rev
ECC: sign and self tests, at crypto_ops level
Note that in case of pager, the emulated esram size has been increased from 200KB to 256KB.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32 & 64-bit) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey with pager) Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 8707ec0f | 29-Jun-2015 |
Jerome Forissier <jerome.forissier@linaro.org> |
arm64: fix buffer overflows when copying kernel addresses to user space
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by:
arm64: fix buffer overflows when copying kernel addresses to user space
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 316a94e7 | 18-Jun-2015 |
Pascal Brand <pascal.brand@st.com> |
ECC: gen_ecc_key HAL
Implementation and test of crypto_ops.acipher.gen_ecc_key
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: P
ECC: gen_ecc_key HAL
Implementation and test of crypto_ops.acipher.gen_ecc_key
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| aeb0d927 | 05-Jun-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
GP Internal Core API v1.1 : Transient Object Functions
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.w
GP Internal Core API v1.1 : Transient Object Functions
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)
show more ...
|
| 84431ae3 | 22-Apr-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
GP Internal Core API v1.1 : TEE_CreatePersistentObject
Deprecated TEE_DATA_FLAG_EXCLUSIVE Replaced by TEE__DATA_FLAG_OVERWRITE
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: J
GP Internal Core API v1.1 : TEE_CreatePersistentObject
Deprecated TEE_DATA_FLAG_EXCLUSIVE Replaced by TEE__DATA_FLAG_OVERWRITE
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)
show more ...
|
| a8224611 | 16-Mar-2015 |
James Kung <james.kung@linaro.org> |
Enhancing Secure Storage
- Implement encrypted file system key manager * Key generation for SSK, FEK * Provide helper APIs to do file encryption/decryption * Finished key manager test cases fo
Enhancing Secure Storage
- Implement encrypted file system key manager * Key generation for SSK, FEK * Provide helper APIs to do file encryption/decryption * Finished key manager test cases for file encryption/decryption tests
- Implements encrypted file system operations file-based operation * file content is encrypted and MACed before storing on normal world file system. * file hole is not implemented because this is meaningless in the context of secure storage.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Signed-off-by: James Kung <james.kung@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Tested-by: James Kung <james.kung@linaro.org> (QEMU) Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| 855171e1 | 04-May-2015 |
Jerome Forissier <jerome.forissier@linaro.org> |
crypto: initialize with service_init()
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@lin
crypto: initialize with service_init()
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 7583c59e | 27-Mar-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
GP Internal Core API v1.1 : add new functions, panicked IDs
- Add new functions (that will replace deprecated functions) TEE_GetObjectInfo1, TEE_RestrictObjectUsage1, TEE_CopyObjectAttributes1, TEE_
GP Internal Core API v1.1 : add new functions, panicked IDs
- Add new functions (that will replace deprecated functions) TEE_GetObjectInfo1, TEE_RestrictObjectUsage1, TEE_CopyObjectAttributes1, TEE_CloseAndDeletePersistentObject1
- Support of deprecated functions available (will be removed in future release). Note: TEE_ERROR_STORAGE_NOT_AVAILABLE case not implemented in OP-TEE core (e.g. media removal)
- Add panicked functions identifiers (debug purpose)
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)
show more ...
|
| 7f74c64a | 01-Apr-2015 |
Pascal Brand <pascal.brand@st.com> |
Update ABI-32bits and v1.1 uint32_t changes
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform) Signed-off-by: Pascal Brand <pasc
Update ABI-32bits and v1.1 uint32_t changes
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 86ffc420 | 17-Mar-2015 |
SY Chiu <sy.chiu@linaro.org> |
Added new interface in PRNG Hal to inject entropy
- Added add_entropy interface in crypto_ops.prng, and expose new interface tee_prng_add_entropy() for platform vendor to inject entropy. - Injec
Added new interface in PRNG Hal to inject entropy
- Added add_entropy interface in crypto_ops.prng, and expose new interface tee_prng_add_entropy() for platform vendor to inject entropy. - Inject entropy using current timestamp every time when a session is opened or closed.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (FVP,QEMU) Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU)
show more ...
|
| 177603c7 | 06-Mar-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
Define 32-bit ABI
Defines 32-bit ABI for various types passed by reference. Either by an explicit conversion to/from TEE_Param and TEE_Attribute or by changing size_t to uint32_t. Affected interface
Define 32-bit ABI
Defines 32-bit ABI for various types passed by reference. Either by an explicit conversion to/from TEE_Param and TEE_Attribute or by changing size_t to uint32_t. Affected interfaces are SVC interface and parameters passed to user TA inside tee_user_ta_enter().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 7018ae01 | 04-Mar-2015 |
SY Chiu <sy.chiu@linaro.org> |
Added Abstract Layer for PRNG
- Extended crypto_ops with a new prng_ops which handles prng operations. - Replace calls to get_rng_array() with crypto_ops.prng.read(), this enforces PRNG operations
Added Abstract Layer for PRNG
- Extended crypto_ops with a new prng_ops which handles prng operations. - Replace calls to get_rng_array() with crypto_ops.prng.read(), this enforces PRNG operations go through PRNG HAL, instead of invoking platform-dependent PRNG implementation directly. - Create a new mpa_set_random_generator() interface for mpa user to register a callback to generate random number, instead of expecting the user to provide a get_rng_array(). This enables libmpa uses crypto_ops.prng.read(). - Added a new configuration CFG_WITH_PRNG_SOFTWARE to toggle SW/HW-dependent PRNG implementation. - The SW PRNG implementation is supplied by backed cryto library(libtomcrypt). - Added a new SW PRNG 'Fortuna' to libtomcrypt. - Added a new SW PRNG 'RC4' to libtomcrypt, when Fortuna is not available due to AES and SHA256 not available, fallback to RC4. - Get rid of bad implemented SW PRNG in plat_vexpress(rng_support.c). - If CFG_WITH_PRNG_SOFTWARE is not enabled, the platform needs to supply hw_get_random_byte().
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform) Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU)
show more ...
|
| 1fd927eb | 11-Mar-2015 |
James Kung <james.kung@linaro.org> |
TEE Core File Operation Abstraction Layer
Tested-by: James Kung <james.kung@linaro.org> (QEMU platform) Signed-off-by: James Kung <james.kung@linaro.org> Reviewed-by: Jerome Forissier <jerome.foriss
TEE Core File Operation Abstraction Layer
Tested-by: James Kung <james.kung@linaro.org> (QEMU platform) Signed-off-by: James Kung <james.kung@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| fa530828 | 03-Feb-2015 |
Pascal Brand <pascal.brand@st.com> |
Internal API extension on Cache Operations
Following extensions are introduced: - TEE_CacheClean() - TEE_CacheFlush() - TEE_CacheInvalidate()
Reviewed-by: Jerome Forissier <jerome.foris
Internal API extension on Cache Operations
Following extensions are introduced: - TEE_CacheClean() - TEE_CacheFlush() - TEE_CacheInvalidate()
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| d9428c3c | 20-Jan-2015 |
SY Chiu <sy.chiu@linaro.org> |
SE API: Change configuration to be prefixed with CFG_*
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (Modified QEMU + jcardsim) |