পাসওয়ার্ড কীভাবে ভাঙে: অনুমান, ফাঁস হওয়া তালিকা আর সময়ের হিসাব

পাসওয়ার্ড ভাঙার সময়ের কাল্পনিক হিসাব, ৮ অক্ষরে গড়ে ১.৬ দিন, ১৬ অক্ষরে প্রায় ১২ লক্ষ কোটি বছর

শেষ হালনাগাদ:

পাসওয়ার্ডকে আমরা তালার মতো ভাবি, কিন্তু তালা ভাঙার সব পদ্ধতি এক রকম নয়। কোনোটিতে আক্রমণকারী আপনার অ্যাকাউন্টের লগইন পাতায় বসে একটার পর একটা চেষ্টা করে, কোনোটিতে সে চুরি করা একটি বিশাল ডেটাবেস নিজের যন্ত্রে বসে ভাঙে, আবার কোনোটিতে সে অনুমানই করে না, সোজা চেনা পাসওয়ার্ডের তালিকা ধরে এগোয়। কোন পথে কতটা ঝুঁকি, তা বুঝলে পাসওয়ার্ড জেনারেটর টুলে দৈর্ঘ্য কত দেবেন তা ঠিক করা সহজ হয়। এই লেখায় তিনটি পথ আর কাল্পনিক একটি গতিতে সময়ের হিসাব দেখব।

পথ ১: লগইন পাতায় সরাসরি অনুমান

একে অনলাইন আক্রমণ বলে। আক্রমণকারী আপনার ইমেইল বা নাম জানে, এখন পাসওয়ার্ডের জায়গায় একটার পর একটা চেষ্টা করে। এখানে ভরসা সাইটের নিজের বাধা: কয়েকবার ভুল হলে অ্যাকাউন্ট কিছুক্ষণের জন্য বন্ধ হয়ে যাওয়া, ক্যাপচা, বা অন্য ডিভাইস থেকে ঢুকলে অতিরিক্ত যাচাই। এসব না থাকলে ছোট পাসওয়ার্ড টেকে না। একটি কাল্পনিক হিসাব ধরুন, প্রতি সেকেন্ডে ১০টি চেষ্টা। চার অঙ্কের পিনে মোট ১০,০০০টি সম্ভাবনা, গড়ে অর্ধেক খুঁজলেই মেলে, অর্থাৎ ৫০০ সেকেন্ড, সাড়ে আট মিনিটের কাছাকাছি। এ কারণেই ফোনের পিনে ভুলের সীমা থাকে। কিন্তু সব সাইটে এই বাধা সমান শক্ত নয়, আর আপনি জানেনও না কোন সাইটে কেমন। তাই শুধু বাধার ভরসায় থাকা ঠিক নয়।

পথ ২: চুরি হওয়া ডেটাবেসে অফলাইন অনুমান

এটাই আসল চিন্তার জায়গা। কোনো সাইট বা অ্যাপের সার্ভার ভেঙে ঢুকে গেলে আক্রমণকারী ব্যবহারকারীদের তথ্য নিয়ে যেতে পারে। ভালো সাইট সরাসরি পাসওয়ার্ড রাখে না, রাখে তার “হ্যাশ”, অর্থাৎ পাসওয়ার্ড থেকে বানানো একটি একমুখী ছাপ। হ্যাশ দেখে মূল পাসওয়ার্ড বের করা যায় না, কিন্তু আক্রমণকারী নিজের যন্ত্রে লক্ষ লক্ষ অনুমান করে প্রতিটির হ্যাশ বানিয়ে মিলিয়ে দেখতে পারে। এখানে কোনো লকআউট নেই, কোনো ক্যাপচা নেই, কেউ দেখছেও না। গতি নির্ভর করে তার যন্ত্রের ওপর আর সাইট কোন ধরনের হ্যাশ ব্যবহার করেছে তার ওপর।

দ্রুত হ্যাশে এক সেকেন্ডে কোটি কোটি অনুমান সম্ভব। যে সাইট ইচ্ছে করে ধীর হ্যাশ ব্যবহার করে (বিশেষভাবে এ কাজের জন্য বানানো পদ্ধতি, যেমন bcrypt বা Argon2), সেখানে গতি বহুগুণ কমে যায়। কিন্তু আপনি জানতে পারেন না কোন সাইট কোনটি ব্যবহার করে। নিরাপদ ধারণা হলো, সবচেয়ে খারাপ ক্ষেত্র ধরে নিয়ে পাসওয়ার্ড বানানো।

