6 ms·
Security Analysis of WireGuard [pdf]
- eximius 8y agoBoring in the sense that nothing exciting was found,but encouraging that 1) nothing was found! 2) null-result publication is useful in and of itself, sometimes.
- CiPHPerCoder 8y agoThere was a finding! A very very minor bug in the keepalive timer's rounding. I mean, it's something.
- munin 8y ago> 2) null-result publication is useful in and of itself, sometimes. I want to believe, but try getting a null result peer reviewed.
- hannob 8y agoUltimately this is a fatal flaw in the peer review system in the way most scientific publications do it. The review should happen independent of the result and ideally the publication decision should happen before the research is performed. (There are some publications that do something alike - it's called "Registered Reports" - but it's still a small minority.)
- blinkingled 8y agoFor anyone that thought this doesn't feel comprehensive the Prior Work sections covers why - "The WireGuard handshake protocol has undergone rigorous formal verification of desired properties using the Tamarin proof system [2]. Many of the cryptographic primitive implementations have also been formally verified as correct. The remaining implementations have been carefully fuzzed against the verified implementations to ensure correctness." So all put together the simplicity goal really paid off for WireGuard.
- browsercoin 8y agoLess code = Less surface area for attack?
- pizzazzaro 8y agoPlease remove your question mark?
- solarkraft 8y agoPlease just say 'correct'.
- MertsA 8y agoNot just that, less code (and simple code) = much easier to prove that the code is correct.
- tptacek 8y agoAlso, Kenny Paterson's analysis: https://eprint.iacr.org/2018/080 https://eprint.iacr.org/2018/080 And, of course, the original peer-reviewed NDSS paper: https://www.ndss-symposium.org/ndss2017/ndss-2017-programme/wireguard-next-generation-kernel-network-tunnel/ https://www.ndss-symposium.org/ndss2017/ndss-2017-programme/... Spoiler: it's pretty solid.
- curiousgal 8y agoI gave up on getting Wireguard to work on an Arch server and an Android client. Algo only supports Ubuntu and *BSD.
- chancecarey 8y agoI use it on Arch with no issues at all.
- computerfriend 8y agoSame. I've also set up WireGuard on Ububtu servers and the experience was pretty much identical. Arch doesn't make this any harder.
- jonathonf 8y agoWorks fine for me on Manjaro using wireguard-dkms and the Wireguard app from the F-Droid store. Copying public keys back and forth via email seemed a bit of a faff so there's probably a better way. Possibly using `qrencode` would let you set up the client configuration...
- curiousgal 8y agoPerhaps I am misunderstanding the premise of Wireguard as all the tutorials seem to be setting up a client and a server that are on the same network, is not possible to have the server as a VPS and have the client connect via the Internet?
- linuskendall 8y agoIt is really no difference between setting up Wireguard on a local network or via Internet as long as one of the hosts can listen to a public UDP port. If one of your clients are behind a NAT you may need to enable the keep alive option in the client's config
- curiousgal 8y ago
- badrabbit 8y agoHow much of a challenge is it to implement a purely userspace client? Last I checked the wireguard app depends on the Linux kernel's Crypto primitive API's a lot. For increased adoption,it needs to support windows and iOS. Not only that, high performance packet routing is sometimes done mostly in user-space (haven't looked much into XDP yet).
- CiPHPerCoder 8y agoThey're in the works. https://git.zx2c4.com/ https://git.zx2c4.com/
- neop1x 8y agoiOS is not compatible with GPL license and that platform is horribly closed and people shouldn't use it for anything more serious than DRM content consumption. I tried to compile it with dev provisioning profile but gave up in the end, it is also not complete yet. It works perfectly and easily on Android and Linux and that's what I care about the most.