گروپ کے پیرامیٹرز بناوٹ ہی سے عوامی ہوتے ہیں، اور یہی عوامی پن اُنہیں نظر انداز کرنا آسان بناتا ہے۔ محدود میدان Diffie-Hellman میں ماڈیولس اور جنریٹر مشترک ہوتے ہیں، جبکہ نجی قوتیں اور اُن سے بننے والی سیشن چابیاں مشترک نہیں ہوتیں۔ عدد میدان کی چھلنی حملے کا مہنگا مرحلہ ایک تبادلے پر نہیں بلکہ گروپ پر منحصر ہے، اس لیے ہر جگہ استعمال ہونے والا ایک کمزور گروپ مشترکہ ذمہ داری بن جاتا ہے۔ پیرامیٹرز کو عوامی کہنا درست ہے اور اصل بات سے ہٹ کر بھی، کیونکہ جو خرچ دوبارہ استعمال ہوتا ہے وہ اُسی گروپ پر حملے کا خرچ ہے۔

عوامی آدھا کمزور آدھا نہیں ہے، اور وہیں جال ہے

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

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

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

پیشگی حساب حملہ آور کو حقیقت میں کیا دیتا ہے

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

2015 کی Logjam مقالہ 512 بٹ برآمدی درجے کے Diffie-Hellman تک تنزلی دکھایا اور اندازہ لگایا کہ بڑے، وسیع طور پر دوبارہ استعمال ہونے والے گروپوں پر نمایاں وسائل سے حملے کا کتنا خرچ آئے گا۔ مظاہرہ ٹھوس تھا، اندازے اندازے تھے، اور کوئی بھی اِس بات کا ثبوت نہیں تھا کہ کوئی مخصوص VPN سیشن ڈکرپٹ ہوا۔

مقالے کا حوالہ طریقہ کار اور دکھائی گئی تنزلی کے لیے دیں، اپنی تعیناتی کی پیمائش کے طور پر نہیں۔ کتنے سرورز نے طے شدہ گروپ بانٹا، اِس کے پرانے اعدادوشمار اُس سال کے انٹرنیٹ کو بیان کرتے ہیں، آج آپ جس نیٹ ورک کا معائنہ کر سکتے ہیں اُسے نہیں۔ آگے لے جانے کے قابل مفید بات سوال ہے: کیا آپ کے آلات اب بھی چھوٹے یا کمزور تصدیق شدہ گروپ پر بات چیت کرتے ہیں؟

معیاری ہونا کمزور ہونا نہیں ہے

RFC 7919 نامزد محدود میدان گروپوں کی تعریف کرتا ہے تاکہ دونوں سرے شناخت کنندہ سے ایک گروپ پر متفق ہوں اور ایک جیسی پالیسی لاگو کریں۔ معیاری ہونا ایک فائدہ ہے، کیونکہ یہ بات چیت کی ابہام ختم کرتا ہے اور نفاذ کو غیر تعاون یافتہ حجم مسترد کرنے دیتا ہے۔ نامزد گروپ صرف اُس وقت کمزور ہوتا ہے جب اُس کا حجم اُس پالیسی سے نیچے ہو جس کی آپ پیروی کا دعویٰ کرتے ہیں، نہ کہ کسی دستاویز میں آنے کی وجہ سے۔ یہی منطق بیضوی منحنی گروپوں پر بھی لاگو ہوتی ہے، جن کی ساخت اور ناکامی کے طریقے مختلف ہیں۔

اُن کے بارے میں سوچتے وقت ساختیں الگ رکھیں۔ محدود میدان Diffie-Hellman کے بارے میں نتیجہ X25519 کے بارے میں کچھ نہیں کہتا، اور 1024 بٹ MODP گروپ کے بارے میں نتیجہ 3072 بٹ گروپ کے بارے میں کچھ نہیں کہتا۔ طاقت کی پالیسی فی طریقہ کار، فی حجم اور فی پروٹوکول ورژن ہے، اسی لیے مضبوط کرپٹوگرافی کا جملہ قابلِ جائزہ دعویٰ نہیں ہے۔

تصدیقِ شناخت دوسرا آدھا ہے، اور وہ متبادل نہیں۔ ساتھی کی تصدیق کے بغیر مضبوط گروپ حملہ آور کو درمیان میں چھوڑ دیتا ہے، اور درست سرٹیفکیٹ 768 بٹ تبادلے کو نہیں بچا سکتا۔ اِنہیں دو خودمختار لکیروں کے طور پر دیکھیں، پھر تصدیق کریں کہ دونوں واقعی پر بات چیت ہو رہی ہے۔

حقیقی کنکشن پر طے شدہ گروپ پڑھیں

طے شدہ گروپ ترتیب کے سانچے سے نہیں، آلے سے پڑھیں۔ سانچے ارادہ بیان کرتے ہیں، اور دلچسپ قدر وہ ہے جس پر دونوں فریق آخری ہاتھ ملانے کے دوران متفق ہوئے۔ IPsec سرے پر حالت کا اخراج عام طور پر منتخب تجویز چھاپتا ہے، بشمول MODP گروپ۔

پالیسی تبدیلی سے پہلے اور بعد میں وہ سطر محفوظ کریں، اور دونوں کو تبدیلی کے ریکارڈ میں رکھیں۔ موازنہ ہی ثبوت ہے۔

ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -noout

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

گروپ اور ساتھی کی شناخت الگ الگ جانچیں

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

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

ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'

درستی کے بعد طے شدہ اقدار دوبارہ پڑھ کر چکر بند کریں۔ موافق ترتیب فائل اِس بات کا ثبوت نہیں کہ کسی سرنگ نے اُسے قبول کیا۔ حالت کا اخراج اور ایک تازہ ہاتھ ملانا ثبوت ہیں، اور اُنہیں جمع کرنا اِس بات سے کم وقت لیتا ہے کہ آیا وہ ضروری ہیں۔

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