هل يمكنك مشاركة المفتاح العام لـ VPN؟ تحقق من هذه الأمور الثلاثة
نشر النصف العام هو طريقة عمل البروتوكول؛ أما نشر النصف الخاص فيسلّم هوية. ثلاثة فحوص تحدد أي قيمة تحملها.
يمكنك تسليم مفتاحك العام لـ VPN إلى نظير أو مزوّد أو منتدى، ويظل النفق قائماً. ولا يمكنك تسليم المفتاح الخاص، ولا حتى إلى فريق الدعم، دون تسليم الهوية التي يثبتها ذلك المفتاح. ونادراً ما يبقى القرار بهذا الوضوح، لأن الناس يخلطون بين نصفي الزوج الذين ينظرون إليهما، ولأن بعض عمليات النشر تتعامل مع القيمة العامة كاسم. ثلاثة فحوص تحسم الأمر: أي نصف تملك، وما الذي يربطه النشر به، وما تكلفة الاستبدال.
الفحص الأول: أي نصف من الزوج موجود في حافظتك
المفاتيح غير المتماثلة تأتي في أزواج، واتجاه الاشتقاق هو جوهر الأمر. في WireGuard يكون المفتاح الخاص 32 بايت عشوائية ويُحسب المفتاح العام منه؛ ولا يمكنك السير في الاتجاه المعاكس. wg genkey يكتب القيمة الخاصة، wg pubkey يشتق القيمة العامة، والثانية وحدها هي التي تُرسل إلى نظير.
wg genkey | tee private.key | wg pubkey > public.key
chmod 600 private.key
openssl x509 -noout -pubkey -in server.crt
يستخدم عالم الشهادات التقسيم نفسه مع أجزاء متحركة أكثر. فشهادة الخادم تحمل مفتاحاً عاماً وأسماء، وتوقّعها شهادة خاصة بهيئة الشهادات لا تغادر الهيئة أبداً. ويحتاج العميل الذي يتحقق من ذلك الخادم إلى شهادة الهيئة، وهي عامة، ولا حاجة له بمفتاح التوقيع الخاص بالهيئة.
إذا لم تكن متأكداً من القيمة التي تحملها، فابحث عن العلامة لا عن اسم الملف. كتلة PEM تبدأ بـ -----BEGIN PRIVATE KEY-----، أو بصيغة BEGIN RSA PRIVATE KEY الأقدم، هي النصف السري. وأي قيمة تستطيع لصقها دون تلك العلامة فهي مرشحة للمشاركة، رهناً بالفحصين التاليين.
الفحص الثاني: ما الذي يربطه النشر بتلك القيمة العامة
السلامة التشفيرية وإخفاء الهوية خاصيتان مختلفتان. فالمفتاح العام لنظير WireGuard معرّف مستقر داخل النشر: إعدادات الخادم تسرده، والمصافحة تسميه، والمدير الذي يقرأ السجلات يرى السلسلة نفسها في كل مرة يتصل فيها ذلك النظير. وانشر المفتاح بجوار سؤال عن إعدادك، وستكون قد ربطت تلك السلسلة بكل ما في المنشور.
الشهادات تسرّب الهوية بحكم التصميم. فحقلا Subject و subject alternative name قابلان للقراءة، وبالنسبة لشهادات TLS الموثوقة علنياً تُنشر الشهادة نفسها في سجلات Certificate Transparency، وهي قابلة للبحث. ولا شيء من ذلك يكشف مفتاحاً خاصاً، وكل ذلك يكشف علاقة.
هنا تختلف عمليات النشر، وهذا ما يحسم الإجابة. النظير التجريبي المؤقت على خادم مختبري كائن مختلف عن المفتاح الذي يعرّف نقطة اتصال بين موقعين في شركة، حتى لو بدت البايتات متطابقة.
الفحص الثالث: ما الذي يمكنك إلغاؤه، وبأي سرعة
الفحص الثالث يفصل النصفين تماماً. المفتاح العام الذي نُشر يمكن استبداله وفق جدولك. أما المفتاح الخاص الذي نُشر فلا يمكن استعادته: حذف نسختك لا يمس النسخ التي أُخذت بالفعل، وكل نظير وثق به يثق الآن بشيء يحمله شخص من الخارج.
الإلغاء إجراء في الإعداد، لا إجراء تشفير. لا يقدّم WireGuard قائمة إلغاء، لذا تُزيل النظير:
wg set wg0 peer <peer-public-key> remove
# then delete the [Peer] block from the config so it does not return on restart
OpenVPN المنشورات المبنية على الشهادات تُلغي الشهادة وتنشر قائمة CRL يتحقق منها الخادم فعلياً عبر crl-verify. وبدون ذلك التوجيه تكون قائمة الإلغاء زينة. وفي الحالتين التسلسل واحد: أصدر بديلاً، ووزّعه عبر القناة المدعومة، ثم أَحِل الهوية القديمة للتقاعد.
الأخطاء الناتجة عن دمج الفحوص الثلاثة
معظم التسريبات الحقيقية ليست شخصاً يقرر نشر مفتاح خاص. إنها ملف تعريف كامل يُلصق في منتدى: ملف WireGuard .conf فيه سطر PrivateKey، أو حزمة .ovpn تحتوي كتلة مفتاح مضمّنة، أو لقطة شاشة لنافذة عميل تتضمن حقل المفتاح بالمناسبة. القيمة العامة كانت على الأرجح سليمة؛ لكنها سافرت مع الجزء غير السليم.
مسارات عمل الدعم هي المصدر الثاني. لا تحتاج أي خطوة تحقق مشروعة إلى مفتاحك الخاص، لأن الطرف الآخر يشتق ما يحتاجه من النصف العام. وعندما يطلب نموذج أو شخص القيمة الخاصة، فالإجابة الصحيحة هي القيمة العامة مع الأمر المحلي الذي ينتجها.
السجلات ولقطات الشاشة تنتمي إلى الفئة نفسها. فمخرجات التشخيص قد تحمل مواد مفاتيح ومعرّفات جلسات وعناوين داخلية، ونشرها كلها للإجابة عن سؤال واحد يقايض راحة صغيرة بتعرّض أكبر.
بعد تسرب قيمة خاصة، أَحِل الهوية للتقاعد
إذا تسربت قيمة خاصة فعلاً، فاعتبر تلك الهوية متقاعدة. أنشئ زوجاً جديداً، وثبّت النصف العام حيث يتوقعه النظراء، وأزل النظير القديم أو ألغِ الشهادة القديمة، وتحقق من الأماكن التي نشرتها فيها. لا يمكنك حذف نسخ لا تتحكم بها، فالإزالة تتعلق بالمستقبل لا بالماضي.
ثم اكتب التوزيع: أي مفتاح يخص أي جهاز، ومن يحتفظ بنسخة، وكيف يُسلّم البديل، ومن يزيل نظيراً متقاعداً. هذه هي الأجزاء التي ينساها الناس، وهي التي تحدد مدة بقاء التسريب نافعاً.