WireGuardهو بروتوكول VPN يقوم بإنشاء اتصال شبكة افتراضية مشفر (نفق) بين جهازين يتعرفان على بعضهما البعض باستخدام مفتاح عام.
يستخدم تطبيق StageVPN (iPhone · iPad · Android) هذا WireGuard لإرسال اتصالات IPv4/IPv6 واستعلامات DNS للجهاز بأكمله إلى خادم VPN. تطرح هذه المقالة ثمانية أسئلة لتوضيح سبب تصنيف WireGuard على أنه سريع وسهل المراجعة. بالنسبة لكل سؤال، قمت أولاً بكتابة إجابة مكونة من جملتين ثم قمت بشرح المبادئ باستخدام الجداول والرسوم البيانية أدناه. تستند الأرقام إلى تقرير WireGuard الرسمي ووثائق البروتوكول الرسمية.
- ما يقرب من 4000 سطر
- حجم التعليمات البرمجية لتطبيق Linux kernel في وقت إصدار المستند التقني في عام 2017
- 1 رحلة ذهابًا وإيابًا
- عدد رحلات الرسائل ذهابًا وإيابًا المطلوبة للمصافحة لإنشاء مفتاح الجلسة
- 120 ثانية
- متى تبدأ تغيير مفاتيح الجلسة بمصافحة جديدة
- شيء واحد
- عدد مجموعات كلمات المرور الثابتة المستخدمة دون التفاوض
الصورة أدناه تجمع أهم ثلاث خصائص في هذه المقالة في صفحة واحدة. يتفق الجهاز والخادم على مفتاح الجلسة في رحلة واحدة ذهابًا وإيابًا. يتم تحديث المفتاح كل دقيقتين تقريبًا. يتعرف الخادم على الجهاز الآخر من خلال مفتاحه العام، وليس عنوان IP الخاص به. تابع القراءة لمعرفة الأسئلة التي يجيب عليها كل من الخصائص الثلاثة.

