Mae gweithrediad VPN newydd, WireGuard, wedi'i ychwanegu at gronfa godau FreeBSD.

Mae'r goeden ffynhonnell FreeBSD wedi'i diweddaru gyda gweithrediad newydd o VPN WireGuard, yn seiliedig ar god modiwl cnewyllyn a gynhyrchwyd ar y cyd gan y timau datblygu craidd FreeBSD a WireGuard gyda chyfraniadau gan Jason A. Donenfeld, awdur VPN WireGuard, a John H. Baldwin), datblygwr adnabyddus GDB a FreeBSD, a weithredodd gefnogaeth ar gyfer SMP a NUMA yn y cnewyllyn FreeBSD yn gynnar yn y 2000au. Ar ôl i'r gyrrwr gael ei dderbyn i FreeBSD (sys/dev/wg), bydd ei waith datblygu a chynnal a chadw yn cael ei wneud o hyn ymlaen yn ystorfa FreeBSD.

Cyn i'r cod gael ei dderbyn, cynhaliwyd adolygiad llawn o'r newidiadau gyda chefnogaeth y FreeBSD Foundation, pan ddadansoddwyd rhyngweithio'r gyrrwr â gweddill yr is-systemau cnewyllyn hefyd a'r posibilrwydd o ddefnyddio cyntefigau cryptograffig a ddarperir gan y cnewyllyn. ei asesu.

Er mwyn defnyddio'r algorithmau cryptograffig sy'n ofynnol gan y gyrrwr, estynnwyd API y crypto-is-system cnewyllyn FreeBSD, ac ychwanegwyd harnais ato sy'n caniatáu defnyddio algorithmau nad ydynt yn cael eu cefnogi yn FreeBSD trwy'r crypto-API safonol, gan ddefnyddio gweithrediad y algorithmau angenrheidiol o'r llyfrgell libsodium. O'r algorithmau sydd wedi'u cynnwys yn y gyrrwr, dim ond y cod ar gyfer cyfrifo hashes Blake2 sydd ar ôl, gan fod gweithrediad yr algorithm hwn a ddarperir yn FreeBSD yn gysylltiedig â maint stwnsh sefydlog.

Yn ogystal, yn ystod y broses adolygu, cynhaliwyd optimeiddio cod, a oedd yn ei gwneud hi'n bosibl cynyddu effeithlonrwydd dosbarthu llwyth ar CPUau aml-graidd (sicrhawyd cydbwyso unffurf o aseiniad amgryptio pecynnau a thasgau dadgryptio i greiddiau CPU). O ganlyniad, roedd y gorbenion wrth brosesu pecynnau yn agos at weithrediad gyrrwr Linux. Mae'r cod hefyd yn darparu'r gallu i ddefnyddio'r gyrrwr ossl i gyflymu gweithrediadau amgryptio.

Yn wahanol i'r ymgais flaenorol i integreiddio WireGuard i FreeBSD, mae'r gweithrediad newydd yn defnyddio'r cyfleustodau wg safonol, yn hytrach na fersiwn wedi'i addasu o ifconfig, sy'n ei gwneud hi'n bosibl uno'r ffurfweddiad ar Linux a FreeBSD. Mae'r cyfleustodau wg, yn ogystal â'r gyrrwr, wedi'i gynnwys yn y cod ffynhonnell FreeBSD, a wnaed yn bosibl trwy newid y drwydded ar gyfer y cod wg (mae'r cod bellach ar gael o dan drwyddedau MIT a GPL). Gwnaethpwyd yr ymgais olaf i gynnwys WireGuard yn FreeBSD yn 2020, ond daeth i ben mewn sgandal, ac o ganlyniad dilëwyd y cod a ychwanegwyd eisoes oherwydd gwaith diofal o ansawdd isel gyda byfferau, defnyddio bonion yn lle gwiriadau, gweithrediad anghyflawn. o'r protocol a thorri'r drwydded GPL.

Gadewch inni eich atgoffa bod VPN WireGuard yn cael ei weithredu ar sail dulliau amgryptio modern, yn darparu perfformiad uchel iawn, yn hawdd ei ddefnyddio, yn rhydd o gymhlethdodau ac wedi profi ei hun mewn nifer o leoliadau mawr sy'n prosesu llawer iawn o draffig. Mae'r prosiect wedi bod yn datblygu ers 2015, ac mae wedi cael archwiliad a dilysiad ffurfiol o'r dulliau amgryptio a ddefnyddiwyd. Mae WireGuard yn defnyddio'r cysyniad o lwybro allwedd amgryptio, sy'n golygu atodi allwedd breifat i bob rhyngwyneb rhwydwaith a'i ddefnyddio i rwymo'r allweddi cyhoeddus.

Mae allweddi cyhoeddus yn cael eu cyfnewid i sefydlu cysylltiad mewn ffordd debyg i SSH. I drafod allweddi a chysylltu heb redeg ellyll ar wahân yng ngofod y defnyddiwr, defnyddir mecanwaith Noise_IK y Fframwaith Protocol Sŵn, yn debyg i gynnal awdurdodi allweddi yn SSH. Mae trosglwyddo data yn cael ei wneud trwy amgáu mewn pecynnau CDU. Mae'n cefnogi newid cyfeiriad IP y gweinydd VPN (crwydro) heb ddatgysylltu'r cysylltiad ag ad-drefnu cleient awtomatig.

Mae amgryptio yn defnyddio seiffr ffrwd ChaCha20 ac algorithm dilysu neges Poly1305 (MAC), a ddatblygwyd gan Daniel J. Bernstein, Tanja Lange a Peter Schwabe. Mae ChaCha20 a Poly1305 wedi'u lleoli fel analogau cyflymach a mwy diogel o AES-256-CTR a HMAC, y mae eu gweithredu meddalwedd yn caniatáu cyflawni amser gweithredu sefydlog heb ddefnyddio cefnogaeth caledwedd arbennig. Er mwyn cynhyrchu allwedd gyfrinachol a rennir, defnyddir y protocol cromlin eliptig Diffie-Hellman wrth weithredu Curve25519, a gynigiwyd hefyd gan Daniel Bernstein. Defnyddir algorithm BLAKE2s (RFC7693) ar gyfer stwnsio.

Ffynhonnell: opennet.ru

Ychwanegu sylw