لوگ VPN کو „عوامی کلید کی انکرپشن استعمال کرنے والا“ کہتے ہیں اور پھر سمجھتے ہیں کہ ہر پیکٹ سرور کے سرٹیفکیٹ سے بند ہے۔ یہ تصویر اس طرح غلط ہے جو کنفیگ فائل یا پیکٹ ریکارڈ پڑھتے وقت اہم ہوتا ہے۔ VPN کا عوامی کلید والا نصف یہ ثابت کرنے اور خفیہ مواد پر متفق ہونے سے متعلق ہے کہ ساتھی کون ہے؛ سیمیٹرک نصف وہ ہے جو ٹریفک کی واقعی حفاظت کرتا ہے، پیکٹ کے بعد پیکٹ، سیشن کی پوری عمر میں۔

دونوں نصف حصوں کی عمر، ناکامی کے طریقے اور محفوظ طریقے سے شائع ہونے والی چیزیں مختلف ہیں۔ انہیں الگ کرنے پر „کیا RSA 2048 AES-128 سے کمزور ہے“ جیسے سوال الجھانا بند کر دیتے ہیں، کیونکہ وہ کبھی قابلِ موازنہ نہیں تھے۔

تین کارروائیاں جو ملائی جاتی ہیں

عوامی کلید کی کرپٹوگرافی کم از کم تین مختلف کارروائیوں کی چھتری ہے۔ دستخط ثابت کرتے ہیں کہ نجی کلید کا مالک مخصوص پیغام کی منظوری دی ہے۔ کلید کا معاہدہ دو ساتھیوں کو عوامی طور پر بدلی گئی قدروں سے مشترکہ راز حاصل کرنے دیتا ہے۔ عوامی کلید کی انکرپشن ڈیٹا کو کسی کی عوامی کلید کے نیچے چھپاتی ہے، اس لیے صرف نجی کلید ہی اسے کھول سکتی ہے۔

VPN ہینڈ شیک زیادہ تر پہلی دو استعمال کرتے ہیں۔ سرٹیفکیٹ انکرپشن کلید نہیں؛ یہ نام کو عوامی کلید سے باندھنے والا دستخط شدہ بیان ہے اور دوسرے فریق کو یہ فیصلہ کرنے دیتا ہے کہ ابھی ملی کلید پر بھروسا کرنا ہے یا نہیں۔ مثلاً TLS 1.3 میں کلید کا قیام (EC)DHE کلید کے معاہدے اور سرٹیفکیٹ دستخطوں پر مبنی ہے، سرور کی عوامی کلید سے سیشن انکرپٹ کرنے پر نہیں۔

ہینڈ شیک اصل میں کیا پیدا کرتا ہے

جدید ہینڈ شیک میں ہر فریق ایک عارضی کلید جوڑا بناتا ہے، عوامی نصف بدلتا ہے اور ایسا مشترکہ راز شمار کرتا ہے جو کبھی تار سے نہیں گزرتا۔ وہ راز پھر کلید نکالنے کے فعل سے گزر کر ہر سمت کے لیے الگ کلیدیں، نیز ریکارڈ طبقے کو درکار nonce اور IV مواد بناتا ہے۔ WireGuard یہ Noise پر مبنی ساخت سے کرتا ہے؛ TLS 1.3 یہ ہینڈ شیک ٹرانسکرپٹ پر HKDF سے کرتا ہے۔

طویل مدتی اسناد — سرٹیفکیٹ اور نجی کلید، یا مستقل WireGuard کلید — اس تبادلے کی تصدیق کرتی ہیں۔ یہ ٹرانسکرپٹ پر دستخط کرتی ہے یا اس میں گھل جاتی ہے، اس لیے اجنبی ساتھی کی جگہ ہینڈ شیک مکمل نہیں کر سکتا۔ اس کے بعد اسناد ہر پیکٹ پر کام نہیں کرتیں۔ کرتیں تو ہر پیکٹ کو نجی کلید کی کارروائی درکار ہوتی اور مصروف سرنگ اسٹیک کی سست ترین کارروائی سے محدود ہوتی۔

اس سے دو ضمنی اثرات آتے ہیں۔ پہلا، سیشن کلیدیں ہر بار نئی ہیں، اس لیے بعد میں طویل مدتی کلید چرانے والا حملہ آور پہلے ریکارڈ شدہ سیشنوں کو ڈکرپٹ نہیں کر سکتا، بشرطیکہ معاہدہ عارضی تھا۔ دوسرا، لیک ہوئی سیشن کلید ایک سیشن کو نقصان پہنچاتی ہے، شناخت کو نہیں۔

بڑا ڈیٹا سیمیٹرک کلیدیں کیوں استعمال کرتا ہے

