WireGuard VPN: The VPN Protocol of The Future?
When it comes to VPN security and performance, there's a new sheriff in town: WireGuard. The open-source protocol promises to surpass the current industry standards (OpenVPN and IPSec) in terms of speed and data encryption. Since it also claims to be easier to configure, many have started referring to it as the new gold standard among VPN protocols.
This opens the door to a variety of different potential applications for the protocol. For example, WireGuard can allow employees to remotely and quickly connect to their company's intranet. Using the protocol, backbone routers can also be configured to establish connections anywhere, without the need for special infrastructure or certificates.
This guide provides a detailed look into how WireGuard operates and highlights what you should pay attention to when installing and configuring it for use. Additionally, we'll sum up the most important advantages and disadvantages of the open-source protocol.
What Is WireGuard?
WireGuard is based on a technology developed by Jason A. Donenfeld for establishing secure VPN networks and offers an alternative to well-known solutions like IPSec, SSTP, or OpenVPN. It can be seen as a mix between a VPN protocol and VPN software, which is not only easy to configure but also capable of establishing fast connections and stable VPN tunnels (even on mobile clients).
WireGuard performs well on Layer 3 (network) of the open systems interconnection (OSI) model, supporting IPv4 and IPv6. Although the software is based on peer-to-peer architecture, it can also simulate client-server architecture. The VPN connection (similarly to the secure shell protocol, or SSH ⇱) is established by exchanging publicly-available keys.
Although originally developed for Linux, WireGuard is available on Windows, Android, Mac, and iOS.
Which Features Does WireGuard Offer?
WireGuard fulfills the system role of a network adapter, adding one or more network interfaces that can be configured analog to wlan0 or eth0 (i.e. with ipconfig or route). The application is consciously limited to providing only the most necessary features in order to keep it as simple as possible. This can be seen in the program's code, which contains a mere 4,000 lines, and is both easy to read and understand.
To compare: IPSec or OpenVPN entail several hundred thousand lines of code.
As a result, WireGuard offers fewer configuration possibilities, but can also be checked more easily, an important feature for security-critical applications.
WireGuard's VPN solution uses three basic cipher functions to encrypt connections:
- Curve25519 with the Elliptic Curve Diffie-Hellman (ECDHE) protocol for handshake encryption (key exchange)
- BLAKE2s for universal hashing (for example, to generate HMAC codes or key derivations with HKDF)
- ChaCha20 and Poly1305 for symmetric encryption and data exchange
The underlying principle is both simple and effective: Each participant receives a public VPN key, through which they can be uniquely identified. Ed25519 is used as the protocol for public key authentication.
WireGuard's high security and encryption standards are rooted in modern crypto algorithms. Using "cryptokey routing", servers and clients each receive static IP addresses which are stored in the server's configuration data. When establishing a connection, this is compared to the public key, and only when they match, does the process continue.
More information about WireGuard, including details about its protocols and encryption mechanisms, can be found in this white paper ⇱.
An Overview of WireGuard's Pros and Cons
The main advantage of WireGuard is its straightforward usability. Apart from that, it also offers a number of other benefits:
High-performing and stable VPN tunneling
Solid security owing to integration of current cryptographic processes
Manageable code with few weaknesses
Well thought-out concept
If you are planning to use WireGuard, you should be aware that it remains "under construction", particularly in terms of functionality. Alongside its numerous advantages, WireGuard also has some significant disadvantages:
Software remains experimental
Does not support dynamic IP address management (client needs to be coupled with a previously-defined VPN address)
No server verification
Not possible to connect or authenticate via proxy
Does not support TCP (at the moment)
VPN Providers That Support WireGuard
Most VPN providers continue to debate whether or not to integrate WireGuard into their clients. However, a number of services do offer the new protocol, including: