IoT 三元组是物联网平台常见的设备接入身份材料,通常由 ProductKeyDeviceNameDeviceSecret 组成。它用于让平台识别“这是什么产品、哪一台设备、它是否持有正确秘密”。

不同平台字段名可能不同,但结构大致类似:

字段作用是否应保密
ProductKey标识产品、型号或设备族通常不算秘密
DeviceName标识某一台设备通常不算秘密
DeviceSecret证明设备身份的共享秘密必须保密

核心机制

设备连接平台时,不是把三元组直接当密码明文发出去,而是通常用 DeviceSecret 对时间戳、随机数或连接参数做签名。平台用保存的同一份 secret 验证签名是否正确。

简化模型可以写成:

signature = HMAC(DeviceSecret, ProductKey + DeviceName + timestamp + nonce)

平台验证通过后,才认为这台设备拥有对应身份。后续它能不能发布数据、订阅主题、接收配置或执行远控,还要继续受 认证与授权 和生命周期状态约束。

与设备置备的关系

设备置备 中,IoT 三元组通常会被:

  1. 由平台预先生成,或在产线系统中申请生成。
  2. 写入设备的安全存储、配置分区或 factory data。
  3. 同步登记到设备台账,绑定 SN 与 Device ID
  4. 在首启联网时用于完成设备认证。

如果三元组写错、重复、泄露或平台登记缺失,设备会出现无法上线、冒名上线或整批安全风险。

边界与常见坑

  • 三元组不是 SN:SN 用于出厂追溯,DeviceName 可以复用 SN,但二者概念不同。
  • ProductKey 不是设备唯一身份:它通常表示产品族,一批设备可以共用。
  • DeviceSecret 不是用户密码:它属于设备接入凭据,不应被用户、客服或普通运营后台读取。
  • 不要批量共用 DeviceSecret:共用 secret 会让一台设备泄露变成整批设备泄露。
  • 不要把三元组写进普通日志:产测日志、异常日志、导出表和截图都可能形成长期泄露面。
  • 三元组不替代证书体系:高安全场景通常更偏向每设备 数字证书私钥PKI(公钥基础设施)

相关术语