S32K314 HSE SHE SecureBoot CMAC Update

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K314 HSE SHE SecureBoot CMAC Update

654件の閲覧回数
Daniel_Park
Contributor I

i try to use SHE secureboot.

Daniel_Park_0-1770547436262.png

 

I have loaded the MASTER_ECU_KEY and BOOT_MAC_KEY into the HSE’s NVM according to the reference manual.

As documented, when BOOT_MAC is empty, it is automatically computed and populated.

My concern arises when the firmware is updated and I need to update the BOOT_MAC for the new firmware.

The update procedure itself is clear and follows the same method used to load the MASTER_ECU_KEY and BOOT_MAC_KEY, so that part is not an issue.

The issue occurs during the BOOT_MAC calculation.

Specifically, when I set pFastCMacSrv->keyHandle to the BOOT_MAC_KEY handle,

I receive the error shown below. I assume this is due to restrictions related to the special nature of SHE keys.

0xA5AA52B4UL
/**< @brief The key usage flags (provided using the key handle) don't allow to perform the requested crypto operation (the key flags don't match the crypto operation;
e.g. the key is configured to be used for decryption, and the host requested an encryption).
In SHE, the key ID provided is either invalid or non-usable due to some flag restrictions. */

 

Question: In the CMAC update flow, how should I obtain and use the appropriate CMAC key for the calculation if I cannot directly use the BOOT_MAC_KEY handle? Could you advise on the correct approach for computing the CMAC that will be used to update BOOT_MAC?

 

 

 

タグ(1)
0 件の賞賛
返信
1 返信

623件の閲覧回数
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @Daniel_Park 

 

BOOT_MAC_KEY can be used only for CMAC verify operation. All attempts to run different operation will lead to an error. It is also not possible to export BOOT_MAC_KEY in any way – this would violate SHE specification.

I can see two workarounds:

  1. Load the same key also to normal key slot in NVM catalog and use this one to generate new CMAC.  
  2. New application should be distributed with CMAC calculated offline because I don’t think it is good idea to distribute an application without any signature.  BOOT_MAC should not be calculated in runtime during the update. To calculate it offline, you can either use tools like OpenSSL or you can let the HSE to calculate it in development setup.

 

Regards,

