اسأل عن التشفير الذي يستخدمه VPN وستأتي الإجابة عادة بكلمة واحدة: AES-256، أو ChaCha20، أو ربما WireGuard. تلك الإجابة تسمّي مكوّناً واحداً من طبقة واحدة، بينما الشيء الذي يحمي الاتصال فعلاً هو مجموعة خوارزميات تملأ أربعة أدوار مختلفة. الخلط بين المكوّن والترتيب هو الخطأ الأكثر شيوعاً في هذه الأحاديث، وينتج مقارنات لا يمكن حسمها.

أربع مهام داخل اتصال واحد

يحوّل التشفير الكمي النص الصريح إلى نص مشفّر لقناة البيانات، ويُشتق مفتاحه بدلاً من إرساله. ويكشف حماية السلامة أي تعديل، وهذه مهمة منفصلة حتى عندما ينفّذ إنشاء واحد الاثنين معاً. وينشئ إنشاء المفاتيح المادة المشتركة للحركة، وتحدد مصادقة الطرف الآخر من يوجد في الجهة الأخرى. وإن غاب أي منها فالاتصال غير آمن، مهما كانت قوة الجزء المتبقي.

بعض التصاميم تدمج دورين في واحد. إن AES-GCM و ChaCha20-Poly1305 إنشاءان مشفّران موثّقان، لذا تأتي السرية والسلامة معاً؛ أما AES-CBC فلا، ويحتاج إلى رمز مصادقة رسالة منفصل بمفتاح خاص به. لذلك فإن قراءة مقترح ككيس من الأرقام المستقلة تسيء قراءة ما صُمم كأزواج.

تقع الأدوار أيضاً في طبقات مختلفة، ولهذا قد تعني الكلمة نفسها أشياء مختلفة في منتجين. فشيفرة الكتلة داخل ESP وشيفرة الكتلة داخل TLS هي البدائي نفسه في تفاوضين مختلفين بمتطلبات محيطة مختلفة. لذلك فإن نقل بدائي دون ذكر نمطه وطبقته قد يكون أسوأ من عدم ذكر شيء.

لماذا لا يقول اسم الشيفرة شيئاً تقريباً

خذ عبارة AES-256 بجدية للحظة: إنها تحدد شيفرة كتلة وحجم مفتاح. لا تقول شيئاً عن نمط التشغيل، ولا عمّا إذا كانت السلامة مضمونة، ولا كيف أُنشئت المفاتيح أو كيف صودق على الطرف الآخر. يمكن لمنتجين أن يعلنا AES-256 ويختلفا في كل شيء آخر، بما في ذلك منتج يقترنه بنمط غير موثّق وآخر يستخدم نمط AEAD مع تبادل مفاتيح حديث.

دفع TLS 1.3 هذا الفصل إلى المعيار، وهو تصحيح مفيد لكل من تعلّم المفردات الأقدم. فأجنحة التشفير فيه تسمّي AEAD والتجزئة فقط، بينما تُتفاوض مجموعات تبادل المفاتيح وخوارزميات التوقيع كمعاملات منفصلة. لذلك لا يمكن مقارنة اسم جناح TLS 1.3 باسم جناح TLS 1.2 على قدم المساواة، مع أن كليهما يظهر في الحقل نفسه من ملف الإعداد. ومن يقارن السلسلتين مباشرة يستنتج نتيجة لا يدعمها البروتوكول. اقرأ المجموعة المتفاوض عليها ومعاملات التوقيع أيضاً، وإلا كانت المقارنة ناقصة.

يختار WireGuard الطريق المعاكس ويزيل التفاوض تقريباً بالكامل: يحدد البروتوكول مجموعة خوارزميات ثابتة، لذا إما أن يتوافق تنفيذان أو لا. هذا اختيار تصميمي مشروع، ويعني أيضاً أن سؤال أي حزمة يتفاوض عليها WireGuard لا جواب له يستحق المقارنة. وإن كنت تدققه، اقرأ المواصفة مرة ثم دقّق في إدارة المفاتيح حولها بدلاً من التفاوض.

الطبقة تحدد المفردات

يجري نشر IPsec تفاوضين: مقترح IKE للقناة الضابطة وتحويل ESP للبيانات، وقد يختلفان بشكل مشروع. وقراءة الأول والافتراض أنه يصف الثاني مصدر شائع للارتباك أثناء التدقيق، لأن ملف الإعداد يذكر الاثنين والمثير هو الثاني.

LayerWhat is negotiated thereWhat it does not cover
IKE proposalAlgorithms and groups for the control channel that builds the tunnelThe algorithms protecting the data itself
ESP transformEncryption and integrity for tunneled packetsPeer identity, which authentication already settled
TLS handshakeAEAD and hash, plus separately negotiated groups and signaturesRouting, authorization or retention policy
WireGuardNothing; the algorithm set is fixed by the protocolEverything above the cryptographic arrangement

الاسم المتاح في مكتبة واحدة لا يُنفَّذ تلقائياً لمسار بيانات آخر. لذلك فإن القول بأن منتجنا يدعم AES-256 أضعف مما يبدو، ولهذا تُحل مشكلة التوافق عادة بإيجاد التقاطع المدعوم بدلاً من تمكين كل خوارزمية قديمة على الجانبين.

إن مواصفة TLS 1.3 أوضح مثال منشور على هذا الفصل، لأنها تعرّف الحزمة كزوج وتنقل الباقي إلى تفاوضه الخاص. وحين تصبح هذه الصورة مألوفة، يصبح مقترح IPsec والمجموعة الثابتة الواحدة في WireGuard مقروءين كتنويعات على الفكرة نفسها.

اقرأ النتيجة المتفاوض عليها ثم توقف

المقترح المُعدّ ليس دليلاً على ما اختاره الطرفان. الجلسة الحيّة تحمل الجواب، وكل تنفيذ شائع يستطيع الإبلاغ عنه دون التقاط حزم.

openssl s_client -connect vpn.example.net:443 -brief
ipsec statusall
wg show

اقرأ في الخرج الخوارزميات المختارة لا القائمة المعروضة. وإن كانت الإجابة أضعف مما أرادته السياسة، فالإصلاح يقع في إعداد المقترح على أحد الجانبين، ويظهر عدم التطابق عادة في التنفيذات الحديثة كتفاوض فاشل لا كتخفيض صامت.

ثم تذكّر ما لا تغطيه الحزمة. المسارات وأذونات التطبيقات والتسجيل والاحتفاظ قرارات منفصلة بمراجعة خاصة، والترتيب التشفيري المتوافق لا يقول شيئاً عنها. نقاش الشيفرة يستحق الخوض، لكنه يجيب عن سؤال أضيق من السؤال الذي يطرحه معظم الناس فعلاً.

أبقِ المفردات دقيقة يصبح الجدل أقصر. الحزمة مجموعة أدوار في طبقة، والشيفرة مكوّن واحد، والنتيجة المتفاوض عليها هي الشيء الوحيد الذي يصف الاتصال الذي تملكه فعلاً. وكل ما عدا ذلك في المقارنة زينة.

مقالات ذات صلة