Hi,
> shouldn't it be a value changing on each boot?
Yes, you are right. Boot seed is about the distinguish boot cycles. It should be a random number per boot cycle.
https://www.ietf.org/archive/id/draft-tschofenig-rats-psa-token-24.html#name-boot-seed
> implementation id, couldn't it be read from the board id (pico_get_unique_board_id)?
“Note that this identifies the PSA RoT implementation, not a particular instance. To uniquely identify an instance, see the Instance ID claim”
https://www.ietf.org/archive/id/draft-tschofenig-rats-psa-token-24.html#name-implementation-id
It is more kind a soc-family-id.
Regards,
Tamas
From: David Hazi via TF-M <tf-m@lists.trustedfirmware.org>
Sent: Saturday, February 8, 2025 10:52 AM
To: Augusto Cesare Zanellato <augustocesare.zanellato@studenti.unipd.it>; tf-m@lists.trustedfirmware.org
Subject: [TF-M] Re: Clarification on boot seed
Hi,
TF-M has got a default OTP map and template files which using the default map. This makes the development and testing easier. Each platform can use these as a starting
point and implement the platform specific parts with the help of these.
You can use the functions provided by the pico SDK, in this case you have to change the platform functions.
In your case:
If you can, please upstream the changes, we welcome all contributions.
Regards,
Dávid
From: Augusto Cesare Zanellato via TF-M <tf-m@lists.trustedfirmware.org>
Sent: 07 February 2025 15:48
To: tf-m@lists.trustedfirmware.org
Subject: [TF-M] Clarification on boot seed
Hi,
I'm doing a PoC on initial attestation for an university project using a RP2350 board and I'm not really understanding why boot seed is stored in OTP, shouldn't it be a value changing on each boot?
Pico SDK conveniently exposes one via a ROM function (rom_get_boot_random).
Another similar doubt I have is w.r.t. implementation id, couldn't it be read from the board id (pico_get_unique_board_id)? Board id is factory programmed in otp so it should actually be unique.
Best Regards,
Augusto Zanellato