定义
One Device One Secret(一机一密)指每台设备拥有独立的密钥(ProductKey + DeviceName + DeviceSecret),设备认证时使用本机密钥,单设备泄露不影响其他设备。与 One Type One Secret 相比安全性更高。
密钥管理与发放
DeviceSecret 通常在设备生产时由平台预生成并烧录至设备,或通过 Dynamic Registration 动态注册后下发。平台需保障密钥生成 randomness、存储加密及传输安全。密钥轮换时,平台可支持设备申请新密钥、旧密钥过渡期等策略。与 Device Credentials 设备凭证管理配合,实现密钥全生命周期管控;高安全场景可升级为 X.509 证书 认证。
与 DMP 的集成
设备管理平台在设备创建时生成或导入 DeviceSecret,支持批量导入、产线对接。认证时校验设备身份与密钥,支持 mTLS、Token 等多种形式。平台需记录密钥发放、轮换、吊销历史,满足 Audit Log 审计与合规要求。单设备泄露时,可单独吊销该设备凭证,不影响其他设备。
应用场景
适用于工业控制、车联网、金融终端等高安全场景。一机一密是设备认证的推荐实践,可满足等保、ISO 27001 等合规要求,保障物联网整体安全态势。
单机密钥在握手时证明什么
一机一密是一种凭证发放方式:每台设备除了产品标识和自己的名字之外,还有一把不与其他设备共用的设备密钥。认证时,平台用档案里的那把密钥核验这台设备的证明材料。核验通过,只能说明“对方持有这把密钥”,并不能自动说明设备没有被拆开或固件没有被改。密钥若从产线泄漏、写在日志里或被复制到维修夹具上,证明就失效。因此密钥的价值取决于它是否只存在于这一台设备和平台的受控存储里。它和整型共用一把产品密钥不同,单台泄漏的处置范围应当就是这一台:吊销、轮换、重新写入,都不该迫使同型号全部返工。平台记录里要能区分密钥的发放、启用、轮换和作废,否则审计只能看到“曾经认证成功”。与设备入网配合时,入网完成的标志应是这把密钥已经写入且首次核验通过,而不是工单上勾了已发货。MQTT或接口层只是携带证明的通道,通道加密不能代替“每台一把密钥”这件事。
产线能够逐台写入的条件
要采用这种方式,产线或安全下发通道必须能按序列号写入不同的密钥,并在失败时重做这一台而不是整批。平台生成密钥时要保证不可预测,传输到写入设备的路径不能经过明文日志和可被随意拷贝的共享目录。写入后,设备侧应无法被普通调试口读回。档案要在写入成功时才标记为可认证,避免平台先启用、设备还没写上,造成大量失败登录。更换电路板或安全元件时,要有作废旧密钥、绑定新密钥的手续,历史遥测仍留在原设备身份下还是迁到新身份,要事先规定。维修人员手里的夹具若能导出密钥,这种方式就退化成共享秘密。暂时做不到逐台写入的产品,应明确改用别的发放方式,而不是把同一把密钥复制进所有设备、仍把它叫做一机一密。
副本、轮换和吊销不同步
密钥同时留在贴片文件、邮件和平台三处,任何一处泄漏都等于这台设备的证明可以伪造,而且难以发现是哪一处。轮换时平台已切到新密钥,设备仍持旧密钥,表现为突然无法上线,若回退策略再把旧密钥也接受,轮换就没有发生。只在平台删除档案、不吊销密钥,持有副本的一方仍可通过尚未失效的缓存登录。批量导入把两台设备的密钥列对调,两台都能“认证成功”但身份互换,历史数据接到错误的实物上。调试固件把密钥打进日志并上传,采集日志的人等于拿到了凭证。用可预测的序列号派生密钥,相邻设备的密钥可以推算。吊销列表没有下发到所有接入点,设备在其中一个入口被拒绝,在另一个入口仍能接入。把产品密钥和设备密钥存在同一字段,轮换产品材料时把所有设备密钥一起清掉。