S32K144 CSEc Application MAC Storage Options for Secure Boot Verification

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

S32K144 CSEc Application MAC Storage Options for Secure Boot Verification

709 次查看
Kishore_14
Contributor III

Hardware: S32K144EVB-Q100
Software: S32 Design Studio, OpenBLT Bootloader, an5401-csec

We intend to protect only the bootloader using BOOT_DEFINE (16KB protected) and want the bootloader to verify the application MAC on every reset to establish a proper chain of trust.


We currently have a hardcoded CMAC value that we store and verify upon every reset as a proof of concept.

After bootloader verification (BOK=1), we need to verify application on every reset. For this, we need to:

  1. Store application MAC somewhere during programming
  2. Verify application MAC on every reset

We've considered these options but have concerns:

  • CSEc KEY slots (like KEY_2): Can't read back stored keys due to SHE protocol security - keys are write-only. How can we retrieve MAC for comparison?
  • Flash memory: Not suitable because application area gets erased when new application is programmed, so stored MAC would be lost.
  • EEPROM: Is this a good approach? Any recommended EEPROM addresses?

What other approaches would be suitable for storing application MAC that bootloader can reliably read for verification on every reset?

标记 (3)
0 项奖励
回复
1 回复

671 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2290022%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K144%20CSec%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%94%A8%E4%BA%8E%E5%AE%89%E5%85%A8%E5%90%AF%E5%8A%A8%E9%AA%8C%E8%AF%81%E7%9A%84%20MAC%20%E5%AD%98%E5%82%A8%E9%80%89%E9%A1%B9%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2290022%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSTRONG%3E%E7%A1%AC%E4%BB%B6%EF%BC%9A%3C%2FSTRONG%3ES32K144EVB-Q100%20%3CBR%20%2F%3E%20%3CSTRONG%3E%E8%BD%AF%E4%BB%B6%EF%BC%9A%3C%2FSTRONG%3ES32%20Design%20Studio%E3%80%81OpenBLT%20Bootloader%E3%80%81an5401-csec%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%E6%88%91%E4%BB%AC%E6%89%93%E7%AE%97%E4%BB%85%E4%BD%BF%E7%94%A8%20BOOT_DEFINE%EF%BC%88%E4%BF%9D%E6%8A%A4%2016KB%EF%BC%89%E4%BF%9D%E6%8A%A4%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%B9%B6%E5%B8%8C%E6%9C%9B%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E5%9C%A8%E6%AF%8F%E6%AC%A1RESET%E6%97%B6%E9%AA%8C%E8%AF%81%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20MAC%20%E4%BB%A5%E5%BB%BA%E7%AB%8B%E9%80%82%E5%BD%93%E7%9A%84%E4%BF%A1%E4%BB%BB%E9%93%BE%E3%80%82%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E7%9B%AE%E5%89%8D%E6%9C%89%E4%B8%80%E4%B8%AA%E7%A1%AC%E7%BC%96%E7%A0%81%E7%9A%84%20CMAC%20%E5%80%BC%EF%BC%8C%E6%88%91%E4%BB%AC%E4%BC%9A%E5%9C%A8%E6%AF%8F%E6%AC%A1%20RESET%20%E6%97%B6%E5%AD%98%E5%82%A8%E5%92%8C%E9%AA%8C%E8%AF%81%E8%AF%A5%E5%80%BC%EF%BC%8C%E4%BB%A5%E6%AD%A4%E4%BD%9C%E4%B8%BA%E6%A6%82%E5%BF%B5%E9%AA%8C%E8%AF%81%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%E5%9C%A8%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E9%AA%8C%E8%AF%81%EF%BC%88BOK%3D1%EF%BC%89%E4%B9%8B%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%E6%AF%8F%E6%AC%A1%20RESET%20%E6%97%B6%E9%AA%8C%E8%AF%81%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E3%80%82%E4%B8%BA%E6%AD%A4%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%3C%2FP%3E%3COL%3E%3CLI%3E%E5%9C%A8%E7%BC%96%E7%A8%8B%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%B0%86%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20MAC%20%E4%BF%9D%E5%AD%98%E5%9C%A8%E6%9F%90%E5%A4%84%3C%2FLI%3E%3CLI%3E%E6%AF%8F%E6%AC%A1%20RESET%20%E6%97%B6%E9%AA%8C%E8%AF%81%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20MAC%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%E6%88%91%E4%BB%AC%E8%80%83%E8%99%91%E8%BF%87%E8%BF%99%E4%BA%9B%E6%96%B9%E6%A1%88%EF%BC%8C%E4%BD%86%E4%BB%8D%E6%9C%89%E9%A1%BE%E8%99%91%EF%BC%9A%3C%2FP%3E%3CUL%3E%3CLI%3EcSec%20%E5%AF%86%E9%92%A5%E6%8F%92%E6%A7%BD%EF%BC%88%E5%A6%82%20KEY_2%EF%BC%89%EF%BC%9A%E7%94%B1%E4%BA%8E%20SHE%20%E5%8D%8F%E8%AE%AE%E5%AE%89%E5%85%A8%EF%BC%8C%E6%97%A0%E6%B3%95%E8%AF%BB%E5%9B%9E%E5%AD%98%E5%82%A8%E7%9A%84%E5%AF%86%E9%92%A5%E2%80%94%E2%80%94%E5%AF%86%E9%92%A5%E6%98%AF%E5%8F%AA%E5%86%99%E7%9A%84%E3%80%82%E5%A6%82%E4%BD%95%E6%A3%80%E7%B4%A2%20MAC%20%E4%BB%A5%E8%BF%9B%E8%A1%8C%E6%AF%94%E8%BE%83%EF%BC%9F%3C%2FLI%3E%3CLI%3E%E9%97%AA%E5%AD%98%EF%BC%9A%E4%B8%8D%E9%80%82%E5%90%88%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%9C%A8%E5%AF%B9%E6%96%B0%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%BC%96%E7%A8%8B%E6%97%B6%EF%BC%8C%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%8C%BA%E5%9F%9F%E4%BC%9A%E8%A2%AB%E6%93%A6%E9%99%A4%EF%BC%8C%E5%9B%A0%E6%AD%A4%E5%AD%98%E5%82%A8%E7%9A%84%20MAC%20%E4%BC%9A%E4%B8%A2%E5%A4%B1%E3%80%82%3C%2FLI%3E%3CLI%3EEEPROM%EF%BC%9A%E8%BF%99%E6%98%AF%E4%B8%AA%E5%A5%BD%E5%8A%9E%E6%B3%95%E5%90%97%EF%BC%9F%E6%9C%89%E6%8E%A8%E8%8D%90%E7%9A%84%20EEPROM%20%E5%9C%B0%E5%9D%80%E5%90%97%EF%BC%9F%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%E8%BF%98%E6%9C%89%E5%93%AA%E4%BA%9B%E5%85%B6%E4%BB%96%E6%96%B9%E6%B3%95%E9%80%82%E5%90%88%E5%AD%98%E5%82%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20MAC%EF%BC%8C%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%AF%8F%E6%AC%A1%20RESET%20%E6%97%B6%E5%8F%AF%E9%9D%A0%E5%9C%B0%E8%AF%BB%E5%8F%96%E4%BB%A5%E8%BF%9B%E8%A1%8C%E9%AA%8C%E8%AF%81%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2290327%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K144%20CSEc%20Application%20MAC%20Storage%20Options%20for%20Secure%20Boot%20Verification%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2290327%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%BF%99%E4%BC%BC%E4%B9%8E%E6%98%AF%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FS32K144-CSEc-Application-MAC-Storage-Options-for-Secure-Boot%2Ftd-p%2F2289948%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FS32K144-CSEc-Application-MAC-Storage-Options-for-Secure-Boot%2Ftd-p%2F2289948%3C%2FA%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E