你好
我正在使用AES CBC从DA14683传输数据,我想为安全模式准备我的代码。我从文档中了解,以便设置AES键,我需要:
- 启用OTP阅读
- 使用DMA通道7将键从OTP传输到AES键64寄存器
- 禁用OTP.
- 在我的数据上发射AES
我希望获得更多关于hw_aes_hash_store_keys函数的信息,我目前正在使用该函数准备AES协处理器。它设置密钥扩展并在将密钥字节转移到AES寄存器之前准备密钥字节。
- 是否需要准备存储在OTP中的键?我只是需要将它们从OTP复制到AES寄存器吗?
- 是否需要在启动DMA通道7之前调用hw_aes_hash_store_keys()函数,因此它设置了密钥扩展?此功能的关键转移应失败;这是否可以在安全模式下以硬件故障结束?我需要重新实现该功能,以便只设置参数,准备键但没有有效地加载键?
换句话说,你能给我一些关于如何设置安全模式的DA14683的见解(请通过将我重定向到教程来回答)?
先感谢您
此致
st
关键词:
设备:
问题n°2似乎与q n°1相当链接:Crypto_hmac_sha256()在安全模式中是什么?它看起来像这个函数只能实现CPU密钥传输,它根本不使用DMA。
辅助问题:您是否在生产中测试了安全模式和加密/ HMAC?
谢谢
嗨鲍勃,
HW_AES_HASH_STORE_KEYS()存储AES / HASH引擎内存中的AES键。此功能将用于AES / HASH引擎存储器中的AES加密/解密的键存储。如果引擎执行键扩展,则AES_KEYS应仅包含基本密钥。否则它应该包含所有扩展键。在线教程
如果已启用安全功能,则应用程序无法读取存储的密钥。如果禁用安全启动闪光灯,则是,是的,可以。
存储在OTP中的键只能由安全的DMA通道7.在键的生成之后,您应该将它们存储到OTP的安全区域。
有关安全引导的更多信息可以在在线教程和数据表中找到。
谢谢,PM_DIALOG.
认为!
你好
谢谢您的回答。
- 我确实理解,OTP内存包含AES模块直接使用的键。如果加密算法需要密钥扩展,则所有键都必须存储在AES_keys中。
- 我确实理解,在安全模式下,CPU无法读取存储在OTP中的键。它们只能使用DMA转移。
- 是否实际的董事会支持套餐执行此DMA转移?从我的理解,没有。
- >我是否应该重新实现HW_AES_HASH_STORE_KEYS()以在安全模式下使用密钥扩展?我正在使用AES CBC,并使用OpenSSL解码传输数据。
- 您没有回答我关于Crypto_hmac_sha256()的问题。
- 从我的理解,我无法使用存储在OTP中的键以在安全模式下使用HMAC。这意味着HMAC功能无法从JTAG / MKIMAGE生产工具获取其键。
- >你能确认吗?
先感谢您
此致
st
你好
我打算通过initial_flash / jtag / otp / suota_loader_secued软件组使用系统中引入的对称密钥。
如果我替换HW_AES_HASH_STORE_KEYS()函数以具有DMA通道7加载的键:
- 我了解我需要以相同的方式手动设置“密钥扩展”设置hw_aes_hash_store_keys
- 下一个陈述似乎与字节交换相关。如果我理解,它与小型联系转换有关。
您能否向MMA通道7确认设置以从OTP将密钥正确加载到AES协处理器中?是否有任何特定的字节顺序转换执行?如果是的话在哪种情况下?
先感谢您
此致
st