VPN WireGuard 1.0.0 is available

Submitted by landmark VPN release Wire Guard 1.0.0, which marked the delivery of WireGuard components in the main kernel Linux 5.6 and development stabilization. Code included in the Linux kernel went through an additional security audit performed by an independent firm specializing in such audits. The audit did not reveal any problems.

Since WireGuard is now being developed as part of the main Linux kernel, a repository has been prepared for distributions and users who continue to use older versions of the kernel. wireguard-linux-compat.git. The repository includes backported WireGuard code and a compat.h layer to ensure compatibility with older kernels. It is noted that while there is an opportunity for developers and the need for users, a separate version of the patches will be supported in working form. In its current form, a standalone version of WireGuard can be used with kernels from Ubuntu 20.04 ΠΈ Debian 10 "Buster", and also available as patches for Linux kernels 5.4 ΠΈ 5.5. Distributions using the latest kernels such as Arch, Gentoo and
Fedora 32 will get the ability to use WireGuard with the 5.6 kernel update.

The main development process is now conducted in the repository wireguard-linux.git, which includes the complete Linux kernel tree with changes from the Wireguard project. Patches from this repository will be reviewed for inclusion in the main kernel and regularly pushed to the net/net-next branches. Development of user-space-runnable utilities and scripts, such as wg and wg-quick, is done in the repository wireguard-tools.git, which can be used to create packages in distributions.

Recall that VPN WireGuard is implemented on the basis of modern encryption methods, provides very high performance, is easy to use, devoid of complications and has proven itself in a number of large deployments that process large amounts of traffic. The project has been developing since 2015, passed the audit and formal verification the encryption methods used. WireGuard support is already integrated into NetworkManager and systemd, and kernel patches are included in the base distributions debian-unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, subgraph ΠΈ OTHER.

WireGuard uses the concept of encryption key routing, which involves binding a private key to each network interface and using public keys to bind. The exchange of public keys to establish a connection is similar to SSH. To negotiate keys and connect without running a separate user-space daemon, the Noise_IK mechanism from Noise Protocol Framework, similar to maintaining authorized_keys in SSH. Data transmission is carried out through encapsulation in UDP packets. It supports changing the IP address of the VPN server (roaming) without breaking the connection with automatic client reconfiguration.

For encryption used stream cipher ChaCha20 and Message Authentication Algorithm (MAC) Poly1305, designed by Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) and Peter Schwabe (Peter Schwabe). ChaCha20 and Poly1305 are positioned as faster and more secure analogues of AES-256-CTR and HMAC, the software implementation of which allows achieving a fixed execution time without involving special hardware support. To generate a shared secret key, the Diffie-Hellman protocol on elliptic curves is used in the implementation Curve25519, also proposed by Daniel Bernstein. Algorithm used for hashing BLAKE2s (RFC7693).

Under the old testing WireGuard demonstrated 3.9 times higher throughput and 3.8 times higher responsiveness than OpenVPN (256-bit AES with HMAC-SHA2-256). Compared to IPsec (256-bit ChaCha20+Poly1305 and AES-256-GCM-128), WireGuard has a slight performance advantage (13-18%) and latency reduction (21-23%). The test results posted on the project website cover the old stand-alone implementation of WireGuard and are marked as not of sufficient quality. Since the tests, the WireGuard and IPsec code has been further optimized and is now faster. More comprehensive testing, covering the implementation integrated into the kernel, has not yet been carried out. However, it is noted that WireGuard still outperforms IPsec in some situations due to multithreading, while OpenVPN remains very slow.

VPN WireGuard 1.0.0 is available

Source: opennet.ru

Add a comment