Өнөөдөр Линус VPN интерфейстэй сүлжээний дараагийн салбарыг өөртөө шилжүүлэв
Шинэ Linux 5.6 цөмд зориулсан код цуглуулах ажил одоогоор үргэлжилж байна. WireGuard бол орчин үеийн криптографийг хэрэгжүүлдэг шинэ үеийн хурдан VPN юм. Энэ нь анх одоо байгаа VPN-ээс илүү хялбар бөгөөд илүү тохиромжтой хувилбар болгон боловсруулсан. Зохиогч нь Канадын мэдээллийн аюулгүй байдлын мэргэжилтэн Жейсон А.Доненфельд юм. 2018 оны XNUMX-р сард WireGuard
Линус 2 оны 2018-р сарын XNUMX-нд "Жэйсон WireGuard-г цөмд оруулах хүсэлт гаргасан гэдгийг би харж байна." — Би энэ VPN-д хайртай гэдгээ дахин зарлаж, удахгүй нэгдэнэ гэж найдаж болох уу? Код нь төгс биш байж магадгүй, гэхдээ би үүнийг харлаа, OpenVPN болон IPSec-ийн аймшигт байдалтай харьцуулахад энэ бол жинхэнэ урлагийн бүтээл юм."
Линусын хүсэл байсан ч нэгдэх ажиллагаа жил хагасын турш үргэлжилсэн. Гол асуудал нь гүйцэтгэлийг сайжруулахад ашигладаг криптограф функцүүдийн өмчлөлийн хэрэгжилттэй холбоотой байв. 2019 оны есдүгээр сард удаан хэлэлцээ хийсний дараа ийм болсон
Эцэст нь, 9 оны 2019-р сарын XNUMX-нд Линуксийн цөмийн сүлжээний дэд системийг хариуцсан Дэвид С.Миллер
Өнөөдөр, 29 оны 2020-р сарын XNUMX-нд өөрчлөлтүүд нь цөмд оруулахын тулд Линус руу шилжсэн.
Бусад VPN шийдлүүдээс WireGuard-ийн давуу тал:
- Хэрэглэхэд хялбар.
- Орчин үеийн криптографийг ашигладаг: Дуу чимээний протоколын хүрээ, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF гэх мэт.
- Авсаархан, уншигдахуйц код, эмзэг байдлыг судлахад хялбар.
- Маш сайн гүйцэтгэл.
- Тодорхой бөгөөд дэлгэрэнгүй
тодорхойлолт .
WireGuard-ын бүх үндсэн логик нь 4000-аас бага мөр кодыг эзэлдэг бол OpenVPN болон IPSec нь хэдэн зуун мянган мөр шаарддаг.
"WireGuard нь сүлжээний интерфэйс бүрд хувийн түлхүүр хавсаргаж, нийтийн түлхүүрүүдийг хооронд нь холбохыг хамарсан шифрлэлтийн түлхүүрийн чиглүүлэлтийн ойлголтыг ашигладаг. SSH-тэй төстэй байдлаар холболт үүсгэхийн тулд нийтийн түлхүүрүүдийг солилцдог. Түлхүүрүүдийг тохиролцож, хэрэглэгчийн орон зайд тусдаа демон ажиллуулахгүйгээр холбогдохын тулд Noise_IK механизмаас
Дуу чимээний протоколын хүрээ SSH дээр зөвшөөрөгдсөн_түлхүүрүүдийг хадгалахтай адил. Өгөгдөл дамжуулалтыг UDP пакетуудад капсулжуулах замаар гүйцэтгэдэг. Үйлчлүүлэгчийг автоматаар дахин тохируулах замаар холболтыг салгахгүйгээр VPN серверийн IP хаягийг (роуминг) өөрчлөхийг дэмждэг, -Тэр бичдэг Нээлттэй сүлжээ.Шифрлэлтийн хувьд
ашиглаж байна урсгалын шифрChaCha20 ба мессежийн баталгаажуулалтын алгоритм (MAC)Poly1305 Даниел Бернштейн зохион бүтээсэн (Даниел Ж. Бернштейн ), Таня Ланге, Питер Швабе нар. ChaCha20 ба Poly1305 нь AES-256-CTR ба HMAC-ийн илүү хурдан бөгөөд аюулгүй аналогууд болж байрладаг бөгөөд програм хангамжийн хэрэгжилт нь тусгай техник хангамж ашиглахгүйгээр тогтмол гүйцэтгэлийн цагийг хангах боломжийг олгодог. Хуваалцсан нууц түлхүүрийг үүсгэхийн тулд зууван муруй Диффи-Хеллман протоколыг хэрэгжүүлэхэд ашигладаг.Муруй25519 , мөн Даниел Бернштейн санал болгосон. Хэшинд ашигладаг алгоритм ньBLAKE2 (RFC7693) ".
Результаты
зурвасын өргөн (мегабит/с)
Пинг (мс)
Туршилтын тохиргоо:
- Intel Core i7-3820QM болон Intel Core i7-5200U
- Гигабит картууд Intel 82579LM болон Intel I218LM
- Линуксийн 4.6.1
- WireGuard тохиргоо: MAC-д зориулсан Poly256-тай 20 бит ChaCha1305
- Эхний IPsec тохиргоо: MAC-д зориулсан Poly256-тай 20 битийн ChaCha1305
- Хоёр дахь IPsec тохиргоо: AES-256-GCM-128 (AES-NI-тай)
- OpenVPN тохиргоо: HMAC-SHA256-2, UDP горимтой AES 256 битийн эквивалент шифрийн багц
- Гүйцэтгэлийг ашиглан хэмжсэн
iperf3
, 30 минутын дундаж үр дүнг харуулна.
Онолын хувьд WireGuard нь сүлжээний стект нэгдсэний дараа илүү хурдан ажиллах ёстой. Гэвч бодит байдал дээр энэ нь цөмд суулгасан Crypto API криптограф функц руу шилжсэнтэй холбоотой байх албагүй. Магадгүй тэдгээр нь бүгд эх WireGuard-ын гүйцэтгэлийн түвшинд хараахан оновчтой болоогүй байна.
"Миний бодлоор WireGuard нь ерөнхийдөө хэрэглэгчдэд тохиромжтой. Доод түвшний бүх шийдвэрийг техникийн тодорхойлолтод гаргадаг тул ердийн VPN дэд бүтцийг бэлтгэх үйл явц хэдхэн минут болно. Тохиргоог эвдэх нь бараг боломжгүй юм -
бичсэн 2018 онд Habré дээр. - Суулгах үйл явцдэлгэрэнгүй тайлбарласан албан ёсны вэбсайт дээр би маш сайн гэдгийг тусад нь тэмдэглэхийг хүсч байнаOpenWRT дэмжлэг . Түлхүүрүүдийн хуваарилалтыг арилгаснаар кодын суурийн энэхүү ашиглахад хялбар, нягтралд хүрсэн. Ямар ч нарийн төвөгтэй гэрчилгээний систем байхгүй бөгөөд энэ бүх корпорацийн аймшигт байдал; богино шифрлэлтийн түлхүүрүүд нь SSH түлхүүрүүдтэй адил тархсан."
WireGuard төсөл нь 2015 оноос хойш хөгжиж байгаа бөгөөд аудитад хамрагдсан ба
Эх сурвалж: www.habr.com