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

ہم آپ کے پاس ورڈز کی حفاظت کیسے کرتے ہیں

Splync کبھی بھی آپ کے پاس ورڈ کو سادہ متن میں محفوظ نہیں کرتا

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

ہیشنگ کی بنیادی باتیں: ایک ایسا بلینڈر جو ہمیشہ ایک ہی طرح مکس کرتا ہے

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

SHA-256 کی مثال: پاس ورڈز کو جانے بغیر کیسے تصدیق کریں

SHA-256 سب سے عام ہیشنگ الگورتھمز میں سے ایک ہے۔ مثال کے طور پر، یہ پاس ورڈ "splync1234" کو "9cdafa20d069ecfb202e5f0bc937c73071cc6cd85634cc2d95d30ddcf2a71d41" میں ہیش کرتا ہے۔ ہر بار جب کوئی موجودہ صارف لاگ ان پاس ورڈ انٹر کرتا ہے، SHA-256 ہمیشہ وہی ہیش پاسورڈ بناتا ہے۔ ایپ بس انٹر کیا گیا پاس ورڈ دوبارہ ہیش کرتی ہے اور چیک کرتی ہے کہ آیا یہ محفوظ شدہ ہیش سے میل کھاتا ہے یا نہیں۔ کسی بھی وقت نظام کبھی بھی صارف کے اصل پاس ورڈ کو نہیں جانتا۔ لیکن اگر کوئی حملہ آور عام پاس ورڈز کی فہرست اور ان کی ہیشز پہلے سے بنا لے (جسے رینبو ٹیبل حملہ کہا جاتا ہے) تاکہ صارفین کے پاس ورڈز کو جلدی سے اندازہ لگا لے؟ یہ تشویش بہت حقیقی ہے۔ یہی وجہ ہے کہ جدید نظام، بشمول Splync، سیدھے SHA-256 پر انحصار نہیں کرتے۔

Splync پاس ورڈز کو bcrypt کے ساتھ ہیش کرتا ہے — SHA-256 سے زیادہ مضبوط

Bcrypt ہر صارف کے لیے ایک تصادفی نمک (salt) استعمال کرتا ہے اور اس نمک (اور لاگت عنصر) کو براہ راست محفوظ شدہ ہیش اسٹرنگ میں انکوڈ کرتا ہے۔ Bcrypt کو ایک بلینڈر کی طرح سمجھیں جس میں ایک خفیہ مصالحہ (نمک) اور ایک سست موٹر (کام کا عنصر) ہے — یہ ہر مکس کو منفرد اور نقل کرنا مشکل بنا دیتا ہے۔ چونکہ نمک 128 بٹس (≈3×10³⁸ ممکنات) ہے، وہی پاس ورڈ ایک زبردست بڑی تعداد میں مختلف محفوظ شدہ ہیشز میں نقش کر سکتا ہے۔ یہ پہلے سے تیار شدہ رینبو ٹیبلز کو بڑی تعداد میں بیکار بنا دیتا ہے۔ لاگ ان کے دوران، Splync محفوظ شدہ bcrypt اسٹرنگ سے نمک اور لاگت کو پڑھتا ہے، ان پیرامیٹرز کے ساتھ انٹر کردہ پاس ورڈ پر دوبارہ bcrypt چلاتا ہے، اور نتیجہ کو محفوظ شدہ ہیش سے موازنہ کرتا ہے۔ اگر وہ میل کھاتے ہیں تو پاس ورڈ درست ہے — لیکن چونکہ bcrypt جان بوجھ کر سست ہے اور نمک منفرد ہیں، تو برُوٹ فورس حملے حملہ آور کے لیے کہیں زیادہ مہنگے ہو جاتے ہیں۔

bcrypt کے ساتھ ایک آسان مثال

آئیے دیکھتے ہیں کہ یہ حقیقی دنیا میں کیسا نظر آتا ہے۔ اگر آپ پاس ورڈ "splync1234" کو bcrypt کے ساتھ ہیش کریں (لاگت 12 استعمال کرتے ہوئے)، تو آپ کو اس طرح کی ایک اسٹرنگ مل سکتی ہے: `$2b$12$gBeouKYdue9uvvuV0HtGgeVPymnrojMqP/wcRw28HFlGEGIQbyw7O`۔ اس bcrypt اسٹرنگ میں، `$2b` الگوریدم کے ورژن کو ظاہر کرتا ہے، `$12` لاگت عنصر کو ظاہر کرتا ہے (پاس ورڈ کتنی بار پروسیس کیا جاتا ہے)، `gBeouKYdue9uvvuV0HtGgeV` منفرد تصادفی نمک ہے، اور `PymnrojMqP/wcRw28HFlGEGIQbyw7O` حتمی ہیش پاس ورڈ ہے۔ چونکہ ہیش خود نمک اور لاگت کو شامل کرتا ہے، Splync تصدیق کے لیے محفوظ کردہ اسٹرنگ سے ان قدروں کو نکال کر ایک ہی ہیشنگ عمل کو دوبارہ پیدا کر سکتا ہے اور نتیجہ کا موازنہ کر سکتا ہے۔ دوسری طرف، اگر کسی حملہ آور کو نمک اور لاگت کا پتہ نہ ہو، تو وہ ہر صارف کے لیے کام کرنے والا ایک ہی رینبو ٹیبل نہیں بنا سکتا۔

ہیش شدہ پاس ورڈز دوہری حفاظت پیش کرتے ہیں

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