imx283上测试crypto boot

imx283上测试crypto boot

by Mcuzone


所谓crypto boot,可以理解为加密启动,或者用加密的程序启动。

以前在arm9上,因为都需要外置存储,比如nand,nor,都没有办法实现程序的加密,将介质里的程序dump出来换个芯片就可以启动。
imx283上有一个crypto的机制,原理是:
1. 芯片上的otp区域有用户可编程的128bit的key
2. 工具elftosb可以将编译生成的文件通过一个key来加密,生成加密后的烧写文件


结果是:
1. 烧写文件本身被key加密,没有key就无法获取编译文件的原始面貌
2. 烧写文件只能在otp区域被编程为对应的key的芯片上才能运行


otp查看与写入工具:



测试过程中,将一片imx283的key编程,然后发现原来烧写到nand的程序开机就无法运行,因为key不对,console将提示错误:
H0x80501006

含义为:
//! 0x80501006
//! Key dictionary lookup failed.
#define ERROR_ROM_LDR_KEY_NOT_FOUND             (ERROR_ROM_GROUP | ERROR_ROM_LOADER_GROUP | 0x6)

将linux的zImage重新通过elftosb用key加密成sb再烧写后才能正确启动。

这样就可以加密用户引用,并锁定固件到某片soc上。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值