1. 安全初印象
大家好,我是你们这趟LoRaWAN安全之旅的向导。说实话,做了十几年物联网安全,我见过太多“裸奔”的设备了。今天咱们先不急着聊协议细节,先聊聊最根本的问题——IoT设备为什么需要安全?LoRaWAN又到底在怕什么?
1.1 为什么IoT设备需要安全?
你可能会想:“我的传感器就传个温度数据,谁稀罕?” 嗯,我以前也这么觉得,直到有一次在项目里,看到有人通过一个不安全的智能灯泡,摸进了整个公司的内网。
IoT设备的安全问题,说白了就三点:
- 设备太“弱”了:MCU算力有限,跑不了复杂的加密算法。我见过很多设备连最基本的固件签名都没有。
- 数量太多了:一个网关下面挂几百个节点,任何一个节点被攻破,都可能成为攻击者的跳板。
- 物理可接触:传感器装在户外,攻击者可以直接拿示波器怼上去读数据。我在现场就遇到过,有人把节点拆开,直接读Flash里的密钥。
核心观点: IoT安全不是“要不要”的问题,而是“怎么在资源受限的情况下,把安全做到位”的问题。
1.2 LoRaWAN面临哪些威胁?
LoRaWAN虽然是LPWAN里的明星,但它跑在开放的ISM频段上,说白了就是“公共频道”。谁都能听,谁都能发。这就带来了几个典型的威胁模型。
1.2.1 空中接口威胁(RF层面的攻击)
这是最直接的威胁。攻击者不需要接触你的设备,只需要一个SDR(软件无线电)就能干坏事。
| 威胁类型 | 攻击方式 | 后果 |
|---|---|---|
| 窃听 | 监听上行/下行数据包 | 泄露传感器数据、设备身份 |
| 重放攻击 | 截获合法数据包,稍后重新发送 | 伪造设备状态、触发误报警 |
| 干扰 | 在相同频段发送噪声 | 导致通信中断、设备离线 |
| 伪造 | 冒充合法节点发送数据 | 注入虚假数据、控制执行器 |
避坑指南: 我曾经在一个智慧农业项目里,发现有人用一台几百块的RTL-SDR,就能完整抓取所有温湿度数据包。更可怕的是,这些数据包没有加密,直接明文传输。嗯,后来我们连夜升级了固件。
1.2.2 网络层威胁(网关与服务器之间)
LoRaWAN的架构里,网关只负责转发,不解析数据。但网关和网络服务器之间的回传链路(通常走以太网或4G),如果没保护好,一样会出问题。
- 中间人攻击:攻击者截获网关与服务器之间的通信,篡改数据。
- 网关劫持:攻击者控制网关,伪造下行数据发给节点。
- 拒绝服务:向网络服务器发送大量无效Join Request,耗尽服务器资源。
1.2.3 应用层威胁(端到端的安全)
LoRaWAN只保证“空中接口”的加密,但数据到了应用服务器之后,如果应用层没有二次加密,数据在服务器内部流转时依然有泄露风险。
我的建议: 不要把LoRaWAN的安全当成“万能药”。它解决了无线链路的加密问题,但应用层的数据保护,还得你自己来。我习惯在应用层再加一层AES-128-CMAC校验,双重保险。
1.3 LoRaWAN安全架构总览
说了这么多威胁,LoRaWAN是怎么应对的?它用了两层密钥体系:网络层密钥(NwkSKey) 和 应用层密钥(AppSKey)。一个管网络传输安全,一个管应用数据加密。两者互不干扰。
下面这张图,是我手绘的LoRaWAN安全架构总览,你看一眼就能明白个大概。
1.4 安全不是“加锁”,而是“体系”
很多人以为安全就是加个密。其实不是。真正的安全是一个体系,从设备出厂时的密钥烧录,到空中传输的加密,再到服务器端的校验,环环相扣。
我记得有一次帮客户做安全审计,发现他们的密钥竟然是写死在代码里的,而且所有设备用同一个密钥。你想想看,只要一台设备被破解,整个网络就全完了。这就是典型的“体系”没建好。
一句话总结: LoRaWAN的安全,不是靠某一个环节的“铜墙铁壁”,而是靠每一层的“各司其职”。
1.5 本章小结
这一章我们聊了IoT设备为什么需要安全,也梳理了LoRaWAN面临的主要威胁:从空中的窃听、重放,到网络层的中间人攻击,再到应用层的泄露风险。最后我们看了一眼LoRaWAN的安全架构总览,知道了它用NwkSKey和AppSKey两层密钥来分别保护网络和应用。