শিখুন
2FA কী? আর এই 30 সেকেন্ডের কোডগুলো আসলে কীভাবে কাজ করে?
সহজ ভাষায় সম্পূর্ণ গাইড: টু-ফ্যাক্টর অথেন্টিকেশন কী, ছয় ডিজিটের TOTP কোডের পেছনের ক্রিপ্টোগ্রাফি, কোন অ্যাকাউন্টে কোন ফ্যাক্টর চালু করবেন আর কীভাবে কখনোই অ্যাকাউন্টের বাইরে আটকে থাকবেন না।
শুধু পাসওয়ার্ড কেন যথেষ্ট নয়
প্রতিটি লগইনের জন্য পাসওয়ার্ড লাগে, আর পাসওয়ার্ডের তিনটি কাঠামোগত সমস্যা: এগুলো পুনরায় ব্যবহার করা হয়, ফাঁস হওয়া ডেটাবেজের ওপর credential stuffing আক্রমণেঅনুমান করা যায় আর ফিশিং ফাঁদে প্রতারিত হয়ে সাগ্রহে দেওয়া হয়। টু-ফ্যাক্টর অথেন্টিকেশন (2FA) একটি সরল সত্য মেনে নেয় — দুর্বলতম কড়া আমরা মানুষ — এবং দ্বিতীয় স্বাধীন জিনিস যোগ করে, যা আক্রমণকারীকেও থাকতে হবে। 2FA থাকলে ফাঁস হওয়া পাসওয়ার্ড একা থাকলে আর অ্যাকাউন্ট খোলা যায় না।
বড় সার্ভিসগুলোর বেশিরভাগই এখন 2FA দেয় বা দাবি করে: GitHub 2023 থেকে এটি কার্যকর করে, ক্রিপ্টো এক্সচেঞ্জগুলো (Binance, Coinbase, Kraken) বাজার প্রতি পতনে এটির কথা মনে করিয়ে দেয়, আর Microsoft, Google ও Apple ডিফল্ট অপশন হিসেবে অ্যাকাউন্ট সিকিউরিটিতে এটি যুক্ত করেছে।
তিনটি ফ্যাক্টর
অথেন্টিকেশন ফ্যাক্টরগুলো তিনটি শ্রেণিতে পড়ে:
- যা জানেন — পাসওয়ার্ড, PIN। বানাতে সস্তা, ফাঁস করানোও সহজ।
- যা আছে — কোড তৈরি করা অথেন্টিকেটর, ফিজিক্যাল সিকিউরিটি কি বা প্যাসকি, SMS পাওয়া ফোন। 2FA-র বাসা এখানেই।
- যা আপনি — আঙুলের ছাপ, ফেস রিকগনিশন। সুবিধাজনক, তবে রিমোট লগইনের প্রধান ফ্যাক্টর হওয়ার চেয়ে এগুলো বেশি নিজের ডিভাইসেই ব্যবহৃত হয়।
সত্যিকারের দুই-ফ্যাক্টর যাচাই দুটি ভিন্ন শ্রেণির পদ্ধতি একসঙ্গে মেলায়। পাসওয়ার্ড আর ফোনের আনলক প্যাটার্ন 2FA নয়; পাসওয়ার্ড আর বদলানো অথেন্টিকেটর কোড — হ্যাঁ।
TOTP কীভাবে কাজ করে, ধাপে ধাপে
- রেজিস্ট্রেশন। কোনো সার্ভিসে ফিচারটি চালু করলে সে একটি এলোমেলো সিক্রেট বানিয়ে আপনার সঙ্গে একবারই শেয়ার করে — QR কোড হিসেবে এঁকে বা Base32 সেটআপ কী দেখিয়ে। নিরাপত্তার দিক থেকে পুরো ঝুঁকি গুটিকয়েক এই মুহূর্তেই কেন্দ্রীভূত; তাই কী প্রকাশ করবেন শুধু এমন জায়গায় যেখানে সত্যিই আস্থা রাখেন।
- সময় এগিয়ে যায়। বর্তমান সময়কে 30 সেকেন্ডের “স্টেপে” ভাগ করা হয়:
step = floor(unixTime / 30)। 30-এর কোনো বিশেষত্ব নেই: RFC 6238 সার্ভিসকে 15, 30 বা 60 সেকেন্ড মেনে নেওয়ার সুযোগ দেয়। - HMAC। আপনার অথেন্টিকেটর সিক্রেটটিকে কি রেখে স্টেপ-মানের ওপর HMAC হ্যাশ করে (বেশিরভাগ সার্ভিসে SHA-1, কখনো SHA-256/512)। HMAC একমুখী নির্মাণ: ফলাফল দেখে সিক্রেট সম্পর্কে কিছুই জানা যায় না।
- ডিজিট বের করা। HMAC ফলাফল থেকে শেষ নিবল অনুযায়ী চার বাইট বাছা হয়, সর্বোচ্চ বিট পরিষ্কার করা হয় এবং ফলাফল মডিউলো 10n আপনার কোড হয়ে যায় — সাধারণত
n= 6, কখনো 7 বা 8। - যাচাই-উইন্ডো। সার্ভার চলতি ও আগের স্টেপের জন্য একই মান আবার হিসাব করে (ঘড়ির সামান্য ফারাক সহ্য করতে)। প্রমাণ মিললে লগইন গ্রহণ করা হয়।
এসব হিসাব চলে মাইক্রোসেকেন্ডে, পুরোপুরি ডিভাইসেই। এজন্যই 2FA COUNTER-এর মতো ক্লায়েন্ট-সাইড টুল পুরো কাজটি লোকালি করতে পারে — পেজ লোড করে ইন্টারনেট বিচ্ছিন্ন করুন, কোডগুলো তবুও প্রতি 30 সেকেন্ডে ভেসে উঠবে, চিরকাল।
সিক্রেট ও QR কোড
Base32 স্ট্রিং কোনো মাঝপথের ফরম্যাট নয় — সিক্রেটের কাঁচা বাইটগুলোই কিবোর্ড-বান্ধব বর্ণমালায় (A–Z আর 2–7; 0 ও 1 বাদ, যা সহজে গুলিয়ে ফেলে) এনকোড করা। প্ল্যাটফর্ম “স্ক্যান করতে পারছেন না?” লিংকটি দিলে দেখানো স্ট্রিং-এ QR-এ যা এনকোড হয়, তারই হুবহু একই প্রাইভেট মেটেরিয়াল থাকে। দুটোর যেকোনো একটি রাখা যায়; অর্থ একই:
otpauth://totp/GitHub:you%40example.com?secret=JBSWY3DPEHPK3PXP&issuer=GitHub
otpauth://totp/Binance:me?secret=JBSWY3DPEHPK3PXP&digits=6&period=30&algorithm=SHA1
otpauth://hotp/Steam:sda?secret=...&counter=5 ← কাউন্টার-ভিত্তিক রূপ (HOTP)আধুনিক জেনারেটর প্রতিটি প্যারামিটার মেনে চলে: ডিজিটের সংখ্যা, পিরিয়ড, হ্যাশ অ্যালগরিদম আর HOTP কাউন্টার — কারণ SHA-256 দাবি করা সার্ভিস ডিফল্ট SHA-1-এর কোডও একইভাবে ফেরত পাঠাবে। খালি Base32 কী পড়া হয় 6 ডিজিট, 30 সেকেন্ড ও SHA-1 ধরে, যা ব্যবহার করে বেশিরভাগ সার্ভিসই।
TOTP বনাম SMS বনাম ফিজিক্যাল কি
- SMS কোড টেলিকম নেটওয়ার্কে ভ্রমণ করে। SIM সোয়াপ আক্রমণে শত্রু আপনার নম্বর ছিনিয়ে সব কোড পেয়ে যায়। মার্কিন স্ট্যান্ডার্ডে (NIST SP 800-63B) অথেন্টিকেশনের জন্য SMS বাতিল।
- TOTP কিছুই ট্রান্সমিট করে না — কোড তৈরি হয় লোকালি আর 30 সেকেন্ডেই মেয়াদ শেষ। ফ্রি, স্ট্যান্ডার্ড-ভিত্তিক আর সব জায়গায় সামঞ্জস্যপূর্ণ। দুর্বলতম কড়া: মেয়াদের মধ্যে ফিশিং করা যায়।
- সিকিউরিটি কি ও প্যাসকি (WebAuthn/FIDO2) ক্রিপ্টোগ্রাফিকভাবে হুবহু ডোমেনের সঙ্গে বাঁধা, তাই নকল পেজ স্বয়ংক্রিয়ভাবে ব্যর্থ হয়। সবচেয়ে শক্ত অপশন; সমর্থন কম আর কি-এর দাম লাগে।
ব্যবহারিক সিঁড়ি: SMS যেখানে উপায় নেই, TOTP ডিফল্ট অপশন, আর সবচেয়ে প্রিয় অ্যাকাউন্টের জন্য ফিজিক্যাল কি বা প্যাসকি।
কিছু ভালো অপশন আরও গভীরে জানতে: TOTP বনাম প্যাসকি — কোন ফ্যাক্টর কোথায়, SIM সোয়াপ আক্রমণ কীভাবে SMS-কে হারায় এবং অ্যাপগুলোর ক্লাউড সিঙ্ক আপনার সিক্রেট কী-এর কী করে।
যেসব সমস্যা 2FA সমাধান করে না
দুই ধাপের ভেরিফিকেশন পাসওয়ার্ড চুরির সমাধান করে। কিন্তু সেশন কুকি চুরি (আপনার মেশিনে আগে থেকে চলা ম্যালওয়্যার), অতিরিক্ত অনুমতিওয়ালা ব্রাউজার এক্সটেনশন, নিয়ন্ত্রণ হারানো রিকভারি ইমেল কিংবা এমন সোশ্যাল ইঞ্জিনিয়ারিং যেখানে আক্রমণকারী আপনাকে 30 সেকেন্ডের মেয়াদে তাজা কোড পড়ে শোনাতে চাপ দেয় — এগুলো ঠেকায় না। ব্রাউজার আপডেট রাখুন, এক্সটেনশন নির্মমভাবে ছাঁটুন, আর তাজা কোডের জরুরি অনুরোধকে সেই লাল পতাকা হিসেবেই ধরুন যা সেটি আসলে।
কীভাবে কখনোই বাইরে আটকে থাকবেন না
- ব্যাকআপ কোড সংরক্ষণ করুন। 2FA চালু করলে প্রতিটি সার্ভিস একবার ব্যবহারযোগ্য রিকভারি কোডের প্যাকেট দেয়। প্রিন্ট করুন বা এনক্রিপ্টেড ও অফলাইন অবস্থায় রাখুন।
- শুধু টুল নয়, সিক্রেটও রাখুন। পাসওয়ার্ড ম্যানেজারের ভল্টে লেখা Base32 কী দিয়ে যেকোনো অথেন্টিকেটরে — মোবাইল অ্যাপে বা ব্রাউজার জেনারেটরে — ওই দিন যে ডিভাইস হাতে আছে সেখানেই কোড আবার তৈরি করা যায়।
- একটি নয়, দুটি ডিভাইসে রেজিস্টার করুন। একই কী দুটি বিশ্বস্ত ডিভাইসে নিরাপদে একসঙ্গে থাকতে পারে। TOTP ডিটারমিনিস্টিক: একই সিক্রেট, একই কোড।
- ঘড়িতে নজর রাখুন। কোড বারবার ব্যর্থ হলে আগে ডিভাইসের সময়-সিঙ্ক ঠিক করুন — “অবৈধ কোড” ত্রুটির সবচেয়ে প্রচলিত কারণ এটিই, আর কোনো টুলই এটি এড়াতে পারে না।
সাধারণ প্রশ্ন
2FA কী?
2FA (টু-ফ্যাক্টর অথেন্টিকেশন) মানে দুই রকম প্রমাণ দিয়ে নিজের পরিচয় জানানো: যা জানেন (আপনার পাসওয়ার্ড) তার পাশাপাশি যা আছে (প্রতি 30 সেকেন্ডে বদলানো কোড, সিকিউরিটি কি বা আপনার ফোন)। শুধু পাসওয়ার্ড ফাঁস হতে বা অনুমান করা যেতে পারে; দ্বিতীয় ফ্যাক্টর ছাড়া ফাঁস হওয়া পাসওয়ার্ড অকেজো হয়ে যায়।
2FA এত গুরুত্বপূর্ণ কেন?
কারণ পাসওয়ার্ড সবসময় একইভাবে ব্যর্থ হয়। কোটি কোটি আসল পাসওয়ার্ড ডেটা লিকের কারণে ইতিমধ্যে প্রকাশ্য, আর আক্রমণকারীরা চারপাশে ঘুরে ঘুরে সেগুলো বারবার ব্যবহার করে অন্যের অ্যাকাউন্টে ঢুকতে চেষ্টা করে (credential stuffing)। Microsoft-এর হিসাবে 2FA অটোমেটেড অ্যাকাউন্ট দখলের 99.9%-এর বেশি আক্রমণ ব্লক করে — আপনার ইমেল, ব্যাংক, সোশ্যাল মিডিয়া, গেম আর ক্রিপ্টোকে রক্ষা করে ঠিক সেই হুমকিগুলো থেকে যা সত্যিই ঘটে।
2FA কোথায় কাজে লাগে?
চুরি করে লাভ হতে পারে এমন সব লগইন রক্ষা করে: ইমেল ও ক্লাউড অ্যাকাউন্ট (Google, Microsoft, Apple), ব্যাংকিং ও ফাইন্যান্স, ক্রিপ্টো এক্সচেঞ্জ (Binance, Coinbase, Kraken), ডেভেলপার প্ল্যাটফর্ম (GitHub, AWS), ভিডিও গেম (Steam, Discord, Twitch) এবং সোশ্যাল মিডিয়া (X, Instagram)। কোম্পানিগুলো VPN, ইমেল আর অ্যাডমিন কনসোলের জন্যও এটি ব্যবহার করে। যে সার্ভিসে “অথেন্টিকেটর অ্যাপ” অপশন পাবেন, বুঝবেন 2FA-র সঠিক পথ সেখানেই।
2FA কীভাবে কাজ করে?
পাসওয়ার্ডের পরে সার্ভিস দ্বিতীয় প্রমাণ চায়। সবচেয়ে প্রচলিত পদ্ধতিতে (TOTP) আপনার অথেন্টিকেটর একটি শেয়ার করা সিক্রেট কী আর বর্তমান সময় থেকে নতুন 6 ডিজিটের কোড তৈরি করে (RFC 6238 স্ট্যান্ডার্ড), আর সার্ভার হুবহু একই হিসাব করে ফলাফল মেলায়। কোড প্রতি 30 সেকেন্ডে বদলায় আর দ্বিতীয়বার কখনো ব্যবহার করা যায় না, তাই শুধু পাসওয়ার্ড পেয়েও আক্রমণকারী ভেতরে ঢুকতে পারে না।
TOTP কোড কীভাবে তৈরি হয়?
সাইটটি আপনাকে একটি সিক্রেট কী দেয় (সাধারণত QR কোড বা Base32 স্ট্রিং হিসেবে)। আপনার অথেন্টিকেটর সেই কী ব্যবহার করে চলতি 30 সেকেন্ডের সময়-উইন্ডোর ওপর HMAC হিসাব করে (SHA-1, SHA-256 বা SHA-512 দিয়ে) এবং ফলাফল থেকে 6 ডিজিট বের করে। সাইটটি হুবহু একই হিসাব করে মিলিয়ে দেখে। দুই পাশেই সিক্রেট আগেই থাকে, তাই নেটওয়ার্ক লাগে না।
2FA কীভাবে পাব?
যে অ্যাকাউন্ট সুরক্ষিত করতে চান, সেখান থেকেই: সেটিংস খুলুন, “সিকিউরিটি” বা “লগইন ও সিকিউরিটি”-তে ঢুকুন আর “টু-ফ্যাক্টর অথেন্টিকেশন” বা “দুই ধাপের ভেরিফিকেশন” খুঁজুন। অথেন্টিকেটর অ্যাপের অপশন বেছে QR কোড স্ক্যান করুন (বা সেটআপ কী দেখান) আর অথেন্টিকেটরের দেখানো কোড ঢুকিয়ে নিশ্চিত করুন। মোবাইল ছাড়া কোড কীভাবে পাবেন, আমাদের ধাপে ধাপে গাইড সেটিই ব্যাখ্যা করে: /bn/how-to-get-2fa-code/।
2FA কীভাবে চালু করব?
চার ধাপ: 1) সার্ভিসের অ্যাকাউন্ট বা সিকিউরিটি সেটিংস খুলে “টু-ফ্যাক্টর অথেন্টিকেশন” বেছে নিন। 2) “অথেন্টিকেটর অ্যাপ ব্যবহার করুন” বাছুন (পারলে SMS এড়িয়ে চলুন)। 3) অথেন্টিকেটর দিয়ে QR কোড স্ক্যান করুন — না গেলে “স্ক্যান করতে পারছেন না?” চেপে সেটআপ কী সেভ করুন। 4) শেষ করতে লাইভ কোড ঢুকিয়ে দিন আর ব্যাকআপ কোডগুলো ডাউনলোড বা প্রিন্ট করুন। Google, GitHub, Discord, Binance-সহ সার্ভিসভিত্তিক সেটআপ গাইড আমাদের /guides/ পাতায় আছে।
2FA কতটা শক্তিশালী?
সম্পূর্ণ নির্ভর করে কোন দ্বিতীয় ফ্যাক্টর ব্যবহার করছেন তার ওপর। SMS কোড সবচেয়ে দুর্বল — SIM সোয়াপ হলে আক্রমণকারী আপনার নম্বর ছিনিয়ে কোডগুলো নিজেই পেয়ে যায়। অথেন্টিকেটরের TOTP কোড — 30 সেকেন্ডেরগুলো — গণনাগতভাবে শক্তিশালী: অফলাইন আক্রমণকারী এগুলো অনুমান করতে পারে না, আর কয়েক সেকেন্ডেই মেয়াদ ফুরিয়ে যায়। ফিজিক্যাল সিকিউরিটি কি আর প্যাসকি সবচেয়ে শক্তিশালী, কারণ এগুলো ফিশিং ঠেকায় এবং ক্রিপ্টোগ্রাফিকভাবে আসল ডোমেনের সঙ্গে বাঁধা থাকে।
2FA কি 100% নিরাপদ?
কোনো সিকিউরিটি ব্যবস্থাই 100% নিরাপদ নয়, আর সৎ 2FA গাইডগুলো একথা মেনেই কথা বলে। চুরি হওয়া পাসওয়ার্ড 2FA সামলে দেয়, তবে 30 সেকেন্ডের মেয়াদে ভুয়া সাইটে তাজা কোড টাইপ করলে কোডটি ফিশিংয়ে পড়ে যেতে পারে; ডিভাইসে আগে থেকে বসা ম্যালওয়্যার সেশন চুরি করতে পারে; আর দ্বিতীয় ফ্যাক্টর SMS হলে SIM সোয়াপ বাস্তব হুমকি। তবু বলা যায়, 2FA চালু থাকলে শুধু-পাসওয়ার্ডের অ্যাকাউন্টের তুলনায় আক্রমণ করা অনেক অনেক কঠিন।
2FA কি বাধ্যতামূলক?
আইনে নয়, তবে ক্রমশ বেশি সার্ভিস এটি আরোপ করছে: GitHub 2023 থেকে কোড কন্ট্রিবিউটরদের জন্য বাধ্যতামূলক করেছে, অনেক ব্যাংক ও ক্রিপ্টো এক্সচেঞ্জ জোরপূর্বক চালু রাখে, আর চাকরিদাতারা কর্মক্ষেত্রের অ্যাক্সেসে সাধারণত চায়। বাকি ক্ষেত্রে ঐচ্ছিক, তবে অত্যন্ত প্রয়োজনীয়। বাস্তবে, মূল্যবান অ্যাকাউন্টগুলোতে এটিকে বাধ্যতামূলকই ধরুন: প্রথমে ইমেল — ইনবক্সের নিয়ন্ত্রক বাকি সব রিসেট করে ফেলতে পারে।
এখন সব জায়গায় 2FA কেন?
কারণ শুধু-পাসওয়ার্ডের যুগ ভেঙে পড়েছে। বড় মাপের ডেটা লিকে কোটি কোটি ক্রেডেনশিয়াল ফাঁস হয়েছে, credential stuffing আক্রমণ অটোমেটেড ও সস্তা হয়েছে, আর প্ল্যাটফর্মগুলোর ঘাড়ে এখন হাইজ্যাক হওয়া অ্যাকাউন্টের মাশুল। নিয়ন্ত্রকরাও এগিয়েছে: NIST মার্কিন স্ট্যান্ডার্ডে SMS-কে অথেন্টিকেশন হিসেবে বাতিল করেছে, আর ইউরোপীয় PSD2 স্ট্রং কাস্টমার অথেন্টিকেশন দাবি করে। কয়েকটি দৈত্য কোম্পানি 2FA স্বাভাবিক করার পর বাকি সব সার্ভিস পেছন পেছন এসেছে।
TOTP, HOTP আর OTP-র পার্থক্য কী?
OTP মানে সহজভাবে “একবার ব্যবহারযোগ্য পাসওয়ার্ড”। TOTP (সময়-ভিত্তিক OTP, RFC 6238) কোড তৈরি করে বর্তমান সময় থেকে, তাই প্রতি 30 সেকেন্ডে বদলায়। HOTP (RFC 4226) কাউন্টার-ভিত্তিক: প্রতিটি কোড একবারই ব্যবহার হয় আর কাউন্টার বাড়ে। প্রায় সব “অথেন্টিকেটর অ্যাপ” সার্ভিস — Google, Microsoft, Discord, GitHub — TOTP ব্যবহার করে।
TOTP কেন SMS-এর চেয়ে ভালো?
SMS কোড ফোন নেটওয়ার্কে ভ্রমণ করে, যেখানে SIM সোয়াপ আক্রমণে সেগুলো আটকে বা চুরি হতে পারে — আর তা না হলেও SMS পৌঁছানো যে কখনোই ব্যর্থ হতে পারে। TOTP কোড হিসাব হয় আপনার ডিভাইসেই, কখনো ট্রান্সমিট হয় না আর কয়েক সেকেন্ডেই মেয়াদ শেষ। NIST-এর মতো সিকিউরিটি সংস্থা অথেন্টিকেশনের জন্য SMS বাদ দিয়েছে।
ফিশিং সাইট কি TOTP কোড চুরি করতে পারে?
হ্যাঁ — মেয়াদের (30 সেকেন্ড) মধ্যে ভুয়া পেজে তাজা কোড টাইপ করলে আক্রমণকারী একটি কাজ করা লগইন পেয়ে যায়। তাই ফিশিং-প্রতিরোধী ফ্যাক্টর (ফিজিক্যাল সিকিউরিটি কি আর প্যাসকি, যা ক্রিপ্টোগ্রাফিকভাবে আসল ডোমেনের সঙ্গে বাঁধা) অফার থাকলে সবচেয়ে শক্ত অপশন। TOTP SMS ও পাসওয়ার্ডকে হারায়, কিন্তু ফিজিক্যাল কিকে নয়।
আমার 2FA সিক্রেট কী কোথায় রাখা ঠিক?
পাসওয়ার্ড ম্যানেজারের এনক্রিপ্টেড ভল্টে, মাস্টার কপি হিসেবে। তাহলে ফোন না থাকলেও যেকোনো বিশ্বস্ত ডিভাইসে — এমনকি 2facounter.com-এর মতো টুলসহ একটি ব্রাউজারেও — কোড আবার তৈরি করতে পারবেন। 2FA চালুর সময় প্রতিটি সার্ভিস যে ব্যাকআপ বা রিকভারি কোড দেয়, সেগুলোও রেখে দিন; আসল ভরসার জায়গা সেগুলোই।