I'm building a project that is remotely controlled using LoRa and I want to ensure, that nobody can imitate my transmitter and send packets to my receiver. Just encrypting sent data is not enough since someone can receive for example packet that opens the door and sent the same one from his transmitter. How do I make it so only I can send authorized packets? Another problem is that it's really likely that at least one device will lose power sometimes. I need to use something other than asymetric encryption.
Asked
Active
Viewed 64 times
0
-
The question's problem is so vaguely specified that it's hard to make an answer that's better than opinion, hence the close votes. – fgrieu Nov 23 '21 at 06:52
1 Answers
4
You need some kind of authentication of the source.
One solution can be to use pre-shared secret. To exchange the secret you need some reliable channel. Only you know if you have such a channel or not.
Another approach can be to use TESLA. A brief explanation see here.
Also other approaches can be used.

mentallurg
- 2,611
- 1
- 16
- 22
-
Just secret isn’t enough, If someone just records and playback the radio signal, he can imitate my transmiter. Or am I getting something wrong? – krystof18 Nov 10 '21 at 23:59
-
1TESLA and other schemes defend against replay attacks by using time-stamping. This does assume that transmitter and receiver have a consistent time source. If you don't have a consistent time source but can pass information both ways, then a challenge-response exchange will also block replay. – Daniel S Nov 11 '21 at 07:09
-
@krystof18: It depends on the scheme that you implement. For instance, if the sender includes a nonce, then you can recognize replayed message. – mentallurg Nov 12 '21 at 01:11