安全性是任何大规模物联网部署的主要关注点,对任何LPWAN都非常重要。
LoRaWAN™使用两层安全性:一层用于网络,另一层用于应用。网络安全性确保网络中节点的真实性,而安全性的应用层确保网络运营商无法访问最终用户的应用程序数据。
因此,LoRaWAN规范定义了两层加密:
终端设备和网络服务器之间共享的唯一128位网络会话密钥
一个唯一的128位应用程序会话密钥(AppSKey)在应用程序级别共享端到端
LoRaWAN上的数据被加密两次; 传感器数据由节点加密,然后由LoRaWAN协议再次加密; 只有这样它才被发送到LoRa网关。网关通过普通IP网络将数据发送到网络服务器。
网络服务器具有网络会话密钥(NwkSkey),并解密LoRaWAN数据。然后,它使用应用程序会话密钥(AppSKey)将数据传递到应用程序服务器,该服务器解密传感器数据。
这很重要,因为LoRa网关在开放频率上运行,因此可以从附近的任何传感器接收数据。因此,重要的是LoRa网关不具有解密传感器数据的能力。
重要的是要注意,LoRaWAN通信协议添加了加密。LoRa传输本身是简单的无线电波传输,不能加密。
LoRaWAN™设备有两种加入网络的方式。首先是OTAA,空中激活。设备和网络交换128位AppKey。当设备发送加入请求时,AppKey用于创建消息完整性代码(MIC),然后服务器使用AppKey检查MIC。如果检查有效,则服务器创建两个新的128位密钥,即App Session密钥(AppSkey)和网络会话密钥(NwkSkey)。使用AppKey作为加密密钥将这些密钥发送回设备。当接收到密钥时,设备解密并安装两个会话密钥。