全志A133 android10 secure boot 安全启动
一,基本原理
secure boot启动过程中,芯片在启动时,会先对系统做安全性检验,检验通过后才引导系统。检查不通过则认为系统已经被修改,拒绝引导系统并进入烧录模式。
固件中各子固件的具体验证流程如下:
- 使用efuse中的rotpk哈希验证证书记录的rotpk的有效性。
- 使用rotpk验证证书的有效性。
- 使用证书中记录的公钥验证子固件对应证书的有效性。
- 使用子固件对应证书记录的哈希值验证子固件的有效性。
二,配置秘钥
证书的生成与打包已经整合到安全固件的打包流程中,无需额外配置,只需要配置证书签名时使用的密钥对即可。配置方法有两种,第一种是使用提供的密钥对生成工具生成密钥;第二种是使用之前生成好的密钥。两种方法的具体说明如下:
1. 生成密钥
运行longan/build/createkeys
工具,然后生成密钥在longan/out/a133/common/keys
目录下;
其中rotpk.bin为烧录到芯片中,用于验证根证书的公钥。Rotpk.bin需要在烧录了安全固件的设备上才能烧录到芯片中,其他为打包固件时用于为固件包签名的私钥。一个固件由多个部分组成,每个部分使用单独的密钥对进行签名认证。
注:这些密钥都是相互关联的,必须配套使用。生成的密钥请成套妥善保存。
2. 使用已有密钥
如果之前已经生成过密钥,将密钥文件放到longan/out/a133/common/keys
目录下即可;