significant release of VPN , which marked the delivery of WireGuard components in the main kernel body and stabilization of development. The code included in the Linux kernel an additional security audit conducted by an independent firm specializing in such checks. The audit found no issues.
Since WireGuard is now being developed in the main Linux kernel, a repository has been prepared for distributions and users who continue to use older versions of the kernel . The repository includes backported WireGuard code and a compat.h layer to ensure compatibility with older kernels. It is noted that as long as there is developer capability and user demand, a separate version of the patches will be maintained operationally. In its current form, the separate WireGuard version can be used with kernels from og , and is also available as patches for Linux kernels og . Distributions using the latest kernels, such as Arch, Gentoo, and
Fedora 32, will gain the ability to use WireGuard with the kernel update 5.6.
The main development process is now carried out in the repository , which includes the entire Linux kernel tree with changes from the WireGuard project. Patches from this repository will be reviewed for inclusion in the main kernel and regularly merged into the net/net-next branches. The development of user-space utilities and scripts, such as wg and wg-quick, is taking place in the repository , which can be used to create packages in distributions.
La oss minne om at VPN WireGuard er implementert ved hjelp av moderne krypteringsteknikker, gir svært høy ytelse, er enkel å bruke, uten kompliserte elementer, og har bevist seg i flere store implementeringer som håndterer store mengder trafikk. Prosjektet har vært i utvikling siden 2015, har gjennomgått revisjon og av de anvendte krypteringsmetodene. Støtte for WireGuard er allerede integrert i NetworkManager og systemd, og patchene for kjernen inngår i de grunnleggende distribusjonene , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, og .
I WireGuard brukes konseptet med rutelegging basert på krypteringsnøkler, som innebærer tilknytning av en privat nøkkel til hvert nettverksgrensesnitt og bruk av åpne nøkler for kommunikasjon. Utveksling av åpne nøkler for å etablere forbindelsen skjer på lignende måte som SSH. For nøkkelutveksling og tilkobling uten å starte en egen daemon i brukerrummet brukes mekanismen Noise_IK fra , som ligner på opprettholdelse av authorized_keys i SSH. Dataoverføring skjer via innkapsling i UDP-pakker. Støtte for endring av IP-adressen til VPN-serveren (roaming) uten å bryte forbindelsen med automatisk omkonfigurering av klienten er tilgjengelig.
For kryptering strømkryptering og algoritme for meldingsautentisering (MAC) , utviklet av Daniel Bernstein (), Tanja Lange
(Tanja Lange) og Peter Schwabe (Peter Schwabe). ChaCha20 og Poly1305 markedsføres som raskere og sikrere alternativer til AES-256-CTR og HMAC, der programvareimplementasjonen tillater fast utførelsestid uten spesialisert maskinvarestøtte. For generering av delt hemmelig nøkkel benyttes Diffie-Hellman-protokollen på elliptiske kurver i implementeringen , også foreslått av Daniel Bernstein. For hashing brukes algoritmen .
With the old WireGuard har vist 3,9 ganger høyere båndbredde og 3,8 ganger bedre respons sammenlignet med OpenVPN (256-bit AES med HMAC-SHA2-256). Sammenlignet med IPsec (256-bit ChaCha20+Poly1305 og AES-256-GCM-128) er det en liten ytelsefordel med WireGuard (13-18%) og lavere latenstid (21-23%). Testresultatene som er publisert på prosjektets nettsted dekker den eldre, isolerte implementeringen av WireGuard og er merket som utilstrekkelig. Siden testene ble gjennomført har koden for WireGuard og IPsec blitt ytterligere optimalisert og fungerer nå raskere. En mer omfattende testing som dekker den innebygde implementeringen i kjernen har ikke blitt utført ennå. Det bemerkes imidlertid at WireGuard i visse situasjoner fortsatt overgår IPsec på grunn av multitråding, mens OpenVPN fortsatt er veldig sakte.
Kilde: opennet.ru
