banner
NEWS LETTER

嵌入式 Linux 系列 32:设备身份、证书烧录和密钥保护

Scroll down

联网设备必须有清晰的设备身份。设备 ID、SN、MAC、证书和私钥如果管理混乱,会影响 MQTT 连接、云端认证、售后追踪和安全性。身份信息要从生产阶段就设计好。

一、设备身份包含什么

常见信息:

1
2
3
4
5
6
7
serial_number
device_id
product_model
hardware_version
mac_address
device_certificate
private_key

这些信息通常写入 factory 或 secure 分区。

二、保存位置

建议:

1
2
3
/data/factory/device_info.json
/data/secure/device.crt
/data/secure/device.key

权限:

1
2
chmod 644 /data/secure/device.crt
chmod 600 /data/secure/device.key

私钥不应该被普通日志、support bundle 或远程诊断导出。

三、生产烧录流程

典型流程:

  1. 烧录固件。
  2. 写入 SN 和 MAC。
  3. 生成或写入证书。
  4. 运行 factory test。
  5. 设备首次联网注册。
  6. 记录生产结果。

每一步都要可追踪。

四、证书更新

证书可能过期或需要轮换。

更新时要考虑:

  • 新证书校验。
  • 私钥保护。
  • 更新失败回滚。
  • MQTT 连接切换。
  • 时间是否准确。

证书更新失败不能让设备永久离线。

五、防止身份丢失

恢复出厂时不要清除:

  • SN。
  • MAC。
  • 私钥。
  • 证书。
  • 硬件校准数据。

OTA 也不应该覆盖这些文件。

可以给 factory 数据做备份和 checksum:

1
2
device_info.json
device_info.json.bak

启动时校验,坏了就尝试恢复备份。

六、诊断时脱敏

support bundle 要过滤:

  • private key。
  • token。
  • password。
  • 完整证书链可按策略决定。

远程诊断需要信息,但不能泄露设备身份凭据。

设备身份是安全和运维的基础,不能等云端接入时才临时补。

其他文章
目录导航 置顶
  1. 1. 一、设备身份包含什么
  2. 2. 二、保存位置
  3. 3. 三、生产烧录流程
  4. 4. 四、证书更新
  5. 5. 五、防止身份丢失
  6. 6. 六、诊断时脱敏
请输入关键词进行搜索