আরেকটি জিনিস ভালো সাইট করে: হ্যাশ বানানোর আগে প্রতিটি পাসওয়ার্ডে একটি আলাদা এলোমেলো মান (একে “লবণ” বলে) জুড়ে দেয়। ফলে দুজন ব্যবহারকারীর পাসওয়ার্ড একই হলেও হ্যাশ আলাদা হয়, আর আক্রমণকারীকে প্রতিটি ব্যবহারকারীর জন্য আলাদা করে খুঁজতে হয়। এটি আক্রমণকে ধীর করে, কিন্তু থামায় না। শেষ পর্যন্ত নিরাপত্তা আসে আপনার পাসওয়ার্ডের নিজের শক্তি থেকে।

পাসওয়ার্ড ভাঙার তিনটি পথ: লগইনে সরাসরি অনুমান, চুরি হওয়া ডেটাবেসে অফলাইন অনুমান, চেনা তালিকা ও প্যাটার্ন
তিনটি পথ, প্রতিটির ভরসা আলাদা।

পথ ৩: চেনা তালিকা আর প্যাটার্ন

তৃতীয় পথে আক্রমণকারী সব সম্ভাবনা গোনে না, বরং আগে সবচেয়ে সম্ভাব্যগুলো চেষ্টা করে। তার তালিকায় থাকে বহুল ব্যবহৃত পাসওয়ার্ড, আগের ফাঁসে বেরিয়ে আসা পাসওয়ার্ড, শব্দকোষের শব্দ, নাম, জন্মসাল, কিবোর্ডের সারি, আর এগুলোর চেনা রদবদল (শেষে সংখ্যা বসানো, কোনো অক্ষর বড় করা, a-র জায়গায় @ দেওয়া)। এই পথে মানুষের বানানো পাসওয়ার্ড খুব দ্রুত ভাঙে, তার দৈর্ঘ্য যত বড়ই দেখাক। Rahim@1998 দেখতে ১০ অক্ষরের, চার ধরনের, কিন্তু নাম আর সাল আর একটি চিহ্ন, এই ছক তালিকার প্রথম দিকেই পড়ে।

কোনো পাসওয়ার্ড সত্যিই এলোমেলো হলে এই তালিকায় তার থাকার সম্ভাবনা প্রায় শূন্য। টুল ঠিক এ কাজটাই করে: প্রতিটি অক্ষর ব্রাউজারের নিরাপদ র‍্যান্ডম উৎস থেকে নেওয়া হয়, কোনো শব্দ বা প্যাটার্ন নেই, ফলে আক্রমণকারীর হাতে শুধু পুরো জায়গা খোঁজার পথ বাকি থাকে। আর সেই খোঁজার সময় দৈর্ঘ্যের সঙ্গে দ্রুত বাড়ে।

সময়ের হিসাব: কাল্পনিক একটি গতিতে

হিসাবটি সোজা। পাসওয়ার্ডের সব সম্ভাবনার সংখ্যাকে (ভাণ্ডারের আকার ঘাত দৈর্ঘ্য) আক্রমণকারীর গতি দিয়ে ভাগ করলে সর্বোচ্চ সময় আসে। গড়ে লাগে তার অর্ধেক, কারণ পাসওয়ার্ড সাধারণত জায়গার মাঝামাঝি কোথাও পড়ে। ধরুন একটি কাল্পনিক দ্রুত যন্ত্র আছে যা প্রতি সেকেন্ডে ১,০০০ কোটি অনুমান করতে পারে। এটি কোনো নির্দিষ্ট যন্ত্র বা হ্যাশের দাবি নয়, শুধু তুলনার জন্য একটি বড় সংখ্যা। বাস্তবে গতি এর চেয়ে বহুগুণ কম বা বেশি হতে পারে।

কাল্পনিক হারে বিভিন্ন পাসওয়ার্ড ভাঙার গড় সময়ের ছক, ৮ অঙ্ক থেকে ১৬ অক্ষর
প্রতি সেকেন্ডে ১,০০০ কোটি অনুমান ধরলে গড় সময় (কাল্পনিক হার)।

