Jason A. Donenfeld, autorul VPN WireGuard, mare în componenta principală a driverului de nucleu OpenBSD "wg" pentru protocolul WireGuard, interfața de rețea specifică și uneltele care funcționează în spațiul utilizatorului. OpenBSD a devenit a doua sistem de operare după cu suport complet și integrat pentru WireGuard. Incluziunea WireGuard este așteptată în versiunea OpenBSD 6.8.
Pachetele includ driver pentru nucleul OpenBSD, modificări pentru utilitarele ifconfig și tcpdump cu suport pentru funcționalitatea WireGuard, documentație și mici modificări pentru integrarea WireGuard cu restul sistemului. Driverul folosește o implementare proprie a algoritmilor , și , precum și implementarea existentă în nucleul OpenBSD a SipHash.
Implementarea este compatibilă cu toate clienții oficiali WireGuard pentru Linux, Windows, macOS, *BSD, iOS și Android. Testele de performanță pe laptopul dezvoltatorului (Lenovo x230) au arătat o lățime de bandă de 750mbit/s. Spre comparație, isakmpd cu configurații de bază ike psk oferă o lățime de bandă de 380mbit/s.
În dezvoltarea driverului pentru nucleul OpenBSD s-au ales anumite soluții arhitecturale asemănătoare cu driverul pentru Linux, dar driverul a fost dezvoltat în primul rând pentru OpenBSD, având în vedere specificul acestui sistem și ținând cont de experiența obținută în crearea driverului pentru Linux. Cu acordul autorului original al WireGuard, codul noului driver este distribuit în întregime sub licența liberă ISC.
Driverul se integrează strâns cu stiva de rețea OpenBSD și utilizează subsistemele existente, ceea ce a permis ca codul să fie foarte compact (aproximativ 3000 de linii de cod). De asemenea, se remarcă o separare diferită, față de Linux, a componentelor driverului: interfețele specifice OpenBSD sunt plasate în fișierele "if_wg.*", codul pentru protecția împotriva DoS în "wg_cookie.*", iar logica de negociere a conexiunilor și criptarea în "wg_noise.*".
Sursa: opennet.ro
