1. 物联网安全概述:安全威胁、CIA 三要素与协议挑战
各位好,我是老周。在物联网这行摸爬滚打十几年,今天咱们聊聊安全这个话题。说实话,我刚入行那会儿,大家更关心的是“能不能连上”、“数据能不能传回来”,安全?那是锦上添花的事。直到我亲眼见过一个智能水表项目被篡改数据,导致整片小区水费结算出问题……嗯,从那以后,我再也不敢把安全当“附加题”了。
这一章,咱们先把地基打牢。搞懂物联网安全到底在防什么,MQTT 和 LoRaWAN 这两个协议各自的安全软肋在哪。你想想看,如果连敌人是谁、战场在哪都不清楚,后面的防御工事怎么建?
1.1 物联网安全威胁:谁在盯着你的设备?
物联网的威胁面,比传统 IT 要宽得多。传统 IT 你防住服务器和网络就行,物联网呢?传感器、网关、云平台、移动 App,每个环节都可能被撕开口子。
我个人习惯把威胁分成三类,这样好记:
- 物理攻击:设备被人直接上手。比如拆开外壳读 Flash、用 JTAG 调试接口注入恶意固件。我在一个工业项目里遇到过,有人把现场温湿度传感器的固件给换了,上报的数据全是假的,后台愣是没发现。
- 网络攻击:这是大头。中间人攻击、重放攻击、拒绝服务攻击。MQTT 的 Broker 如果暴露在公网,分分钟被 DDoS 打瘫。LoRaWAN 的无线链路,理论上也能被干扰或嗅探。
- 应用攻击:云平台接口没鉴权、App 本地存储明文密钥、固件升级包没签名。这些漏洞往往是最容易被忽略的,但后果也最严重。
1.2 安全三要素(CIA):衡量安全的三个标尺
搞安全的都知道 CIA 三要素。说白了,就是三个问题:
- 机密性(Confidentiality):数据只有授权的人能看。比如传感器采集的温度数据,不能被中间人偷听。
- 完整性(Integrity):数据在传输和存储过程中没被篡改。比如你收到的控制指令“打开阀门”,不能被人改成“关闭阀门”。
- 可用性(Availability):系统该工作的时候能正常工作。比如 DDoS 攻击打瘫了 MQTT Broker,导致所有设备离线,这就是可用性被破坏了。
你可能会问:“这三个目标,哪个最重要?” 我的答案是:看场景。智能门锁,可用性排第一,打不开门比泄露密码更致命。医疗数据,机密性排第一,病人隐私泄露是大事。工业控制,完整性排第一,指令被篡改可能引发安全事故。
1.3 MQTT 的安全挑战:轻量背后的代价
MQTT 设计之初就追求轻量、低带宽、低功耗。但轻量往往意味着安全功能的“瘦身”。我这些年接触的 MQTT 项目,安全翻车最多的就这几个点:
| 安全挑战 | 具体表现 | 我见过的坑 |
|---|---|---|
| 认证薄弱 | 很多项目只用用户名+密码,甚至硬编码在设备里 | 有个客户直接把密码写在固件里,反编译就能看到 |
| 传输未加密 | 默认走 TCP 明文,不启用 TLS | 我在咖啡厅用 Wireshark 抓过某智能灯的数据包,控制指令一览无余 |
| 授权粗放 | 所有设备共用同一个 Topic 权限,没有细粒度控制 | 一个传感器能订阅所有设备的 Topic,数据泄露风险极大 |
| 设备身份 | 缺乏可靠的设备身份标识,容易被仿冒 | 攻击者伪造了一个设备 ID 接入 Broker,开始下发恶意指令 |
为什么会这样?因为 MQTT 协议本身只定义了报文格式,安全机制全靠上层实现。很多团队图省事,直接裸奔上 TLS,甚至 TLS 都不开。你想想看,一个智能门锁的控制指令在公网上明文传输,这跟把钥匙挂在门外有什么区别?
1.4 LoRaWAN 的安全挑战:无线链路的天然短板
LoRaWAN 走的是无线射频,而且是 Sub-GHz 频段。无线通信有个天然短板:信号在空中,谁都能收。虽然 LoRa 的扩频技术让普通设备很难解调,但专业设备配合软件无线电(SDR),照样能抓包。
LoRaWAN 协议本身内置了安全机制,比如 AES-128 加密、网络会话密钥和应用会话密钥分离。但实际部署中,问题也不少:
- 密钥管理混乱:每个设备的 AppKey 和 NwkKey 怎么安全地烧录进去?很多小厂直接在产线上用串口明文下发,或者所有设备用同一个密钥。
- 重放攻击风险:虽然 LoRaWAN 有帧计数器防重放,但如果设备重启后计数器重置,或者计数器溢出,攻击者就能重放旧数据包。
- 固件更新困难:LoRa 带宽极低(几百 bps 到几十 kbps),OTA 固件更新几乎不可能。很多设备出厂后固件就再也没升级过,漏洞一直留在那。
- 网关信任问题:LoRaWAN 网关是透明转发,它能看到加密后的数据包,但无法验证数据包是否来自合法设备。如果网关被攻破,整个网络的数据流都会被控制。
1.5 知识体系总览:一张图看懂本章
下面这张图,把咱们这章的核心逻辑串起来了。从威胁到目标,再到两个协议的具体挑战,你一看就明白。
1.6 小结:安全不是功能,是习惯
这一章咱们把物联网安全的“家底”翻了一遍。威胁来自四面八方,CIA 三要素是衡量安全的标尺,MQTT 和 LoRaWAN 各有各的短板。你可能会觉得问题太多,无从下手。别急,后面每一章我都会带着你,从认证、加密、授权、密钥管理这些具体环节,一步步把安全防线建起来。
记住一句话:安全不是加一个功能就完事了,它应该贯穿整个产品生命周期——从设计、开发、测试到运维。我见过太多项目,上线前才想起来补安全,结果补丁打得千疮百孔。咱们这门课,就是要让你从一开始就把安全考虑进去。