生命周期

概述

芯片生命周期(Life Cycle)是管理芯片从生产制造、终端部署、返修维护到最终报废全过程状态的安全机制。 通过生命周期管理,可以在芯片不同阶段启用相应的安全策略,既保障正常使用时的安全需求,又在返修场景下保护用户敏感数据不被泄露。

Ameba SoC 生命周期采用 OTP(一次性可编程存储器)位来标识和切换状态,具有硬件级别的不可篡改性。芯片支持以下三种生命周期状态:

状态

说明

正常使用态(Normal)

芯片用于客户实际应用,全部安全策略启用。这是芯片出厂后的默认工作状态。

RMA 态(Return Material Authorization)

返修或失效分析状态。此状态下芯片可被原厂或授权机构调试分析,同时保护用户敏感数据不被读取。

废弃态(Decommission/EOL)

芯片生命周期终结后的状态。进入后不可恢复,OTP 数据物理失效,芯片彻底报废。

生命周期状态转换流程如下图所示:

../../_images/lifecycle_flow.png

生命周期状态判定与切换

RTL8721Dx:

芯片通过 OTP 中 0x700 bit[7:0] 的值来标识当前生命周期状态。判定规则基于该字节的比特 1 数量:

比特 1 数量

当前状态

OTP 值示例

偶数(且不为 0)

正常使用态

0xFF(8 个 1)、0xFC(6 个 1)、0xF0(4 个 1)

奇数

RMA 态

0xFE(7 个 1)、0xF8(5 个 1)、0xE0(3 个 1)

0

废弃态

0x00

RMA 状态的进入和退出通过修改该 OTP 值实现,每次切换需要将比特 1 数量在奇数和偶数之间变化: 进入 RMA 时编程为奇数,退出时编程为偶数。由于 OTP 只能从 1 编程为 0(不可逆),每次编程只能减少比特 1 数量,因此相邻两次切换需编程为不同值。 下表列出从初始状态开始,完整 4 次 RMA 进出的推荐编程序列:

操作步骤

目标状态

OTP 值

说明

初始

正常使用态

0xFF

出厂默认值,8 个 1,偶数

第 1 次进入 RMA

RMA 态

0xFE

7 个 1,奇数

第 1 次退出 RMA

正常使用态

0xFC

6 个 1,偶数

第 2 次进入 RMA

RMA 态

0xF8

5 个 1,奇数

第 2 次退出 RMA

正常使用态

0xF0

4 个 1,偶数

第 3 次进入 RMA

RMA 态

0xE0

3 个 1,奇数

第 3 次退出 RMA

正常使用态

0xC0

2 个 1,偶数

第 4 次进入 RMA

RMA 态

0x80

1 个 1,奇数

超过 4 次

废弃态

0x00

自动触发或手动编程

RMA 操作流程

RMA 次数限制

RTL8721Dx:

Ameba SoC 最多允许 4 次完整的 RMA 进出循环。当尝试第 5 次进入 RMA 时需要将 OTP 编程为 0x00 ,芯片将进入废弃态,此操作不可逆。 因此需要严格记录每颗芯片的 RMA 次数,避免意外进入废弃态。

操作步骤

RTL8721Dx:

进入 RMA 状态:

  1. 确认当前芯片处于正常使用态

  2. 将 0x700 bit[7:0] 编程为对应值(参见上方编程序列表)

    AT+OTP=WRAW,0x700,1,FE
    
  3. 复位芯片,芯片进入 RMA 状态

退出 RMA 状态:

  1. RMA 流程完成后,将 0x700 bit[7:0] 编程为对应值(参见上方编程序列表)

    AT+OTP=WRAW,0x700,1,FC
    
  2. 复位芯片,芯片退出 RMA 状态

废弃态(EOL/Decommission)

废弃态是芯片生命周期的终点,用于芯片报废、失效或主动安全销毁场景。进入废弃态后:

  • 所有 OTP 位被擦除或失效

  • 芯片 Boot 阶段彻底锁死,无法恢复至其他任何生命周期状态

  • 芯片无法被调试或解锁

  • 芯片上电后仅能通过串口打印废弃特征码,无法执行应用程序

触发条件

芯片进入废弃态有以下两种方式:

方式一:超过 RMA 次数限制

当 RMA 进出次数超过 3 次后,芯片需要手动编程进入废弃态。

方式二:主动安全销毁

用户可通过烧写物理 OTP 主动进入废弃态:

RTL8721Dx:

用户需要自行实现废弃态逻辑。 Realtek 建议:如果 OTP 的 User Define 区域没有被锁住,则需要将此区域全部写 0 擦除,保护敏感数据不泄漏。

RMA 状态下的安全机制

为在 RMA 流程中保护用户数据安全,芯片启用了以下安全机制:

OTP 数据保护

芯片进入 RMA 态后,部分 OTP 区域将不可访问:

RTL8721Dx:

RMA 模式下,安全区域 0x200 ~ 0x37F 和所有 用户自定义 物理区域 0x380 ~ 0x4FF 不可访问。

由于安全区域不可读,所有依赖 HUK 的数据加密与身份认证将中止,有效防止用户敏感数据在 RMA 流程中泄露。

RMA 安全启动

为避免在 RMA 流程中运行未被授权的固件,芯片实现了 RMA 安全启动机制。用户需预先烧写 RMA Public Key Hash,之后在 RMA 状态下只能运行由此密钥签名的固件。

详细机制参见 安全启动 。

RMA SWD 调试保护

SWD(Serial Wire Debug)是芯片调试的主要接口。为防止在 RMA 状态下被恶意利用,芯片在 RMA 状态下启用 SWD 密码保护机制,需要输入正确的 RMA SWD Key 后才能连接调试器。 RMA SWD Key 由用户自行生成并烧写至 OTP,建议在正常使用态下完成配置。若 RMA SWD Key 丢失,将无法在 RMA 状态下进行调试。

详细机制参见 SWD 保护 。

小心

  • 所有产线、售后、维修环节应严格记录并审计废弃处理过程,确认操作不可逆。

  • 与 RMA 态不同,废弃态后芯片彻底报废,无法用于分析和恢复。