LoRaWAN终端入网

作者: 小鱼儿他老汉 | 来源:发表于2018-10-10 09:37 被阅读48次

    LoRaWAN与NBIoT不同之一是入网方式。首先它适用于私有网络和公有网络(如果法规允许)。其次,不同规模网络的终端数量和入网方式可能是不一样的。LoRaWAN支持ABP和OTAA方式。

    ABP,Activation By Personalization

    所谓Personalization就是生产环节预配置录入的方式。在设备个性化时,把三个参数直接分别烧录到设备NVMEM和云端数据库中。流程简单,容易理解。但是相对安全性较低,适合私有网络。这三个参数是:

    • DevAddr: 设备地址 (32bit)
    • NwkSKey: 网络会话秘钥 (128bit)
    • AppSKey: 应用会话秘钥 (128bit)

    一般来说,由MCU的UID串号通过算法得到64bit DevEUI,继而由云端生成DevAddr/NwkSKey/AppSKey,并且录入到对应设备中。这样可以实现每台设备与三个参数一一对应。

    ABP在生产环节多了一个工位,但是注册流程简单。

    OTAA,Over the Air Activation

    空口激活,即空白设备通过LoRaWAN的空中通道实现设备激活入网。

    空白设备入网需要三个原始参数:

    • AppEUI: 在某些代码中被写成ArtEUI
    • DevEUI:
    • DevKey:

    推导算法

    20170111171036761.jpeg

    上图来自Rime博客

    首先,生产环节依然要烧录AppEUI/DevEUI,其中AppEUI是要烧录的,而DevEUI来自UID。

    其次,上传Join Request报文中,包括AppEUI/DevEUI和DevNonce,所谓DevNonce就是随机数,可以来自网络RSSI或者时间戳。

    第三,在服务器中生成AppNonce/NetID/DevAddr,其中AppNonce是随机产生的,而NetID则与网络有关,DevAddr是从一个地址池中获取。

    第四,产生主密钥AppKey,与DevAddr一起通过Join Accept报文下发给终端。

    最后,设备将DevAddr,并且通过主密钥推导出NwkSKey/AppSKey两个秘钥,保存在NVMEM中。

    之后的通讯,设备都是通过DevAddr/NwkSKey/AppSKey进行通讯的。

    这里面没有基站网关出现,是因为在网络中,网关不涉及到LoRaWAN的MAC层,所有报文交换发生在MAC层中。在实际网络中,由于设备漫游等需求,此类密集的入网请求,需要在多个Join Server间进行处理。

    其他

    入网还需要避免集中入网导致的网络堵塞,以及感知信道等。

    但是上图中,AppKey是加密后传输给终端的,但是AES128的Key/IV是如何产生的没有说明,难道是从AppEUI/DevEUI中产生的?位数倒是正好128bit。

    隐忧

    由于LoRaWAN起源于私有网络,未来发生公有和私有网络彼此覆盖的问题。加上LoRaWAN覆盖范围较大,同频干扰、同类架构彼此覆盖的情况可能会出现。好在不同频段还是可以通过频段和调制度避免这些问题。但是基于微基站的漫游交换,复杂度不低。

    所以,暂时还就是停留在私有网络比较合乎现实。

    相关文章

      网友评论

        本文标题:LoRaWAN终端入网

        本文链接:https://www.haomeiwen.com/subject/mlguaftx.html