华为海思芯片在安全启动过程中,通过以下多种方式保证私钥的安全性:
- 严格的密钥生成与管理:华为采用专业的密钥生成工具和流程,为每款芯片或设备生成唯一的公私钥对。私钥由华为严格保密,仅在特定的安全环境下使用专门的设备和流程进行操作,确保私钥在生成和存储阶段的安全性,从源头防止私钥泄露.
- 安全的存储位置:通常将私钥存储在芯片内部的安全存储区域,如 OTP(One Time Programmable)存储器。以 Hi3519AV100/Hi3556AV100 V100 芯片为例,其安全启动所需的 RSA 的公钥 hash 和 AES 的 key 等信息保存在供 CPU 使用的 OTP 的指定区域 。OTP 具有写入后不可篡改的特性,且只有 CPU 能够读取其中存储的私钥等敏感信息,外部无法直接访问,有效防止了私钥被非法获取.
- 加密存储:在存储私钥时,还会对其进行加密处理,进一步增强私钥的保密性。即使存储介质被非法获取,没有相应的解密密钥也无法获取私钥的明文信息。
- 固化代码保护:芯片内部固化的代码在启动过程中扮演着重要角色,这些固化代码本身也经过严格的安全设计和验证。它们负责读取和使用私钥进行相关的验证操作,并且在执行过程中能够防止私钥被非法篡改或泄露。由于固化代码存储在芯片的只读存储器中,攻击者难以对其进行修改,从而保障了私钥在使用过程中的安全性.
- 安全启动流程保障:整个安全启动流程是一个层层验证、环环相扣的过程。在启动的各个环节,如引导加载器验证、固件哈希计算与比对等,都需要使用私钥进行签名验证。只有通过前一步骤验证的组件才能继续执行后续操作,这样可以确保私钥仅在安全的启动路径下被合法使用,防止私钥在启动过程中被滥用或泄露.
- 物理安全防护:从芯片的物理层面进行安全防护,防止芯片被非法拆解或物理攻击,以保护私钥等敏感信息。采用了多种物理安全技术,如防篡改封装、加密芯片等,增加了攻击者获取私钥的难度。