I see in all of functions that should change user keys by updating them or erasing them one parameter is mandatory - value of a MasterKey. My question is - is it possible to update userKey without using value of master key, only using a ID of the masterKey or somekind of pointer that goes to MasterKey in memory without exposing it in code?
If possible, could this be in Crypto mcal way?
Hi Denis,
user key can be updated with a knowledge of MASTER_ECU_KEY or current KEY. But it is not necessary to expose the keys in flash / code. Typical approach is to calculate M1 - M5 values offline (using MASTER_ECU_KEY or current KEY) and then send the values M1-M5 somehow to the microcontroller.
Regards,
Lukas
Is there an examples of this "somehow" method?
When you are going to update the keys, such request usually comes from outside world - via CAN, LIN, UART... So, some master system should send M1-M5 values to the microcontroller. This is application dependent, I do not have such example.
Regards,
Lukas