4. FDO入网流程全景
FDO(FIDO Device Onboard)的自动入网并不是“一步到位”的动作,而是一条由多个阶段串联、每个阶段都有明确前置条件和退出判定的状态链。理解这条链的关键,不是记住阶段名称,而是看清每个阶段“谁在做什么、依赖什么凭据、失败会退回到哪里”。本节把入网流程拆成初始化、所有权转移、配置、激活四个主阶段,并说明它们之间的状态迁移关系。
一、四个阶段的任务边界
FDO 的入网对象是待接入的设备(Device,简称 DEV),参与方还包括制造方(Manufacturer)、所有权服务器(Owner Server,也称 Rendezvous 与 Owner 的组合服务)以及最终的所有者(Owner)。四个阶段的任务边界如下:
- 初始化(Initialization):设备在制造阶段完成凭据注入,生成设备密钥对,写入设备证书链和制造方信任根,并登记到制造方服务器。此阶段结束时,设备处于“已制造、未归属”状态,只信任制造方。
- 所有权转移(Ownership Transfer / TO0-TO2 前段):设备首次上电后向制造方服务器报到,制造方把设备的所有权凭据(Ownership Voucher)交给目标所有者,所有者再通过 Rendezvous 服务把“设备该找谁”的信息下发给设备。此阶段解决“设备归谁、该信任谁”。
- 配置(Configuration / TO2 中段):设备与所有者服务器完成密钥交换和凭据协商,所有者向设备下发配置数据,例如网络参数、服务地址、策略文件等。此阶段解决“设备按什么规则运行”。
- 激活(Activation):设备应用配置、切换到运行态,向所有者确认入网完成,并进入正常业务通信。此阶段解决“设备正式可用”。
二、状态迁移与关键判定
把上述阶段映射为设备侧状态,可以得到一条清晰的状态迁移路径:Manufactured → Ready → OwnershipTransferred → Configured → Active。每个迁移都由一次协议交互触发,并带有明确的成功/失败判定。
以一次典型入网为例,设备上电后进入 Ready,向制造方服务器发送 TO0 请求;制造方返回所有权凭据后,设备进入 OwnershipTransferred。随后设备与所有者服务器执行 TO2 协议:先完成密钥交换与凭据验证,再接收配置数据。配置写入成功后设备进入 Configured,应用配置并回执确认后进入 Active。若任一阶段校验失败,设备不会“跳过”而是回到上一稳定状态或进入错误态,等待重试或人工干预。
三、阶段任务分解与依赖关系
为了便于工程落地,把每个阶段再拆成可执行任务,并标注其依赖:
| 阶段 | 关键任务 | 依赖 | 退出条件 |
|---|---|---|---|
| 初始化 | 生成设备密钥对、注入设备证书、写入制造方信任根、登记设备 | 制造方 CA 可用 | 设备凭据完整且可被制造方识别 |
| 所有权转移 | 设备报到、制造方签发所有权凭据、所有者获取凭据、Rendezvous 下发所有者地址 | 设备已初始化、所有者已注册 | 设备持有有效所有权凭据并知道所有者地址 |
| 配置 | TO2 密钥交换、凭据验证、下发配置数据、设备写入配置 | 所有权转移完成、所有者服务器在线 | 配置写入成功且校验通过 |
| 激活 | 应用配置、切换运行态、回执确认、进入业务通信 | 配置完成 | 设备可正常收发业务数据 |
这张表的价值在于:当入网失败时,可以按“依赖”列快速定位是哪一环没有满足,而不是盲目重试整个流程。
四、用状态图看清迁移路径
下面的 SVG 用状态迁移图呈现设备侧的状态变化,以及每个迁移对应的协议动作和失败回退方向。图中实线箭头表示正常迁移,虚线箭头表示失败回退或重试路径。
五、工程实践中的观察点与判断依据
在实际部署中,判断入网是否真正完成,不能只看设备是否“连上了网”。建议关注以下观察点:
- 初始化是否完整:检查设备证书链是否可被制造方信任根验证,设备密钥对是否可正常签名。若设备证书缺失,设备无法进入 Ready 状态。
- 所有权凭据是否有效:确认所有权凭据中的设备标识、所有者公钥、有效期均正确。凭据过期会导致 TO2 阶段直接失败。
- 配置是否真正写入:配置下发后应读取设备侧配置存储,确认关键字段(如服务地址、策略版本)已落盘,而不是仅停留在内存。
- 激活后是否可通信:设备进入 Active 后,应能向所有者服务器发送业务心跳或数据,且所有者侧能看到该设备在线。
六、一个可参考的入网检查清单
为便于现场执行,下面给出一份按阶段组织的检查清单,可直接用于入网前的准备和入网后的验收:
阶段一 初始化
[ ] 设备密钥对已生成且私钥不可导出
[ ] 设备证书链完整,可被制造方信任根验证
[ ] 设备已登记到制造方服务器,设备标识唯一
阶段二 所有权转移
[ ] 设备上电后能向制造方服务器发起 TO0
[ ] 所有权凭据已签发且所有者公钥正确
[ ] Rendezvous 已下发所有者服务器地址
[ ] 凭据有效期覆盖本次入网时间窗口
阶段三 配置
[ ] TO2 密钥交换完成,双方签名验证通过
[ ] 配置数据已下发且设备写入成功
[ ] 配置版本号与所有者侧一致
阶段四 激活
[ ] 设备已应用配置并切换运行态
[ ] 设备向所有者回执确认
[ ] 业务心跳或数据可正常收发
[ ] 所有者侧可见设备在线状态
把这条状态链和检查清单结合使用,可以在入网失败时快速定位到具体阶段和具体任务,而不是反复重启设备或重发整个流程。下一阶段的工作,将围绕每个阶段的具体协议消息和参数展开。