设备平台不能只保存“最后在线时间”。它需要识别每台设备、理解云端期望状态和设备真实状态的差异,并安全地维护固件直到设备退役。
设备身份
每台设备应有稳定唯一标识和独立凭据:
1 | device_id:业务与平台身份 |
设备序列号不一定是秘密,不能单独作为认证凭据。生产写入、首次激活、轮换、吊销和报废都要有记录。
Digital Twin 或 Device Shadow
最实用的模型是区分期望状态与上报状态:
1 | { |
1 | 用户修改 desired |
Twin 不是设备数据库的漂亮别名。它要定义版本、冲突、过期、离线设备、权限和最终一致性。
OTA 完整流程
1 | 构建固件 -> 生成哈希和签名 -> 上传制品 |
安全启动和固件签名防止运行未经授权的代码。设备应保留可回滚分区或恢复模式,云端要有暂停、失败阈值和人工介入能力。
全生命周期安全
| 阶段 | 关键控制 |
|---|---|
| 设计 | 威胁建模、最小权限、安全更新能力 |
| 生产 | 每设备唯一身份、安全写入密钥 |
| 激活 | 引导凭据一次性或短期化 |
| 运行 | TLS、授权、日志、异常检测、密钥轮换 |
| 更新 | 固件签名、灰度、回滚、防降级 |
| 报废 | 吊销凭据、清除数据、解除租户绑定 |
物联网安全还要考虑物理接触、调试口、弱网、长期无人维护和供应链,不能只套用普通 Web 登录方案。