Illum Linus mexxa l-fergħa nett-li jmiss b'interfaces VPN għalih innifsu . Dwar dan l-avveniment fuq il-lista tal-posta WireGuard.

В данный момент продолжается сбор кода для нового ядра Linux 5.6. WireGuard — быстрый VPN нового поколения, в котором реализована современная криптография. Он изначально разрабатывался как более простая и удобная альтернатива существующим VPN. Автор — канадский специалист по информационной безопасности Джейсон Доненфилд (Jason A. Donenfeld). В августе 2018 года WireGuard от Линуса Торвальдса. Примерно в то время началась работа по включению VPN в ядро Linux. Процесс немного затянулся.
«Вижу, что Джейсон сделал пул-реквест для включения WireGuard в ядро, — писал Линус 2 августа 2018 года. — Могу я просто ещё раз заявить о своей любви к этому VPN и надеяться на скорое слияние? Может, код и не идеален, но я просмотрел его, и по сравнению с ужасами OpenVPN и IPSec, это настоящее произведение искусства».
Minkejja x-xewqat ta’ Linus, l-għaqda damet tkaxkar għal sena u nofs. Il-problema ewlenija rriżulta li kienet marbuta ma 'implimentazzjonijiet proprjetarji ta' funzjonijiet kriptografiċi, li ntużaw biex itejbu l-prestazzjoni. Wara negozjati twal f'Settembru 2019 kien перевести патчи на имеющиеся в ядре функции Crypto API, к которым у разработчиков WireGuard есть претензии в области производительности и общей безопасности. Но решили нативные криптофункции WireGuard выделить в отдельный низкоуровневые Zinc API и со временем портировать их в ядро. В ноябре разработчики ядра сдержали обещание и ittrasferixxi parti mill-kodiċi minn Żingu għall-qalba prinċipali. Per eżempju, fil-Crypto API ippreparat fi WireGuard Implimentazzjonijiet veloċi tal-algoritmi ChaCha20 u Poly1305.
В конце концов, 9 декабря 2019 года Дэвид Миллер (David S. Miller), отвечающий за сетевую подсистему ядра Linux, għall-fergħa nett-li jmiss bl-implimentazzjoni tal-interface VPN mill-proġett WireGuard.
U llum, 29 ta 'Jannar 2020, il-bidliet marru lil Linus għall-inklużjoni fil-qalba.

Benefiċċji mitluba WireGuard fuq soluzzjonijiet VPN oħra:
- Faċli biex tużah.
- Juża kriptografija moderna: Qafas ta 'protokoll tal-istorbju, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, eċċ.
- Kodiċi kompatt, li jinqara, aktar faċli biex tinvestiga għal vulnerabbiltajiet.
- Prestazzjoni għolja.
- Ċar u elaborat .
Il-loġika bażika kollha WireGuard занимает менее 4000 строк кода, тогда как OpenVPN и IPSec это сотни тысяч строк.
"V WireGuard Jintuża l-kunċett tar-rottaġġ taċ-ċwievet tal-kriptaġġ, li jinvolvi l-irbit ta' ċavetta privata ma' kull interface tan-netwerk u l-użu tagħha għall-irbit taċ-ċwievet pubbliċi. Iċ-ċwievet pubbliċi jiġu skambjati biex tiġi stabbilita konnessjoni b'mod simili għall-SSH. Biex jiġu nnegozjati ċ-ċwievet u tiġi stabbilita konnessjoni mingħajr ma jitħaddem daemon separat fl-ispazju tal-utent, il-mekkaniżmu Noise_IK minn simili għaż-żamma authorized_keys f'SSH. It-trażmissjoni tad-dejta titwettaq permezz ta' inkapsulament f'pakketti UDP. Jappoġġja t-tibdil tal-indirizz IP tas-server VPN (roaming) mingħajr ma skonnettja l-konnessjoni b'konfigurazzjoni mill-ġdid awtomatika tal-klijent, - Opennet.
Għall-encryption ċifra tan-nixxiegħa u algoritmu ta' awtentikazzjoni tal-messaġġi (MAC) , iddisinjat minn Daniel Bernstein (), Tanja Lange u Peter Schwabe. ChaCha20 u Poly1305 huma pożizzjonati bħala analogi aktar mgħaġġla u siguri ta 'AES-256-CTR u HMAC, li l-implimentazzjoni tas-softwer tagħhom tippermetti l-kisba ta' ħin ta 'eżekuzzjoni fiss mingħajr l-użu ta' appoġġ speċjali ta 'hardware. Biex tiġġenera ċavetta sigrieta kondiviża, il-protokoll Diffie-Hellman tal-kurva ellittika jintuża fl-implimentazzjoni , propost ukoll minn Daniel Bernstein. L-algoritmu użat għall-hashing huwa ".
Sejbiet mill-websajt uffiċjali:
Faxxa tal-frekwenza (megabit/s)

Ping (ms)

Konfigurazzjoni tat-test:
- Intel Core i7-3820QM u Intel Core i7-5200U
- Kards Gigabit Intel 82579LM u Intel I218LM
- Linux 4.6.1
- Konfigurazzjoni WireGuard: 256-битный ChaCha20 с Poly1305 для MAC
- L-ewwel konfigurazzjoni IPsec: 256-bit ChaCha20 ma Poly1305 għal MAC
- It-tieni konfigurazzjoni IPsec: AES-256-GCM-128 (b'AES-NI)
- Konfigurazzjoni OpenVPN: эквивалентный шифронабор 256-битного AES с HMAC-SHA2-256, режим UDP
- Il-prestazzjoni kienet imkejla bl-użu
iperf3, turi r-riżultat medju fuq 30 minuta.
Теоретически, после интеграции в сетевой стек WireGuard должен работать ещё быстрее. Но в реальности это не обязательно будет так из-за перехода на встроенные в ядро криптографические функции Crypto API. Возможно, не все из них ещё оптимизированы до уровня быстродействия нативного WireGuard.
«С моей точки зрения, WireGuard вообще идеален для пользователя. Все низкоуровневые решения приняты в спецификации, поэтому процесс подготовки типичной VPN инфраструктуры занимает всего несколько минут. Напутать в конфигурации практически невозможно, — fuq Habré fl-2018. — Proċess ta' installazzjoni fuq il-websajt uffiċjali, nixtieq ninnota separatament l-eċċellenti . Din il-faċilità ta 'użu u l-kumpattezza tal-bażi tal-kodiċi nkisbu billi ġiet eliminata d-distribuzzjoni taċ-ċwievet. M'hemm l-ebda sistema ta 'ċertifikati kumplessi u dan l-orrur korporattiv kollu ċwievet ta' encryption huma mqassma bħal ċwievet SSH.
Proġett WireGuard развивается с 2015 года, он прошёл аудит и . Appoġġ WireGuard интегрирована в NetworkManager и systemd, а патчи для ядра входят в базовый состав дистрибутивов Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и ALT.
Sors: www.habr.com