سیمیٹرک سائفر حجم اچھی طرح سنبھالتے ہیں: AES-GCM یا ChaCha20-Poly1305 ہر پیکٹ کو پہلے سے میموری میں موجود کلید سے پروسیس کرتے ہیں، ہیڈر کی تصدیق کرتے ہیں اور کاؤنٹر بڑھاتے ہیں۔ وصول کرنے والا فریق nonce اور تصدیق ٹیگ جانچ کر ناکام یا دہرائے گئے سب کو پھینک دیتا ہے۔ یہ عام ہارڈویئر پر لائن رفتار سے چلانے کے لیے کافی سستا ہے اور یہی ساخت ایک ہی گزر میں رازداری اور سالمیت دیتی ہے۔

یہی ساخت وہ جگہ ہے جہاں زیادہ تر نفاذ کی غلطیاں رہتی ہیں۔ GCM میں دہرایا گیا nonce رازداری اور اصلیت کو ایک ساتھ توڑ دیتا ہے، اس لیے پروٹوکول ہر سمت کے لیے کلیدیں نکالتے ہیں اور واضح کاؤنٹر یا دور رکھتے ہیں۔ اگر آپ پیکٹ ریکارڈ پڑھیں اور خفیہ متن کی لمبائی سادہ متن میں مستقل اضافے کے ساتھ میل کھائے، تو کام سیمیٹرک طبقہ کر رہا ہے، ہر پیکٹ پر عوامی کلید کی کارروائی نہیں۔

عمر، کلید کی تجدید اور آگے کی رازداری

سیشن کلیدیں ختم ہونے کے لیے ہیں۔ TLS 1.3 KeyUpdate پیغام کو ٹریفک کلیدیں گھمانے دیتا ہے؛ WireGuard مقررہ وقت یا پیغامات کی تعداد کے بعد سیشن کی تجدید کرتا ہے اور راستے میں موجود پیکٹوں کے لیے پرانی کلید تھوڑی دیر رکھتا ہے۔ OpenVPN اپنے ڈیٹا چینل کی کلیدوں پر شیڈول کے مطابق دوبارہ بات چیت کرتا ہے، reneg-sec وقفہ کنٹرول کرتا ہے۔

ان میں سے کوئی گھماؤ سرٹیفکیٹ کی تجدید کے برابر نہیں۔ سرٹیفکیٹ سال بھر معتبر رہ سکتا ہے جبکہ سیشن کلیدیں ہر چند منٹ میں بدلتی ہیں، اور چلتی سرنگ کی کلیدوں کو چھوئے بغیر سرٹیفکیٹ بدلا جا سکتا ہے۔ میعاد ختم ہونے کی منصوبہ بندی میں پوچھیں کہ کون سی شے گھما رہے ہیں؛ جواب طے کرتا ہے کہ کلائنٹ دوبارہ جڑیں گے یا صرف کلیدیں تجدید کریں گے۔

اشیاء کو ملائے بغیر کنفیگ اور تشخیص پڑھنا

عملاً آپ مکمل پروٹوکول اور اس کے معاون بنیادی عناصر چنتے ہیں، اپنا خود نہیں جوڑتے۔ OpenVPN کی --tls-crypt کلید کنٹرول چینل کی حفاظت کرتی ہے؛ ڈیٹا چینل طے شدہ سیمیٹرک سائفر استعمال کرتا ہے۔ WireGuard کے PrivateKey اور PublicKey اندراج شناخت کا مواد ہیں، جبکہ اس کی ٹرانسپورٹ کلیدیں اندر سے نکالی جاتی ہیں۔ ان فیلڈز کو ایک ہی قسم کا راز سمجھنا ایسی غلطیوں تک لے جاتا ہے جیسے عوامی کلید کو وہاں لگانا جہاں نجی کلید ہونی چاہیے۔

عوامی مواد کو نجی سے الگ رکھیں۔ سرٹیفکیٹ، WireGuard کی عوامی کلید اور انگوٹھے کا نشان ٹکٹ میں بانٹنا محفوظ ہے۔ نجی کلید، پیشگی مشترکہ کلید اور برآمد شدہ سیشن کلید محفوظ نہیں۔ طاقت کا موازنہ کرتے وقت ایک ہی قسم کے اندر کریں: بیضوی منحنی شناخت کنندہ، RSA ماڈیولس کا حجم اور AES کلید کا حجم مختلف مفروضوں کے تحت مختلف چیزیں ناپتے ہیں۔ TLS 1.3 کی تفصیل اس بارے میں مفید حوالہ ہے کہ دونوں طبقے کیسے جڑتے ہیں، چاہے آپ کی سرنگ TLS نہ ہو۔

متعلقہ مضامین