LoRaWAN DevEUI,AppEUI和AppKey

Mat*_*ieu 7 lora lorawan id

我试图了解LoRaWAN 1.2规范中的三个神奇的LoRaWAN ID 。我的理解是:

  • DevEUI 就像一个MAC地址
  • AppKey 就像一个公钥(大概...)
  • AppEUI 就像一个端口号

现在,我在理解由谁负责创建这些ID时遇到了问题:

  • DevEUI 可以从LoRa芯片内部ID寄存器生成(我正在使用村田制作所的ABZ类型芯片)
  • AppKey:每个端节点是否应该唯一?我应该选择一个随机的还是从LoRaWAN提供商那里问一个(例如Objenious)?
  • AppEUI:每个终端节点应该公用(我想应该是)?我应该随机选择一个,还是向LoRaWAN提供商询问?

Xyp*_*ron 10

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

JoinEUI(以前称为 AppEUI)是 IEEE EUI64 地址空间中的全局应用程序 ID,用于在无线激活期间标识加入服务器。对于非私有网络,它对应于 joineuis.lora-alliance.org 的子域。此服务器名称用于通过 DNS 查找加入服务器的 IP 地址。这在LoRaWAN™ 后端接口 v1.0 中有描述

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


Rej*_*ran 5

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

用户可以导出自己的DevEUI

所述的AppKey是一个AES128根密钥特定于终端设备。每当终端设备通过空中激活(OAT)加入网络时,AppKey就会用于导出会话密钥,NwkSKey并且AppSKey特定于该终端设备以加密和验证网络通信和应用程序数据。

每个设备的AppKey应该是唯一的。用户可以派生自己的AppKey

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

每个设备的AppEUI可以不同,或者所有设备的AppEUI可以相同。它还取决于您使用哪种类型的应用程序服务器。
例如,在loraserver.io中,您可以拥有唯一的AppKey,AppEUI和DevEUI,但在TheThingsNetwork中,您可以为一个应用程序或AppEUI注册许多设备。但是请注意,AppKey和DevEUI对于每个终端节点应该始终是唯一的。

TheThingNetwork中的设备概述的屏幕截图