This topic provides some background information regarding the device addresses and identifiers that are used in the LoRa network. The identifiers are split up into two sections, namely the identifiers used in the OTAA Join process and the identifiers used during a data session.
OTAA device provisioning
- DevEUI. Each device joining the KPN LoRaWAN network needs to have a unique identifier. This identifier is called the DevEUI and it must be a unique IEEE MAC address. A device manufacturer must acquire an address block with IEEE or when the customer requires a small "sub block" this can be requested from KPN.
There are 3 available ranges from IEEE, namely MAC-L, MAC-M and MAC-S.
For of the shelf LoRa devices the manufacturer should already have a range of addresses and then each device should be delivered with its pre-defined DevEUI
- AppEUI. The 64-bit AppEUI which is used as an identifier for an application instance is also a unique identifier.
- AppKey. The 128-bit AppKey must be personalized in each device during production. It may be distinct per device or unique per application depending on the use-case. Providing the AppKey is the responsibility of the customer, such that the AppKey can be provisioned to the Application Server associated with the end-device.
- DevAddr. Devices that are pre-provisioned or once active on the network have a unique DevAddr to make sure the routing can take place while on the KPN network (or on the roaming network). The DevAddr is dynamically assigned by KPN during the OTAA Join procedure. The DevAddr (and the NwkSKey) must be globally unique.
- NwkSKey. The authenticity and integrity of LoRa messages is verified using the 128-bit NwkSKey. It is important that a different NwkSKey is used for each device (allocate it randomly). KPN provides the NwkSKey during the OTAA Join process.
- AppSKey. Apart from the NwkSKey, a 128-bit AppSKey is used to encrypt the payload of LoRa messages. A unique AppSKey can be used for all LoRaWAN ports used by your device or a specific AppSKey can be used for each port. The AppSKey is provided by KPN during the OTAA Join of the end-device.