س: ما هو WireGuard ومن قام بإنشائه ولماذا؟
WireGuard هو بروتوكول VPN وتنفيذ صممه Jason A. Donenfeld وتم إصداره في عام 2017. وكان الهدف هو تقليل عدد عناصر التكوين، وتثبيت طريقة التشفير في عنصر واحد، وجعله بحجم يمكن للخبراء قراءة ومراجعة الكود بأكمله.
بروتوكول VPN عبارة عن مجموعة من القواعد للأجهزة والخوادم للتعرف على بعضها البعض ومشاركة مفاتيح التشفير وحزم البيانات وتبادلها. تحتوي البروتوكولات الحالية على العديد من الخيارات وخطوات التفاوض للتكيف مع البيئات المختلفة. المزيد من الخيارات تؤدي إلى رمز أكبر. تزداد أيضًا إمكانية إنشاء تكوين ضعيف بسبب أخطاء التكوين. اتخذ WireGuard النهج المعاكس. لقد قمنا بتقليل عدد الاختيارات وجعلنا الكود أقصر.
| وجهة نظر | قضية | معنى |
|---|---|---|
| 2017 | ورقة بيضاء مقدمة في مؤتمر NDSS | أهداف التصميم والمصافحة وتوجيه مفتاح التشفير الموضحة في المستند العام |
| مارس 2020 | يتم تضمينه افتراضيًا في Linux 5.6 kernel | يمكن استخدامه على خوادم Linux دون تثبيت وحدات منفصلة |
| بعد صدور الورقة البيضاء | تم إصدار التطبيقات الرسمية لأنظمة التشغيل Windows وmacOS وiOS وAndroid | يتصل تطبيق الهاتف الذكي بالخادم باستخدام نفس البروتوكول |
| اليوم | تراكم أبحاث التحقق من التنسيق مثل Tamarin وCryptoVerif | وقد تمت مراجعة سلامة تصميم البروتوكول أكاديميا |
يعتمد حجم الكود على التنفيذ والتوقيت. لذا، لا ينبغي قراءة "حوالي 4000 سطر" على أنها القيمة الحالية بالضبط، ولكن على أنها "بمرتبة أصغر من تطبيقات VPN الأخرى". يستخدم تطبيق StageVPN تطبيق WireGuard هذا على أجهزة iPhone·iPad وAndroid. يعد StageVPN for Chrome، وهو امتداد لمتصفح Chrome، وكيل HTTPS بدلاً من WireGuard. الفرق بين الطريقتين هو متصفح VPN مقابل تطبيق VPNإنه مغطى
س: بأي ترتيب يتم إجراء اتصالات WireGuard؟
يتم إنشاء الاتصال من خلال مصافحة رسالتين، رحلة واحدة ذهابًا وإيابًا. عندما يرسل البادئ رسالة بدء ويقوم المستجيب بإرجاع رسالة استجابة، يقوم كلا الجانبين بحساب نفس مفتاح الجلسة وتبادل البيانات على الفور.
- رسالة بدء التشغيليرسل البادئ (الجهاز) مفتاحًا عامًا مؤقتًا، ومفتاحًا عامًا ذاتيًا مشفرًا، وطابعًا زمنيًا مشفرًا.
- رسالة الرديرسل المستجيب (الخادم) مفتاحه العام المؤقت ويتحقق من البادئ.
- حساب مفتاح الجلسةمن نتائج تبادل المفاتيح، يستنتج كلا الجانبين زوجًا من المفاتيح المتماثلة للإرسال والاستقبال.
- نقل البياناتيتم تشفير كل حزمة باستخدام ChaCha20-Poly1305 ويتم تخصيص رقم تسلسلي (عداد لها).
المصافحة هي عملية يقوم من خلالها الطرفان بالتعرف على بعضهما البعض والاتفاق على مفتاح التشفير قبل بدء الاتصال. تتبع مصافحة WireGuard نمط IK لإطار عمل الضوضاء. يتطلب نمط IK أن يعرف البادئ المفتاح العام للمستجيب مسبقًا. يفي تطبيق StageVPN بهذا الشرط لأنه يتلقى المفتاح العام للخادم للاتصال به في تكوين VPN.
| رسالة | مقاس | المحتويات متضمنة | دور |
|---|---|---|---|
| بدء المصافحة (النوع 1) | 148 بايت | مفتاح عام مؤقت، مفتاح عام ثابت مشفر، طابع زمني مشفر، جهازي MAC | إثبات هوية البادئ، وحظر هجمات الإعادة |
| الاستجابة للمصافحة (النوع 2) | 92 بايت | المستجيب المفتاح العام المؤقت، النص المشفر الفارغ للتحقق، 2 أجهزة MAC | تم الانتهاء من الاتفاق الرئيسي |
| استجابة ملفات تعريف الارتباط (النوع 3) | 64 بايت | ملفات تعريف الارتباط المشفرة | تحقق من عنوان المغادرة عندما يكون الخادم مثقلًا |
| البيانات (النوع 4) | رأس 16 بايت ونص مشفر | رقم المستلم والعداد وحزمة IP المشفرة وعلامة المصادقة | تسليم الاتصالات الفعلية |
يمنع الطابع الزمني الموجود في رسالة بدء التشغيل هجمات إعادة التشغيل. هجوم إعادة التشغيل هو هجوم يسجل فيه المهاجم رسالة عادية ويعيد إرسالها لاحقًا. يتجاهل الخادم الرسالة إذا كان الطابع الزمني أقدم من الإرسال السابق من نفس الجهاز.
يمكن إنشاء أول MAC من خلال معرفة المفتاح العام للخادم. لذلك، لا يستجيب الخادم للحزم المرسلة بواسطة الماسحات الضوئية التي لا تعرف المفتاح العام للخادم. من الخارج، من الصعب معرفة ما إذا كان هناك خادم VPN على هذا المنفذ. عندما يتم تحميل الخادم بشكل زائد، يتم إرسال استجابة ملف تعريف الارتباط أولاً قبل إجراء عمليات حسابية ثقيلة. وهو جهاز يعالج فقط الطلبات التي تم التأكد من صحة عنوان مصدرها، مما يمنع الهجمات التي تجعل الخادم مشغولاً بالعناوين المزيفة.
س: ما هي تقنية التشفير التي يستخدمها WireGuard؟
قم بتعيين طريقة تشفير واحدة فقط لكل دور واستخدمها دون تفاوض. إذا تم العثور على مشكلة في إحدى التقنيات، فبدلاً من إضافة خيارات، نقوم بتغيير إصدار البروتوكول بحيث تتحرك جميع عمليات التنفيذ معًا.
الاسم الكامل للمصافحة كما هو مكتوب في الوثائق الرسمية هو Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s. الاسم هو المخطط. يرمز IK إلى نمط المصافحة، ويرمز psk2 إلى المفتاح الاختياري المشترك مسبقًا، ويرمز 25519 إلى منحنى تبادل المفاتيح، ويرمز ChaChaPoly إلى تشفير البيانات، ويرمز BLAKE2s إلى التجزئة.
| دور | التقنيات | وثيقة داعمة | مميزة |
|---|---|---|---|
| تصميم المصافحة | نمط Noise_IKpsk2 | إطار بروتوكول الضوضاء | المصادقة المتبادلة، والاتفاقية الرئيسية، وحماية هوية البادئ في رحلة واحدة ذهابًا وإيابًا |
| تبادل المفاتيح | منحنى 25519 (X25519) | آر إف سي 7748 | مفتاح عام بحجم 32 بايت، منحنى إهليلجي مصمم لتقليل أخطاء التنفيذ |
| تشفير البيانات وسلامتها | ChaCha20-Poly1305 | آر إف سي 8439 | يعالج عمليات التشفير والتلاعب في وقت واحد، وبسرعة حتى بدون تسريع الأجهزة |
| تشفير ملفات تعريف الارتباط | XChaCha20-Poly1305 | وثائق بروتوكول WireGuard | تعديل لكتابة قيم عشوائية طويلة بأمان |
| التجزئة و ماك | بليك2s | آر إف سي 7693 | التجزئة السريعة، تُستخدم أيضًا لحسابات MAC ذات المفاتيح |
| اشتقاق المفتاح | HKDF | آر إف سي 5869 | استخراج مفتاح الجلسة من نتيجة تبادل المفاتيح |
| جدول التجزئة الداخلي | سيبهاش24 | أوماسون · ورقة برنشتاين | منع هجمات التلاعب التي تستهدف جداول التجزئة |
ومن المهم أن نلاحظ أنه لا توجد مرحلة التفاوض. في البروتوكولات التي تتبادل قوائم الأصفار، مثل TLS أو IKEv2، تمت دراسة هجمات الرجوع إلى إصدار أقدم لخداع المهاجمين لاختيار الأصفار الضعيفة. ليس لدى WireGuard قائمة خاصة بها للاختيار من بينها. لذلك، لا يوجد أي معنى لإثبات مثل هذا الهجوم.
يعد psk2، أو المفتاح المشترك مسبقًا، ميزة اختيارية. ومن خلال إضافة طبقة من المفاتيح المتماثلة أعلى تشفير المفتاح العام، يعد هذا دفاعًا إضافيًا لحماية محتوى الاتصال حتى لو قام كمبيوتر كمي مستقبلي بكسر Curve25519. هذه ميزة اختيارية، لذا يختلف مدى توفرها حسب الخدمة. لا تقدم StageVPN تشفيرًا مقاومًا للكم كميزة مقدمة.
تمت مراجعة سلامة التصميم أكاديميًا عدة مرات. يجمع مشروع WireGuard أبحاث التحقق الرسمية على موقعه الرسمي، بما في ذلك التحقق الرمزي باستخدام إثبات Tamarin والإثبات الحسابي باستخدام CryptoVerif. ومع ذلك، التحقق الرسمي هو دليل على تصميم البروتوكول. نحن لا نضمن جودة التنفيذ أو تشغيل الخادم لكل تطبيق. لذلك لا يزال من الضروري تحديث التطبيق والتحقق من سياسة التسجيل الخاصة بالمشغل.
س. كم مرة تتغير مفاتيح الجلسة؟
يتم استبدال مفاتيح الجلسة بمصافحة جديدة كل دقيقتين تقريبًا. ويتم الاستبدال أثناء الاتصال بالمفتاح الموجود، بحيث لا يلاحظ المستخدمون أي انقطاع.
- 0 ثانيةاكتملت المصافحة
ابدأ نقل البيانات باستخدام مفتاح الجلسة الجديد.
- 120 ثانيةابدأ مصافحة جديدة
عندما يكون لديك بيانات تريد إرسالها، قم بإنشاء مفتاح جديد (REKEY_AFTER_TIME). يتم استبدال المفتاح أيضًا إذا تم إرسال الرسالة بقوة 260.
- 180 ثانيةرفض المفتاح القديم
لن يتم استلام الحزم التي تحتوي على مفاتيح أقدم من هذا الوقت (REJECT_AFTER_TIME).
- 540 ثانيةتنظيف الخمول
بعد ثلاث مرات 180 ثانية دون تأكيد اتصال جديد، قم بمسح جميع المفاتيح المؤقتة وحالة الجلسة.
السبب وراء تغيير المفاتيح بشكل متكرر هو الأمان الأمامي. الأمان الأمامي هو خاصية تمنع إصدار محتويات الاتصال الخاصة بجلسة منتهية بالفعل حتى إذا تم الكشف عن المفتاح الخاص طويل المدى للجهاز لاحقًا. يقوم WireGuard بإنشاء مفتاح مؤقت جديد لكل مصافحة ويمسح أي مفاتيح مستخدمة من الذاكرة. حتى لو تم تسريب مفتاح جلسة واحدة، فإن نطاق التأثير سيكون محدودًا بالدقائق القليلة التي تم فيها استخدام المفتاح.
هناك أيضًا قواعد لمحاولات المصافحة. إذا لم يكن هناك استجابة، فإنه يحاول مرة أخرى كل 5 ثوان (REKEY_TIMEOUT). إذا لم تكن هناك استجابة لمدة 90 ثانية (REKEY_ATTEMPT_TIME)، فستتوقف المحاولة. إذا لم تكن هناك بيانات لإرسالها خلال 10 ثوانٍ (KEEPALIVE_TIMEOUT) من تلقي البيانات، فسيتم إرسال حزمة Keepalive فارغة حتى يتمكن الطرف الآخر من تأكيد الاستجابة.
تم تصميم WireGuard بحيث لا يقوم بالمصافحة في حالة عدم وجود بيانات لإرسالها. ومع ذلك، غالبًا ما تستخدم الأجهزة الموجودة خلف أجهزة التوجيه أو معدات الناقل (NAT) الإعداد (PersistentKeepalive) الذي يرسل حزمًا فارغة على فترات زمنية منتظمة لمنع مسح معلومات الاتصال. توصي الإرشادات الرسمية بفاصل زمني قدره 25 ثانية. يستخدم تكوين VPN لتطبيق StageVPN أيضًا 25 ثانية افتراضيًا (اعتبارًا من سبتمبر 2026).

