易君召
易君召
发布于 2026-11-02 / 1 阅读
0

物联网设备数据安全传输方案

物联网的痛点:设备算力弱、资源有限、网络环境复杂(WiFi/4G/NB-IoT/LoRa)、大量低成本轻量终端,不能直接照搬互联网后端的安全方案,一般是分层、按需组合防护,核心目标:机密性、完整性、真实性、防重放。

一、链路层 / 传输通道加密(最基础)

1. IP 类设备(WiFi、以太网、4G/5G)

  • TLS/DTLS:主流首选。

    • TLS:面向 TCP(HTTP、MQTT over TLS)

    • DTLS:面向 UDP(CoAP,适合低时延 IoT,避免 TCP 握手开销)

    MQTT + TLS 是工业、消费 IoT 最常见组合,端口 8883

  • 注意:不要用老旧 TLS1.0/1.1,强制 TLS1.2 / TLS1.3,TLS1.3 握手更短,更适合弱算力设备。

2. 低功耗广域(NB-IoT、LoRaWAN、Sigfox)

  • LoRaWAN:自带 MAC 层 AES-128 加密(AppKey、NwkKey),在网关到终端空中链路加密;但网关到服务器链路要额外 TLS。

  • NB-IoT:运营商核心网加密(NAS 层安全),应用层依然建议再加 DTLS。

3. 短距离(蓝牙 BLE、Zigbee)

  • BLE:BLE 加密链路(AES-CCM),配对绑定;BLE Mesh 有网络层加密。

  • Zigbee:Zigbee Security,AES-128,网络密钥、链路密钥分级。

链路加密解决:中间人窃听,但无法解决 “合法设备被劫持后上传恶意数据”。

二、应用层协议安全(业务侧)

IoT 常用协议加固:

  1. MQTT:MQTT 3.1.1/5 + TLS + 账号密码 / 证书认证;推荐 MQTT 5,支持更完善的错误码、用户属性。

  2. CoAP:CoAP + DTLS(标准方案),也支持 OSCORE(CoAP 安全对象层,适合端到端加密,不依赖网关解密)

  3. HTTP:HTTPS(TLS),小设备慎用,握手开销大

  4. Modbus、OPC UA(工业 IoT)

    • 原生 Modbus TCP 明文非常危险,必须:Modbus over TLS / 网关隔离 + 白名单

    • OPC UA 内置安全策略(AES 加密、签名、证书),工业场景首选

三、身份认证:确认 “这个设备是合法的”

只靠密码很容易被爆破,IoT 优先证书认证

  1. X.509 数字证书 设备出厂预置证书 / 私钥,连接 MQTT/HTTPS 时证书双向认证(客户端证书),云端校验证书,无密码泄露风险。适合量产设备,CA 可以自建或者用云厂商 IoT CA。

  2. 预共享密钥 PSK(Pre-Shared Key) TLS-PSK / DTLS-PSK,不需要复杂证书解析,算力极低的 MCU 首选(很多 8 位、32 位小 MCU 跑 X.509 证书很吃力)。密钥出厂烧录,一对一端口。

  3. Token 方式 云端下发短期动态 Token(阿里云 IoT、腾讯云 IoT 常用),设备带 Token 接入,Token 有过期时间,适合密钥更新。

禁止:硬编码明文密码在固件里(抓包、固件 dump 直接泄露)

四、完整性校验 + 防重放攻击

加密只能防窃听,还需要防篡改、防数据包重复回放:

  1. 消息签名(MAC):AES-CMAC、HMAC-SHA256。数据明文 + 签名一起上传,云端校验签名,确认数据没被篡改。

  2. 序列号 / 时间戳 Nonce:每条消息带上递增 seq 或者 UTC 时间,云端维护最近窗口,拒绝过期、重复包,防御重放(攻击者抓一条合法上报包反复发)。

  3. 加密模式优先用 AEAD(认证加密):AES-GCM、ChaCha20-Poly1305,同时提供加密 + 完整性校验,比 “先加密再单独算哈希” 更安全。

小设备优先 ChaCha20-Poly1305,没有硬件 AES 加速时性能远好于 AES。

五、网关安全(边缘网关是 IoT 安全枢纽)

大量 LoRa、Zigbee、传感器不支持 TLS,依靠网关汇聚:

  1. 网关 ↔ 终端:使用协议原生安全(LoRaWAN AES、Zigbee 安全)

  2. 网关 ↔ 云端:TLS/DTLS,证书认证

  3. 网关做:访问控制、协议转换、流量审计、黑名单、入侵检测 ⚠️ 风险点:网关是单点,一旦被攻陷,底下所有传感器数据全部暴露,网关本身要固件签名、安全启动。

六、设备侧配套能力(传输安全的前提)

传输安全离不开设备本身安全,否则密钥被偷走,加密形同虚设:

  1. 安全存储密钥:用 MCU 的 HSM / SE / TF-M 可信固件、OTP 一次性可编程区域,私钥 / PSK 不能存在普通 Flash 可读取区域;不要把密钥存在文件里。

  2. 安全启动 Secure Boot:固件带签名,设备只运行合法签名固件,防止刷入恶意固件偷密钥。

  3. 固件加密 + OTA 安全升级:OTA 包签名校验,传输通道加密,防止劫持升级包。

  4. 最小权限:设备只开放必要端口,关闭多余调试串口、JTAG。

七、网络侧防护

  • 设备接入专用 VLAN、物联网 AP 隔离,不和办公内网混在一起

  • 防火墙:端口白名单,只放行 8883(MQTT TLS)、5684(CoAP DTLS)等必要端口

  • 流量监控:异常高频上报、异常 IP、异常数据包告警

  • 运营商切片(5G LAN、网络切片):工业 IoT 隔离承载

八、密钥生命周期管理(容易被忽略)

  • 出厂预置密钥 / 证书

  • 支持远程密钥轮换、证书续期

  • 设备挂失、报废时吊销证书、拉黑设备

  • 避免一套密钥全品类设备通用(批量泄露灾难)

九、选型对比简表

场景

推荐方案

优点

局限

带系统、算力较强(Linux 网关、摄像头)

TLS1.3 + X.509 证书双向认证

标准、生态成熟、安全性高

握手开销大,资源要求高

低算力 MCU 传感器

DTLS-PSK + AES-GCM / ChaCha20-Poly1305

轻量、适合小芯片

密钥分发和轮换管理麻烦

LoRaWAN

LoRaWAN AES + 网关到云端 TLS

低功耗远距离,MAC 层自带加密

空中加密,网关出口必须再加防护

工业 OPC UA

OPC UA 安全策略(签名 + 加密)

工业标准,支持访问权限

配置复杂

十、常见踩坑提醒

  1. 只开 TLS,但单向认证(设备不校验云端证书),中间人依然可以劫持;重要场景要双向认证。

  2. 用自签名证书,不做证书校验,代码里直接关闭证书验证,等于 TLS 白开。

  3. 时间不同步:证书有效期校验、防重放时间戳依赖 RTC/NTP,设备无时间会直接失效。

  4. 低功耗设备为省电,关闭加密,直接明文 MQTT 上报,是 IoT 最普遍的安全事故来源。


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/iot-device-data-secure-transmission-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/