brannondorsey / chattervox

📡 An AX.25 packet radio chat protocol with support for digital signatures and binary compression. Like IRC over radio waves.
Other
748 stars 36 forks source link

Include a coarse timestamp to prevent replay of old messages #10

Open boramalper opened 5 years ago

boramalper commented 5 years ago

ysleepy on Hacker News said:

Maybe messages should include a coarse timestamp to prevent replay of old messages by some adversary.

Someone could resend a month old "yes" with your valid signature to a question someone asks now.

Also it might be beneficial to include sequence numbers or message IDs and for example echo the last 4 ids in following messages so recipients can detect holes. - The chat could insert some placeholder to notify recipients of missing previous messages.

kmarekspartz commented 5 years ago

Replay could be used to reliably find missing messages. I was wondering about including a “greatest known message signature” field to create a distributed hash table of messages.

This would also make “replay” difficult, because it would reference an old message.

brannondorsey commented 5 years ago

Very excited to see discussion around this topic! I think a solution for preventing replay attacks is a must with the next update of the protocol and I'd love to use this thread as a platform for discussion about this topic in general.

So far, here are my thoughts:

brannondorsey commented 5 years ago

I've opened an RFC to include a timestamp in the chattervox protocol https://github.com/brannondorsey/chattervox/issues/19.