我对 LoRaWAN 安全机制有点困惑。
NwkSKey 被网络服务器和终端设备用来计算和验证所有数据消息的 MIC(消息完整性代码),以确保数据完整性。
AppSKey 是特定于终端设备的应用程序会话密钥。应用程序服务器和终端设备都使用它来加密和解密应用程序特定数据消息的有效负载字段
所以从技术上讲,网络服务器不知道 AppSKey。我不明白的是,在 OTAA 过程中,网络服务器以使用 AppKey 加密的加入接受响应。所以如果网络服务器已经有了 AppKey,它可以使用这个公式生成 AppSKey:
AppSKey = aes128_encrypt(AppKey, 0x02 | AppNonce | NetID | DevNonce | pad16)
在这种情况下,如果网络服务器愿意,它可以解密发往应用程序的消息。
我的分析是正确的还是我遗漏了什么?
谢谢和最好的reagrds!