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

فنگر پرنٹ اصل میں کس چیز کا پابند ہے

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

openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256

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

نقشہ دو طرفہ ہے، ہم آہنگ نہیں

ہر آخری نقطہ کو دو چیزیں درکار ہیں: اپنی نجی کلید سرٹیفکیٹ کے ساتھ، اور یہ بیان کہ کون سے ہم منصب سرٹیفکیٹ قبول کرے گا۔ کلائنٹ پر وہ بیان سرور سرٹیفکیٹ کا ڈائجسٹ ہے؛ سرور پر وہ رجسٹرڈ کلائنٹ ڈائجسٹس کی فہرست ہے۔ Community 2.6 کے لیے چھوٹی ترتیب کی سرکاری مثال peer-fingerprint کے ساتھ ترتیب دکھاتی ہے، اور حقیقی استقرار کے لیے یہ اعتماد ماڈل چننے سے پہلے اسے پڑھنا مناسب ہے۔ دونوں سمتیں ایک الٹی فہرست نہیں ہیں، اور وہ ایک ہی لمحے میں ناکام نہیں ہوتیں۔

Verification directionWhat is pinnedWhat never leaves that endpointHow a wrong pin shows up
Client checks the serverOne digest, for the server certificateThe server private keyThe client aborts during the TLS handshake
Server checks the clientA digest per enrolled clientEach client private keyThe server rejects the peer before a tunnel exists

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

اندراج: نیا آلہ کیسے شامل ہوتا ہے

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

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

تجدید مہنگا لمحہ ہے

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

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

اعتماد کا نقشہ کیا طے نہیں کرتا

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

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

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