2414836_en-US

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

2414836_en-US

2414836_en-US

S32K3xx Master_ECU_KEY or CUST/OEM authorization key import

Hello NXP,

Thank you as always for your support.

Based on your previous response regarding our FBL-related inquiry, we understood that when the Life-Cycle is in the In-Field state, either the MASTER_ECU_KEY or a CUST/OEM authorization key must have been provisioned in advance in order to obtain SuperUser (SU) authority, and that provisioning the MASTER_ECU_KEY is not possible once the device is already in the In-Field state.

Could you please confirm whether our understanding is correct?

Currently, neither of these two keys has been provisioned. To prevent similar issues from occurring in the future, we would like to provision either the MASTER_ECU_KEY or a CUST/OEM authorization key in advance, so that we can format the NVM/RAM key catalog and inject the HMAC key after the device enters the In-Field state.

We have a few questions as follows:

1. In this project, FBL authentication is not based on SHE. Instead, it uses RSA public-key signature verification. However, CRYPTO_SPT_SHE is configured as STD_ON.
In this case, should we provision the MASTER_ECU_KEY, or should we provision a CUST/OEM authorization key?

2. Is there any guide or reference documentation that describes how to import the MASTER_ECU_KEY or a CUST/OEM authorization key?
Thank you.

Best regards,

Re: S32K3xx Master_ECU_KEY or CUST/OEM authorization key import

Hi @jeongwoo 


The authorization key should be provisioned according to the current lifecycle and the key owner you need to operate with.


In CUST_DEL, you can provision the CUST authorization key. Once you advance the device to OEM_PROD, you can provision the OEM authorization key and use it to obtain Super User rights for OEM-owned keys.


You cannot provision an OEM-owned key while still in CUST_DEL, because at that point you do not have an OEM authorization key that could authorize the operation. Therefore, the key catalogs for the required owners should already be defined while the device is in CUST_DEL, before advancing the lifecycle.


After moving to OEM_PROD, the catalogs cannot be reformatted, because key catalog formatting is restricted to CUST_DEL. This lifecycle transition is also irreversible.


So, if your intention is to have both CUST and OEM authorization capabilities, define the required CUST and OEM key groups in the catalogs first, provision the CUST authorization key in CUST_DEL, advance to OEM_PROD, and then provision the OEM authorization key.


You can take a look at this thread for details:

https://community.nxp.com/t5/S32K/Change-is-not-possible-in-LC-OEM-PROD/m-p/2356576


On HSE level, the key import procedure is described in section “6.2.3  Key Import” in HSE-B Firmware reference manual rev. 2.8 and then see the description of “struct hseImportKeySrv_t” in HSE Service API reference manual of your HSE firmware version.


On Autosar Crypto driver level, it is given by Autosar specification. You can read description of Crypto_43_HSE_KeyElementSet() and Crypto_43_HSE_KeySetValid() API in RTD_CRYPTO_43_HSE_UM.pdf.

Authorization keys are imported in the same way as other keys, it’s just necessary to set USAGE_AUTHORIZATION and USAGE_VERIFY key flags for that key in your configurator.


Regards,

Lukas

Tags (1)
No ratings
Version history
Last update:
a week ago
Updated by: