Ný útfærsla á VPN WireGuard bætt við FreeBSD kóðagrunn

FreeBSD upprunatrénu hefur verið breytt með nýrri VPN WireGuard útfærslu sem byggir á kóða úr kjarnaeiningu sem er unnin í sameiningu af kjarna FreeBSD og WireGuard þróunarteymi með inntak frá Jason A. Donenfeld, höfundi VPN WireGuard, og John H. Baldwin ), vel þekktur þróunaraðili GDB og FreeBSD, sem innleiddi SMP og NUMA stuðning í FreeBSD kjarnanum í byrjun 2000. Þegar ökumaður hefur verið samþykktur í FreeBSD (sys/dev/wg), verður hann þróaður og viðhaldið í FreeBSD geymslunni héðan í frá.

Áður en kóðinn var samþykktur var gerð heildarendurskoðun á breytingunum með stuðningi FreeBSD Foundation, þar sem samspil ökumanns við afganginn af kjarna undirkerfunum var einnig greind og möguleikinn á að nota dulmáls frumefnin sem kjarna var metinn.

Til að nota dulmálsreikniritin sem ökumaðurinn krefst, var FreeBSD kjarna dulmáls undirkerfis API framlengdur, sem bindingu var bætt við sem gerir kleift að nota reiknirit sem ekki eru studd í FreeBSD í gegnum staðlaða dulmáls API, með því að nota útfærslu á nauðsynlegum reikniritum úr libsodium bókasafninu . Af reikniritunum sem eru innbyggðir í rekilinn er aðeins kóðinn til að reikna út Blake2 kjötkássa eftir, þar sem útfærsla þessa reiknirits sem veitt er í FreeBSD er bundin við fasta kjötkássastærð.

Að auki, meðan á endurskoðunarferlinu stóð, fór fram hagræðing kóða sem gerði kleift að auka skilvirkni álagsdreifingar á fjölkjarna örgjörva (tryggð var jöfn jafnvægi á bindingu dulkóðunar- og pakkaafkóðunarverkefna við CPU-kjarna). Fyrir vikið var kostnaður við vinnslu pakka færður nær innleiðingu ökumanns fyrir Linux. Kóðinn veitir einnig möguleika á að nota ossl driverinn til að flýta fyrir dulkóðunaraðgerðum.

Ólíkt fyrri tilraun til að samþætta WireGuard í FreeBSD, notar nýja útfærslan lager wg tólið, frekar en breytta útgáfu af ifconfig, sem gerði kleift að sameina uppsetningu milli Linux og FreeBSD. Wg tólið, sem og ökumaðurinn, eru innifalin í FreeBSD heimildunum, sem er möguleg með leyfisbreytingu á wg kóðanum (kóðinn er nú fáanlegur undir MIT og GPL leyfi). Síðasta tilraunin til að setja WireGuard með í FreeBSD var gerð árið 2020, en endaði með hneyksli, sem leiddi til þess að kóða sem þegar var bætt við var fjarlægður vegna lítillar gæða, kærulausrar meðhöndlunar biðminni, notkunar stubba í stað ávísana, ófullkominnar innleiðingar á samskiptareglum og brot á GPL leyfinu.

Mundu að VPN WireGuard er útfært á grundvelli nútíma dulkóðunaraðferða, veitir mjög mikla afköst, er auðvelt í notkun, laust við flækjur og hefur sannað sig í fjölda stórra dreifinga sem vinna mikið magn af umferð. Verkefnið hefur verið í þróun síðan 2015, staðist úttektina og formlega sannprófun á dulkóðunaraðferðunum sem notaðar eru. WireGuard notar hugtakið dulkóðunarlyklaleið, sem felur í sér að binda einkalykil við hvert netviðmót og nota opinbera lykla til að binda.

Skipti á almennum lyklum til að koma á tengingu er svipað og SSH. Til að semja um lykla og tengjast án þess að keyra sérstakan notendarýmispúkinn er Noise_IK vélbúnaður Noise Protocol Framework notaður, svipað og að viðhalda leyfilegum_lyklum í SSH. Gagnaflutningur fer fram með hjúpun í UDP pakka. Það styður breytingu á IP tölu VPN netþjónsins (reiki) án þess að rjúfa tenginguna með sjálfvirkri endurstillingu viðskiptavinarins.

Dulkóðun notar ChaCha20 strauma dulmálið og Poly1305 skilaboða auðkenningar (MAC) reiknirit þróað af Daniel J. Bernstein, Tanja Lange og Peter Schwabe. ChaCha20 og Poly1305 eru staðsettir sem hraðari og öruggari hliðstæður AES-256-CTR og HMAC, en hugbúnaðarútfærslan gerir kleift að ná föstum framkvæmdartíma án þess að hafa sérstakan vélbúnaðarstuðning. Til að búa til sameiginlegan leynilykil er sporöskjulaga feril Diffie-Hellman samskiptareglan í Curve25519 útfærslunni, einnig lögð til af Daniel Bernstein, notuð. Fyrir hashing er BLAKE2s reikniritið (RFC7693) notað.

Heimild: opennet.ru

Bæta við athugasemd