Tvrtka Google u glavni izvorni kod Androida kod s ugrađenom podrškom za VPN . WireGuard kod je prenesen u modifikaciju , razvijene za buduće izdanje platforme Android 12, iz glavne Linux jezgre , u kojem je izvorno bio WireGuard. Podrška za WireGuard na razini jezgre .
Do sada su programeri WireGuard za Android mobilnu aplikaciju koja je već od strane Googlea iz Google Play trgovine zbog poveznice na stranicu za donacije na web mjestu projekta, koja je kršila pravila o plaćanjima (donacije su označene kao nedopuštene ako ih prikuplja neprofitna organizacija koja nije posebno registrirana).
Podsjetimo, VPN WireGuard implementiran je na temelju suvremenih metoda šifriranja, jamči vrlo visoke performanse, jednostavan je za korištenje, oslobođen komplikacija i dobro se pokazao u brojnim velikim implementacijama koje obrađuju velike količine prometa. Projekt se razvija od 2015. godine, prošao je audite i primijenjenih metoda šifriranja. U WireGuardu se koristi koncept usmjeravanja temeljenog na šifriranim ključevima, koji podrazumijeva vezivanje privatnog ključa za svaki mrežni sučelje i primjenu otvorenih ključeva za povezivanje.
Razmjena otvorenih ključeva za uspostavljanje veze odvija se analogno s SSH-om. Za dogovor o ključevima i povezivanje bez pokretanja posebnog demona u korisničkom prostoru koristi se Noise_IK mehanizam iz , sličan održavanju authorized_keys u SSH. Prijenos podataka odvija se putem enkapsulacije u UDP pakete. Podržava se promjena IP adrese VPN poslužitelja (roaming) bez prekida veze s automatskom ponovnom konfiguracijom klijenta.
Za šifriranje stream cipher i algoritam za autentifikaciju poruka (MAC) , razvijeni od strane Daniela Bernsteina (), Tanje Lange
(Tanja Lange) i Petera Schwabea (Peter Schwabe). ChaCha20 i Poly1305 se predstavljaju kao brži i sigurniji analozi AES-256-CTR i HMAC, čija softverska implementacija omogućuje postizanje fiksnog vremena izvršavanja bez korištenja posebne hardverske podrške. Za generiranje zajedničkog tajnog ključa koristi se protokol Diffie-Hellman na eliptičnim krivuljama u implementaciji , također predložen od strane Daniela Bernstein-a. Za hashiranje se koriste algoritmi .
Izvor: opennet.ru
