پہلے Vault کو اس کے ماسٹر پاس ورڈ سے بنائیں یا اَن لاک کریں۔ Settings ← Security (ترتیبات ← سیکیورٹی) کھولیں، فراہم کنندہ کی حیثیت چیک کریں اور بایومیٹرک اَن لاک فعال کریں۔ اندراج نئی سسٹم تصدیق مانگتا ہے۔ اس کے بعد لاگ اِن اسکرین ماسٹر پاس ورڈ فارم کے ساتھ Touch ID، Windows Hello یا فنگر پرنٹ سے اَن لاک کی پیشکش کرتی ہے۔ Disable and remove enrollment (اندراج غیر فعال کریں اور ہٹائیں) اس ایپلیکیشن کی محفوظ شدہ کلید ہٹاتا ہے، آپریٹنگ سسٹم میں رجسٹرڈ فنگر پرنٹس کبھی نہیں۔
ماسٹر پاس ورڈ سنبھال کر رکھیں: منسوخی، وقت ختم ہونا، ہارڈویئر/keyring کی عدم دستیابی اور کالعدم اندراج سب کے لیے پاس ورڈ پر واپسی ضروری ہے۔ بایومیٹرک اندراج اسی صارف، ڈیوائس اور Vault تک مقامی ہے۔ یہ بحالی کا طریقہ یا بیک اپ نہیں۔ Vault ری سیٹ کرنے سے اندراج منسوخ ہو جاتا ہے اور موجودہ خفیہ کردہ پروفائلز اور ہوسٹ فنگر پرنٹس صرف موجودہ SMAZAT تصدیق کے بعد حذف ہوتے ہیں۔
| پلیٹ فارم | تصدیق اور اسٹوریج | ضروریات اور حدود |
|---|---|---|
| macOS Apple Silicon | مقامی LocalAuthentication / Touch ID؛ biometryCurrentSet اور WhenUnlockedThisDeviceOnly کے ساتھ Security.framework کا Keychain آئٹم |
اندراج شدہ Touch ID، دستیاب سینسر اور قابلِ استعمال لاگ اِن Keychain۔ فنگر پرنٹ کی تبدیلیاں آئٹم کو کالعدم کر دیتی ہیں۔ پروڈکشن اپ ڈیٹس کے لیے مستحکم Developer ID دستخط استعمال کریں؛ ad hoc alpha دستخط Keychain اعتماد اور لوکل نیٹ ورک اجازت کی ٹریکنگ میں خلل ڈال سکتا ہے۔ |
| Windows x64 | مرکزی HWND سے منسلک مقامی WinRT Windows Hello ڈیسک ٹاپ انٹروپ؛ Windows Credential Manager میں موجودہ صارف کی DPAPI سے خفیہ کردہ کلید | کنفیگر شدہ Hello فنگر پرنٹ، چہرہ یا PIN۔ یہ سہولت کے لیے اَن لاک ہے: Hello کی منظوری ایپ نافذ کرتی ہے، جبکہ DPAPI خود بایومیٹرک سے محفوظ نہیں۔ اسی صارف کے طور پر چلنے والا دوسرا کوڈ اسناد کو ڈی کرپٹ کر سکتا ہے۔ |
| Ubuntu x64 | fprintd D-Bus کے ذریعے موجودہ صارف کا اندراج شدہ فنگر پرنٹ؛ libsecret / Secret Service میں واضح اسناد کی اسٹوریج | معاون ریڈر، اندراج شدہ فنگر پرنٹ، چلتی ہوئی ڈیسک ٹاپ Secret Service اور پہلے سے طے شدہ keyring۔ سہولت کے لیے اَن لاک: keyring کی اسناد خفیہ نگاری کے لحاظ سے فنگر پرنٹ تصدیق سے منسلک نہیں۔ basic_text یا سادہ متن فائل پر کوئی واپسی نہیں۔ |
Ubuntu پر اختیاری رن ٹائم پیکجز python3-gi، gir1.2-secret-1، gnome-keyring (یا کوئی اور مطابقت رکھنے والی Secret Service) اور fprintd ہیں۔ گمشدہ پیکجز عام OS پیکج مینیجر سے انسٹال کریں، پھر OS کی ترتیبات میں فنگر پرنٹ کا اندراج کریں۔ تصدیق موجودہ صارف کو استعمال کرتی ہے اور اسے root کی ضرورت نہیں اور نہ یہ PAM کو بدلتی ہے۔ ڈیسک ٹاپ keyring کے بغیر ہیڈ لیس SSH سیشن «دستیاب نہیں» رپورٹ کرتا ہے؛ یہ خاموشی سے کلید کہیں اور محفوظ نہیں کرتا۔
لاکنگ کے اصول
موجودہ انسٹالیشنز کے لیے خودکار لاک بند ہے۔ فعال کرنے پر پہلے سے 15 منٹ منتخب ہوتے ہیں؛ معاون قدریں Never (کبھی نہیں)، 1، 5، 10، 15، 30 اور 60 منٹ ہیں۔ ایپلیکیشن ونڈوز میں کی بورڈ اور ماؤس ان پٹ سرگرمی شمار ہوتا ہے؛ آنے والا SSH آؤٹ پٹ نہیں۔ توجہ ہٹنے پر اختیاری لاک ایپلیکیشن کی پلگ اِن ونڈوز کو ایپ کا حصہ سمجھتا ہے اور جاری سسٹم تصدیقی پیغام کو مکمل ہونے دیتا ہے۔ ان اصولوں کو بدلنے کے لیے ماسٹر پاس ورڈ درکار ہے۔
ہر Vault لاک، بشمول غیر فعالیت اور توجہ ہٹنے پر لاک، فعال SSH سیشنز منقطع کرتا ہے، پلگ اِنز بند کرتا ہے اور تشخیص روک دیتا ہے۔ لاک کرنے سے پہلے ریموٹ ترامیم محفوظ کریں۔ یہ موجودہ دستی لاک کا رویہ برقرار رکھتا ہے؛ لاک کے بعد پس منظر پلگ اِنز کے لیے کوئی SSH اسناد دستیاب نہیں رہتیں۔
حساس عمل کی اختیاری پالیسی پروفائل حذف کرنے، پلگ اِن انسٹال/ہٹانے، انسٹالر چلانے اور اَن لاک Vault ری سیٹ کرنے کے لیے نئی سسٹم تصدیق مانگتی ہے۔ ریموٹ ٹرمینل کمانڈز اور پلگ اِن کی فائل ترامیم اس پالیسی سے باہر ہیں۔ یہ پالیسی SSH سرور کی اجازت کا متبادل نہیں۔ اگر فراہم کنندہ کام کرنا بند کر دے تو ماسٹر پاس ورڈ سے اَن لاک کریں اور اسی پاس ورڈ سے پالیسی بدلیں۔ ری سیٹ اپنی تباہ کن تصدیق کے بعد لاک شدہ بحالی اسکرین سے دستیاب رہتا ہے۔
Vault اور IPC کا ڈیزائن
موجودہ v1 Vault، scrypt کے ساتھ AES-256-GCM ہی رہتا ہے؛ اندراج اس کی فائلیں دوبارہ نہیں لکھتا اور نہ اس کا اسکیمہ بدلتا ہے۔ صرف اس کی اخذ شدہ 32 بائٹ کلید کی ایک کاپی OS اسناد اسٹوریج میں جاتی ہے۔ سادہ متن والا ماسٹر پاس ورڈ کبھی محفوظ نہیں کیا جاتا۔ مقامی اندراج میٹا ڈیٹا میں بے ترتیب اسناد ID، فراہم کنندہ اور Vault کے ناقابلِ تغیر میٹا ڈیٹا سے SHA-256 بندش ہوتی ہے۔ بحال کی گئی کلید کو سیشن کھلنے سے پہلے مستند ڈی کرپشن سے گزرنا ہوتا ہے۔ مرکزی پروسیس کے بفرز استعمال کے بعد صاف کیے جاتے ہیں؛ مقامی پروٹوکول اسٹرنگز عارضی پروسیس میموری ہیں، منظم رن ٹائمز میں میموری کے مکمل مٹائے جانے کا دعویٰ نہیں۔
ہیلپر محدود نجی stdin/stdout پائپس کے ذریعے رابطہ کرتا ہے، کوئی شیل کمانڈ قبول نہیں کرتا، تصدیق کے لیے وقت کی حدیں رکھتا ہے اور صاف کیے گئے خرابی کوڈز واپس کرتا ہے۔ ہیلپرز ASAR سے باہر resources/biometrics میں پیک کیے جاتے ہیں؛ یہ الگ مقامی ایگزیکیوٹیبلز ہیں، اس لیے Electron ABI مقامی ماڈیول کی ضرورت نہیں۔ Linux ہیلپر سسٹم کا Python اور GI استعمال کرتا ہے۔ مقامی آبجیکٹس اور اخذ شدہ کلیدیں کبھی renderer/پلگ اِن پل عبور نہیں کرتیں۔ بایومیٹرک IPC زندہ مرکزی ونڈو اور اس کے مرکزی فریم کی توثیق کرتا ہے؛ پلگ اِنز اسے نہیں بلا سکتے۔ واضح لاک زیرِ التوا بایومیٹرک اور پاس ورڈ اَن لاک کا کام منسوخ کرتا ہے تاکہ دیر سے آنے والی منظوری Vault کو دوبارہ نہ کھول سکے۔ اندراج ہٹانا اس کی مقامی بندش منسوخ کرتا ہے چاہے OS اسٹور آف لائن ہو؛ ناقابلِ رسائی اسٹور میں ناقابلِ استعمال یتیم اسناد باقی رہ سکتی ہیں۔
بلڈ اور تصدیق
npm run biometrics:build ہوسٹ پلیٹ فارم کے لیے ہیلپر تیار کرتا ہے؛ ڈیولپمنٹ آغاز اور ریلیز کی تیاری اسے خودکار طور پر چلاتے ہیں۔ macOS کے لیے Security اور LocalAuthentication کے ساتھ Swift/Apple SDK درکار ہے؛ Windows کے لیے Visual Studio C++ Build Tools، Windows SDK اور C++/WinRT؛ Linux، Python ہیلپر کاپی کرتا ہے۔ کوئی نیا npm انحصار شامل نہیں کیا گیا۔ ہر ہدف OS پر مقامی طور پر بلڈ کریں۔ macOS ہیلپر تکراری بنڈل دستخط میں شامل ہے؛ اسے App Sandbox entitlement کی ضرورت نہیں کیونکہ یہ ڈیسک ٹاپ ایپ sandbox میں نہیں چلتی۔ پروڈکشن macOS تقسیم کے لیے اب بھی Developer ID دستخط اور notarization درکار ہیں، OpenPGP ریلیز دستخطوں سے آزادانہ طور پر۔
npm test، npm run test:biometrics:ui اور npm run test:diagnostics:ui چلائیں۔ بایومیٹرک Node ٹیسٹس اور الگ UI اسموک ٹیسٹ ایک فرضی OS اڈاپٹر استعمال کرتے ہیں تاکہ کامیابی، مسترد/منسوخی، غلط کلیدیں، گمشدہ ہارڈویئر/اندراج، ری سیٹ، وقت ختم ہونا اور دیر سے نتائج، دستیاب نہ ہونے والی Linux keyrings، OS اسناد کی ناکامیاں، PIN سے منظور شدہ Windows جوابات، macOS اندراج کی تبدیلیاں، موجودہ Vault سے مطابقت، IPC علیحدگی اور SSH صفائی کا احاطہ ہو۔ یہ ہارڈویئر پر کامیاب تصدیق ثابت نہیں کرتا۔
مقامی کمپائلیشن کی تصدیق macOS arm64 اور Windows x64 پر کی گئی۔ macOS Touch ID دستیاب ہونے کی اطلاع دیتا ہے؛ Windows VM، Hello کے دستیاب نہ ہونے کی اطلاع دیتی ہے۔ فنگر پرنٹ/چہرے/PIN کا اندراج، محفوظ کلید کی حقیقی بازیابی، OS ڈائیلاگ کی منسوخی اور اندراج کی تبدیلی سے کالعدمی کے لیے اب بھی ہر معاون سسٹم پر انٹرایکٹو ہارڈویئر جانچ درکار ہے۔ Linux ہیلپر کو مزید معاون fprintd ریڈر والے ڈیسک ٹاپ پر جانچنا ضروری ہے؛ ہیڈ لیس VM یہ تصدیق ثابت نہیں کر سکتی۔
پلیٹ فارم حوالہ جات: Apple بایومیٹرک رسائی کنٹرول، Windows ڈیسک ٹاپ Hello انٹروپ، fprintd ڈیوائس لائف سائیکل، Secret Service تفصیلات۔
macOS پر SSH کی لوکل نیٹ ورک رسائی
اگر ہر مقامی SSH پروفائل connect EHOSTUNREACH کے ساتھ ناکام ہو لیکن وہی کنکشن Terminal میں کام کرے تو System Settings ← Privacy & Security ← Local Network ← CH-J Server Manager (سسٹم سیٹنگز ← رازداری اور سیکیورٹی ← لوکل نیٹ ورک) چیک کریں، رسائی کی اجازت دیں، ایپ مکمل طور پر بند کریں اور دوبارہ کھولیں۔ اگر یہ پہلے سے فعال ہو تو اس کی اجازت بند کر کے دوبارہ چالو کریں اور ری اسٹارٹ کریں۔ روٹنگ، Wi-Fi/Ethernet اور VPN بھی چیک کریں: صرف یہ خرابی رازداری کی وجہ سے انکار کا ثبوت نہیں۔ اس خرابی کی وجہ سے Vault ری سیٹ نہ کریں اور نہ قابلِ اعتماد SSH فنگر پرنٹس ضائع کریں۔
ایپ NSLocalNetworkUsageDescription کا اعلان کرتی ہے اور macOS نیٹ ورک اجازت/روٹ کی خرابیوں کے لیے مقامی زبان میں رہنمائی فراہم کرتی ہے۔ یہ خود کو اجازت نہیں دے سکتی۔ Apple، Apple کی جاری کردہ دستخطی شناخت کی سفارش کرتا ہے تاکہ macOS مختلف بلڈز میں نیٹ ورک رازداری کو قابلِ اعتماد طریقے سے ٹریک کر سکے؛ موجودہ ad hoc alpha بلڈز میں یہ حد برقرار ہے۔ لوکل نیٹ ورک رازداری پر Apple کی رہنمائی دیکھیں۔
Ubuntu پر ایپلیکیشن آئیکن
Debian پیکجز موجودہ CH-J آئیکن کو معیاری hicolor سائزز (16–512 px) میں، متعلقہ ڈیسک ٹاپ اندراج اور Electron ونڈو کلاس کے ساتھ انسٹال کرتے ہیں۔ مرکزی ونڈو دوبارہ بنائے جانے پر بھی آئیکن حاصل کرتی ہے۔ پہلے سے پن کیے گئے پرانے لانچر کو اپ ڈیٹ کرنے کے بعد اسے اَن پن کریں اور نئی انسٹال شدہ ایپلیکیشن پن کریں؛ ڈیسک ٹاپ سے لاگ آؤٹ/لاگ اِن پرانی GNOME لانچر کیش کو تازہ کر سکتا ہے۔