从文档上看,高通的启动流程大致是RPM PBL -> APPS PBL ->SBL1,SBL1负责验证和加载TZ,RPM,LK镜像。
问题1:APPS PBL是如何验证SBL1的合法性的,签名和验证的密钥存在哪?密钥可以改吗?
问题2:SBL1如何验证TZ,LK镜像的合法性的,签名和验证的密钥存在哪?密钥可以改吗?
希望对高通有所了解的能回答一二,感谢!
不清楚高通的方案. 一般芯片公司都有自己的安全启动方案,算法也不一样,秘钥或者秘钥的hash一般是存在Efuse里,签名一般是放在image的头部(根据具体的安全启动方案来定)。ARM Trusted Firmware也包含安全启动方案,你可以参考下 load_auth_image
arm-trusted-firmware/bl_common.c at master · ARM-software/arm-trusted-firmware · GitHub
希望对你有帮助