2. 无线设备身份标识体系

在IoT无线设备身份认证工程中,设备身份标识体系是整个信任链的起点。一个设备从出厂到退役,会携带多种标识,它们分别由不同层级的主体生成、在不同阶段被写入、以不同方式被读取,并承担不同的安全职责。理解这些标识的差异与协作关系,是设计认证方案、排查身份冲突、规划密钥轮换的前提。

五类标识的定位与生成主体

MAC地址由IEEE统一分配OUI前缀,厂商在网卡控制器生产时烧入,长度48位,通常写作AC:1F:6B:3D:8E:02。它标识的是"网络接口"而非"设备本身",一台设备有Wi-Fi和蓝牙两个接口就有两个MAC。MAC可被软件改写,因此只能作为链路层寻址依据,不能单独作为可信身份。

IMEI是蜂窝模组的15位数字标识,由GSMA授权分配TAC(前8位),厂商补入序列号(6位)和Luhn校验位(1位)。例如861234567890123。IMEI绑定的是蜂窝通信模块,写入模组基带存储区,普通应用无法修改,但专业工具仍可篡改。

芯片ID是MCU或安全芯片出厂时由晶圆制造环节产生的唯一序列号,如STM32的96位UID、ESP32的MAC派生ID。它固化在芯片掩膜或OTP区域,读取接口由芯片厂商定义,通常通过HAL_GetUID()一类API获取。芯片ID不可改写,是设备身份最底层的锚点。

PUF(物理不可克隆函数)不存储密钥,而是利用芯片制造过程中随机分布的微观工艺偏差(如SRAM上电初值、环形振荡器频率差)生成唯一响应。同一激励在不同芯片上产生不同响应,同一芯片多次响应则高度一致。PUF输出的是"指纹"而非"编号",密钥在需要时现场重建,不落盘。

证书指纹是设备证书经哈希运算得到的摘要,常见SHA-256,如3A:F2:...:9C。它由设备在密钥生成后计算,或由CA在签发时记录。指纹本身不是秘密,但它是证书内容的完整性凭证,用于快速比对和吊销判断。

无线设备五类身份标识的生成层级与信任强度 晶圆制造层 芯片封装层 模组/整机层 网络接口层 应用信任层 芯片ID (UID) 96位 / OTP固化 / 不可改 PUF 物理指纹 工艺偏差 / 现场重建 / 不存储 证书指纹 SHA-256 / 签发时生成 IMEI (15位) TAC+序列号+Luhn校验 / 基带存储 MAC 地址 (48位) OUI+厂商序列 / 可软件改写 信任强度 弱(可篡改) 强(不可克隆) 生成 烧录 读取/认证 轮换/吊销 退役 芯片ID与PUF构成硬件信任根,证书指纹承载应用层信任,MAC/IMEI仅作辅助标识

烧录与读取的实际工程做法

芯片ID和PUF无需烧录,出厂即存在。真正需要工程介入的是证书和密钥的注入。典型产线流程是:设备上电后通过安全调试接口进入引导模式,产线工具向设备发送CSR请求,设备在安全芯片内生成密钥对并返回CSR,CA签发证书后回传,设备将证书写入安全存储区。整个过程私钥不出芯片。

以某ESP32-S3产线为例,使用espsecure.py工具将设备证书写入NVS分区:

# 产线工装读取芯片UID作为设备序列号
esptool.py read_mac
# 输出: MAC: ac:1f:6b:3d:8e:02
# 生成CSR并请求CA签发
espsecure.py generate_csr --key device_key.pem --output device.csr
# 将签发证书烧入NVS
esptool.py write_flash 0x290000 device_cert.bin

读取时,应用层通过esp_efuse_read_field_blob()读取UID,通过mbedTLS接口读取证书并计算SHA-256指纹,与云端注册的指纹比对。若不一致,说明证书被替换或设备被克隆。

生命周期管理的四个关键节点

注册阶段:设备首次联网时,将芯片ID、证书指纹、IMEI上报至设备管理平台,建立"一机一档"。平台记录绑定关系,后续认证以此为准。

认证阶段:设备发起TLS连接时提交证书,平台校验证书链和指纹,同时可要求设备用PUF重建的密钥对挑战值签名,实现"证书+物理指纹"双因子认证。

轮换阶段:证书临近有效期(如剩余30天)时,设备通过已建立的信任通道申请新证书。旧证书在宽限期后吊销,指纹列表同步更新。

退役阶段:设备下线时,平台将证书指纹加入CRL,芯片ID标记为已退役。若设备被回收再部署,必须重新走注册流程,不能复用旧身份。

MAC和IMEI可被篡改,不能作为唯一认证依据。工程上应以芯片ID或PUF作为硬件信任根,证书指纹作为应用层身份凭证,MAC/IMEI仅用于网络接入和资产盘点。

标识冲突与异常排查

实际运维中常见三类问题:一是MAC冲突导致DHCP分配异常,排查时对比设备标签MAC与ifconfig输出,若不一致说明被改写;二是证书指纹不匹配导致TLS握手失败,检查设备证书是否被替换或NVS分区是否损坏;三是PUF响应不稳定,通常由供电电压波动或温度超出工作范围引起,需在认证前增加多次采样和纠错码(如BCH码)处理。

建议在设备管理平台中建立标识关联表,字段包括:芯片ID、PUF标识符、证书指纹、MAC、IMEI、注册时间、证书有效期、状态。任一标识异常时,可通过关联表快速定位影响范围。

标识生成主体存储位置可改写性典型用途
芯片ID晶圆厂OTP/掩膜不可硬件信任根
PUF工艺偏差不存储不可克隆密钥重建
证书指纹CA/设备安全存储可轮换应用层认证
MACIEEE/厂商网卡控制器可软件改链路寻址
IMEIGSMA/厂商基带存储专业工具可改蜂窝接入