LoRaWAN DevEUI、AppEUI 和 AppKey

LoRaWAN DevEUI, AppEUI and AppKey

我正在尝试了解 LoRaWAN 1.2 specification 中的三个神奇 LoRaWAN ID。我的理解是:

现在我无法理解 负责创建这些 ID:

DevEUI 是 IEEE EUI64 地址中的一个 ID space,用于识别设备。它由设备制造商提供。存在将 48 位 MAC 地址转换为 EUI64 的已弃用算法。对于具有 6 个字节的 MAC 地址(例如 01 02 03 04 05 06),将 ff fe 或 ff fe 放在中间(例如 01 02 03 ff fe 04 05 06)。此算法已被弃用,因为它可能导致 collisions 与其他 DevEUI。在无线激活期间,一个 DevAddr 被分配给设备。此 DevAddr 用于 LoRaWAN 协议中。 DevEUI 未加密发送。

JoinEUI(以前称为 AppEUI)是 IEEE EUI64 地址中的全局应用程序 ID space,用于在无线激活期间识别加入服务器。对于非专用网络,它对应于 joineuis.lora-alliance.org 的子域。此服务器名称用于通过 DNS 查找加入服务器的 IP 地址。 LoRaWAN™ Back-End Interfaces v1.0.

中对此进行了描述

AppKey 是每次无线激活期间用于消息的加密密钥。激活后使用 AppSKey。知道 AppKey 的侦听器可以派生出 AppSKey。所以你想对 AppKey 保密。通信渠道的哪一方创建它并不重要。您只是想确保它是随机的。

DevEUI是IEEE EUI64地址space中唯一标识终端设备的全局终端设备ID。

The user can derive their own DevEUI

AppKey 是特定于终端设备的 AES128 根密钥。每当终端设备通过无线激活 (OAT) 加入网络时,AppKey 用于派生会话密钥 NwkSKeyAppSKey 特定于该端加密和验证网络通信和应用程序数据的设备。

The AppKey should be unique for each device.The user can derive their own AppKey

AppEUI是IEEE EUI64地址space中的全局应用程序ID,唯一标识能够处理JoinReq帧的实体。 AppEUI 在执行激活程序之前存储在终端设备中

The AppEUI can be different for each device or it can also be same for all device. It also depends on what kind of application server you are using.
For example in loraserver.io you can have unique AppKey,AppEUI and DevEUI but in TheThingsNetwork you can register many devices for one application or AppEUI. But note that AppKey and DevEUI should always be unique for each end node.