6 Appendix B: Customer Key Message and Root CA Hash Message
When Secure Boot mode is enabled on a SAM9X60 MPU, you need to provision the customer's symmetric key, used for encrypting bootstrap images, and the symmetric or root CA 256 hash, used for signing boot images, into the OTP device's memory.
To do this, you must create a specific customer key message bundle from the customer's keying material. This involves signing and encrypting the symmetric keys and/or certificate hashes with a private symmetric key pair located in the device's ROM code. The result is the "customer key message bundle." This is the only format accepted for provisioning the device.
The ROM code ensures authenticity by verifying that the provisioned keys come from the customer with a valid license for the secure SAM-BA cipher tools, which are used to generate the customer key message bundle. Confidentiality is maintained because the symmetric keys are inaccessible to external entities as long as the license for the secure SAM-BA cipher tools is secure. By using the customer key bundle, the SAM9X60 Secure Boot mode ensures that only bootstrap images signed and encrypted under the customer’s control can be executed.
Because the customer’s keying material is signed and encrypted with the device’s ROM code private symmetric key before provisioning, the process does not need to occur in a fully trusted environment. Even if provisioning happens in insecure premises, the confidentiality and authenticity of the customer’s keys are preserved. This design ensures that the customer’s keys cannot be exposed or altered during provisioning.
