如何在 LoRaWAN 中重新创建加入接受下行链路消息?

Posted

技术标签:

【中文标题】如何在 LoRaWAN 中重新创建加入接受下行链路消息?【英文标题】:How to recreate a join accept downlink message in LoRaWAN? 【发布时间】:2021-07-10 00:36:26 【问题描述】:

在过去的几个月里,我正在写我的博士论文,其中涉及以几种方式破坏 LoRaWAN(我正在研究网络安全),我离我的目标还差 1 毫米,但我很愚蠢事物。我正在使用安装了 Microchip RN2483A lora 芯片的 libellium 板,我正在使用它。我已经设法向真实的网关/网络服务器发送任意预制加入请求,现在我终于嗅到了我周围的下行链路数据包(我花了两天时间弄清楚下行链路消息是使用反向极化完成的,我因此而发疯)。我需要的下一步是使用我的电路板重新创建一个下行链路数据包,特别是一个加入接受数据包。

在板上使用我的自定义代码,我可以发送自定义加入请求并嗅探相关的加入接受,但是当我使用相同的传输参数发送数据包时,我的板似乎忽略了它。会是什么?

加入请求(由我发送)参数:频率 868.1,无线电功率 15,扩频因子 12,编码率 4/5,带宽 125Khz,crc 模式开启

加入接受接收配置(工作):相同,但使用频率 869,525 和反向极化

所以我假设我只需要使用与从真实网关接收真实数据相同的配置发送虚假加入接受数据包,但它不起作用。我错过了什么?

注意我可以访问真实且已经接受的加入接受,我可以重置我的董事会,所以我确定这不是董事会的完整性或内存问题

编辑:我发现我的电路板无法使用反极性发送帧,所以这是现在的问题,我正在寻找具有这些功能的不同电路板,所以我会尽快更新答案获取新设备

【问题讨论】:

您检查过您所在地区正在使用的 OTAA 渠道吗?网关可能会忽略错误通道上的加入请求。此外,RN2483 一次只能收听一个频率,具有 7 个通道的集中器板对于您想要做的事情似乎更有用。 @TarickWelling 感谢您的回答,我确定频道没问题,因为我可以看到网络服务器正在回答我(我可以访问它),我可以修复使用的频率设备。我知道只听一个频率的问题,我正在寻找一个像你提到的那样的板。现在我发现板子不能发送具有倒置 IQ 的帧,所以这就是现在的问题。当我得到新板时,我会用新信息更新我的答案 【参考方案1】:

您不能使用之前捕获的加入接受消息作为对新加入请求的响应。终端设备不会接受它。每个加入请求都包含一个不同的 devnonce,这使得每个加入请求(和加入接受)都是唯一的。 破解 LoRaWAN 安全性的唯一方法是从 LoRaWAN 终端设备中读取 AppKey。如果您知道 AppKey 并且可以捕获加入请求,则可以创建有效的加入接受。如果您无法从设备中读取 AppKey(因为它未存储在其闪存中,而是存储在安全元件中),则您无法创建有效的加入接受。

【讨论】:

以上是关于如何在 LoRaWAN 中重新创建加入接受下行链路消息?的主要内容,如果未能解决你的问题,请参考以下文章

通过 ThingPark 社区网络服务器发送 LoRaWAN 下行消息

在 LoRaWAN 中支持 SOUTHBOUND

通过 ThingPark 社区网络服务器接收 LoRaWAN 上行链路消息

LoRaWAN MAC层

单通道 LoRaWAN 系统地接受节点发送的 3 个数据包中的一个

关于lte物理层的上行和下行链路