3. 设备身份与凭证体系
在 LwM2M 安全接入工程中,“设备是谁”和“设备凭什么被信任”是两个必须分开处理的问题。前者由设备唯一标识解决,后者由凭证体系解决。LwM2M 基于 CoAP/DTLS 与 OSCORE 等安全通道,常见的设备凭证形态包括预共享密钥(PSK)、X.509 证书和 Raw Public Key(RPK)。三者并非简单的“新旧替代”关系,而是在资源约束、部署规模、运维能力和安全等级之间做取舍。理解它们的差异与生命周期管理方式,是设计可运营设备接入体系的基础。
一、设备唯一标识:身份锚点
设备唯一标识是设备在整个 LwM2M 管理体系中的“身份证号”,它不等同于凭证,但决定了凭证与设备、设备与业务数据之间的绑定关系。工程中常见的标识来源包括:模组或芯片的 IMEI、IMSI、EUI-64、MAC 地址,安全芯片内的设备证书序列号,以及厂商在生产阶段写入的序列号。LwM2M 客户端在注册时通过 Endpoint Client Name 向 LwM2M Server 表明身份,该名称通常由设备唯一标识派生,例如 urn:imei:867123456789012 或 dev-3c2a-001122334455。
需要特别注意的是,Endpoint Client Name 本身只是“名字”,不具备认证能力。若仅凭它识别设备,攻击者可以伪造名称冒名注册。因此,唯一标识必须与凭证绑定:PSK 模式下,标识与 PSK Identity 关联;证书模式下,标识与证书 Subject 或 SAN 关联;RPK 模式下,标识与公钥指纹关联。这样,认证过程才能把“名字”与“持有密钥的实体”对应起来。
二、三种凭证形态的工程取舍
预共享密钥(PSK)是最轻量的方案。设备与服务器预先共享一个对称密钥,DTLS 握手时通过 PSK Identity 找到对应密钥完成认证。它的优点是计算量小、握手快、无需证书解析,适合 NB-IoT、LoRa 等低功耗窄带场景。缺点是密钥分发和存储风险高:一旦某台设备的 PSK 泄露,攻击者可冒充该设备;若多设备共用同一 PSK,则一台失陷会波及整批设备。因此工程上应做到“一机一密”,并尽量将 PSK 存放在安全存储区(如 SE、TEE 或受保护的 Flash 区域)。
X.509 证书提供最强的身份表达与可扩展性。设备持有由 CA 签发的设备证书和对应私钥,服务器通过证书链验证设备身份。它支持双向认证、证书吊销、细粒度策略,适合对安全要求高、设备数量大且需要集中管理的场景。代价是证书链较长、握手开销大、需要处理有效期与吊销状态(CRL/OCSP),对资源受限设备不友好。工程中常采用轻量级证书(如仅含必要扩展)和预置信任锚来降低开销。
Raw Public Key(RPK)介于两者之间。设备持有公钥和私钥,但不使用 X.509 证书链,而是通过带外方式(如预置、注册阶段)让服务器获得公钥或其指纹。RPK 省去了证书解析和链验证,握手比 X.509 轻,同时避免了 PSK 的对称密钥分发难题。它的挑战在于公钥的信任建立和更新机制需要自行设计,且缺乏标准化的吊销体系。RFC 7250 对 TLS/DTLS 中的 RPK 使用做了定义,LwM2M 场景中常用于设备数量可控、运维通道可信的部署。
三、凭证与标识的绑定关系
无论采用哪种凭证,都必须建立“唯一标识 ↔ 凭证”的绑定。PSK 模式下,服务器维护一张表,将 PSK Identity 映射到设备唯一标识和密钥;证书模式下,证书的 Subject CN 或 SAN 中携带设备唯一标识,服务器在验证证书链后提取该标识;RPK 模式下,服务器保存公钥指纹与设备标识的映射。绑定关系一旦建立,后续的注册、数据上报、固件升级都应基于该标识做授权和审计。
工程中常见的错误是“标识与凭证脱节”:设备注册时使用一个 Endpoint Client Name,但证书里写的是另一个名字,导致服务器无法关联。为避免此类问题,建议在设备生产阶段就确定标识生成规则,并让凭证签发系统按同一规则写入标识。例如,规则可定义为 urn:dev:<厂商代码>:<型号>:<序列号>,证书 SAN 中写入该 URN,PSK Identity 也使用该 URN。
四、生命周期管理的关键动作
凭证生命周期通常包括生产预置、首次注册、正常使用、轮换更新、吊销注销和退役清理六个阶段。生产预置阶段,设备在产线写入唯一标识和初始凭证,PSK 应一机一密,证书私钥应在安全环境生成且不可导出。首次注册阶段,设备与 LwM2M Server 完成 DTLS 握手和注册,服务器记录设备标识、凭证类型、首次上线时间。正常使用阶段,服务器持续校验凭证有效性,监控异常注册和频繁重连。
轮换更新是生命周期中最容易被忽视的环节。PSK 轮换需要服务器与设备协商新密钥,通常通过已建立的安全通道下发,并保证新旧密钥的切换窗口;证书轮换需要设备在旧证书过期前获取新证书,可采用 EST、SCEP 或厂商私有协议;RPK 轮换则需要重新预置公钥或指纹。无论哪种方式,都应设计“回滚”机制:若新凭证写入失败,设备应能继续使用旧凭证,避免失联。
吊销注销用于设备丢失、被盗或退役场景。证书模式可通过 CRL/OCSP 标记吊销;PSK 模式需在服务器侧删除或禁用对应密钥;RPK 模式需从信任列表中移除公钥指纹。退役清理阶段,应擦除设备内的私钥、PSK 和敏感配置,防止二次利用导致密钥泄露。
五、选型与组合策略
实际项目中,三种凭证可以组合使用。例如,设备出厂预置 PSK 用于首次引导,通过引导通道获取 X.509 证书,后续正式业务使用证书认证;或者对低功耗设备使用 PSK,对网关类设备使用证书,对中等资源设备使用 RPK。选型时应评估设备算力、内存、功耗、网络带宽、部署规模、运维通道可信度和合规要求。若设备数量大且需要远程吊销,证书更合适;若设备资源极受限且部署环境封闭,PSK 更现实;若希望避免证书链开销又不想承担对称密钥分发风险,RPK 是折中方案。
最后需要强调:凭证体系的安全强度不仅取决于算法,更取决于私钥/密钥的保护、标识绑定的严谨性和生命周期管理的闭环。只有把“设备是谁”和“凭什么信任”同时管好,LwM2M 设备接入才具备可运营的安全基础。