2. IoT设备身份标识体系

在IoT平台中,设备身份标识并不是一个简单的字符串,而是一套从芯片到云端逐层建立、逐层映射的标识体系。理解这套体系的关键,是区分“物理标识”和“逻辑标识”,并理解它们如何在云端完成身份映射。

物理标识与逻辑标识

物理标识是设备出厂时固化在硬件中的、难以更改的标识,典型代表包括:

  • MAC地址:由IEEE分配,48位,通常烧录在网卡或Wi-Fi模组中,全球唯一但可被软件伪造。
  • IMEI:15位数字,用于蜂窝网络设备,由GSMA分配TAC段,运营商网络可识别。
  • 芯片唯一ID:如STM32的96位UID、ESP32的MAC派生ID,由半导体厂商保证唯一性。

逻辑标识是平台或应用层为设备分配的标识,典型代表是UUID(通用唯一识别码)。UUID通常由云端在设备注册时生成,与物理标识解耦,便于跨协议、跨厂商统一管理。

物理标识回答“这台设备在硬件层面是谁”,逻辑标识回答“这台设备在业务系统中是谁”。两者通过注册流程建立映射关系。

标识在云端身份映射中的作用

设备接入云端时,平台需要完成一次“身份映射”:将设备上报的物理标识(如MAC或IMEI)与平台预置或动态生成的逻辑标识(如UUID)绑定。这个过程通常发生在设备首次注册或激活时。

以MQTT接入为例,设备连接时携带ClientID和用户名密码。平台侧根据ClientID查找设备记录,若该设备尚未注册,则根据预置的MAC或IMEI白名单进行校验,校验通过后生成UUID并写入设备注册表。此后,设备的所有消息、影子、规则引擎都通过UUID进行索引。

映射关系一旦建立,物理标识通常不再参与业务逻辑,仅用于设备身份校验和防伪。逻辑标识则成为云端所有服务的统一入口。

IoT设备身份标识体系与云端映射 物理标识层 MAC 地址 48位 · IEEE分配 · 可伪造 IMEI 15位 · GSMA分配 · 蜂窝设备 芯片唯一ID 96位 · 半导体厂商固化 序列号 SN 厂商自定义 · 可读性强 出厂固化 · 硬件层唯一 用于身份校验与防伪 云端身份映射 ① 设备注册 上报物理标识 ② 白名单校验 MAC/IMEI比对 ③ 生成UUID 写入设备注册表 ④ 绑定映射 物理↔逻辑关联 逻辑标识层(云端) UUID(设备唯一标识) 如:a1b2c3d4-e5f6-7890-abcd-ef1234567890 设备影子 / 物模型 属性、事件、服务以UUID索引 规则引擎 / 数据路由 消息按UUID分发与存储 访问控制策略 基于UUID的权限与令牌 云端生成 · 业务层唯一 所有服务统一入口 上报 生成 映射表:MAC/IMEI ↔ UUID

标识生命周期管理

标识的生命周期贯穿设备从出厂到退役的全过程,每个阶段都有不同的管理重点:

阶段物理标识状态逻辑标识状态关键操作
出厂已固化未生成烧录MAC/IMEI,录入出厂数据库
注册已上报已生成白名单校验,生成UUID,建立映射
激活已绑定已启用下发令牌,绑定物模型,启用策略
运行只读可更新UUID不变,属性/配置可动态更新
迁移不变可重新映射更换平台时重新生成UUID,保留物理标识
退役保留记录注销/归档撤销令牌,标记UUID为失效,保留审计日志

生命周期管理的核心原则是:物理标识不可变,逻辑标识可管理。物理标识一旦烧录,应视为只读;逻辑标识则可以根据业务需要重新生成、迁移或注销,但每次变更都必须记录审计日志,确保可追溯。

实际映射示例

假设一台ESP32设备,MAC地址为 24:6F:28:AB:CD:EF,在平台注册时上报该MAC。平台校验白名单通过后,生成UUID 550e8400-e29b-41d4-a716-446655440000,并写入设备注册表:

{
  "device_id": "550e8400-e29b-41d4-a716-446655440000",
  "physical_id": "24:6F:28:AB:CD:EF",
  "physical_type": "MAC",
  "status": "active",
  "registered_at": "2025-01-15T08:30:00Z",
  "token": "eyJhbGciOiJIUzI1NiIs..."
}

此后,设备发布消息到主题 devices/550e8400-e29b-41d4-a716-446655440000/telemetry,平台规则引擎根据UUID路由到对应数据表。物理标识MAC仅用于连接时的身份校验,不再出现在业务主题中。

设计建议:在设备注册表中,物理标识字段应建立唯一索引,防止同一MAC被重复注册;逻辑标识UUID应作为主键,所有业务表通过外键关联UUID,而非MAC。
常见误区:直接将MAC地址作为云端设备ID使用。MAC可被伪造,且不同厂商可能重复使用同一MAC段;一旦设备更换硬件,业务数据将无法关联。正确做法是物理标识仅用于校验,逻辑标识UUID作为业务主键。

总结来说,IoT设备身份标识体系的核心是“物理标识保真、逻辑标识保业务”。物理标识解决“设备是不是它声称的那台”,逻辑标识解决“这台设备在云端对应哪个业务实体”。两者通过注册映射建立关联,并在生命周期中各自遵循不同的管理规则。理解这一体系,是后续实现设备认证、访问控制和数据隔离的基础。