ছক থেকে তিনটি জিনিস চোখে পড়ে। প্রথমত, ৮ অক্ষরের শুধু সংখ্যার পাসওয়ার্ড এক সেকেন্ডের শতভাগের মধ্যে ভেঙে যায়। দ্বিতীয়ত, ৮ অক্ষরের সব ধরনের মিশ্রণও (৫১ বিট) গড়ে মাত্র দেড় দিনের কিছু বেশি টেকে। এ কারণে আজকের হিসাবে ৮ অক্ষরকে আর যথেষ্ট ধরা যায় না। তৃতীয়ত, প্রতি দুটি অক্ষর বাড়ালে সময় প্রায় ৭,০০০ গুণ বাড়ে (৮৫ গুণ ৮৫), তাই ১০ থেকে ১২ অক্ষরে গিয়ে সময় ৩১ বছর থেকে প্রায় ২ লক্ষ ২৫ হাজার বছরে ওঠে। ১৬ অক্ষরে এই হিসাবে গড়ে প্রায় ১২ লক্ষ কোটি বছর লাগে, যা মহাবিশ্বের বয়সের চেয়ে বহুগুণ বেশি।

একটি সতর্কতা: এই বড় সংখ্যাগুলো আসল নিরাপত্তার গ্যারান্টি নয়। যন্ত্র বছরে বছরে দ্রুত হয়, আর কেউ যদি পাসওয়ার্ডটি অন্য উপায়ে পেয়ে যায় (ভুয়া পাতা, ক্ষতিকর অ্যাপ), অনুমানের হিসাব অপ্রাসঙ্গিক হয়ে যায়। হিসাবটি দেখায় কেবল অনুমান করে ভাঙার পথে দৈর্ঘ্য কত বড় ঢাল।

মানুষের বানানো আর র‍্যান্ডমের পার্থক্য

ছকের সংখ্যাগুলো শুধু র‍্যান্ডম পাসওয়ার্ডের জন্য ঠিক। মানুষের বানানো পাসওয়ার্ডে অক্ষর বাছা এলোমেলো নয়: শুরুতে বড় হাতের অক্ষর, মাঝে নাম বা শব্দ, শেষে সংখ্যা। আক্রমণকারী এই অভ্যাস জানে, তাই তার আসল খোঁজার জায়গা ছোট হয়ে যায়। যে পাসওয়ার্ড ছকে সূত্র অনুযায়ী “কয়েক দশক” দেখায়, মানুষের বানানো হলে সেটি বাস্তবে কয়েক মিনিটেও ভাঙতে পারে।

মানুষের বানানো চেনা ছাঁচের পাসওয়ার্ড আর টুলে বানানো এলোমেলো পাসওয়ার্ডের পাশাপাশি তুলনা
উদাহরণগুলো কাল্পনিক।

এই পার্থক্যই জেনারেটর ব্যবহারের আসল কারণ। আপনি যত “এলোমেলো” ভেবে লেখেন, মাথা ততটা এলোমেলো হতে পারে না। কোন ভুলগুলো সবচেয়ে বেশি দেখা যায়, তা আলাদা করে আছে https://sellshop.com.bd/password-bananor-choy-bhul/ লেখায়।

ফাঁস হয়েছে সন্দেহ হলে

পাসওয়ার্ড ফাঁস হলে সব সময় কেউ আপনাকে জানায় না। কিছু লক্ষণ দেখলে সন্দেহ করুন: নিজে না চাওয়া সত্ত্বেও পাসওয়ার্ড বদলানোর ইমেইল আসা, অচেনা ডিভাইস বা জায়গা থেকে লগইনের বিজ্ঞপ্তি, বন্ধুদের কাছে আপনার নামে অদ্ভুত বার্তা যাওয়া, বা সাইট কোনো ফাঁসের কথা ঘোষণা করা। এরকম হলে এই ক্রমে এগোন: প্রথমে ইমেইলের পাসওয়ার্ড বদলান, তারপর সন্দেহজনক সাইটের, এবং যেখানে একই পাসওয়ার্ড ছিল সেখানেও। সব ডিভাইস থেকে সাইন আউট করার অপশন থাকলে চেপে দিন। দুই ধাপের যাচাই চালু না থাকলে এখনই চালু করুন। ইমেইলে আপনার অজান্তে বানানো ফরোয়ার্ডিং নিয়ম আছে কি না দেখুন, কারণ কেউ নিজের জন্য আপনার ইমেইলের কপি পাঠানোর ব্যবস্থা করে রাখতে পারে। ব্যাংক বা মোবাইল ব্যাংকিংয়ের অ্যাকাউন্ট জড়িত থাকলে সঙ্গে সঙ্গে তাদের সেবাকেন্দ্রে জানান।

