تم إصدار برنامج WireGuard VPN لنظام التشغيل Windows وبرنامج WireGuardNT 1.0

أصدر جيسون أ. دونينفيلد، مؤلف برنامج WireGuard VPN، أول إصدار رئيسي من برنامج عميل WireGuard لنظام التشغيل Windows 1.0، بالإضافة إلى برامج تشغيل WireGuardNT 1.0 مع منفذ. VPN برنامج WireGuard لنواة نظامي التشغيل Windows 10 و11، يدعم معمارية AMD64 وx86 وARM64. يخضع كود مكون نواة Windows لترخيص GPLv2، بينما يخضع برنامج العميل لترخيص MIT.

يعتمد هذا المنفذ على قاعدة بيانات تطبيق WireGuard الرئيسي لنواة لينكس، والذي تم تحويله لاستخدام كيانات نواة ويندوز ومكدس شبكة NDIS. بالمقارنة مع تطبيق wireguard-go، الذي يعمل في مساحة المستخدم ويستخدم واجهة شبكة Wintun، يوفر WireGuardNT تحسينات كبيرة في الأداء من خلال إلغاء تبديل السياق ونسخ محتويات الحزم من النواة إلى مساحة المستخدم. وكما هو الحال في تطبيقات لينكس وOpenBSD وFreeBSD، تعمل جميع منطق معالجة البروتوكولات في WireGuardNT مباشرةً على مستوى مكدس الشبكة.

تم اعتبار الإصدار 1.0 بمثابة علامة فارقة، حيث يمثل حل عدد من المشكلات وإنجاز المهام المقصودة، مثل: استخدام وظيفة NdisWdfGetAdapterContextFromAdapterHandle() بدلاً من التخزين الأقل أمانًا لحالة برنامج التشغيل في الحقل المحجوز واستخدام الإزاحات غير الموثقة؛ والتتبع الصحيح والسريع لحجم MTU (وحدة الإرسال القصوى) من خلال اعتراض استدعاءات النظام؛ واستخدام معيار C23 في الكود.

دعونا نذكرك أن VPN WireGuard يتم تنفيذه على أساس أساليب التشفير الحديثة، ويوفر أداءً عاليًا للغاية، وسهل الاستخدام، وخالٍ من التعقيدات، وقد أثبت نفسه جيدًا في عدد من التطبيقات الكبيرة التي تعالج أحجامًا كبيرة من حركة المرور. تم تطوير المشروع منذ عام 2015 وخضع للتدقيق والتحقق الرسمي لطرق التشفير المستخدمة. يستخدم WireGuard مفهوم توجيه التشفير القائم على المفتاح، والذي يتضمن ربط مفتاح خاص بكل واجهة شبكة واستخدام مفاتيح عامة للربط.

يُشبه تبادل المفاتيح العامة لإنشاء اتصال بروتوكول SSH. وللتفاوض على المفاتيح والاتصال دون تشغيل برنامج خفي منفصل في مساحة المستخدم، تُستخدم آلية Noise_IK من إطار عمل بروتوكول Noise، على غرار إدارة المفاتيح المُصرّح بها في SSH. ويتم نقل البيانات عبر تغليفها في حزم UDP. ويُدعم تغيير المفاتيح. عنوان IP خوادم VPN (التجوال) بدون انقطاع الاتصال مع إعادة تكوين العميل تلقائيًا.

يستخدم التشفير تشفير تيار ChaCha20 وخوارزمية مصادقة الرسائل Poly1305 (MAC)، التي طورها دانيال جيه بيرنشتاين وتانيا لانج وبيتر شوابي. تم وضع ChaCha20 وPoly1305 كأمثلة أسرع وأكثر أمانًا لـ AES-256-CTR وHMAC، حيث يسمح التنفيذ البرمجي لهما بتحقيق وقت تنفيذ ثابت دون استخدام دعم أجهزة خاص. لتوليد المفتاح السري المشترك، يتم استخدام بروتوكول Elliptic Curve Diffie-Hellman في تنفيذ Curve25519، والذي اقترحه أيضًا Daniel Bernstein. يتم استخدام خوارزمية BLAKE2s (RFC7693) للتجزئة.

المصدر: opennet.ru