#------------------------------------------------------------------------------- # Copyright (c) 2018-2021, Arm Limited. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # #------------------------------------------------------------------------------- { "psa_framework_version": 1.1, "name": "TFM_SP_CRYPTO", "type": "PSA-ROT", "priority": "NORMAL", "model": "IPC", "entry_point": "tfm_crypto_init", "stack_size": "0x2000", "secure_functions": [ { "name": "TFM_CRYPTO_GET_KEY_ATTRIBUTES", "signal": "TFM_CRYPTO_GET_KEY_ATTRIBUTES", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_OPEN_KEY", "signal": "TFM_CRYPTO_OPEN_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_CLOSE_KEY", "signal": "TFM_CRYPTO_CLOSE_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_RESET_KEY_ATTRIBUTES", "signal": "TFM_CRYPTO_RESET_KEY_ATTRIBUTES", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_IMPORT_KEY", "signal": "TFM_CRYPTO_IMPORT_KEY", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_DESTROY_KEY", "signal": "TFM_CRYPTO_DESTROY_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_EXPORT_KEY", "signal": "TFM_CRYPTO_EXPORT_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_EXPORT_PUBLIC_KEY", "signal": "TFM_CRYPTO_EXPORT_PUBLIC_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_PURGE_KEY", "signal": "TFM_CRYPTO_PURGE_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_COPY_KEY", "signal": "TFM_CRYPTO_COPY_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_HASH_COMPUTE", "signal": "TFM_CRYPTO_HASH_COMPUTE", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_HASH_COMPARE", "signal": "TFM_CRYPTO_HASH_COMPARE", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_HASH_SETUP", "signal": "TFM_CRYPTO_HASH_SETUP", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_HASH_UPDATE", "signal": "TFM_CRYPTO_HASH_UPDATE", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_HASH_FINISH", "signal": "TFM_CRYPTO_HASH_FINISH", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_HASH_VERIFY", "signal": "TFM_CRYPTO_HASH_VERIFY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_HASH_ABORT", "signal": "TFM_CRYPTO_HASH_ABORT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_HASH_CLONE", "signal": "TFM_CRYPTO_HASH_CLONE", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_MAC_COMPUTE", "signal": "TFM_CRYPTO_MAC_COMPUTE", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_MAC_VERIFY", "signal": "TFM_CRYPTO_MAC_VERIFY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_MAC_SIGN_SETUP", "signal": "TFM_CRYPTO_MAC_SIGN_SETUP", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_MAC_VERIFY_SETUP", "signal": "TFM_CRYPTO_MAC_VERIFY_SETUP", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_MAC_UPDATE", "signal": "TFM_CRYPTO_MAC_UPDATE", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_MAC_SIGN_FINISH", "signal": "TFM_CRYPTO_MAC_SIGN_FINISH", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_MAC_VERIFY_FINISH", "signal": "TFM_CRYPTO_MAC_VERIFY_FINISH", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_MAC_ABORT", "signal": "TFM_CRYPTO_MAC_ABORT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_CIPHER_ENCRYPT", "signal": "TFM_CRYPTO_CIPHER_ENCRYPT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_CIPHER_DECRYPT", "signal": "TFM_CRYPTO_CIPHER_DECRYPT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_CIPHER_ENCRYPT_SETUP", "signal": "TFM_CRYPTO_CIPHER_ENCRYPT_SETUP", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_CIPHER_DECRYPT_SETUP", "signal": "TFM_CRYPTO_CIPHER_DECRYPT_SETUP", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_CIPHER_GENERATE_IV", "signal": "TFM_CRYPTO_CIPHER_GENERATE_IV", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_CIPHER_SET_IV", "signal": "TFM_CRYPTO_CIPHER_SET_IV", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_CIPHER_UPDATE", "signal": "TFM_CRYPTO_CIPHER_UPDATE", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_CIPHER_FINISH", "signal": "TFM_CRYPTO_CIPHER_FINISH", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_CIPHER_ABORT", "signal": "TFM_CRYPTO_CIPHER_ABORT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_ENCRYPT", "signal": "TFM_CRYPTO_AEAD_ENCRYPT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_DECRYPT", "signal": "TFM_CRYPTO_AEAD_DECRYPT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_ENCRYPT_SETUP", "signal": "TFM_CRYPTO_AEAD_ENCRYPT_SETUP", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_DECRYPT_SETUP", "signal": "TFM_CRYPTO_AEAD_DECRYPT_SETUP", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_GENERATE_NONCE", "signal": "TFM_CRYPTO_AEAD_GENERATE_NONCE", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_SET_NONCE", "signal": "TFM_CRYPTO_AEAD_SET_NONCE", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_SET_LENGTHS", "signal": "TFM_CRYPTO_AEAD_SET_LENGTHS", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_UPDATE_AD", "signal": "TFM_CRYPTO_AEAD_UPDATE_AD", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_UPDATE", "signal": "TFM_CRYPTO_AEAD_UPDATE", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_FINISH", "signal": "TFM_CRYPTO_AEAD_FINISH", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_VERIFY", "signal": "TFM_CRYPTO_AEAD_VERIFY", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_AEAD_ABORT", "signal": "TFM_CRYPTO_AEAD_ABORT", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_SIGN_MESSAGE", "signal": "TFM_CRYPTO_SIGN_MESSAGE", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_VERIFY_MESSAGE", "signal": "TFM_CRYPTO_VERIFY_MESSAGE", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_SIGN_HASH", "signal": "TFM_CRYPTO_SIGN_HASH", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_VERIFY_HASH", "signal": "TFM_CRYPTO_VERIFY_HASH", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_ASYMMETRIC_ENCRYPT", "signal": "TFM_CRYPTO_ASYMMETRIC_ENCRYPT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_ASYMMETRIC_DECRYPT", "signal": "TFM_CRYPTO_ASYMMETRIC_DECRYPT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_KEY_DERIVATION_SETUP", "signal": "TFM_CRYPTO_KEY_DERIVATION_SETUP", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_KEY_DERIVATION_GET_CAPACITY", "signal": "TFM_CRYPTO_KEY_DERIVATION_GET_CAPACITY", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_KEY_DERIVATION_SET_CAPACITY", "signal": "TFM_CRYPTO_KEY_DERIVATION_SET_CAPACITY", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_KEY_DERIVATION_INPUT_BYTES", "signal": "TFM_CRYPTO_KEY_DERIVATION_INPUT_BYTES", "non_secure_clients": true, "minor_version": 1, "minor_policy": "STRICT" }, { "name": "TFM_CRYPTO_KEY_DERIVATION_INPUT_KEY", "signal": "TFM_CRYPTO_KEY_DERIVATION_INPUT_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_KEY_DERIVATION_KEY_AGREEMENT", "signal": "TFM_CRYPTO_KEY_DERIVATION_KEY_AGREEMENT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_KEY_DERIVATION_OUTPUT_BYTES", "signal": "TFM_CRYPTO_KEY_DERIVATION_OUTPUT_BYTES", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_KEY_DERIVATION_OUTPUT_KEY", "signal": "TFM_CRYPTO_KEY_DERIVATION_OUTPUT_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_KEY_DERIVATION_ABORT", "signal": "TFM_CRYPTO_KEY_DERIVATION_ABORT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_RAW_KEY_AGREEMENT", "signal": "TFM_CRYPTO_RAW_KEY_AGREEMENT", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_GENERATE_RANDOM", "signal": "TFM_CRYPTO_GENERATE_RANDOM", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, { "name": "TFM_CRYPTO_GENERATE_KEY", "signal": "TFM_CRYPTO_GENERATE_KEY", "non_secure_clients": true, "version": 1, "version_policy": "STRICT" }, ], "services" : [ { "name": "TFM_CRYPTO", "sid": "0x00000080", "non_secure_clients": true, "connection_based": false, "stateless_handle": 1, "version": 1, "version_policy": "STRICT" }, ], "dependencies": [ "TFM_INTERNAL_TRUSTED_STORAGE_SERVICE" ] }