系统配置区消息认证
系统配置区(System Configuration Area,SCA)位于Flash的前两个Sector,共8 KB,地址:0x0020_0000 ~ 0x0020_2000(GR551x为0x0100_0000 ~ 0x0100_2000)。SCA中存储了系统启动过程使用的标志以及其他系统配置参数。
本章将介绍GR5xx芯片对系统配置区的消息认证码(HMAC)进行验证的流程。
说明:
详细的SCA介绍请参考对应芯片开发者指南。
HMAC验证流程
在安全模式下,使用GProgrammer等工具更新系统配置区时,系统配置区中的HMAC会同步更新。安全启动时,芯片将首先对系统配置区的HMAC进行验证,若验证通过则继续进行其他安全启动流程(解密、验签),若验证不通过则芯片将进入DFU模式。
HMAC验证流程如图 2所示。
HMAC验证流程具体步骤:
- 读取系统配置区信息(该信息为加密信息)。
- 使用存储在eFuse中的HMAC密钥对系统配置区信息(除去携带的HMAC)进行HMAC计算(采用HMAC-SHA256算法)。
- 对比计算获得的HMAC和系统配置区信息携带的HMAC,若两者一致则验证通过。