LoRa联盟从一开始在LoRaWAN协议中就对安全性进行了设计。然而安全包含众多方面,尤其是LoRaWAN的加密机制需要特殊的解释。所以此白皮书对当前LoRaWAN协议的安全性进行说明。首先会针对协议中的安全属性进行阐述,然后呈现具体的实现细节,最后对一些LoRaWAN安全性上的设计进行解释。LoRaWAN是一种低功耗广域网络协议,可以为IoT、M2M、智慧城市和工业应用等场景提供低功耗、可移动、安全的双向通信。LoRaWAN协议为低功耗进行了优化,并且为可支持数以百万计设备的大型网络结构进行了特别设计。LoRaWAN的特点是可以支持冗余操作、定位、低成本和低功耗等应用场景。
双向认证作为网络连接的过程,发生在LoRaWAN终端节点与网络之间。这确保只有真正的和已授权的设备才能与真实的网络相连接。
LoRaWAN的MAC和应用消息是“生来”经过认证、完整性保护和加密的。这种保护和双向认证一同确保了网络流量没有改变,是来自一个合法的设备,而不是“窃听者”,或者“流氓”设备。
安全性设计原则要符合LoRaWAN的标准初衷,即低功耗、低复杂度、低成本和大扩展性。由于设备在现场部署并持续的时间很长(往往是数年时间),所以安全考虑一定要全面并且有前瞻性。LoRaWAN安全设计遵循先进的原则:标准的采取,算法的审查,以及端到端的安全机制。接下来我们会对LoRaWAN安全性的基本特性进行描述:包括双向认证、完整性校验和保密机制。
安全性进一步为终端设备和服务器之间的数据交换提供了端对端的加密机制。LoRaWAN是为数不多的支持端对端加密的IoT网络技术。传统的蜂窝网络中,加密发生在空中接口处,但在运营商的核心网络中只是把它当做纯文本来传输的。因此,终端用户还要选择、部署和管理一个额外的安全层(通常通过某种类型的VPN或应用层加密如TLS来实现)。但这种方法并不适合应用在LPWAN技术中,因为这会额外地增加网络功耗、复杂性和成本。
AppKey和衍生而来的会话秘钥会持续的保存在LoRaWAN设备中,它们的安全性依赖于设备的物理安全。一旦设备受到物理损害,这些秘钥存在防篡改存储器中从而受到保护,并且很难提取。一些资料指出LoRaWAN密码只使用了XOR而并非AES。事实上,如之前所提到的,AES用在了标准化CTR模式,这利用了XOR加密操作(还有CBC等许多其他模式)。这通过给每个分组密码分配一个惟一的AES码强化了AES算法。
解释:
AES – 一种高级加密标准。这是一个基于对称密钥的加密算法,允许消息加密和身份认证。
CMAC - 基于暗码的消息认证码。
CTR - 计数器模式加密标准。一种依赖于计数器的数据流加密AES算法的操作模式。
AES-CMAC - 基于暗码的消息认证码,使用AES加密算法提供消息的完整性和真实性。
CBC是AES算法的一种操作模式,依靠一个初始化向量和前序的数据块进行数据流的加密。
S-LRT100 LoRa终端是厦门欣仰邦自主研发的一款LPWAN(低功耗广域网络)的产品。是一种基于LoRa调制扩频技术的无线数据传输终端,利用LoRa网络为用户提供无线数据传输功能。
S-NR200是厦门欣仰邦自主研发的一款利用LoRa无线传输技术进行远距离数据传输的有线以太网LoRa网关。并可实现LoRa转串口,LoRa转网口,为各行业物联网应用提供有力的无线通信组网保障。