2. Microchip安全器件与硬件信任根选型

在安全启动与固件升级体系中,硬件信任根(Root of Trust, RoT)是整个信任链的起点。Microchip 提供多条安全器件产品线,覆盖从低成本固定功能到可编程高安全等级的不同需求。理解这些器件的特性、接口、密钥存储方式与选型依据,是设计安全启动方案的第一步。

安全器件的分类与定位

Microchip 的安全器件大致可分为四类:CryptoAuthentication 系列(以 ATECC608 为代表)、CryptoMemory 系列、TrustAnchor 系列(含 TA100),以及集成安全启动与安全升级能力的 TrustFLEX/TrustCUSTOM 配置族。它们并非互相替代,而是面向不同安全等级、不同主机资源和不同成本预算的梯度产品。

CryptoAuthentication(ATECC608A/B)是最常用的配套安全芯片。它通过 I²C 接口与主控 MCU 通信,内部集成 ECC P-256 密钥生成与签名、SHA-256 哈希、AES-128 加解密以及真随机数发生器。其核心价值在于:私钥在芯片内生成且永不导出,主机只能通过命令请求签名或验证结果。ATECC608 提供 16 个密钥槽(Slot),每个槽可独立配置为存储私钥、公钥、对称密钥或数据,并支持多种读写访问策略。典型应用是为主控 MCU 提供安全启动时的固件签名验证和 TLS 双向认证。

CryptoMemory 系列在安全存储基础上增加了 EEPROM 存储区,适合需要保存少量敏感数据(如密钥、证书、配置参数)且对成本敏感的场景。它同样支持 I²C 接口,但密码算法能力弱于 CryptoAuthentication,通常用于密钥存储而非实时签名运算。

TrustAnchor(TA100)是面向更高安全等级的产品。TA100 内置 Arm Cortex-M0+ 内核,可运行用户自定义的安全固件,支持安全启动、安全升级、密钥管理和多种密码算法(ECC、RSA、AES、SHA)。它提供 SPI 和 I²C 接口,具备防篡改检测引脚和主动屏蔽层,适合需要 FIPS 140-2/3 或更高认证的工业与汽车场景。TA100 的密钥存储采用受保护的内部闪存,支持密钥加密存储和基于硬件的访问控制。

接口与密钥存储对比

接口方面,ATECC608 使用 I²C(最高 1 MHz),TA100 支持 SPI(最高 10 MHz)和 I²C,CryptoMemory 以 I²C 为主。对于需要高速签名验证的启动流程,SPI 接口的 TA100 在吞吐量上更有优势;而对于引脚资源紧张的小型 MCU,I²C 的 ATECC608 更易集成。

密钥存储是选型的核心维度。ATECC608 的密钥槽一旦配置为私钥,外部无法读出,只能执行签名或 ECDH 运算;TA100 则允许在安全内核中运行密钥派生逻辑,并支持密钥的加密备份与恢复。CryptoMemory 的密钥存储相对简单,通常以明文或简单加密形式保存在 EEPROM 中,安全性最低。

Microchip 安全器件选型关系图 主机 MCU 通过 I²C / SPI 连接安全器件,密钥在器件内部生成与使用 主机 MCU 固件 / 引导程序 发起签名验证请求 I²C SPI ATECC608A/B ECC P-256 · SHA-256 · AES 16 密钥槽 · 私钥不可导出 I²C 接口 · 低成本 适用:安全启动签名验证 TrustAnchor TA100 Cortex-M0+ 安全内核 ECC · RSA · AES · SHA SPI / I²C · 防篡改检测 适用:高安全等级安全启动 CryptoMemory 安全 EEPROM 存储 I²C 接口 · 密钥/证书存储 适用:敏感数据保存 密钥存储与安全等级 ATECC608 密钥槽 私钥内部生成,永不导出 槽级读写策略可配置 TA100 安全闪存 密钥加密存储 + 访问控制 支持密钥派生与备份 CryptoMemory EEPROM 密钥/证书明文或简单加密 安全性较低,成本最优 选型依据 安全等级 · 接口 · 成本 主机资源 · 认证要求 注:TrustFLEX / TrustCUSTOM 为预配置或定制配置族,基于上述器件提供开箱即用的安全启动方案

选型依据与工程决策

选型时首先明确安全目标。如果只需要在启动时验证固件签名,且主控 MCU 资源有限、成本敏感,ATECC608 是最直接的选择。它的签名验证流程为:主机读取固件哈希,将哈希发送给 ATECC608,芯片用内部私钥对应的公钥验证签名,返回成功或失败。整个过程私钥不离开芯片。

如果产品需要通过 FIPS 140-2/3、SESIP 或 PSA Certified Level 2/3 等认证,或者需要防物理篡改、安全密钥派生、多级密钥层级,则应选择 TA100。TA100 允许在安全内核中运行自定义固件,实现更复杂的信任链逻辑,例如先验证引导程序,再由引导程序验证应用固件,形成两级信任链。

如果仅需保存 TLS 证书、少量对称密钥或设备配置数据,且对实时签名运算没有要求,CryptoMemory 可以以更低成本满足需求。但需注意,其密钥保护能力有限,不适合作为高安全启动的信任根。

选型速查:安全启动签名验证 → ATECC608;高安全等级/防篡改/认证需求 → TA100;仅密钥与证书存储 → CryptoMemory;需要开箱即用配置 → TrustFLEX/TrustCUSTOM。

接口与集成注意事项

ATECC608 的 I²C 地址通常为 0x60(7 位),主机需在启动早期初始化 I²C 总线并完成唤醒序列。TA100 的 SPI 接口需要片选信号和时钟极性/相位配置,典型时钟频率为 1–10 MHz。无论哪种器件,都建议在 PCB 布局时将安全器件靠近主控,减少总线暴露长度,并避免将密钥总线引出到外部测试点。

密钥配置阶段,ATECC608 需要通过配置区(Config Zone)设置每个槽的读写权限和密钥类型。配置区一旦锁定便不可更改,因此量产前必须确认配置模板。TA100 则通过安全固件加载密钥,支持在产线注入或现场加密更新。

综合来看,Microchip 安全器件的选型不是单一维度决策,而是安全等级、接口资源、成本预算和认证要求的平衡。理解每类器件的密钥存储机制与运算能力边界,才能为安全启动方案选择正确的硬件信任根。