4. 烧录对象与载体分析

在工厂设备身份安全烧录工程中,“烧录对象”并不是一个笼统的芯片概念,而是由计算主体与密钥/身份载体共同构成的组合。同一颗 MCU 内部可能同时存在 Flash、OTP 和 TEE 区域,而一颗 SoC 外部可能挂接 eSIM、安全元件(SE)或 TPM。理解这些载体的物理特性、访问接口和生命周期约束,是决定“身份注入方式”的前提。本节从载体分类出发,分析不同对象对注入方式、时机和工具链的约束。

一、计算主体与身份载体的分层关系

工厂设备中,身份注入通常涉及两类角色:一类是执行注入逻辑的计算主体,如 MCU、SoC、TEE;另一类是实际保存身份凭证的存储载体,如 Flash、OTP、eSIM、SE、TPM。计算主体负责发起注入、校验和锁定,存储载体负责持久化保存。二者可能集成在同一封装内,也可能通过 SPI、I²C、ISO 7816、SWP 等接口外挂。

例如,一颗工业网关 SoC 可能通过 SPI 连接外部 TPM 2.0 芯片,同时内部 eFuse 保存设备唯一 ID;而一颗低功耗 MCU 则可能直接在内部 Flash 的特定扇区写入设备证书,并用 OTP 区域保存根密钥哈希。注入方式必须根据“谁发起、写到哪、何时锁定”三个维度分别设计。

计算主体与身份载体的注入关系 计算主体(发起方) MCU 内部 Flash / OTP / eFuse SoC 多核 + 外部安全外设 TEE / TPM 固件 可信执行环境 烧录工具 / 产线主机 (外部发起) 注入接口与协议 SWD / JTAG 调试口注入,可锁定 SPI / I²C / ISO 7816 外挂安全芯片通信 安全启动 / 固件加载 通过引导链注入 产线测试夹具 批量并行注入 一次性锁定信号 OTP / eFuse 熔断 身份载体(存储方) Flash 可擦写,需加密保护 OTP / eFuse 一次性写入,不可逆 eSIM / SE 独立安全元件,证书注入 TPM 2.0 EK / SRK 密钥对生成 TEE 内部存储 受保护密钥区 注入路径:计算主体 → 接口协议 → 存储载体;红色路径表示一次性锁定操作

二、各载体的注入约束与工程选择

MCU 内部 Flash是最常见的身份载体。它支持多次擦写,适合在产线早期写入设备证书和配置参数。但 Flash 的读取保护(RDP)等级必须与注入流程匹配:若在 RDP Level 0 下写入,调试口仍可读取,存在泄露风险;通常做法是先在 Level 0 完成写入和校验,再升级到 Level 1 或 Level 2 锁定。示例参数:某 Cortex-M4 MCU 的 Flash 扇区 0 用于存放设备证书,写入后通过 CRC32 校验,校验通过后执行 RDP 升级命令,将调试口读访问关闭。

OTP 与 eFuse是一次性可编程区域,写入后不可更改。它们通常用于保存根密钥哈希、设备唯一 ID 或安全启动使能位。注入时机必须严格安排在产线末端,因为一旦熔断就无法回退。工程上常采用“先写 Flash 证书、再熔断 OTP 锁定”的两阶段策略。示例:某安全芯片的 OTP 区域共 256 位,前 128 位写入设备公钥哈希,后 128 位保留给产线批次号;熔断电压典型为 2.5V 或 3.3V,需在数据手册规定范围内。

eSIM 与安全元件(SE)是独立封装的安全载体,通常通过 ISO 7816 或 SWP 接口与主控通信。它们的身份注入不是简单写 Flash,而是通过 APDU 命令完成证书安装和密钥生成。eSIM 的 eUICC 配置文件下载需要 SM-DP+ 服务器参与,产线环境需具备安全通道。SE 则通常由芯片厂商提供个人化脚本,产线只负责触发个人化流程并校验返回值。示例:某 SE 芯片的个人化流程包括选择 AID、发送 INITIALIZE UPDATE、发送 EXTERNAL AUTHENTICATE、写入设备证书,每步返回 9000 表示成功。

TPM 2.0的注入方式与上述载体差异较大。TPM 不直接接受外部写入密钥,而是通过 TPM2_CreatePrimary 和 TPM2_Create 命令在芯片内部生成密钥对,私钥永不离开 TPM。产线注入的是密钥句柄和证书,而非私钥本身。典型流程:产线主机通过 SPI 向 TPM 发送创建 EK(Endorsement Key)的命令,TPM 返回 EK 公钥和句柄;产线将 EK 公钥发送给 CA 签发证书,再将证书写回 TPM 的 NV 存储区。示例参数:TPM 2.0 的 EK 模板通常使用 RSA 2048 或 ECC P256,NV 索引范围 0x01000000–0x01FFFFFF。

TEE 内部存储是 SoC 内部的可信执行环境,身份注入通常通过安全启动链完成。产线将加密的密钥 blob 写入普通 Flash,TEE 在启动时用设备唯一密钥解密并加载到受保护内存。注入过程需要与 SoC 的安全启动流程配合,确保密钥 blob 的完整性和机密性。示例:某 SoC 的 TEE 密钥 blob 由 AES-256-GCM 加密,密钥派生自 SoC 内部 eFuse 中的设备根密钥,产线只需写入加密后的 blob 和认证标签。

三、载体选择与注入方式对照

载体类型 可擦写性 典型注入接口 注入时机 关键约束
MCU 内部 Flash 可多次擦写 SWD / JTAG / Bootloader 产线早期 需配合 RDP 等级锁定
OTP / eFuse 一次性 寄存器写入 / 熔断命令 产线末端 不可逆,需前置校验
eSIM / SE 受控更新 ISO 7816 / SWP / APDU 个人化阶段 需安全通道和 CA 参与
TPM 2.0 NV 可写,密钥不可导出 SPI / I²C / LPC 产线集成阶段 密钥内部生成,证书外部签发
TEE 内部存储 随固件更新 安全启动链 / 加密 blob 固件烧录阶段 依赖设备根密钥派生
工程提示:当同一设备同时存在多种载体时,注入顺序应遵循“先可擦写、后一次性;先外部、后内部”的原则。例如,先写 MCU Flash 中的设备证书,再通过 SPI 完成 TPM EK 创建和证书写入,最后熔断 OTP 锁定安全启动使能位。任何一步失败都应中止后续步骤,避免产生不可恢复的半成品。
常见误区:将 TPM 当作普通 Flash 直接写入私钥。TPM 设计上禁止私钥导出,产线只能触发内部生成并获取公钥。若强行尝试写入私钥,不仅违反规范,还会导致后续远程证明失败。

总结来看,烧录对象与载体的分析核心在于:明确身份凭证最终存放在哪里、由谁发起写入、写入后是否可逆、以及锁定机制如何生效。MCU 和 SoC 是发起方,Flash 和 OTP 是常见内部载体,eSIM、SE、TPM 是外部安全载体,TEE 是内部可信区域。不同载体的注入方式、时机和校验手段差异显著,产线方案必须逐一匹配,不能一概而论。