Hello,
I’m currently introducing secure boot on our Verdin imx8mp module with the help of meta-toradex-security and the guideline (UG10106) Code Signing Tool User Guide from NXP.
I created a pki tree with the script hab4_pki_tree.sh and generated one CA, 4 SRKs, 4 IMG and 4 CSF key pairs. So far so good - everything is up and running.
I understand the principal of revoking a SRK key in case it is compromised by fusing this information on the SOC and moving on with the next SRK key. With this approach you have 4 shots in case something happens to your key.
Beyond this mechanism of invalidating a SRK key, I would like to be able to also invalidate IMG and CSF keys and replace them by new ones. The code signing tool is providing a script for adding additional CSF/IMG keys derived from an SRK. The invalidation of a key could be done by installing an image with newer CSF and IMG certificate.
I think of scenarios where sever vulnerabilities can occur in an officially shipped image in the future. In this case I would like to prevent devices from booting images with older signatures created by outdated CSF or IMG keys. The device needs to store the information of the current valid certificate version somehow.
I heared about the possibility of using a persistent counter that increments when a new CSF/IMG certificate is used. This counter is not able to count down and therefore does not allow older certificat versions this way.
Is there something like that provided in the IMX8MP or do you have any recommendations on how to achive this?
Thanks in advance!
Best regards, Ralph