| /* |
| * Copyright (c) 2019-2022, Arm Limited. All rights reserved. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| * |
| */ |
| |
| #ifndef __TFM_ATTEST_IAT_DEFS_H__ |
| #define __TFM_ATTEST_IAT_DEFS_H__ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include "config_attest.h" |
| |
| #if ATTEST_TOKEN_PROFILE_PSA_IOT_1 |
| |
| /* In case of the original PSA_IOT_PROFILE_1 */ |
| #define IAT_ARM_RANGE_BASE (-75000) |
| #define IAT_PROFILE_DEFINITION (IAT_ARM_RANGE_BASE - 0) |
| #define IAT_CLIENT_ID (IAT_ARM_RANGE_BASE - 1) |
| #define IAT_SECURITY_LIFECYCLE (IAT_ARM_RANGE_BASE - 2) |
| #define IAT_IMPLEMENTATION_ID (IAT_ARM_RANGE_BASE - 3) |
| #define IAT_BOOT_SEED (IAT_ARM_RANGE_BASE - 4) |
| #define IAT_CERTIFICATION_REFERENCE (IAT_ARM_RANGE_BASE - 5) |
| #define IAT_SW_COMPONENTS (IAT_ARM_RANGE_BASE - 6) |
| #define IAT_NO_SW_COMPONENTS (IAT_ARM_RANGE_BASE - 7) |
| #define IAT_NONCE (IAT_ARM_RANGE_BASE - 8) |
| #define IAT_INSTANCE_ID (IAT_ARM_RANGE_BASE - 9) |
| #define IAT_VERIFICATION_SERVICE (IAT_ARM_RANGE_BASE - 10) |
| |
| /* Indicates that the boot status intentionally (i.e. the bootloader is not |
| * capable of producing it) does not contain any SW components' measurement. |
| * Required integer value for claim labeled IAT_NO_SW_COMPONENTS. |
| */ |
| #define NO_SW_COMPONENT_FIXED_VALUE 1 |
| |
| #elif ATTEST_TOKEN_PROFILE_PSA_2_0_0 |
| |
| /* In case of PSA_2_0_0 (updated PSA profile ) */ |
| #define IAT_NONCE 10 /* EAT nonce */ |
| #define IAT_INSTANCE_ID 256 /* EAT ueid */ |
| #define IAT_PROFILE_DEFINITION 265 /* EAT eat_profile */ |
| #define IAT_ARM_RANGE_BASE (2393) |
| #define IAT_CLIENT_ID (IAT_ARM_RANGE_BASE + 1) |
| #define IAT_SECURITY_LIFECYCLE (IAT_ARM_RANGE_BASE + 2) |
| #define IAT_IMPLEMENTATION_ID (IAT_ARM_RANGE_BASE + 3) |
| #define IAT_BOOT_SEED (IAT_ARM_RANGE_BASE + 4) |
| #define IAT_CERTIFICATION_REFERENCE (IAT_ARM_RANGE_BASE + 5) |
| #define IAT_SW_COMPONENTS (IAT_ARM_RANGE_BASE + 6) |
| #define IAT_VERIFICATION_SERVICE (IAT_ARM_RANGE_BASE + 7) |
| |
| #elif ATTEST_TOKEN_PROFILE_ARM_CCA |
| |
| /* In case of ARM_CCA profile */ |
| #define IAT_NONCE 10 /* EAT nonce*/ |
| #define IAT_INSTANCE_ID 256 /* EAT ueid */ |
| #define IAT_PROFILE_DEFINITION 265 /* EAT eat_profile */ |
| #define IAT_ARM_RANGE_BASE (2393) |
| #define IAT_CLIENT_ID (IAT_ARM_RANGE_BASE + 1) |
| #define IAT_SECURITY_LIFECYCLE (IAT_ARM_RANGE_BASE + 2) |
| #define IAT_IMPLEMENTATION_ID (IAT_ARM_RANGE_BASE + 3) |
| #define IAT_BOOT_SEED (IAT_ARM_RANGE_BASE + 4) |
| #define IAT_CERTIFICATION_REFERENCE (IAT_ARM_RANGE_BASE + 5) |
| #define IAT_SW_COMPONENTS (IAT_ARM_RANGE_BASE + 6) |
| #define IAT_VERIFICATION_SERVICE (IAT_ARM_RANGE_BASE + 7) |
| #define IAT_PLATFORM_CONFIG (IAT_ARM_RANGE_BASE + 8) |
| #define IAT_PLATFORM_HASH_ALGO_ID (IAT_ARM_RANGE_BASE + 9) |
| |
| #else |
| #error "Attestation token profile is incorrect" |
| #endif |
| |
| #define IAT_SW_COMPONENT_MEASUREMENT_TYPE (1) |
| #define IAT_SW_COMPONENT_MEASUREMENT_VALUE (2) |
| /* Reserved (3) */ |
| #define IAT_SW_COMPONENT_VERSION (4) |
| #define IAT_SW_COMPONENT_SIGNER_ID (5) |
| #define IAT_SW_COMPONENT_MEASUREMENT_DESC (6) |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* __TFM_ATTEST_IAT_DEFS_H__ */ |