Future changes in crypto algorithms
phil at sunfi.sh
Fri Jun 22 00:58:25 CEST 2018
Avoided protocol negotiation doesn't just simplify the protocol; it prevents downgrade attacks.
If the protocol supported two ciphersuites simultaneously, and one of them was compromised, then attackers would probably try to force downgrades to the compromised ciphersuite. (You might be able to prevent this through configuration, but that adds further complexity.)
If you actually needed to deploy two incompatible versions of WireGuard, you could have one node load both kernel modules and bridge the two networks. Then, you'd upgrade by having nodes go from one side of the network to the other.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On June 21, 2018 3:53 PM, Vivien Malerba <vmalerba at gmail.com> wrote:
> My understanding is that the crypto algorithms have been carefully chosen to avoid having to include ciphers negotiations; with the assumption that in case a weakness is ever found in one of them, the faulty algorithms will be "replaced" and all people will have to do is update (the white paper says "If holes are found in the underlying primitives, all endpoints will be required to update").
> However, for any organization which will use WireGuard, even if admins are very effective at applying updates, updating all the endpoint systems simultaneously is not realistic. At the same time, it may be the case that the organization can't afford the downtime, in which case using WireGuard will simply not be an option, which is too bad.
> Maybe it's too early to think about this at the time, but otherwise I think including a mechanism which would instruct the system as "for now, use the new algorithms but still allow for the old ones if the new ones fail while I update all the endpoints" would answer the problem.
> Don't know how to implement that correctly though, but I just wanted to bring that point to attention.
> Best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the WireGuard