mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-14 00:17:02 +02:00
This chain of trust is targeted at Arm CCA solutions and defines 3 independent signing domains: 1) CCA signing domain. The Arm CCA Security Model (Arm DEN-0096.A.a) [1] refers to the CCA signing domain as the provider of CCA components running on the CCA platform. The CCA signing domain might be independent from other signing domains providing other firmware blobs. The CCA platform is a collective term used to identify all hardware and firmware components involved in delivering the CCA security guarantee. Hence, all hardware and firmware components on a CCA enabled system that a Realm is required to trust. In the context of TF-A, this corresponds to BL1, BL2, BL31, RMM and associated configuration files. The CCA signing domain is rooted in the Silicon ROTPK, just as in the TBBR CoT. 2) Non-CCA Secure World signing domain. This includes SPMC (and associated configuration file) as the expected BL32 image as well as SiP-owned secure partitions. It is rooted in a new SiP-owned key called Secure World ROTPK, or SWD_ROTPK for short. 3) Platform owner signing domain. This includes BL33 (and associated configuration file) and the platform owner's secure partitions. It is rooted in the Platform ROTPK, or PROTPK. [1] https://developer.arm.com/documentation/DEN0096/A_a Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I6ffef3f53d710e6a2072fb4374401249122a2805
58 lines
1.5 KiB
C
58 lines
1.5 KiB
C
/*
|
|
* Copyright (c) 2015-2022, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef COT_DEF_H
|
|
#define COT_DEF_H
|
|
|
|
#ifdef MBEDTLS_CONFIG_FILE
|
|
#include MBEDTLS_CONFIG_FILE
|
|
#endif
|
|
|
|
/* TBBR CoT definitions */
|
|
#if defined(SPD_spmd)
|
|
#define COT_MAX_VERIFIED_PARAMS 8
|
|
#elif defined(ARM_COT_cca)
|
|
#define COT_MAX_VERIFIED_PARAMS 8
|
|
#else
|
|
#define COT_MAX_VERIFIED_PARAMS 4
|
|
#endif
|
|
|
|
/*
|
|
* Maximum key and hash sizes (in DER format).
|
|
*
|
|
* Both RSA and ECDSA keys may be used at the same time. In this case, the key
|
|
* buffers must be big enough to hold either. As RSA keys are bigger than ECDSA
|
|
* ones for all key sizes we support, they impose the minimum size of these
|
|
* buffers.
|
|
*/
|
|
#if TF_MBEDTLS_USE_RSA
|
|
#if TF_MBEDTLS_KEY_SIZE == 1024
|
|
#define PK_DER_LEN 162
|
|
#elif TF_MBEDTLS_KEY_SIZE == 2048
|
|
#define PK_DER_LEN 294
|
|
#elif TF_MBEDTLS_KEY_SIZE == 3072
|
|
#define PK_DER_LEN 422
|
|
#elif TF_MBEDTLS_KEY_SIZE == 4096
|
|
#define PK_DER_LEN 550
|
|
#else
|
|
#error "Invalid value for TF_MBEDTLS_KEY_SIZE"
|
|
#endif
|
|
#else /* Only using ECDSA keys. */
|
|
#define PK_DER_LEN 91
|
|
#endif
|
|
|
|
#if TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA256
|
|
#define HASH_DER_LEN 51
|
|
#elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA384
|
|
#define HASH_DER_LEN 67
|
|
#elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA512
|
|
#define HASH_DER_LEN 83
|
|
#else
|
|
#error "Invalid value for TF_MBEDTLS_HASH_ALG_ID"
|
|
#endif
|
|
|
|
#endif /* COT_DEF_H */
|