VPN میں nonce کیا ہے، اور دوبارہ استعمال سرنگ کو کیوں توڑتا ہے
nonce ہر پیغام کے لیے ایک قدر ہے جو ایک ہی کلید کے تحت کبھی نہیں دہرائی جانی چاہیے، اور عام طور پر کھلے طور پر سفر کرتی ہے۔ اسے ہاتھ سے ترمیم کرنا وہ غلطی ہے جس سے بچنا چاہیے۔
زیادہ تر لوگ VPN پروفائل میں nonce کا لفظ دیکھتے ہیں اور سمجھتے ہیں کہ یہ ساتھیوں کے درمیان نقل کرنے کے لیے ایک اور مشترکہ راز ہے۔ ایسا نہیں ہے۔ nonce ایک قدر ہے جو اسی کلید کے تحت کبھی نہیں دہرائی جانی چاہیے، اور nonce پر مبنی زیادہ تر خفیہ کاری میں یہ کھلے طور پر سفر کرتی ہے۔ الجھن اس وقت تک بے ضرر رہتی ہے جب تک کوئی اسے ہاتھ سے ترمیم نہ کرے، اور اصل نقصان وہیں سے شروع ہوتا ہے۔
nonce اصل میں کہاں سے آتا ہے
تصدیق شدہ خفیہ کاری کو ایک کلید کے تحت خفیہ کیے گئے ہر پیغام کے لیے الگ nonce درکار ہوتا ہے۔ پروٹوکول اس ضرورت کو مختلف طریقوں سے پورا کرتے ہیں: یکساں بڑھنے والا شمار کنندہ، پیکٹ شناخت کنندہ کے ساتھ ملایا گیا نمک، یا کافی لمبی بے ترتیب قدر۔ IKEv2 ابتدائی تبادلے کے دوران nonce کا تبادلہ کرتا ہے، اور یہ راز نہیں بلکہ کلید کے اشتقاق کے لیے عوامی ان پٹ ہیں۔
انفرادیت ساختی یا امکانی ہو سکتی ہے۔ شمار کنندہ جب تک لپیٹ نہ جائے دہرایا نہیں جا سکتا، اسی لیے پروٹوکول اس سے بہت پہلے کلید کی تجدید کا نقطہ متعین کرتا ہے۔ بے ترتیب قدر کافی بٹس پر انحصار کرتی ہے تاکہ پیغامات کی حد میں تصادم ناممکن ہو، جو مختلف ناکامی کے طریقے والی مختلف دلیل ہے۔ پروٹوکول کی دستاویز بتاتی ہے کہ کون سا طریقہ لاگو ہوتا ہے، اور دونوں صرف اسی وقت محفوظ ہیں جب بیان کردہ حد کا احترام کیا جائے۔
| Design | Where uniqueness comes from | Exhaustion is handled by |
|---|---|---|
| AES-GCM records | An IV, typically a counter | Rekey before the counter wraps |
| ChaCha20-Poly1305 | A 96-bit nonce from a counter or generator | A message limit per key |
| WireGuard | A per-key 64-bit counter | Rekey at a message cap |
| OpenVPN AEAD | Packet identifier plus implicit key material | Rekey on the packet-id limit |
| IKEv2 | Fresh nonces per exchange | A new security association |
دوبارہ استعمال کی اصل قیمت کیا ہے
ایک کلید کے تحت nonce کا دوبارہ استعمال کرنا کارکردگی کا معمولی سوال نہیں ہے۔ GCM کے ساتھ، ایک ہی IV بانٹنے والے دو پیغامات ایک مبصر کو تصدیقی کلید بحال کرنے اور دو واضح متنوں کا خصوصی-یا شمار کرنے دیتے ہیں۔ ندی پر مبنی ساختیں اسی طرح کلیدی ندی دوبارہ استعمال کرتی ہیں، جو خفیہ متن کو راز کے بجائے پہیلی بنا دیتی ہے۔
اسی لیے عمل درآمد شمار کنندہ لپیٹنے سے پہلے کلید تجدید کرتے ہیں، اور اسی لیے جب ان کی حالت غیر یقینی ہو تو وہ جاری رکھنے کے بجائے رک جاتے ہیں۔ ایسا دوبارہ آغاز جو شمار کنندہ ری سیٹ کرتا ہے جبکہ ساتھی ابھی پرانی کلید رکھتا ہے، یا ورچوئل مشین جو سیشن کے وسط میں لیے گئے اسنیپ شاٹ سے بحال کی گئی ہو، بالکل وہی صورت حال ہے جسے روکنے کے لیے حدیں موجود ہیں۔ کسی حملہ آور کی ضرورت نہیں؛ معمولی کارروائیاں کافی ہیں۔
ہاتھ سے ترمیم کیوں غلط حل ہے
شمار کنندے، نمک اور پیکٹ شناخت کنندے دونوں سروں کی مشترکہ حالت مشینیں ہیں۔ ایک طرف بدلنے سے دوسرا ہم آہنگی کھو دیتا ہے، اور سرنگ اس طرح ناکام ہوتی ہے جو روٹنگ کے مسئلے جیسا لگتا ہے۔ معاون لیور تازہ کلید کا تبادلہ ہے، جو ایک ساتھ دونوں سروں کی حالت ری سیٹ کرتا ہے۔
پاس ورڈ اور nonce بھی مختلف کردار ادا کرتے ہیں۔ پاس ورڈ کلید کے اشتقاق کے لیے خفیہ ان پٹ ہے؛ nonce ہر پیغام کے لیے عوامی ان پٹ ہے۔ nonce کا لیبل والا پروفائل فیلڈ جو لمبا راز مانگتا ہے عام طور پر کسی دوسرے نام کے تحت مستقل کلید یا پہلے سے مشترکہ راز ہوتا ہے، اس لیے قیاس کرنے کے بجائے اس فیلڈ کی دستاویز پڑھیں۔
جب کوئی مشورہ nonce کے ساتھ سلوک سے متعلق ہو، تو اصلاح نگہبان کا درست شدہ نسخہ ہے، نہ کوئی دوسرا خفیہ نگار نہ چھوٹی کلید۔ nonce کے لفظ سے بچنے کے لیے خفیہ نگار بدلنا مسئلے کو حل کرنے کے بجائے ہٹا دیتا ہے۔
بغیر قیاس کے انتباہ پڑھنا
شمار کنندوں یا nonce کے بارے میں لاگ سطر عام طور پر حملے کے بجائے گمشدہ حالت بیان کرتی ہے۔ جانچیں کہ کیا ایک ساتھی دوبارہ شروع ہوا، کیا کلون شدہ ورچوئل مشین نے وہی شناخت دوبارہ استعمال کی، اور کیا دونوں سرے کلید کی تجدید کی ترتیبات پر متفق ہیں۔ پھر نیا سیشن قائم کریں اور دیکھیں کہ پیغام واپس آتا ہے یا نہیں۔
تشخیص کو غیر متعلقہ ناکامیوں سے الگ رکھیں۔ وہ صفحہ جو لوڈ نہیں ہوتا، یا وہ اسناد کی درخواست جو لوپ میں گھومتی ہے، nonce کے دوبارہ استعمال کا ثبوت نہیں ہے، اور اسے ایسا سمجھنا آپ کو خفیہ کاری کی تہہ میں بھیجتا ہے جبکہ مسئلہ اس کے اوپر ہے۔
عام استعمال کے لیے، محفوظ اصول مختصر ہے: nonce کو عمل درآمد سنبھالنے دیں، دونوں سروں کو معاون نسخوں پر رکھیں، اور کسی بھی حالت کی ری سیٹ کو قدر میں ترمیم کرنے کے بجائے کلید تجدید کرنے کی وجہ سمجھیں۔ اگر پروفائل فیلڈ فروش کی دستاویز میں نہیں ہے، تو اس کے لیے کوئی قدر نہ گھڑیں۔ سرنگ کی مرمت اس بات سے شروع ہوتی ہے کہ آپ کون سی تہہ دیکھ رہے ہیں۔