• How to check the complete TOE once implemented on the STM32U585xx chip: By comparing values in the
[Security Target] document to the those that TOE provides through the PSA Initial Attestation services (psa_
initial_attest_get_token function):
– Hardware version: It contains the decimal format of REV_ID and DEV_ID fields of the
DBGMCU_IDCODE register that allows identifying the STM32U585xx hardware (04080202000001).
– Implementation ID: It contains the SHA256 value computed on the immutable software code
part of the TOE (TFM_SBSFU_Boot code binary data). Once TOE is configured, this value is
fixed as it corresponds to the immutable part of the TOE (excluding TOE personalization data).
This value changes in case the integrator changes the Flash memory layout of the regions
managed by the TOE or in case the integrator changes the TOE software configuration. Refer
to Section 4.2.1 User‑accessible functions and privileges (AGD_OPE.1.1C) to get details on the
software configuration.
– SPE measurement value: It contains the SHA256 value computed on the up-datable software code
part of the TOE (secure image code). This value is related to the TOE and can be verified only if the
secure application code is not changed (customized by the integrator at first installation or updated
through the secure update procedure). Any code changes in the code running in the security or
privilege domain (included in the TOE scope) and any code changes in the code running in the secured
or unprivileged domain (not included in the TOE scope) changes the value.
– NSPE measurement value: It contains the SHA256 value computed on the non-secure image code.
This value is not related to the TOE and is changed as soon as the non-secure image code is changed
(customized by the integrator at first installation or updated through the secure update procedure).
• These TOE values can be obtained with this procedure:
1. Run TFM User Application menu, then press #2 (Test TFM), then #7 (TFM - Test EAT).
2. Copy the token response in Middlewares\Third_Party\trustedfirmware\tools\iat-verif
ier\st_tools\eat.txt.
3. Decode token response, from Middlewares\Third_Party\trustedfirmware\tools\iat-ver
ifier\st_tools:
◦ python build.py cbor ./eat.txt ./eat.cbor
◦ check_iat -k ../../../../../../Projects/B-U585I-IOT02A/Applications/TFM/TFM_SBSFU_Boot/Src/
tfm_initial_attestation_key.pem ./eat.cbor -p
The measurement is decoded from the EAT token response obtained, and displayed.
3.2
Secure installation and secure preparation of the operational environment
(AGD_PRE.1.2C)
Installation of the TOE corresponds to generating the binary image and loading it into the MCU memory. In the
case of the B-U585I-IOT02A development board, this can be performed using the STM32CubeProgrammer via
USB and connecting to the target. Before this installation is possible, the integrator must implement some drivers
that are required by the TOE. In the case of the B-U585I-IOT02A development board, this implementation is
already provided in the software package.
This section describes the hardware and software setup procedures.
3.2.1 Hardware setup
To set up the hardware environment, the B-U585I-IOT02A development board must be connected to a personal
computer via a USB cable. This connection with the PC allows the user:
• Flashing the board
• Interacting with the board via a UART console
• Debugging when the protections are disabled
The ST-LINK firmware programmed on the development board must be the V3J8M3 version.
UM2852
Secure installation and secure preparation of the operational environment (AGD_PRE.1.2C)
UM2852 - Rev 1
page 6/27