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