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

How to recreate a join accept downlink message in LoRaWAN?

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

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

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

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

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

N.B。我可以访问真实的和已经接受的加入-接受,我可以重置我的板,所以我确定这不是板的完整性或内存的问题

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

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