floodnet-nyc/flood-sensor

DevNonce has been reused - LoRaWAN® L2 1.0.4 Specification

Opened this issue · 0 comments

DevNonce Overview

According to LoRaWAN® L2 1.0.4 Specification pg 45, for each transmission of a join-request by the end-device, the DevNonce value shall be incremented and stored in non-volatile memory.

"DevNonce is a counter starting at 0 when the end-device is initially powered up and
incremented with every Join-Request. A DevNonce value SHALL never be reused for a given
JoinEUI value. If the end-device can be power-cycled, then DevNonce SHALL be
persistent (e.g., stored in a non-volatile memory). Resetting DevNonce without changing
JoinEUI will cause the Join Server to discard the Join-Requests of the end-device. For each
end-device, the Join Server keeps track of the last DevNonce value used by the end-device
and ignores Join-Requests if DevNonce is not incremented."

Fix/Improvements todo:

  • Increment by 1 for every join-request on the end-deive
  • Store DevNonce in non-volatile memory