i.MX8 ULP encrypted updates for a large fleet of devices

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX8 ULP encrypted updates for a large fleet of devices

235 Views
ddresser
Contributor III

I am investigating security configurations for the i.MX8 ULP.  I have secure boot working and am working on implementing encrypted boot using a dek_blob.

I have a high-level question.  My understanding is that the dek_blob is encrypted with the OTPMK - One Time Programmable Master Key which is unique to the device.  That would mean I would need a dek_blob for each device and separately encrypt updates for each device.

Let's say I have 5,000 devices distributed geographically.  It seems onerous to encrypt 5,000 separate updates and deliver them each to the right device.

My question is, "How is this typically accomplished?"  I have a couple of ideas how it might be accomplished, but I'd like to understand if there is a commonly accepted way.

These are the ways I have been considering:

  1. Burn a shared AES (OEM KEK) into fuses (I think it is fuse bank 6. Please confirm if you know)
  2. encrypt a shared key with an SRK key and deliver it in a container, create a key_blob and use keyctl to store it in a keychain.

Please provide guidance on a good practice.

0 Kudos
Reply
0 Replies