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

علامت: سست والا خفیہ شدہ پروفائل نہیں ہے

فرض کریں کوئی پرانا ٹیسٹ AEAD سائفر کا موازنہ „بغیر خفیہ کاری“ موڈ سے کرتا ہے، جو اب بھی ہر پیکٹ کے لیے الگ توثیقی کوڈ شمار کرتا ہے۔ دوسرا پروفائل پے لوڈ کا مواد چھپاتا ہے مگر فی پیکٹ ہیش رکھتا ہے، اور ایسے پروسیسر پر جس میں اس ہیش کے لیے تیز کاری نہیں، یہ اس مربوط ساخت سے زیادہ مہنگا پڑ سکتا ہے جسے اسے ہرانا تھا۔

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

یہی پوری وضاحت ہے، اور اسے یہ دعوے کی ضرورت نہیں کہ کون سی بنیادی چیز عالمی طور پر تیز ہے۔ دونوں تیز ہو سکتے ہیں، دونوں سست ہو سکتے ہیں، اور ترتیب مشین اور کوڈ پر منحصر ہے۔

لیبل نہیں، عمل گنیں

AEAD ساخت، جیسا کہ RFC 5116 بیان کرتا ہے، نفاذ کو ایک ہی انٹرفیس دیتی ہے جو خفیہ متن اور ٹیگ ایک ساتھ واپس کرتا ہے۔ AES-GCM ایک مثال ہے: کاؤنٹر موڈ خفیہ کاری Galois توثیق کار کے ساتھ ملی ہوئی۔ انٹرفیس سالمیت کو مفت نہیں بناتا؛ یہ امتزاج کو واضح طور پر متعین کرتا ہے، اور یہی نفاذ کو جوڑی کو ایک اکائی کے طور پر بہتر بنانے دیتا ہے۔

Separate authentication path:
  payload -> independent HMAC -> framed packet

AEAD path:
  payload -> authenticated encryption with tag -> framed packet

یہ پروسیسنگ کے خاکے ہیں، کنفیگریشن مشورے نہیں۔ پہلے میں رازداری نہیں ہے مگر یہ پھر بھی توثیق پر CPU خرچ کرتا ہے، اور اسی لیے „خفیہ کاری بند کریں“ کا مطلب „کرپٹوگرافک کام بند کریں“ نہیں ہے۔

دوسرا سستا ہو سکتا ہے کیونکہ پروسیسر دونوں ادھاؤں کے لیے ہدایات دیتے ہیں: AES راؤنڈز اور وہ بے کیری ضرب جو Galois میدان استعمال کرتا ہے۔ لائبریریاں خودمختار بفر بھی متوازی پروسیس کرتی ہیں، جو ان ہدایات کو یادداشت کے انتظار کے بجائے مصروف رکھتی ہے۔

طے شدہ موڈ درحقیقت کیا ممکن بناتا ہے

Community OpenVPN میں، AEAD ڈیٹا سائفر کا مطلب ہے کہ auth اختیار اب اپنا الگ ڈیٹا چینل HMAC فراہم نہیں کرتا۔ خفیہ کاری اختیار کا حوالہ اس دائرے کو بیان کرتا ہے، اور یہی وجہ ہے کہ متن کی فائل میں ایک جیسے دکھنے والی دو کنفیگریشنز فی پیکٹ کام میں مختلف ہو سکتی ہیں۔

خواہشوں کی فہرست نہیں، طے شدہ موڈ پڑھیں۔ اجازت یافتہ سائفرز کی فہرست اور TLS سوٹ کا نام آپ کو نہیں بتاتے کہ پے لوڈ پر کون سے عمل چلتے ہیں، اور پرانی cipher سطر یہ بیان نہ کر سکے کہ موجودہ کنکشن نے کیا چنا۔

openvpn --show-ciphers | head -20
sudo grep -E 'cipher|auth' /etc/openvpn/server.conf

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

جو بوجھ آپ واقعی چلاتے ہیں اسے ناپیں

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

openssl speed -evp aes-256-gcm
openssl speed -evp sha1

وہ دو حکم آپ کو سامنے کی مشین پر بنیادی چیزوں کا موٹا مقامی موازنہ دیتے ہیں، اور وہ اس بات میں دیانت دار ہیں کہ یہ خرد پیمانے ہیں۔ وہ آپ کی سرنگ کی تھروپٹ کے بارے میں کچھ نہیں کہتے، اور انہیں کبھی اس طور پر نقل نہیں کرنا چاہیے۔

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

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

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