华为海思芯片安全启动技术的工作原理是什么?
深圳市星际芯城科技有限公司
发表:2024-11-14 10:45:19 阅读:58

华为海思芯片安全启动技术的工作原理主要包括以下几个关键步骤:


芯片内固化代码启动:

  • 当芯片上电后,首先会执行固化在芯片内部 ROM 中的代码。这部分固化代码是芯片启动的基础程序,负责初始化芯片的基本硬件环境,并为后续的安全启动流程做准备。


安全启动标志位检测:

  • 固化代码会读取特定的安全启动标志位。这个标志位通常存储在芯片内的一次性可编程(OTP)存储器中。如果标志位被设置,表示需要进行安全启动;如果没有设置,则可以走正常的启动流程。而且 OTP 的特性决定了其存储的数据具有不可逆性,一旦安全启动标志位被设置,就无法轻易更改。


密钥读取:

  • 若进入安全启动流程,固化代码会从 OTP 的指定区域读取用于验证的密钥信息。这些密钥信息包括 RSA 算法的公钥哈希值以及可选的 AES 密钥等。RSA 公钥用于验证后续启动组件的数字签名,以确保其合法性;AES 密钥则可能用于对加密的数据进行解密(如果启动过程中涉及到加密数据的话)。


启动组件验签:

  • 对引导程序验签:芯片开始加载并验证启动过程中的关键组件,比如 DDR 初始化程序(ddr_init.bin)和 U-Boot(一种引导加载程序)等。这些组件在生产过程中已经使用私钥进行了数字签名。芯片使用读取到的公钥对组件的数字签名进行验证,验证通过则表示该组件是合法且完整的,没有被篡改或损坏,可以继续启动流程;如果验证不通过,则暂停启动,防止不安全的组件被加载运行。
  • 对后续分区或模块验签(可选扩展):对于一些更复杂的系统或有更高安全需求的应用场景,在 U-Boot 运行完成后,U-Boot 程序本身可以进一步对后续的内核(kernel)、根文件系统(rootfs)等其他分区或模块进行签名验证。这通常是通过在 U-Boot 中内置验证算法,使用预先存储的公钥哈希值对这些分区或模块的签名进行校验,确保其内容没有被篡改。


系统启动:

  • 只有当所有的启动组件都通过了安全验证,芯片才会继续正常的系统启动流程,将控制权交给操作系统,使设备进入正常的工作状态。


核心供货商
营业执照: 已审核
组织机构代码: 已审核
会员等级: 一级会员
联系人: 李先生
电话: 18689475273(微信同号)
QQ: 2885145320
地址: 深圳市龙岗区坂田街道象角塘社区中浩一路2号科尔达大厦1266
简介: 深圳市星际芯城科技有限公司,致力于助力人类走向星际,探索宇宙星辰大海。是国际知名的电子元器件现货分销商,国产品牌代理商。公司销售的产品有IC集成电路。销售的品牌有圣邦微、ST、ON、TI、Microchip、ADI等知名品牌。为消费类电子、工控类电子、医疗类电子、汽车类电子企业提供一站式服务,并成为全球众多EMS/OEM的首选供应商。