物联网安全的特殊之处
服务器安全靠机房与补丁,物联网安全却要面对几十万台分布在外面的设备:它们算力弱、电池小、物理上你还碰不到。一旦被仿冒或劫持,轻则数据乱报,重则被当成僵尸网络打别人。所以安全必须从「设备出厂」就设计好。
物联网安全的两条主线:设备要能被认出是谁,通信要能防窃听防篡改。
要防的三件事
- 仿冒设备别人造一个假设备混进你的平台。
- 窃听篡改中间人偷看或改数据。
- 越权控制别人远程指挥你的设备。
设备身份:一机一密
每台设备出厂时写入一个唯一身份(设备 XID)和一把只属于它的密钥。平台侧预先登记这台设备的身份与公钥。设备联网时,不是「报个密码」,而是用私钥签一个名,平台验签——这就是一机一密。
认证流程
典型流程:设备连上网 → 平台下发一个随机挑战(nonce)→ 设备用私钥对挑战签名 → 平台用登记的公钥验签 → 通过才允许接入。这叫「挑战-响应」认证,能防重放,因为每次挑战都不一样。
// 伪代码
nonce = platform.issueNonce(deviceId);
sig = device.sign(nonce); // 用设备私钥
ok = platform.verify(deviceId, nonce, sig);
if (!ok) reject();
传输加密
认证之外,通信本身要加密。轻量设备常用 DTLS(UDP 上的 TLS)或在 MQTT 上挂 TLS。这样即使报文被截,内容也解不开、改不了。别在明文通道里传密钥或控制指令。
密钥与证书管理
密钥写在哪、怎么换,是工程难点。产线要给每台设备烧入独立密钥;设备丢失或怀疑泄露时,平台要能远程吊销这台设备的身份。证书要有过期时间,到期要能远程轮换,别指望人到场。
密钥管理要点
- 一机一密不要全机型共用一把密钥。
- 可吊销平台能随时拉黑某设备。
- 可轮换支持远程更新证书。
常见攻击与对策
重放攻击靠每次随机挑战防;伪造设备靠一机一密验签防;中间人靠 TLS 加密防;越权控制靠平台侧细粒度权限校验防。记住:默认拒绝,白名单放行。
小结与延伸阅读
物联网安全不是加分项,是能不能上线的门槛。把「一机一密 + 挑战响应认证 + 传输加密」三件事做扎实,设备网络就稳了大半。
- 短距离怎么连读《蓝牙 BLE 与 Zigbee 设备接入实战》。
- 网关这一层读《物联网网关架构与边缘智能实战》。
- 消息通道读《MQTT 协议详解与实战》。