তাহলে কী করবেন

  • গুরুত্বপূর্ণ অ্যাকাউন্টের (ইমেইল, ব্যাংক, মোবাইল ব্যাংকিং) জন্য এলোমেলো পাসওয়ার্ড রাখুন, দৈর্ঘ্য অন্তত ১৪ থেকে ১৬। কত অক্ষর কোন ক্ষেত্রে মানায়, তা আছে https://sellshop.com.bd/password-koto-okkhorer-rakhben-12-16-24/ লেখায়।
  • প্রতিটি সাইটের জন্য আলাদা পাসওয়ার্ড দিন। কেন, তা পরের দিকের https://sellshop.com.bd/ek-password-shob-jaygay-jhunki-password-manager/ লেখায় দেখুন।
  • যেখানে সম্ভব দুই ধাপের যাচাই চালু করুন, যাতে পাসওয়ার্ড ফাঁস হলেও একা তা যথেষ্ট না হয়।
  • কোনো সাইট ফাঁসের খবর দিলে সেই সাইটের পাসওয়ার্ড সঙ্গে সঙ্গে বদলান, আর একই পাসওয়ার্ড অন্য কোথাও থাকলে সেখানেও।

সীমাবদ্ধতা ও হালনাগাদ: এই লেখার সময়ের সংখ্যাগুলো একটি কাল্পনিক গতি ধরে (প্রতি সেকেন্ডে ১,০০০ কোটি অনুমান), কোনো আসল যন্ত্র, সাইট বা হ্যাশের পরিমাপ নয়। ভাণ্ডারের আকার ধরা হয়েছে “দেখতে এক রকম অক্ষর বাদ” টিক ছাড়া (সব ধরনে ৮৫টি অক্ষর)। টিক রাখলে সংখ্যা অল্প কমে। সাইট ভেদে সুরক্ষা আলাদা, তাই এটি নিরাপত্তার নিশ্চয়তা নয়। হালনাগাদ: ২৪ অক্টোবর ২০২৬।

পাসওয়ার্ডের পাঁচটি প্রশ্নের উত্তর এক জায়গায় দেখতে পড়ুন পাসওয়ার্ড এক জায়গায়: বিট, ভাঙার পথ, দৈর্ঘ্য ও ম্যানেজার।

সাধারণ প্রশ্ন

গতি ১,০০০ কোটি ধরা হলো কেন?

এটি তুলনার জন্য বেছে নেওয়া একটি বড় সংখ্যা, কোনো নির্দিষ্ট যন্ত্রের দাবি নয়। গতি দ্বিগুণ হলে সময় অর্ধেক হয়, ছকের সারিগুলোর পারস্পরিক অনুপাত তাতে বদলায় না।

অনলাইন লগইনে কি ছোট পাসওয়ার্ডও চলে?

সাইটের বাধা ভালো থাকলে খানিকটা টেকে। কিন্তু সাইট ফাঁস হলে ছোট পাসওয়ার্ড অফলাইনে দ্রুত ভাঙে, আর আপনি সাইটের ভেতরের ব্যবস্থা জানেন না। তাই ছোট পাসওয়ার্ডের ওপর ভরসা করা ঝুঁকির।

হ্যাশ কী?

পাসওয়ার্ড থেকে বানানো একটি একমুখী ছাপ। পাসওয়ার্ড দিলে ছাপ পাওয়া যায়, কিন্তু ছাপ দেখে পাসওয়ার্ড বের করার সোজা উপায় নেই। আক্রমণকারী তাই অনুমান করে ছাপ বানিয়ে মেলায়।

৮ অক্ষরের পাসওয়ার্ড কি একেবারেই চলবে না?

সব ধরন মিলিয়ে র‍্যান্ডম ৮ অক্ষর টুলে “মোটামুটি” স্তরে পড়ে, কিন্তু উপরের কাল্পনিক হিসাবে মাত্র কয়েকদিন টেকে। গুরুত্বপূর্ণ অ্যাকাউন্টে অন্তত ১৪ অক্ষর রাখাই ভালো।