Is some sort of data verification needed with LoRaWAN?

Hi, I am new to LoRa, and I had one question I cannot find answer to.

When sending my data through LoRaWAN, eg I would be sending “Temperature: 28.45”, is there a way where the data arriving to the Things Network server would be broken / inomplete? Or does LoRaWAN have certain verification of packets that makes sure data arriving at the other end is proper?

I presume that if there is a damage in the data, packet gets dropped, as the server cannot read it?

I am asking, because I want to know if I will need to somehow verify the data that arrives from the end node, or I can know for a fact that the data will be the same as the node send me.

Thank you very much!

(Portenta H7 end node, Dragino LPS8 gateway and I am in EU region)


The LoRa transmitter (node in this case) carries out a cyclic redundancy check (CRC) on the transmitted data and append this CRC value to the end of the packet.

The LoRa receiver (Gateway in this case) can then check that the received data has the same CRC as that appended to the end of the packet, if they dont match, the packet is dropped.

1 Like

Thank you very much for the answer!

Any data delivered to an application successfully passed a message integrity check that is part of the LoRaWAN protocol stack. So the data received at TTN will be the same the node transmits. There is no such verification once the data has been checked and decrypted so in theory a ‘man in the middle’ attack could change the data between TTN and your processing.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.