Në bërthamën e sistemit operativ DragonFly BSD janë bërë rreth 100 ndryshime në lidhje me implementimin e mbështetjes për VPN WireGuard. Drejtuesi «wg» me mbështetje për protokollin WireGuard është transferuar nga FreeBSD, ndërsa kodi i funksioneve kriptografike, ndërfaqes rrjet dhe API-së ioctl (për menaxhim nga hapësira e përdoruesit) është huazuar nga OpenBSD. Ndryshimet në utilitarin ifconfig, të nevojshme për konfigurimin e VPN, janë transferuar nga OpenBSD. Implementimi është i përputhshëm me të gjithë klientët zyrtarë të WireGuard për Linux, Windows, macOS, *BSD, iOS dhe Android. DragonFly BSD është bërë sistemi i pestë i hapur pas Linux, OpenBSD, NetBSD dhe FreeBSD me mbështetje të integruar për WireGuard.
Në WireGuard aplikohet koncepti i rrugëzimit sipas çelësave të kodimit, i cili nënkupton lidhjen e çdo ndërfaqeje rrjeti me një çelës privat dhe aplikimin e tij për lidhjen e çelësave publikë. Për pajtimin e çelësave dhe lidhjen pa ndihmën e një demon i veçantë në hapësirën e përdoruesit, është angazhuar mekanizmi Noise_IK nga Noise Protocol Framework, i ngjashëm me mbajtjen e authorized_keys në SSH. Shkëmbimi i të dhënave realizohet përmes kapsullimit në paketa UDP. Ndryshimi i adresës IP mbështetet. VPN-server (roaming) pa ndërprerje lidhjeje me riprogramim automatik të klientit.
Për enkriptimin përdoret algoritmi i rrjedhës ChaCha20 dhe algoritmi i autentikimit të mesazheve (MAC) Poly1305, të zhvilluara nga Daniel Bernstein, Tanja Lange dhe Peter Schwabe. ChaCha20 dhe Poly1305 pozicionohen si alternativa më të shpejta dhe më të sigurta për AES-256-CTR dhe HMAC, realizimi softuerik i të cilave mundëson arritjen e një kohe të fiksuar ekzekutimi pa kërkuar mbështetje të veçantë harduerike. Për gjenerimin e çelësit të fshehtë të përbashkët përdoret protokolli i Diffie-Hellman mbi kurba eliptike në zbatimin e Curve25519, gjithashtu e propozuar nga Daniel Bernstein. Për hashing përdoren algoritmi BLAKE2s (RFC7693).
Burimi: opennet.ru