Lukas

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2314193%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K314%20HSE%20SHE%20%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%83%96%E3%83%BC%E3%83%88%20CMAC%20%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2314193%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ESHE%20%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%83%96%E3%83%BC%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Daniel_Park_0-1770547436262.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Daniel_Park_0-1770547436262.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F375972iAD6292A989E3BBFA%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Daniel_Park_0-1770547436262.png%22%20alt%3D%22Daniel_Park_0-1770547436262.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3E%3CP%3E%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB%E3%81%AB%E5%BE%93%E3%81%A3%E3%81%A6%E3%80%81%20%3CSTRONG%3EMASTER_ECU_KEY%3C%2FSTRONG%3E%E3%81%A8%3CSTRONG%3EBOOT_MAC_KEY%20%E3%82%92%3C%2FSTRONG%3EHSE%20%E3%81%AE%20NVM%20%E3%81%AB%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E6%96%87%E6%9B%B8%E5%8C%96%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%80%81%20%3CSTRONG%3EBOOT_MAC%3C%2FSTRONG%3E%E3%81%8C%E7%A9%BA%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%E8%A8%88%E7%AE%97%E3%81%95%E3%82%8C%E3%80%81%E5%85%A5%E5%8A%9B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E6%87%B8%E5%BF%B5%E3%81%8C%E7%94%9F%E3%81%98%E3%82%8B%E3%81%AE%E3%81%AF%E3%80%81%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%8C%E6%9B%B4%E6%96%B0%E3%81%95%E3%82%8C%E3%80%81%E6%96%B0%E3%81%97%E3%81%84%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AB%E5%90%88%E3%82%8F%E3%81%9B%E3%81%A6%3CSTRONG%3EBOOT_MAC%20%E3%82%92%3C%2FSTRONG%3E%E6%9B%B4%E6%96%B0%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E6%9B%B4%E6%96%B0%E6%89%8B%E9%A0%86%E8%87%AA%E4%BD%93%E3%81%AF%E6%98%8E%E7%A2%BA%E3%81%A7%E3%80%81%20%3CSTRONG%3EMASTER_ECU_KEY%3C%2FSTRONG%3E%E3%81%A8%3CSTRONG%3EBOOT_MAC_KEY%3C%2FSTRONG%3E%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%AE%E3%81%A8%E5%90%8C%E3%81%98%E6%96%B9%E6%B3%95%E3%81%AB%E5%BE%93%E3%81%86%E3%81%9F%E3%82%81%E3%80%81%E3%81%9D%E3%81%AE%E9%83%A8%E5%88%86%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AF%3CSTRONG%3EBOOT_MAC%20%E3%81%AE%E8%A8%88%E7%AE%97%3C%2FSTRONG%3E%E4%B8%AD%E3%81%AB%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E5%85%B7%E4%BD%93%E7%9A%84%E3%81%AB%E3%81%AF%E3%80%81pFastCMacSrv-%26gt%3BkeyHandle%E3%82%92%3CSTRONG%3EBOOT_MAC_KEY%3C%2FSTRONG%3E%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%3C%2FP%3E%3CP%3E%E4%B8%8B%E8%A8%98%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81SHE%20%E3%82%AD%E3%83%BC%E3%81%AE%E7%89%B9%E6%AE%8A%E6%80%A7%E3%81%AB%E9%96%A2%E9%80%A3%E3%81%97%E3%81%9F%E5%88%B6%E9%99%90%E3%81%AB%E3%82%88%E3%82%8B%E3%82%82%E3%81%AE%E3%81%A0%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E0xA5AA52B4UL%3CBR%20%2F%3E%20%2F**%26lt%3B%20%40brief%20%E3%82%AD%E3%83%BC%E4%BD%BF%E7%94%A8%E3%83%95%E3%83%A9%E3%82%B0%20(%E3%82%AD%E3%83%BC%20%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%82%8B)%20%E3%81%A7%E3%81%AF%E3%80%81%E8%A6%81%E6%B1%82%E3%81%95%E3%82%8C%E3%81%9F%E6%9A%97%E5%8F%B7%E5%8C%96%E6%93%8D%E4%BD%9C%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%20(%E3%82%AD%E3%83%BC%20%E3%83%95%E3%83%A9%E3%82%B0%E3%81%8C%E6%9A%97%E5%8F%B7%E5%8C%96%E6%93%8D%E4%BD%9C%E3%81%A8%E4%B8%80%E8%87%B4%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93)%E3%80%82%3CBR%20%2F%3E%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%81%E3%82%AD%E3%83%BC%E3%81%AF%E5%BE%A9%E5%8F%B7%E5%8C%96%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E3%83%9B%E3%82%B9%E3%83%88%E3%81%8C%E6%9A%97%E5%8F%B7%E5%8C%96%E3%82%92%E8%A6%81%E6%B1%82%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AA%E3%81%A9%E3%81%A7%E3%81%99%E3%80%82%3CBR%20%2F%3ESHE%20%E3%81%A7%E3%81%AF%E3%80%81%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%9F%E3%82%AD%E3%83%BC%20ID%20%E3%81%AF%E3%80%81%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E3%83%95%E3%83%A9%E3%82%B0%E5%88%B6%E9%99%90%E3%81%AB%E3%82%88%E3%82%8A%E7%84%A1%E5%8A%B9%E3%81%BE%E3%81%9F%E3%81%AF%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82*%2F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSTRONG%3E%E8%B3%AA%E5%95%8F%3A%3C%2FSTRONG%3E%20CMAC%20%E6%9B%B4%E6%96%B0%E3%83%95%E3%83%AD%E3%83%BC%E3%81%A7%E3%80%81%20%3CSTRONG%3EBOOT_MAC_KEY%3C%2FSTRONG%3E%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%82%92%E7%9B%B4%E6%8E%A5%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%80%81%E8%A8%88%E7%AE%97%E3%81%AB%E9%81%A9%E5%88%87%E3%81%AA%3CSTRONG%3ECMAC%20%E3%82%AD%E3%83%BC%3C%2FSTRONG%3E%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3CSTRONG%3EBOOT_MAC%20%E3%81%AE%3C%2FSTRONG%3E%E6%9B%B4%E6%96%B0%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%82%8B%20CMAC%20%E3%82%92%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%AD%A3%E3%81%97%E3%81%84%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%82%A2%E3%83%89%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2314381%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K314%20HSE%20SHE%20SecureBoot%20CMAC%20Update%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2314381%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F259182%22%20target%3D%22_blank%22%3E%40Daniel_Park%3C%2FA%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBOOT_MAC_KEY%20%E3%81%AF%20CMAC%20%E6%A4%9C%E8%A8%BC%E6%93%8D%E4%BD%9C%E3%81%AB%E3%81%AE%E3%81%BF%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E7%95%B0%E3%81%AA%E3%82%8B%E6%93%8D%E4%BD%9C%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%BE%E3%81%9F%E3%80%81%E3%81%84%E3%81%8B%E3%81%AA%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%A7%E3%82%82%20BOOT_MAC_KEY%20%E3%82%92%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81SHE%20%E4%BB%95%E6%A7%98%E3%81%AB%E9%81%95%E5%8F%8D%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%9B%9E%E9%81%BF%E7%AD%96%E3%81%AF%202%20%E3%81%A4%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3E%E5%90%8C%E3%81%98%E3%82%AD%E3%83%BC%E3%82%92%20NVM%20%E3%82%AB%E3%82%BF%E3%83%AD%E3%82%B0%E3%81%AE%E9%80%9A%E5%B8%B8%E3%81%AE%E3%82%AD%E3%83%BC%20%E3%82%B9%E3%83%AD%E3%83%83%E3%83%88%E3%81%AB%E3%82%82%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%80%81%E3%81%93%E3%82%8C%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E6%96%B0%E3%81%97%E3%81%84%20CMAC%20%E3%82%92%E7%94%9F%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%0A%3CLI%3E%E7%BD%B2%E5%90%8D%E3%81%AA%E3%81%97%E3%81%A7%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E9%85%8D%E5%B8%83%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E5%BE%97%E7%AD%96%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%A8%E6%80%9D%E3%81%86%E3%81%AE%E3%81%A7%E3%80%81%E6%96%B0%E3%81%97%E3%81%84%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AF%E3%82%AA%E3%83%95%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%A7%E8%A8%88%E7%AE%97%E3%81%95%E3%82%8C%E3%81%9F%20CMAC%20%E3%81%A8%E3%81%A8%E3%82%82%E3%81%AB%E9%85%8D%E5%B8%83%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82BOOT_MAC%20%E3%81%AF%E6%9B%B4%E6%96%B0%E4%B8%AD%E3%81%AB%E5%AE%9F%E8%A1%8C%E6%99%82%E3%81%AB%E8%A8%88%E7%AE%97%E3%81%95%E3%82%8C%E3%82%8B%E3%81%B9%E3%81%8D%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%82%AA%E3%83%95%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%A7%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81OpenSSL%20%E3%81%AA%E3%81%A9%E3%81%AE%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%8B%E3%80%81%E9%96%8B%E7%99%BA%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%E3%81%A7%20HSE%20%E3%81%AB%E8%A8%88%E7%AE%97%E3%81%95%E3%81%9B%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%83%AB%E3%83%BC%E3%82%AB%E3%82%B9%3C%2FP%3E%3C%2FLINGO-BODY%3E