2. 安全基础

在硬件信任根与 OTP eFuse 工程中,安全不是单一功能,而是一组可验证的属性集合。CIA 三要素(机密性、完整性、可用性)是经典起点,但在芯片与设备场景中,还必须补充真实性与不可否认性,才能覆盖密钥注入、固件启动、身份认证、安全审计等关键环节。理解这些属性,是后续设计 eFuse 映射、密钥生命周期与信任边界的前提。

2.1 五个核心安全属性

机密性(Confidentiality):确保信息只被授权主体读取。在硬件中,机密性通常依赖加密引擎、密钥存储与访问控制。OTP eFuse 中烧录的根密钥、设备私钥、对称密钥,一旦泄露即不可更换,因此机密性要求最高。

完整性(Integrity):确保数据或代码未被未授权修改。硬件完整性常通过哈希、MAC、数字签名、CRC 以及 eFuse 中的配置位实现。例如,安全启动会校验固件签名,eFuse 中的生命周期位可防止回滚。

真实性(Authenticity):确认通信对端或代码来源真实可信。真实性依赖身份认证与签名验证,通常与完整性联合使用。设备身份由 eFuse 中唯一 ID 与证书链共同保证。

可用性(Availability):确保授权用户能按需访问资源。安全机制不能因过度防护导致设备无法启动或服务中断。例如,eFuse 烧录错误可能导致芯片永久失效,因此需设计冗余与恢复策略。

不可否认性(Non-repudiation):确保行为发生后无法抵赖。在硬件中,通常通过安全日志、单调计数器、签名审计记录实现。eFuse 的一次性写入特性天然适合记录不可篡改的事件。

五个属性并非孤立:机密性保护密钥,完整性防止篡改,真实性确认身份,可用性保障服务,不可否认性提供追责依据。任何一项缺失,都会导致信任链断裂。

2.2 威胁模型:从攻击者视角看系统

威胁模型是对“谁、用什么方法、攻击什么资产、造成什么后果”的结构化描述。在硬件信任根场景中,常见威胁包括:

  • 物理攻击:探针、聚焦离子束、侧信道功耗分析、故障注入,直接读取或篡改 eFuse 内容。
  • 供应链攻击:在制造、测试、封装环节植入恶意逻辑或替换密钥。
  • 固件攻击:篡改启动镜像、降级版本、绕过签名校验。
  • 协议攻击:重放、中间人、伪造身份,破坏真实性与不可否认性。
  • 拒绝服务:耗尽资源或触发永久锁定,破坏可用性。

威胁模型不是一次性文档,而应随产品阶段迭代。早期关注资产识别与攻击面,中期关注缓解措施,后期关注残余风险与监控。

2.3 攻击面与信任边界

攻击面是攻击者可能利用的所有入口集合,包括物理接口、调试端口、通信总线、固件更新通道、eFuse 编程接口等。攻击面越大,防护成本越高。

信任边界是系统中“可信”与“不可信”区域的分界线。跨越信任边界的数据必须经过验证。例如,应用处理器通常不可信,而安全子系统(如 TEE、HSM、信任根)位于边界内。eFuse 控制器与密钥存储属于最高信任层级。

安全属性 · 威胁模型 · 信任边界 五个核心安全属性 机密性 加密 · 密钥保护 完整性 哈希 · 签名 · eFuse 真实性 身份认证 · 证书 可用性 冗余 · 恢复策略 不可否认性 日志 · 单调计数器 威胁模型(攻击者视角) 物理攻击:探针 / 侧信道 供应链:植入 / 替换 固件:篡改 / 降级 协议:重放 / 中间人 信任边界与攻击面 不可信区:应用 / 网络 可信区:TEE / HSM 信任根:eFuse / ROM 边界检查点:验证入口 安全设计闭环:资产 → 威胁 → 边界 → 属性 → 验证 识别资产 密钥 / 固件 / 身份 建模威胁 攻击者 / 路径 / 后果 划定边界 可信 / 不可信 映射属性 CIA + 真实 + 不可否认 验证与监控 测试 / 审计 / 响应

2.4 案例:安全启动中的属性映射

以安全启动为例,五个属性如何落地:

阶段安全属性硬件机制eFuse 参与
上电复位完整性ROM 校验 BootROM 哈希存储根公钥哈希
固件加载真实性签名验证(ECDSA/RSA)存储根公钥或证书哈希
密钥派生机密性密钥派生引擎 / TRNG存储设备根密钥
版本控制完整性 / 不可否认性单调计数器存储版本号与回滚位
异常恢复可用性看门狗 / 恢复模式存储恢复配置位

在 eFuse 规划中,建议将“根公钥哈希”“设备唯一 ID”“生命周期状态”“版本计数器”分别映射到独立区域,避免单一位翻转导致整条信任链失效。

2.5 常见误区与复盘

  • 误区一:只关注机密性。 加密了密钥,但未校验固件完整性,攻击者仍可篡改启动流程。
  • 误区二:信任边界模糊。 将调试接口与安全子系统放在同一信任域,导致攻击面扩大。
  • 误区三:忽略可用性。 eFuse 烧录策略过于激进,一次误写导致芯片永久变砖。
  • 误区四:威胁模型静态化。 产品迭代后未更新攻击面,遗留调试后门或旧协议。

复盘要点:任何安全属性都必须有对应的验证手段。没有测试用例的安全设计,只是假设。建议为每个属性建立“攻击—防护—检测—响应”四步闭环。

2.6 工程落地检查清单

1. 资产清单:密钥、固件、身份、日志、配置位
2. 威胁建模:STRIDE 或攻击树,覆盖物理/供应链/固件/协议
3. 信任边界:明确可信区、不可信区、边界检查点
4. 属性映射:CIA + 真实性 + 不可否认性逐项对应机制
5. eFuse 规划:分区、冗余、锁定策略、生命周期位
6. 验证计划:渗透测试、侧信道评估、故障注入、回滚测试
7. 监控响应:安全日志、单调计数器、异常告警与恢复流程