IPsec، OpenVPN اور WireGuard میں پہلے سے مشترکہ کلید کیا کرتی ہے
ایک مشترکہ راز دوسری طرف کی تصدیق کر سکتا ہے یا تحفظ کی ایک تہہ بڑھا سکتا ہے، اور اس کا کردار پروٹوکول کے ساتھ بدلتا ہے۔ اسے صارف کے پاس ورڈ سے نہ ملائیں۔
پہلے سے مشترکہ کلید کے الفاظ IPsec، OpenVPN اور WireGuard کی دستاویزات میں آتے ہیں، مگر تین مختلف چیزوں کی طرف اشارہ کرتے ہیں۔ ایک تصدیق کا راز ہے، دوسری ایک کنٹرول چینل کی حفاظت کرتی ہے، اور تیسری پہلے سے شناخت رکھنے والے ہینڈ شیک میں مواد شامل کرتی ہے۔ انہیں قابل تبادلہ سمجھنا ایسا کنکشن بناتا ہے جو ایسے مرحلے پر ناکام ہو جاتا ہے جس کی کسی نے توقع نہیں کی تھی۔ قدر نقل کرنے سے پہلے پڑھیں کہ یہ فیلڈ اُس پروٹوکول میں کیا کرتی ہے۔
تین پروٹوکول، تین معنی
ہر پروٹوکول کلید کا کام اپنی تفصیل میں مقرر کرتا ہے اور یہ کام ایک دوسرے پر نہیں چڑھتے۔ تصدیق کا راز ثابت کرتا ہے کہ دو فریق ایک ہی قدر جانتے ہیں۔ کنٹرول چینل کی کلید اگلی بات چیت کی حفاظت کرتی ہے۔ ہینڈ شیک کا اضافہ کلیدوں کا شیڈول بدلتا ہے مگر یہ نہیں بدلتا کہ فریق کون ہیں۔
ان میں سے کوئی کردار کسی انسان کی تصدیق نہیں کرتا، اور سب سے زیادہ وقت یہی خلط ملا دیتا ہے۔ پہلے سے مشترکہ کلید تبادلے سے پہلے آلات یا گیٹ ویز پر رکھی جاتی ہے، اس لیے ہر حامل دوسری طرف کو یکساں دکھائی دیتا ہے۔ یہ خاصیت دو راؤٹروں کے درمیان ربط کے لیے فائدہ ہے اور نامزد ملازمین والی ریموٹ رسائی سروس کے لیے خطرہ۔ اکاؤنٹ کی اسناد اور خفیہ راز کو اُس دستاویز کے الگ کالم میں رکھیں جو تعیناتی بیان کرتی ہے۔
IPsec اور OpenVPN یہ لفظ مختلف طرح استعمال کرتے ہیں
IKEv2 کسی فریق کی تصدیق سرٹیفکیٹ کے بجائے پہلے سے مشترکہ راز سے کر سکتا ہے، اور قدر دونوں طرف یکساں ہونی چاہیے۔ چونکہ یہی راز عموماً فریقوں کے ایک گروپ کے لیے مقرر ہوتا ہے، کوئی بھی حامل دوسروں کا روپ دھار سکتا ہے، اور تبادلہ کو اُن شناختی کلیدوں سے آگے کی رازداری نہیں ملتی جو اس کے پاس کبھی نہ تھیں۔
OpenVPN کے اختیارات tls-auth اور tls-crypt کنٹرول چینل سے ایک مستقل کلید جوڑتے ہیں، یا HMAC دستخط بڑھاتے ہیں یا خود بات چیت کو خفیہ کرتے ہیں۔ یہ کلید صارف کا پاس ورڈ نہیں ہے اور کلائنٹ سرٹیفکیٹ کی جگہ نہیں لیتی۔ دونوں میں فرق تجدید کے وقت اہم ہے، جب پاس ورڈ بدلنے سے کنٹرول چینل کی کلید اچھوتی رہ جاتی ہے۔
WireGuard کی PSK اضافہ کرتی ہے، شناخت نہیں
WireGuard کے فریقوں کے پاس پہلے ہی Curve25519 کی عوامی اور نجی کلیدیں ہیں اور ہینڈ شیک اِن شناختوں کی تصدیق کرتا ہے۔ اختیاری پہلے سے مشترکہ کلید زنجیری کلید میں ملائی جاتی ہے اور عوامی کلیدوں کے تبادلے پر متناظر مواد بڑھاتی ہے۔
یہ بذات خود نہ شناخت دیتی ہے نہ صارف اکاؤنٹ، اس لیے آپریٹر دو حاملین کو اُن کی PSK سے نہیں پہچان سکتا۔ دونوں طرف یکساں قدر ہونی چاہیے، ورنہ ہینڈ شیک کسی مفید غلطی کے پیغام کے بغیر ناکام ہو جاتا ہے۔ اسی لیے گردش کا منصوبہ دونوں اطراف کے لیے بیک وقت بنانا ہوتا ہے، نہ کہ ایک فائل کی تدوین کے طور پر۔
تقسیم، گردش اور ہٹانا جانچیں
تقسیم ہر ایسے ڈیزائن کا کمزور نقطہ ہے جو ایک راز کو کئی جگہ استعمال کرتا ہے۔ ایسی قدر جو چیٹ ونڈو میں چسپاں ہو، مخزن میں محفوظ ہو یا ماحول کے درمیان دوبارہ استعمال ہو، ایسی نقلیں جمع کر لیتی ہے جنہیں کوئی گن نہیں سکتا، اور ہر نقل خاموشی سے نقصان کا دائرہ بڑھاتی ہے۔
Base64 متن خفیہ کاری نہیں ہے۔ اُسی فولڈر میں عوامی سرٹیفکیٹ کے ساتھ رکھا راز اب بھی کھلے متن میں راز ہے۔
openssl rand -base64 32
sudo wg show wg0 preshared-keys
sudo grep -R -n 'psk' /etc/ipsec.d/ 2>/dev/null
شیڈول کے مطابق اور کسی بھی مشتبہ افشا کے بعد گردش کریں، اور پرانی قدر منسوخ کرنے سے پہلے ہر مطلوبہ فریق کو تازہ کریں۔ پھر ربط کو دونوں سروں سے آزمائیں، کیونکہ غیر متوافق کلید ہینڈ شیک پر ناکام ہوتی ہے اور بالکل فائر وال کے مسئلے جیسی لگتی ہے۔
دستاویز کریں کہ کون سا راز کس مرحلے کی حفاظت کرتا ہے، تاکہ پاس ورڈ کی ری سیٹ کبھی خفیہ کلید کی تجدید سے نہ ملائی جائے۔ وہ ایک سطر ہر بار ایک گھنٹہ بچاتی ہے جب کوئی تعیناتی کا جائزہ لیتا ہے۔