نسخه برجسته VPN که نشاندهندهی تأمین قطعات بود WireGuard در ترکیب اصلی هسته و تثبیت توسعه. موجود در هسته Linux رمز ممیزی امنیتی اضافی که توسط یک شرکت مستقل متخصص در چنین ممیزی ها انجام می شود. ممیزی هیچ مشکلی را نشان نداد.
مانند WireGuard اکنون در هسته اصلی در حال توسعه است Linuxبرای توزیعها و کاربرانی که همچنان از نسخههای قدیمیتر هسته استفاده میکنند، یک مخزن آماده شده است. مخزن شامل کد پشتیبانگیری شده است. WireGuard و یک لایه compat.h برای اطمینان از سازگاری با هستههای قدیمیتر. لازم به ذکر است که تا زمانی که توسعهدهندگان ظرفیت داشته باشند و کاربران به آن نیاز داشته باشند، نسخه پچ مستقل حفظ خواهد شد. در شکل فعلی، نسخه مستقل WireGuard میتواند با هستههای از и و همچنین به عنوان پچهای هسته در دسترس است Linux и . توزیع با استفاده از جدیدترین هسته ها مانند Arch، Gentoo و
فدورا ۳۲ قادر به استفاده خواهد بود WireGuard به همراه بهروزرسانی کرنل ۵.۶.
فرآیند توسعه اصلی اکنون در مخزن انجام می شود شامل درخت کامل هسته Linux با تغییراتی از پروژه Wireguardوصلههای این مخزن برای گنجاندن در هسته اصلی بررسی شده و مرتباً در شاخههای net/net-next ادغام میشوند. توسعه ابزارها و اسکریپتهای فضای کاربر، مانند wg و wg-quick، در این مخزن انجام میشود. ، که می تواند برای ایجاد بسته ها در توزیع ها استفاده شود.
بگذارید یادآوری کنیم که VPN WireGuard با استفاده از روشهای رمزگذاری مدرن پیادهسازی شده است، عملکرد بسیار بالایی را ارائه میدهد، استفاده از آن آسان است، بدون پیچیدگی است و خود را در تعدادی از پیادهسازیهای بزرگ که حجم زیادی از ترافیک را مدیریت میکنند، ثابت کرده است. این پروژه از سال ۲۰۱۵ در حال توسعه بوده و مورد ممیزی و بررسی قرار گرفته است. روشهای رمزگذاری استفاده شده. پشتیبانی WireGuard این سیستم عامل از قبل با NetworkManager و systemd یکپارچه شده است و پچهای هسته در توزیعهای پایه گنجانده شدهاند. , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, и .
В WireGuard مفهوم مسیریابی کلید رمزگذاری استفاده میشود که شامل اتصال یک کلید خصوصی به هر رابط شبکه و استفاده از آن برای اتصال کلید عمومی است. کلیدهای عمومی برای ایجاد اتصال به روشی مشابه SSH رد و بدل میشوند. برای مذاکره در مورد کلیدها و ایجاد اتصال بدون اجرای یک سرویس جداگانه در فضای کاربر، مکانیزم Noise_IK از شبیه به نگهداری authorized_keys در SSH. انتقال داده ها از طریق کپسوله سازی در بسته های UDP انجام می شود. از تغییر آدرس IP سرور VPN (رومینگ) بدون قطع اتصال با پیکربندی مجدد مشتری خودکار پشتیبانی می کند.
برای رمزگذاری رمز جریان و الگوریتم احراز هویت پیام (MAC) طراحی شده توسط دانیل برنشتاین () تانیا لانگ
(تانجا لانگ) و پیتر شوابه. ChaCha20 و Poly1305 بهعنوان آنالوگهای سریعتر و ایمنتر AES-256-CTR و HMAC قرار میگیرند که اجرای نرمافزاری آنها امکان دستیابی به زمان اجرای ثابت را بدون استفاده از پشتیبانی سختافزاری خاص فراهم میکند. برای تولید یک کلید مخفی مشترک، از پروتکل Diffie-Hellman منحنی بیضوی در پیاده سازی استفاده می شود. ، همچنین توسط دانیل برنشتاین پیشنهاد شده است. الگوریتم مورد استفاده برای هش کردن است .
زیر قدیمی بهره وری WireGuard در مقایسه با ...، 3.9 برابر توان عملیاتی بالاتر و 3.8 برابر پاسخگویی بالاتر را نشان داد. OpenVPN (AES 256 بیتی با HMAC-SHA2-256). در مقایسه با IPsec (ChaCha20+Poly1305 256 بیتی و AES-256-GCM-128) در WireGuard یک مزیت عملکرد جزئی (۱۳-۱۸٪) و کاهش تأخیر (۲۱-۲۳٪) مشاهده شده است. نتایج آزمایش منتشر شده در وبسایت پروژه، پیادهسازی مستقل قدیمی را پوشش میدهد. WireGuard و به عنوان کیفیت ناکافی علامت گذاری شد. از آنجا که آزمایشها انجام شد، کد WireGuard و IPsec بیشتر بهینه شده و اکنون سریعتر است. آزمایش جامعتری که پیادهسازی یکپارچه هسته را پوشش دهد هنوز انجام نشده است. با این حال، اشاره شده است که WireGuard در برخی شرایط، به دلیل چندرشتهای بودن، هنوز از IPsec بهتر عمل میکند، در حالی که OpenVPN بسیار کند باقی میماند.
منبع: opennet.ru
