bips icon indicating copy to clipboard operation
bips copied to clipboard

Have the server sign PROTOCOL_SUPPORT/PROTOCOL_VERSIONs

Open TheBlueMatt opened this issue 7 years ago • 2 comments

This closes #6, ensuring no future MiTM-based downgrade attacks can occur. Note that obviously this doesn't do anything for TOFU clients as any MiTM attacker can also replace the pubkey, but it does protect either connection-reset-based MiTM attackers as the pubkey must not change and also any clients which specify the expected public key.

TheBlueMatt avatar Oct 10 '18 03:10 TheBlueMatt

This does not solve downgrade attacks fully because the messages are replayable. The MiTM can store an old version message and replace a newer one with the old version preventing any protocol upgrade. You could add a timestamp to the messages and have implementations reject old timestamps.

jonasnick avatar Oct 10 '18 03:10 jonasnick

Oh, I see now how putting the client field in the protocol_version message prevents replay attacks. However, that only works in one direction: If the server intends to bump the protocol version while the client min-version/max-version/flags stay the same then an old protocol_version message can be replayed.

jonasnick avatar Oct 11 '18 11:10 jonasnick