س. كيف يختلف WireGuard عن OpenVPN وIKEv2/IPsec؟
WireGuard هو بروتوكول يقلل الخيارات ويقلل التعليمات البرمجية. OpenVPN وIKEv2/IPsec هما بروتوكولان يتضمنان العديد من المفاوضات والخيارات التي تناسب البيئات المختلفة.
يوضح الشكل أعلاه الاختلافات في حجم الكود وطريقة الإرسال وطريقة التفاوض على كلمة المرور. ويلخص الجدول أدناه الاختلافات المتبقية غير المبينة في الشكل. يتم استخدام الثلاثة حاليًا على نطاق واسع، لكن فلسفاتهم التصميمية مختلفة، بدلاً من أن يكون أحدهم متفوقًا دون قيد أو شرط.
| غرض | WireGuard | المسنجر | IKEv2/IPsec |
|---|---|---|---|
| مفتوح/قياسي | المستند التقني لعام 2017، بما في ذلك Linux kernel لعام 2020 | تم إصداره لأول مرة في عام 2001، وهو بروتوكول مفتوح المصدر خاص به | معيار IETF (IKEv2 هو RFC 7296) |
| طريقة تأكيد الشريك | 32 بايت المفتاح العام | يمكن دمج شهادة X.509 واسم المستخدم وكلمة المرور بشكل أساسي | الشهادات والمفاتيح المشتركة مسبقًا وEAP والمزيد |
| الاتفاق الرئيسي ذهابا وإيابا | رحلة واحدة ذهابًا وإيابًا (رسالتان) | عدة مرات، بما في ذلك مصافحة TLS. | الحد الأدنى 2 تبادل (4 رسائل) |
| تغيير الشبكة | الناتج عن السلوك الافتراضي (التجوال) | في الغالب إعادة الاتصال، وبعض الدعم حسب الإعدادات | تابع دعم MOBIKE (RFC 4555) |
| عناصر الإعداد | بضعة أسطر: المفتاح، العنوان، عنوان IP المسموح به، وما إلى ذلك. | الكثير من الشهادات والخيارات | هناك العديد من أساليب المصادقة وعناصر السياسة |
| نظام التشغيل المدمج | نواة Linux مدمجة، ويتم توفير البعض الآخر كتطبيقات | تثبيت برنامج منفصل | مدمج لنظام التشغيل Windows، وiOS، وAndroid، وما إلى ذلك. |
لا يتم تحديد السرعة عن طريق البروتوكول وحده. تلعب المسافة إلى الخادم وجودة الخط المحلي وازدحام الخادم وأداء الجهاز دورًا. تتميز WireGuard بإجراءات بسيطة وعمليات تشفير خفيفة، لذا فهي غالبًا ما تكون سريعة في ظل نفس الظروف. هذا لا يعني أنه سريع دائمًا. إذا كانت السرعة الملحوظة منخفضة، فإن أول شيء يجب فعله هو التبديل إلى خادم قريب والمقارنة.
س. ما هو "توجيه مفتاح التشفير" حيث يصبح المفتاح العام هو العنوان؟
توجيه مفتاح التشفير هو أسلوب يجمع المفتاح العام للطرف الآخر ونطاق عنوان IP (AllowedIPs) الذي يمكن للطرف الآخر استخدامه، ويستخدم هذه الحزمة لتحديد وقت إرسال واستقبال الحزم. عند الإرسال، حدد المفتاح العام الذي سيتم تشفيره باستخدام عنوان الوجهة، وعند الاستلام، تحقق مما إذا كان المفتاح العام الذي تم فك تشفيره بنجاح مؤهلاً لاستخدام عنوان المصدر.
تتمتع هذه البنية بميزتين: أولاً، يتعرف الخادم على الحزم الواردة من عنوان IP النفقي باعتبارها أصلية فقط إذا تم فك تشفيرها باستخدام المفتاح العام المرتبط بعنوان IP هذا. حتى إذا قام جهاز آخر بتقليد عنوان IP النفقي، فلا يمكن فك تشفيره ويتم تجاهل الحزمة. ثانيًا، يتم دمج قواعد جدار الحماية وقواعد كلمة المرور في قاعدة واحدة. يحتاج المسؤولون فقط إلى الاحتفاظ بسطر واحد: "هذا المفتاح العام هو نطاق العناوين هذا".
إذا قمت بتعيين المسموح به IPs على 0.0.0.0/0 و:/0 على جهاز المستخدم، فإن جميع اتصالات IPv4 وIPv6 تصبح نفقًا كاملاً لخادم واحد. يستخدم تطبيق StageVPN هذه الطريقة. العناصر الرئيسية لتكوين WireGuard التي يتلقاها التطبيق من الخادم مدرجة أدناه.
| عناصر التكوين | إعدادات تطبيق StageVPN | يعني للمستخدمين |
|---|---|---|
| عناوين IP المسموح بها | 0.0.0.0/0, ::/0 | يحمي جميع الأجهزة حيث تمر جميع اتصالات IPv4/IPv6 عبر نفق |
| DNS | يتم أيضًا إعادة توجيه خادم DNS المحدد في تكوين VPN واستعلاماته إلى النفق. | صعوبة رؤية النطاقات التي بحث عنها مشغلو شبكات الجوال أو مشغلو شبكة Wi-Fi |
| IP النفق (العنوان) | تعيين عناوين داخلية داخل الخادم لكل حساب | يحدد الخادم الأجهزة باستخدام المفاتيح العامة والعناوين الداخلية. |
| MTU | الافتراضي 1280، قد يختلف حسب إعدادات الخادم | يقلل من مشكلات اقتطاع الحزم في شبكات الهاتف المحمول والتغليف المزدوج |
| PersistentKeepalive | الافتراضي 25 ثانية | احتفظ بمعلومات الاتصال حتى خلف جهاز التوجيه أو معدات الناقل |
| موقع الاتصال | اختر من بين بلدان الخادم التي يديرها المشغل أو اختر تلقائيًا | يتم عرض عنوان IP الخاص بالخادم المحدد على المواقع التي تمت زيارتها. |
MTU هو الحد الأقصى لحجم الحزم التي يمكن إرسالها في وقت واحد. يقوم WireGuard بتشفير الحزمة الأصلية وإعادتها إلى حزمة UDP، مما يؤدي إلى زيادة الحجم حسب الرأس. ولذلك، يجب تعيين وحدة الإرسال الكبرى في النفق أصغر من وحدة الإرسال الكبرى في السطر لمنع تجزئة الحزم أو التخلص منها. ما هو حجم سجلات الوصول التي يتم الاحتفاظ بها؟ الوصول إلى إشعار تخزين السجلاتإنه مفتوح للجمهور.
س. إذا كان WireGuard قويًا، فهل استخدامي للإنترنت بالكامل آمن؟
لا. القسم الذي يحميه WireGuard يمتد من جهازك إلى خادم VPN، ويتم تحديد الأمان بعد ذلك من خلال HTTPS الخاص بالموقع وسياسة التسجيل الخاصة بالمشغل.
- جهازيتطبيق StageVPN
- تشفير WireGuard
- شبكة Wi-Fi/اتصالات عامةمقهى·LTE
- تشفير WireGuard
- خادم VPNStageVPN
- HTTPS
- خادم الموقع/التطبيقالبنك/البريد
- تشفير VPN
- موقع HTTPS
- المناطق التي من الممكن أن تتعرض لها
في القسمين الأيسر من الصورة، يصعب على المستخدمين الآخرين لشبكة Wi-Fi العامة ومشغل Wi-Fi وشركة الاتصالات رؤية محتوى الاتصال ووجهته. بعد مغادرة خادم VPN، يصبح الأمر مثل الإنترنت العادي تمامًا. لذلك مرة أخرى، يصبح من المهم ما إذا كان العنوان هو موقع يبدأ بـ https://. يجب إعداد المخاطر خارج البروتوكول بشكل منفصل.
- القسم بعد خادم VPN: المواقع التي لا تستخدم HTTPS لا يتم تشفيرها من خادم VPN إلى الموقع.
- الثقة في المشغلين: نظرًا لبنيته، يعرف خادم WireGuard المفتاح العام ونفق IP وعنوان الوصول الأخير لكل جهاز. وهذا أيضًا هو المكان الذي يمكنك من خلاله رؤية عنوان IP الوجهة لاتصالك. وفقًا لقانون حماية أسرار الاتصالات، تقوم StageVPN تلقائيًا بحذف سجلات الوصول بعد 93 يومًا ولا تسجل محتوى الاتصالات. السبب هو لماذا نكشف عن سياسة الاحتفاظ بسجلات الوصول الخاصة بنا؟وأوضح.
- التهديدات داخل جهازك: التطبيقات الضارة أو صفحات التصيد هي مشاكل تحدث داخل النفق، أي على جهازك. البروتوكول لا يوقفه. القسمة هي ما الذي تمنعه شبكات VPN وما لا يمكنها منعهيرجى الرجوع إلى.
- لحظة فقدان الاتصال: أثناء قطع النفق، يمكن أن يخرج الاتصال عبر المسار العادي. تحقق من حالة اتصال التطبيق قبل إجراء أي عمليات حساسة. العادات على الشبكات العامة قواعد سلامة شبكات الواي فاي العامةلقد نظمته في .
- DNS وIPv6: إذا قام تطبيق VPN آخر أو إعدادات DNS المنفصلة لجهازك بتغيير المسار، فقد تخرج الاستعلامات من النفق. كيفية التحقق دليل لتسريبات DNS وتسريبات WebRTCإنه في
عند الاتصال لأول مرة، سيطلب منك iPhone إضافة تكوين VPN، وسيطلب منك Android السماح بطلب اتصال VPN. يجب أن تسمح بذلك حتى تتمكن التطبيقات من إنشاء أنفاق WireGuard. الطلب حسب الجهاز البدء على iPhone/iPadو الشروع في العمل على الروبوتونطاق الحكم هو الميزات ونطاق العرضيمكنك التحقق من ذلك هنا.
س: لماذا يبقى الاتصال حتى عند التغيير من Wi-Fi إلى LTE؟
وذلك لأن WireGuard يتعرف على الأجهزة من خلال مفاتيحها العامة، وليس عناوين IP الخاصة بها. حتى إذا تغيرت الشبكة وتغير عنوان IP، يتذكر الخادم العنوان الذي وصلت إليه آخر حزمة تم فك تشفيرها ويستجيب بهذا العنوان.
كيفية التمييز بين الاتصالات عن طريق عنوان IP
- يتم فقدان الاتصالات الموجودة عند تغيير الشبكات
- تحتاج إلى المصادقة مرة أخرى والاتفاق على المفاتيح
- من المحتمل أن يتوقف اتصال التطبيق عند لحظة الانتقال
WireGuard (متمايزة بالمفتاح العام)
- يتم أيضًا التعرف على الحزم الواردة من عنوان جديد على أنها نفس الطرف إذا تم فك تشفيرها باستخدام نفس المفتاح العام.
- قم بتحديث العنوان الذي يستجيب له الخادم بعنوان جديد
- إذا بقيت الحياة الرئيسية، فإنها تستمر على الفور دون مصافحة.
ويسمى هذا السلوك التجوال. تقوم الهواتف الذكية بالتبديل بين شبكة Wi-Fi المنزلية وشبكة Wi-Fi في المقهى وLTE/5G أثناء التنقل عدة مرات في اليوم. إذا تمت إعادة الاتصال بشبكة VPN من البداية في كل مرة، فستكون هناك لحظة ستتوقف فيها المراسلة والبث. يتعامل WireGuard مع هذا الانتقال باعتباره السلوك الافتراضي للبروتوكول. لا توجد إعدادات منفصلة مطلوبة.
يستخدم WireGuard UDP فقط. UDP هي طريقة نقل خفيفة الوزن ولا تتطلب إجراء إنشاء اتصال. ولا يتداخل مع التحكم في إعادة الإرسال لاتصالات TCP ذهابًا وإيابًا داخل النفق. هناك مشكلة معروفة وهي أنه عندما يتم وضع بروتوكول TCP فوق بروتوكول TCP، عند حدوث خسارة، يتم إعادة إرسال كلا الطبقتين في وقت واحد وتنخفض السرعة بشكل ملحوظ. يتجنب WireGuard هذه المشكلة بشكل معماري.
وفي الوقت نفسه، تقوم StageVPN بتسجيل عنوان IP الذي وصل منه الجهاز إلى خادم VPN عند تغييره، كأحد سجلات الاتصال وفقًا للقانون. حقيقة حدوث التجوال تعني بقاءه على الخادم.
يرجى معرفة هناك قيود على التصميمات التي تستخدم UDP فقط. تقوم بعض شبكات الفنادق والشركات والمدارس بحظر اتصالات UDP بخلاف الوصول إلى الويب. قد لا يعمل اتصال WireGuard في مثل هذه الأماكن. في هذه الحالة، حاول التبديل إلى شبكة Wi-Fi أو بيانات جوال أخرى. إذا استمرت المشكلة، فاذكر طراز الجهاز ونظام التشغيل وإصدار التطبيق ووقت حدوثه. دعم العملاءيرجى الاتصال بنا.

