你好
我使用AES 256 CBC传输数据到web服务器使用我自己的密钥。我想激活安全功能,这样我的对称密钥就不会公开在领域。
主要思想是
在生产的所有设备上加载一个二进制文件(我希望避免在生产线上执行一些复杂的生成密钥的脚本。此外,硬件数字生成器应该提供比计算机脚本更好的随机性)
使用bootloader键生成功能(generate_symmetric_keys(void);在secure_hooks.c
-在生产线的末端有一个测试软件,读取密钥,并将它们与测试结果和我板子上的各种uniq id存储在一起,以便我的关键信息由工厂传递给我。
在测试成功的情况下,让测试软件最终写入otp标志以启用product_ready和secure_device。
你能向我证实一下吗
-整个程序是可行的,
-所有设备都有一套非对称密钥,
只写非对称键(不写对称键,以便引导加载程序在第一次引导时生成)的过程是什么?
-我在没有eclipse的linux下工作。什么脚本可以允许我这样做?Initial_flash.py没有任何不写入product_ready和secure_device的选项。我可以在Reference_files_for_Secure_Boot_683.zip中找到一组windows批处理格式的脚本。在Linux bash或python中有相同的拆分脚本吗?
此外,我需要一些API建议:
我目前正在使用
- hw_aes_hash_store_keys(HW_AES_256, key_pointer, HW_AES_PERFORM_KEY_EXPANSION);实现加密和
- crypto_hmac_sha256(data_in, size_in, key_pointer_2, 32, data_out, CRYPTO_HMAC_NO_OPTION, os_ms_2ticks (1));实现hmac
我如何在OTP中使用键,而不是我目前在RAM中使用的键?
使用OTP地址替换指针是否足够?
我需要在调用加密api之前实现OTP初始化/唤醒吗?
先谢谢你
致以最亲切的问候
你好,
请看一下DA14682/DA14683安全引导教程
本教程的主要目标是:
谢谢,PM_Dialog