在线时间0 小时
UID2004101
注册时间2013-4-23
NXP金币0
该用户从未签到
新手上路

- 积分
- 0
- 最后登录
- 1970-1-1
|
发表于 2013-5-8 14:59:11
|
显示全部楼层
回复:KL25被加密,芯片锁死
回复第 4 楼 于2013-05-07 19:36:06发表:
回复第 3 楼 于2013-05-07 18:19:27发表:
回复第 2 楼 于2013-05-06 23:46:18发表:
你需要查看Flash 地址0x40C对应的值,这个值将会在芯片启动时加载到FSEC(FLASH安全寄存器)中。如果是FSEC [MEEN]位为Mass erase使能,这可以通过mass erase命令去解锁芯片。Backdoor key方式是Flash安全级别最高的保护方法,只有通过软件接收外部输入的backdoor key来解锁芯片,通常后门key通过串口输入。
我想问一下,密钥匹配之后,不是只能临时解锁芯片吗,但是复位之后,你的芯片还是处于加密状态。所以我想问一下,密钥匹配到底起了什么作用?
密钥匹配之后,芯片就会临时解锁,这时候你可以使用软件更改Flash地址0x40C值(这个需要代码支持编程Flash特定地址),改成未保护。之后上电复位芯片就会处在未保护状态。
你这个使用软件是指使用Flash命令吗?比如说擦除一个扇区命令。但是即使不进行芯片解锁,我也可以通过Flash命令对Flash配置区域进行擦除和写入吧。因为芯片在secure模式下,在NVM 正常模式下,所有Flash命令都是可以用的。所以我在编程的时候,如果写了两个函数,加密和解密函数,我把0x40c的值设成0x80,这样就把芯片设成加密状态,允许后门密钥访问,允许Mass erase,同时我给0x400-0x407复制1,2,3,4,5,6,7,8作为密钥;我通过串口给MCU一个命令e这样,芯片就加密了,但是我串口在发一个命令,使MCU执行解密操作,把0x40c字段写成0xFE不就成了,根本没有用到密钥匹配啊?是不是我对密钥匹配的理解错误啊?你能给我详细地讲一下,密钥匹配的使用例子吗?
|
|