مسرد المصطلحات
لقد قمت بتنظيم المصطلحات الواردة في هذه المقالة جملة واحدة في كل مرة. يتم استخدام نفس المعنى عند قراءة مستندات VPN الأخرى.
- مصافحة
- هذه عملية يتعرف فيها جهازان على بعضهما البعض ويتفقان على مفتاح التشفير قبل بدء الاتصال.
- 1-RTT (رحلة واحدة ذهابًا وإيابًا)
- وهذا يعني أن العملية تكتمل بمجرد إرسال رسالة مرة واحدة والعودة مرة واحدة.
- المفتاح الثابت (المفتاح العام/المفتاح الخاص)
- زوج مفاتيح يتم الاحتفاظ به على جهازك لفترة طويلة ويستخدم للتحقق من هويتك. ويكون المفتاح العام معروفاً للطرف الآخر، ولا يتم إرسال المفتاح الخاص خارج الجهاز.
- مفتاح مؤقت
- يتم إنشاء هذا المفتاح من جديد لكل مصافحة ويتم مسحه في نهاية الجلسة.
- مفتاح الجلسة
- مفتاح متماثل تم إنشاؤه نتيجة للمصافحة والذي يقوم بتشفير البيانات الفعلية.
- الأمن إلى الأمام
- تمنع هذه الخاصية إصدار محتويات الجلسة المنتهية بالفعل حتى لو تم الكشف عن المفتاح الخاص طويل المدى لاحقًا.
- إيد
- ChaCha20-Poly1305 هي طريقة تشفير تعالج التشفير واكتشاف التلاعب في وقت واحد.
- ماك
- هذه قيمة قصيرة يتم حسابها وإرفاقها بالمفتاح للتأكد من عدم تزوير الرسالة.
- إعادة الهجوم
- هذا هجوم يخدع النظام عن طريق تسجيل رسالة عادية وإرسالها مرة أخرى لاحقًا.
- توجيه مفتاح التشفير
- تسمح طريقة WireGuard لربط المفاتيح العامة ونطاقات IP بتحديد المفاتيح التي سيتم تشفيرها والحزم التي سيتم قبولها.
- عناوين IP المسموح بها
- هذا هو نطاق عناوين IP التي يمكن لنظير مفتاح عام محدد الإرسال إليها والاستلام منها. 0.0.0.0/0 و ::/0 تشير إلى كافة العناوين.
- نقطة النهاية
- هذا هو عنوان الإنترنت الفعلي للطرف الآخر ومنفذ UDP، ويقوم الخادم بتحديث هذه القيم عند حدوث التجوال.
- تجوال
- وحتى إذا تغير عنوان IP الخاص بالجهاز، فإن نفس النفق يستمر.
- نات
- هذه هي الطريقة التي يقوم بها جهاز التوجيه أو معدات شركة الاتصالات بتحويل عناوين أجهزة متعددة إلى عنوان عام واحد.
- com.keepalive
- هذه حزمة بلا محتوى يتم إرسالها بشكل دوري لمنع مسح معلومات الاتصال.
- MTU
- هذا هو الحد الأقصى لحجم الحزم التي يمكن إرسالها في وقت واحد.
- UDP
- إنها طريقة إرسال خفيفة الوزن ترسل الحزم دون إجراءات إنشاء الاتصال ودون إعادة الإرسال.
المواد المرجعية
- البروتوكول والتشفير — تنسيق الرسالة وحجمها، والتشفير، وقيم المؤقت (مشروع WireGuard)
- WireGuard: نفق شبكة Kernel من الجيل التالي — أهداف التصميم، حجم الكود، توجيه مفتاح التشفير، التجوال (جايسون أ. دونينفيلد، الورقة البيضاء NDSS 2017)
- التحقق الرسمي — قائمة دراسات التحقق الرسمية، بما في ذلك Tamarin وCryptoVerif وما إلى ذلك (مشروع WireGuard)
- بداية سريعة - إعدادات PersistentKeepalive والفواصل الزمنية الموصى بها (مشروع WireGuard)
- إطار بروتوكول الضوضاء - تعريف نمط المصافحة IK (مشروع الضوضاء)
- RFC 8439: ChaCha20 وPoly1305 لبروتوكولات IETF - طريقة تشفير البيانات (IETF)
- RFC 7748: المنحنيات الإهليلجية للأمن - تبادل المفاتيح Curve25519 (IETF)
- RFC 7693: تجزئة التشفير BLAKE2 وMAC — حسابات التجزئة وMAC (IETF)
- RFC 7296: الإصدار 2 من بروتوكول تبادل مفاتيح الإنترنت (IKEv2) — إجراءات تبادل IKEv2 (IETF)
- RFC 4555: بروتوكول IKEv2 للتنقل والطرق المتعددة (MOBIKE) — معالجة تغيير الشبكة في IKEv2 (IETF)



