3、身份标识基础:什么是身份?
聊到传感器身份体系,第一个绕不开的问题就是——到底什么是“身份”?
你可能会觉得这问题太简单了。身份证号、车牌号、MAC地址,这些不都是身份吗?嗯,对,也不全对。我在做物联网安全评估的时候,发现很多团队把“身份”和“标识符”直接划等号,结果后面做权限管理、做密钥轮换时,全乱套了。
说白了,身份是一组属性的集合。它回答的是“你是谁”这个问题。而标识符,只是这组属性里的一个索引字段。
3.1 物理身份 vs 数字身份
我们先分清楚两个概念:物理身份和数字身份。
| 维度 | 物理身份 | 数字身份 |
|---|---|---|
| 载体 | 物理实体(芯片、标签、人) | 数据记录(证书、密钥、哈希值) |
| 可篡改性 | 相对困难(需要物理接触) | 相对容易(远程攻击即可) |
| 验证方式 | 目视、扫描、物理接触 | 密码学算法、协议握手 |
| 生命周期 | 与硬件寿命绑定 | 可独立于硬件存在 |
| 典型例子 | 芯片上的激光刻字、RFID TID | X.509证书、区块链DID |
举个例子。你买了一个温度传感器,外壳上印着一串序列号——这是物理身份。你把它接入平台后,平台给它签发了一个设备证书——这是数字身份。
物理身份是“出生自带”的,数字身份是“后天赋予”的。我个人习惯把物理身份叫做“根身份”,因为它很难改,适合做信任锚点。数字身份则灵活得多,可以吊销、可以更新、可以分层。
3.2 身份的唯一性
身份的核心要求是什么?唯一性。
你想想看,如果两个传感器拥有完全相同的身份,平台怎么区分它们?数据该算谁的?指令该发给谁?
唯一性分两个层次:
- 全局唯一:在整个系统范围内,没有两个实体拥有相同的身份标识。比如全球MAC地址池,由IEEE统一分配。
- 局部唯一:在某个子系统或时间段内保证不重复。比如工厂内部的生产批次号,出了这个厂可能重复,但在厂内是唯一的。
做物联网项目时,我建议优先追求全局唯一。为什么?因为设备可能会被转卖、可能会跨平台迁移。如果一开始只做了局部唯一,后面扩展时就会撞车。
实现唯一性的常见方案:
- UUID/GUID:128位随机数,碰撞概率极低。适合软件层面生成。
- 递增序列号:由产线管理系统分配,需要中心化协调。
- 组合标识:厂商ID + 产品类型 + 生产批次 + 流水号,分层保证唯一。
- 密码学哈希:对物理不可克隆函数(PUF)的输出做哈希,得到唯一指纹。
3.3 身份的生命周期
身份不是一成不变的。它有自己的生命周期,从出生到死亡。
我习惯把身份生命周期分成五个阶段:
- 注册(Registration):身份被创建并录入系统。比如产线烧录证书、平台注册设备。
- 激活(Activation):身份从“已注册”变为“可用”。比如设备首次上线、完成双向认证。
- 运营(Operation):身份在系统中正常使用。包括身份验证、权限检查、数据签名等。
- 暂停/吊销(Suspension/Revocation):身份因安全原因或业务变更被临时或永久停用。比如设备被盗、固件漏洞被利用。
- 注销(Decommission):身份被彻底移除。比如设备报废、证书到期不再续签。
每个阶段都有对应的安全要求。注册阶段要防伪造,运营阶段要防劫持,吊销阶段要防重放。
核心原则: 身份的生命周期管理,必须与密钥的生命周期管理同步。身份吊销了,对应的密钥必须立即失效。否则,攻击者可以用旧密钥继续伪装成合法设备。
下面这张图展示了身份生命周期的完整流转:
这里有个容易被忽略的点:吊销不等于注销。吊销是临时性的,比如设备固件出了漏洞,你先把它踢下线,等修复完再恢复。注销是永久性的,一旦注销,这个身份就再也不能用了。
最后说一句。身份是安全体系的基石。你后面做的所有事情——认证、授权、加密、审计——全都依赖一个可靠的身份系统。所以,花时间把身份的定义、唯一性、生命周期想清楚,绝对值得。