赞
踩
在开启secure boot之前需要先了解芯片的整体启动流程,可以帮助更好地理解secure Boot在整个系统中的作用和重要性
Secure Boot是一种使用加密身份验证的启动序列,建立了一个可信的平台,用于安全应用程序。它始于一个不可变的引导序列,通过密码验证代码的来源,以便只有经过授权的软件才能执行。引导序列将设备置于已知的安全状态,并防止软件的二进制篡改和重新刷写攻击。
Secure boot过程是嵌入在整个芯片启动流程中的。
芯片的启动流程,也被称为引导过程,是指设备从关闭状态到完全运行状态的一系列步骤。这个过程涉及硬件初始化、固件加载、操作系统启动等多个阶段。在这个过程中,芯片会执行一系列预定义的操作,来准备和配置系统的硬件和软件环境。
Secure Boot则是在这个启动流程中的一个环节,通常在固件或操作系统加载之前。它通过验证固件或操作系统的签名来确保它们的完整性和可信度。
设备的启动是一个多阶段的过程,每个阶段的镜像执行一个特定的功能,并由前一个镜像进行验证。信任根(RoT)是在PBL中启动流程的受信任实体,PBL是片上代码的一部分,因此已经受信任且不可变。对镜像进行授权软件的身份验证,然后才执行启动序列中的下一个镜像。
例如:PBL > SBL > (TZ)/QSEE只有当PBL认证成功后,控制权才会转移到SBL。由于SBL现在是可信的,因此可以信任它对下一个镜像进行身份验证。图像通过其功能进一步建立设备的安全性。有了加密组件和体系结构,就可以验证启动软件和安全应用程序的真实性。APPS是主引导处理器。PBL支持ELF类型的镜像加载和身份验证,这允许SBL1和HEXProgrammer像保留其他系统镜像一样保留ELF格式。系统调试镜像(SDI)功能在SBL和TZ中实现。
安全启动是通过一组芯片上的硬件保险丝实现的。硬件保险丝中识别的受信任实体必须为代码签名才能执行。
链式认证:
1. Root CA (根证书颁发机构):这是最顶层的认证机构,它拥有一对密钥(公钥 R 和私钥 R)。Root CA 使用其私钥 R 生成下一级认证机构(Attestation CA)的签名 I。
2. Attestation CA (认证证书颁发机构):Attestation CA 也有自己的一对密钥(公钥 I 和私钥 I)。它使用私钥 I 生成下一级的证书(Attestation Certificate)的签名 A。
3. Attestation Certificate (认证证书):此证书包含一对密钥(公钥 A 和私钥 A)。私钥 A 被用来生成最终源数据(Source)的签名 D。
在这个过程中,每个签名都需要被相应的公钥验证以确保签名的有效性。
Attestation CA 的签名 I 需要被 Root CA 的公钥 R 验证;Attestation Certificate 的签名 A 需要被 Attestation CA 的公钥 I 验证;最终源数据的签名 D 需要被 Attestation Certificate 的公钥 A 验证。
验证签名是否成功:
在加密密钥和证书的生成过程中都包含了相同主题信息,可以通过grep查看镜像是否包含主题信息->侧面验证镜像是否签名成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。