Network Security

WireGuard یا وایرگارد چیست؟

wireguard

WireGuard یا وایرگارد یک نرم افزار و پروتکل ارتباطی اوپن سورس است که از راهکار های VPN برای ایجاد اتصالات نقطه به نقطه استفاده می کند، در ادامه این مقاله شما را با وایرگارد بیشتر آشنا خواهیم کرد. WireGuard در سال 2018 منتشر شد، بنابراین جدیدترین موردی است که به لیست پروتکل های VPN اضافه شده است اما وایرگارد چیست، چگونه کار می کند و آیا دلیلی وجود دارد که بخواهید از آن استفاده کنید؟

WireGuard چیست؟

WireGuard یک پروتکل VPN منبع باز نسل جدید و جدید است که هدف آن ارائه یک تجربه آنلاین سریعتر، ساده تر و ایمن تر است. توسط جیسون دوننفلد، شخصی که Edge Security را تأسیس کرد، توسعه داده شد. پروتکل وایرگارد علی رغم اینکه “جوان” است، به سرعت توسط کاربران آنلاین پذیرفته شده است و حتی موفق به جلب توجه توسعه دهنده اصلی لینوکس “لینوس توروالدز” شد که آن را “یک اثر هنری” خواند.

Jason A. Donenfeld
Jason A. Donenfeld

قبلاً تا چند ماه پیش از 2018 در مرحله توسعه بود. اما مورد بازرسی های متعددی قرار گرفت (و آنها را پشت سر گذاشت) و سرانجام در درخت هسته لینوکس نسخه 5.6 قرار گرفت (به این معنی که کاربران لینوکس با اجرای به روزرسانی 5.6 قادر به استفاده از WireGuard بودند).

در حالی که وایرگارد با در نظر گرفتن لینوکس توسعه یافته است، این بدان معنا نیست که نمی توانید از آن در سیستم عامل های دیگر استفاده کنید. تا زمانی که VPN شما توسط این پروتکل به درستی پیکربندی شده باشد، می توانید از آن در سیستم عامل های مختلف (مانند Windows و Android) استفاده کنید.

پروتکل WireGuard چگونه کار می کند؟

پروتکل WireGuard چگونه کار می کند؟
پروتکل WireGuard چگونه کار می کند؟

مانند هر پروتکل VPN، Wireguard وظیفه ایجاد اتصال ایمن (همچنین “VPN tunnel” نامیده می شود) بین برنامه VPN و سرور VPN است. برخلاف اکثر پروتکل ها، کاملاً شبیه SSH (Secure Shell) کار می کند. اساساً کلیدهای عمومی را مبادله می کند. هنگامی که آنها رد و بدل شدند و تونل برنامه سرور ایجاد شد، دیگر نیازی به مدیریت اتصال نیست. همچنین، هنگامی که وایرگارد تونل VPN را ایجاد کرد، سرور باید حداقل یک بسته داده رمزگذاری شده را از کاربر دریافت کند، قبل از اینکه بتواند واقعاً استفاده کند جلسه این تأیید صحت کلید را تضمین می کند.

جزئیات فنی عمومی درباره WireGuard VPN

