Pêkanîna VPN ya nû, WireGuard, li koda FreeBSD hate zêdekirin.

Dara çavkaniyê ya FreeBSD bi pêkanînek nû ya VPN WireGuard ve hatî nûve kirin, li ser bingeha koda modulê ya kernelê ku bi hev re ji hêla tîmên pêşkeftinê yên bingehîn ên FreeBSD û WireGuard ve bi tevkariyên Jason A. Donenfeld, nivîskarê VPN WireGuard, û John H. Baldwin ve hatî hilberandin), pêşdebirek naskirî ya GDB û FreeBSD, ku di destpêka salên 2000-an de piştgirî ji bo SMP û NUMA-yê di kernelê FreeBSD de bicîh kir. Piştî ku ajoker di FreeBSD (sys/dev/wg) de hat pejirandin, pêşkeftin û domandina wê dê ji vir pê ve di depoya FreeBSD de were kirin.

Berî ku kod were pejirandin, bi piştgirîya Weqfa FreeBSD vekolînek bêkêmasî ya guhertinan hate kirin, ku tê de danûstendina ajokerê bi bine pergalên mayî yên kernel re jî hate analîz kirin û îmkana karanîna primitives krîptografîk ên ku ji hêla kernel ve hatî peyda kirin. hat nirxandin.

Ji bo bikaranîna algorîtmayên krîptografîk ên ku ji hêla ajoker ve hewce dike, API-ya krîpto-bin-pergala kernel FreeBSD hate dirêj kirin, ku tê de zencîreyek hate zêdekirin ku destûrê dide karanîna algorîtmayên ku di FreeBSD-ê de nayên piştgirî kirin bi riya krîpto-API-ya standard, bi karanîna pêkanîna algorîtmayên pêwîst ji pirtûkxaneya libsodium. Ji algorîtmayên ku di ajokerê de hatine çêkirin, tenê koda ji bo hesabkirina heşeyên Blake2 maye, ji ber ku pêkanîna vê algorîtmaya ku di FreeBSD de hatî peyda kirin bi mezinahiyek hash a sabît ve girêdayî ye.

Digel vê yekê, di dema pêvajoya vekolînê de, xweşbîniya kodê hate kirin, ku ev gengaz kir ku karbidestiya dabeşkirina barkirinê li ser CPU-yên pir-core zêde bike (hevsengiya yekgirtî ya peywirdarkirina şîfrekirina pakêtê û karên deşîfrekirinê ji navgînên CPU re hate peyda kirin). Wekî encamek, dema ku pakêtan hildiberîne pir zêde nêzî ya pêkanîna ajokera Linux bû. Kod di heman demê de şiyana bikar anîna ajokera ossl peyda dike da ku karûbarên şîfrekirinê bileztir bike.

Berevajî hewildana berê ya entegrekirina WireGuard di FreeBSD de, pêkanîna nû li şûna guhertoyek guhezbar a ifconfig, ku yekkirina veavakirinê li Linux û FreeBSD-ê gengaz dike, kargêriya wg standard bikar tîne. Alîkariya wg, û her weha ajokar, di koda çavkaniyê ya FreeBSD de ye, ku bi guheztina lîsansa koda wg ve hatî çêkirin (kod naha di bin lîsansa MIT û GPL de peyda dibe). Hewldana paşîn a tevlêkirina WireGuard di FreeBSD de di sala 2020-an de hate çêkirin, lê bi skandalek bi dawî bû, di encamê de koda ku jixwe hatî zêdekirin hate rakirin ji ber kalîteya kêm, xebata bêhiş a bi tamponan, karanîna stûyan li şûna kontrolê, pêkanîna ne temam. ya protokol û binpêkirina lîsansa GPL.

Ka em ji we re bi bîr bînin ku VPN WireGuard li ser bingeha rêbazên şîfrekirinê yên nûjen tête bicîh kirin, performansa pir bilind peyda dike, karanîna wê hêsan e, bê tevlihevî ye û xwe di hejmarek veguheztinên mezin de îspat kiriye ku cildên mezin ên seyrûseferê pêvajoyê dikin. Proje ji sala 2015-an vir ve pêşve diçe, û di verastkirin û verastkirina fermî ya rêbazên şîfrekirinê yên ku hatine bikar anîn de derbas bûye. WireGuard têgeha rêvekirina mifteya şîfrekirinê bikar tîne, ku tê de kilîteyek taybet bi her navbeynkariya torê ve girêdide û wê bikar tîne da ku bişkojkên giştî ve girêbide.

Bişkojkên gelemperî têne guheztin da ku pêwendiyek bi rengek mîna SSH-ê saz bikin. Ji bo danûstandina bişkojan û girêdana bêyî xebitandina daemonek cihêreng di cîhê bikarhêner de, mekanîzmaya Noise_IK ya Çarçoveya Protokola Noise tê bikar anîn, mîna ku bişkojkên destûrkirî di SSH-ê de biparêzin. Veguheztina daneyan bi navgîniya di pakêtên UDP de pêk tê. Ew piştgirî dide guheztina navnîşana IP-ya servera VPN (roaming) bêyî qutkirina girêdana bi veavakirina xerîdar a otomatîk.

Şîfrekirin şîfreya stream ChaCha20 û algorîtmaya rastkirina peyama Poly1305 (MAC) bikar tîne, ku ji hêla Daniel J. Bernstein, Tanja Lange û Peter Schwabe ve hatî pêşve xistin. ChaCha20 û Poly1305 wekî analogên zûtir û ewledar ên AES-256-CTR û HMAC têne cih kirin, pêkanîna nermalava ku destûrê dide ku bêyî karanîna piştgirîya hardware ya taybetî bigihîje demek darvekirinê ya sabît. Ji bo afirandina mifteyek veşartî ya hevpar, protokola elîptîk Diffie-Hellman di pêkanîna Curve25519 de, ku ji hêla Daniel Bernstein ve jî hatî pêşniyar kirin, tête bikar anîn. Algorîtmaya BLAKE2s (RFC7693) ji bo haşkirinê tê bikar anîn.

Source: opennet.ru

Add a comment