WireGuard از رمزهای مدرن زیر استفاده می کند:

  • ChaCha20 برای رمزگذاری متقارن (با Poly1305 برای احراز هویت و استفاده از ساختار AEAD RFC7539.
  • منحنی 25519 برای ECDH (منحنی بیضوی Diffie-Hellman – یک پروتکل اصلی توافق)
  • BLAKE2s برای هش و کلید زدن
  • SipHash24 برای کلیدهای قابل هشدار
  • HKDF برای استخراج کلید

علاوه بر کلید رمزگذاری متقارن، وایرگارد همچنین از یک کلید اختیاری از پیش اشتراکی پشتیبانی می کند که می تواند در رمزنگاری کلید عمومی مخلوط و منطبق شود.

هنگام استفاده از WireGuard، سرور VPN به کاربرانی که مجاز به کاهش خطر حملات DoS نیست پاسخ نمی دهد. اولین پیام دست دادن که به سرور ارسال می شود همچنین دارای نشان زمان TAI64N برای جلوگیری از حملات مجدد است.

WireGuard فقط روی UDP کار می کند و به طور رسمی از TCP پشتیبانی نمی کند (البته راهکارهایی برای ایجاد برنامه های GitHub و سرویس های شخص ثالث وجود دارد). این می تواند آزادانه از هر پورت از محدوده پورت بالا استفاده کند. درگاه پیش فرض UDP 51820 است.

WireGuard از ناچ استفاده مجدد نمی کند (عددی که می تواند در ارتباطات رمزنگاری استفاده شود). در عوض، به یک شمارنده 64 بیتی متکی است که نمی تواند به عقب برگردد. به این ترتیب، حملات پخش خطر کمتری دارند و بسته های UDP از رده خارج نمی شوند (اتفاقی که می تواند در مورد UDP بیفتد).

WireGuard از ساختاری سبک تر از بیشتر پروتکل های VPN برخوردار است – خوب، حداقل موارد منبع باز (OpenVPN، SoftEther، IKEv2) که کل کد در آن قابل مشاهده است. در مجموع، تعداد کل خطوط کدی که در وایرگارد استفاده می شود حدود 4000 است.

آیا استفاده از WireGuard بی خطر است؟

بله – پس از ممیزی های متعدد، سرانجام مشخص شد: وایرگارد امنیت بسیار خوبی ارائه می دهد.

برای مبتدیان، این به مهارت رمزگذاری پایان می دهد (به عنوان مثال امکان انتخاب بین گزینه های رمزگذاری مختلف) زیرا این می تواند باعث استقرار معیوب شود. در عوض، از الگوریتم های رمزنگاری مدرن، بررسی شده و کاملاً آزمایش شده استفاده می کند. به این ترتیب، هیچ راهی برای کسی وجود ندارد که تصادفی رمزنگاری را اشتباه تنظیم کند و داده های کاربر را در معرض خطر قرار دهد.

اگر هر یک از آن الگوریتم ها آسیب پذیر باشند، با انتشار یک نسخه پروتکل جدید، این مشکل به راحتی حل می شود.

همچنین، پایگاه کد کمتر WireGuard انجام ممیزی های امنیتی پروتکل را بسیار راحت تر و زمان بر می کند. به عنوان مثال، خواندن کل پایگاه کد فقط چند ساعت به یک نفر نیاز دارد (به شرطی که آنها بدانند چه کاری انجام می دهند).

بنابراین یافتن و رفع آسیب پذیری ها از این طریق سریعتر است. علاوه بر این، یک سطح حمله بسیار کوچکتر وجود دارد که می تواند توسط مجرمان اینترنتی مورد سو استفاده قرار بگیرد.

آیا پروتکل WireGuard VPN سریع است؟

آیا پروتکل WireGuard VPN سریع است؟
آیا پروتکل WireGuard VPN سریع است؟

آره. معیارهای اصلی تخمین زده اند که پروتکل بسیار سریعتر از OpenVPN و IPSec است. از آن زمان، سایت های متعدد بررسی VPN و بلوک های فنی سرعت وایرگارد را در مقایسه با پروتکل های دیگر آزمایش کردند.

به عنوان مثال، سایتی 114 سرور VPN را آزمایش کرد و دریافت که در 58.8٪ از تست های بارگیری در رتبه اول قرار دارد. همچنین، میانگین افت سرعت فقط 19.1٪ بود. بنابراین اگر سرعت اصلی شما در حدود 100 مگابیت در ثانیه باشد، با استفاده از WireGuard تقریباً 80 مگابیت بر ثانیه سرعت VPN خواهید داشت.

پروتکل وایرگارد به لطف پایگاه کد کوچک می تواند سرعت بالایی را ارائه دهد. همچنین، می تواند اتصالات و دست دادن را سریعتر برقرار کند و در عین حال قابلیت اطمینان بهتری نیز داشته باشد. علاوه بر این، از هسته های پردازنده بسیار کارآمد استفاده می کند.

کاربران تلفن همراه همچنین از مزایای استفاده از WireGuard برخوردار هستند که کم مصرف تر است (بنابراین باتری زیادی مصرف نمی کند) و پشتیبانی رومینگ بهتری را ارائه می دهد.

کاربران لینوکس از آنجا که پروتکل در داخل هسته لینوکس (مولفه اصلی سیستم عامل) زندگی می کند، به احتمال زیاد بهترین سرعت را با اتصالات WireGuard VPN بدست می آورند، به این معنی که می تواند شبکه ایمن با سرعت بالا را ارائه دهد.

با این حال، پیاده سازی وایرگارد در سیستم عامل های دیگر در فضای کاربر اجرا می شود (بنابراین پروتکل به حافظه محدود سیستم دسترسی دارد). حتی در این صورت، پروتکل هنوز سرعت بهتری نسبت به برخی از رقبا (مانند OpenVPN) ارائه می دهد.

آیا راه اندازی WireGuard VPN سخت است؟

اگر از لینوکس استفاده می کنید، بسیار ساده است. از آنجا که بخشی از سیستم عامل است، فقط باید چند دستور را تایپ کنید، و خوب است.

اگرچه ممکن است در سایر سیستم عامل ها چندان ساده نباشد، اما سخت نیست. WireGuard در حال حاضر مشتریان قابل بارگیری را برای Windows، macOS، iOS و Android ارائه می دهد. و عادت کردن به آنها زمان زیادی از شما نمی گیرد.

Shares:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *