টু-ফ্যাক্টর অথেনটিকেশন কী? সহজ ভাষায় গাইড
টু-ফ্যাক্টর অথেনটিকেশন (2FA) এমন একটি লগইন, যেখানে আপনি যে আপনি তা প্রমাণ করতে দুই ধরনের ভিন্ন প্রমাণ দিতে হয়: সাধারণত কিছু যা আপনি জানেন, যেমন পাসওয়ার্ড, আর কিছু যা আপনার কাছে আছে, যেমন আপনার ফোন বা একটি সিকিউরিটি কী। কোনো অপরাধী আপনার পাসওয়ার্ড চুরি বা অনুমান করলেও দ্বিতীয় ফ্যাক্টর ছাড়া ঢুকতে পারে না। গুরুত্বপূর্ণ অ্যাকাউন্ট রক্ষার সবচেয়ে সহজ উপায়গুলোর একটি এটি।
এআই দিয়ে বানানোর সময় কেন এটি গুরুত্বপূর্ণ
আপনি এআই বিল্ডারের কাছে "লগইন" চাইলে সাধারণত ইমেইল ও পাসওয়ার্ড পান। এটি একটি ভালো শুরু, কিন্তু পাসওয়ার্ড পুনরায় ব্যবহৃত, ফিশিংয়ে হাতানো বা ফাঁস হতে পারে। আপনার অ্যাপে যদি কোনো মূল্যবান কিছু থাকে, যেমন গ্রাহকের রেকর্ড, ইনভয়েস, অ্যাডমিন নিয়ন্ত্রণ বা পেমেন্ট সেটিংস, একটিমাত্র চুরি হওয়া পাসওয়ার্ডে সবকিছু উন্মুক্ত হয়ে যেতে পারে।
2FA কয়েকটি সিদ্ধান্তকেও প্রভাবিত করে, যা আপনি হয়তো শুরুতে ভাবেননি:
- কে এটি ব্যবহার করবে। সবার জন্য ঐচ্ছিক, নাকি শুধু অ্যাডমিনদের জন্য বাধ্যতামূলক, নাকি সবার জন্য?
- কোন পদ্ধতিগুলো সমর্থিত হবে। অ্যাপের কোড, টেক্সট বার্তা, passkey, সিকিউরিটি কী।
- কেউ লকআউট হলে কী হবে। হারানো ফোন হলো যেকোনো 2FA-সহ অ্যাপের সবচেয়ে সাধারণ সাপোর্ট অনুরোধ।
- কোথায় এটি কার্যকর হবে। যাচাইটি অবশ্যই সার্ভারে হতে হবে। শুধু ব্রাউজারে 2FA স্ক্রিন লুকিয়ে রাখলে তা এড়ানো যায়।
আপনাকে নিজে ক্রিপ্টোগ্রাফি লিখতে হবে না; সুপরীক্ষিত লাইব্রেরি ও অথ প্রোভাইডাররা তা সামলায়। কিন্তু কী চাইতে হবে তা জানা দরকার।
একটি দৈনন্দিন উদাহরণ
একটি ব্যাংকের সেফ-ডিপোজিট বক্সের কথা ভাবুন। খুলতে হলে আপনার পরিচয়পত্র লাগে (যা ব্যাংক যাচাই করে, আপনি যা জানেন বা হন) এবং ভৌত চাবি লাগে (যা আপনার কাছে থাকে)। যে চোর আপনার স্বাক্ষর নকল করেছে, তার কাছে চাবি নেই। যে চোর চাবি পকেটমার করেছে, সে পরিচয়পত্র যাচাইয়ে আটকে যাবে।
2FA একইভাবে কাজ করে। পাসওয়ার্ড হলো স্বাক্ষর, ফোন বা সিকিউরিটি কী হলো ভৌত চাবি। একটি একা যথেষ্ট নয়।
তিন ধরনের ফ্যাক্টর
নিরাপত্তার মানদণ্ড, যেমন US National Institute of Standards and Technology-এর ডিজিটাল আইডেন্টিটি গাইডলাইন, ফ্যাক্টরগুলোকে তিন ভাগে ভাগ করে:
| ফ্যাক্টর | উদাহরণ |
|---|---|
| কিছু যা আপনি জানেন | পাসওয়ার্ড, PIN |
| কিছু যা আপনার কাছে আছে | authenticator অ্যাপসহ ফোন, সিকিউরিটি কী, passkey ধারণকারী ডিভাইস |
| কিছু যা আপনি | আঙুলের ছাপ, মুখ — সাধারণত একটি ডিভাইস আনলক করতে, যা তারপর আসল যাচাই করে |
মূল শব্দ হলো ভিন্ন। পাসওয়ার্ড ও নিরাপত্তা প্রশ্ন দুটোই জানা বিষয়, তাই এটি সত্যিকারের টু-ফ্যাক্টর নয়। একটি ফাঁস যদি দুটোই প্রকাশ করে, তবে তা একটিই ফ্যাক্টর হিসেবে গণ্য।
সাধারণ 2FA পদ্ধতির তুলনা
| পদ্ধতি | কীভাবে কাজ করে | শক্তি | মন্তব্য |
|---|---|---|---|
| SMS কোড | আপনার ফোন নম্বরে কোড টেক্সট করা হয় | সবচেয়ে দুর্বল | SIM swapping ও ফিশিংয়ের ঝুঁকি আছে, কিন্তু কোনো 2FA না থাকার চেয়ে অনেক ভালো |
| ইমেইল কোড | আপনার ইমেইলে কোড পাঠানো হয় | দুর্বল | ইমেইল অ্যাকাউন্ট যতটা নিরাপদ, ততটুকুই নিরাপদ |
| Authenticator অ্যাপ (TOTP) | Google Authenticator-এর মতো অ্যাপ প্রতি ৩০ সেকেন্ডে নতুন ৬-সংখ্যার কোড তৈরি করে | ভালো | অফলাইনে কাজ করে; তবু নকল সাইট কোড চাইলে ফিশ করা যায় |
| Push অনুমোদন | অ্যাপ জিজ্ঞেস করে "এটি কি আপনি?" এবং আপনি অনুমোদন ট্যাপ করেন | ভালো | "approve fatigue" সতর্কতা — বারবার প্রম্পট থামাতে ব্যবহারকারী হ্যাঁ বলে দেয় |
| Passkey বা সিকিউরিটি কী | একটি ডিভাইসের ক্রিপ্টোগ্রাফিক কী প্রমাণ করে আপনি আসল সাইটে আছেন | সবচেয়ে শক্তিশালী | নকল ডোমেইনে সাড়া দেয় না, তাই ফিশিং-প্রতিরোধী |
NIST-এর নির্দেশিকা কোড টাইপ করার পদ্ধতি (SMS, ইমেইল, authenticator অ্যাপ) কে ফিশিং-প্রতিরোধী নয় বলে ধরে, এবং ফোন নেটওয়ার্কে কোড পাঠানোকে "restricted" চিহ্নিত করে। WebAuthn/FIDO2 মানদণ্ডভিত্তিক Passkey ও হার্ডওয়্যার সিকিউরিটি কী ফিশিং-প্রতিরোধী হিসেবে গণ্য।
ব্যবহারিক শিক্ষা: বেশিরভাগ অ্যাপের জন্য authenticator অ্যাপ একটি শক্তিশালী ও সহজ ডিফল্ট, আর আপনার ব্যবহারকারীরা স্বাচ্ছন্দ্য বোধ করলে passkey অফার করা উচিত।
একটি বাস্তব উদাহরণ: একটি ক্লায়েন্ট পোর্টালে 2FA
ধরুন আপনি একটি পোর্টাল বানিয়েছেন, যেখানে একটি ছোট অ্যাকাউন্টিং ফার্ম ক্লায়েন্টদের সাথে ট্যাক্স ডকুমেন্ট ভাগ করে। একটি সুচিন্তিত 2FA সেটআপ ধাপে ধাপে কেমন হয়, দেখা যাক।
চালু করা (এনরোলমেন্ট)। ক্লায়েন্ট Priya সেটিংস খুলে "টু-ফ্যাক্টর অথেনটিকেশন চালু করুন"-এ ক্লিক করেন। অ্যাপ একটি গোপন চাবি তৈরি করে এবং QR কোড হিসেবে দেখায়। তিনি তার authenticator অ্যাপ দিয়ে স্ক্যান করেন, যা ছয়-সংখ্যার কোড দেখাতে শুরু করে। সেটআপ সঠিক হয়েছে তা প্রমাণ করতে তিনি বর্তমান কোডটি পোর্টালে টাইপ করেন। অ্যাপ দশটি রিকভারি কোড দেখায় এবং সেগুলো নিরাপদ জায়গায় রাখতে বলে।
পরে লগইন।
- Priya তার ইমেইল ও পাসওয়ার্ড লেখেন। সার্ভার সেগুলো যাচাই করে।
- তাকে সরাসরি লগইন না করিয়ে সার্ভার সেশনটিকে "পাসওয়ার্ড ঠিক, দ্বিতীয় ফ্যাক্টর বাকি" হিসেবে চিহ্নিত করে এবং কোড স্ক্রিন দেখায়।
- তিনি তার অ্যাপের কোড লেখেন। সার্ভার সেটি তার সংরক্ষিত গোপন চাবির সাথে মেলায়, সামান্য ঘড়ির পার্থক্য মেনে নিয়ে।
- কেবল এখন সার্ভার একটি পূর্ণ সেশন তৈরি করে এবং তাকে ডকুমেন্ট দেখতে দেয়।
আক্রমণকারী কী দেখে। যদি Priya-র পাসওয়ার্ড অন্য সাইট থেকে ফাঁস হয়ে যায়, আক্রমণকারী ধাপ ৩-এ আটকে যায়। প্রতিটি ব্যর্থ কোড চেষ্টা গণনা হয়, এবং কয়েকবার ভুল হলে অ্যাকাউন্ট সাময়িকভাবে লক হয় এবং Priya একটি ইমেইল পান।
ফোন হারালে। Priya তার রিকভারি কোডগুলোর একটি দিয়ে লগইন করেন, 2FA বন্ধ করে নতুন ফোনে আবার চালু করেন, এবং নতুন রিকভারি কোড পান। ব্যবহৃত কোডটি আর কখনো ব্যবহার করা যাবে না।
স্টাফদের জন্য। ফার্মের অ্যাকাউন্টিং কর্মীরা প্রতিটি ক্লায়েন্টের ফাইল দেখতে পারেন, তাই পোর্টাল স্টাফ অ্যাকাউন্টের জন্য 2FA বাধ্যতামূলক করে; তাঁরা এনরোল না করা পর্যন্ত ড্যাশবোর্ডে পৌঁছাতে পারেন না।
জানা দরকারি পরিভাষা
| পরিভাষা | মানে |
|---|---|
| 2FA / MFA | Two-factor / multi-factor authentication: একাধিক ধরনের প্রমাণ দিয়ে লগইন। |
| Factor (ফ্যাক্টর) | এক ধরনের প্রমাণ: কিছু যা জানেন, আছে বা আপনি। |
| TOTP | Time-based one-time password — authenticator অ্যাপের ঘূর্ণায়মান কোড। |
| Shared secret (শেয়ার্ড সিক্রেট) | QR কোডের মাধ্যমে সেট হওয়া গোপন মান, যা অ্যাপ ও আপনার ফোন উভয়ে মিলে কোড তৈরি করতে ব্যবহার করে। |
| Recovery (ব্যাকআপ) কোড | দ্বিতীয় ফ্যাক্টর হারালে ঢোকার জন্য এক-বারের কোড। |
| Passkey | একটি লগইন ক্রেডেনশিয়াল, যা আপনার ডিভাইসে থাকে এবং পাসওয়ার্ডের বদলে পাবলিক-কী ক্রিপ্টোগ্রাফি ব্যবহার করে। |
| Security key (সিকিউরিটি কী) | একটি ছোট ভৌত ডিভাইস (USB বা NFC), যা passkey-র মতোই কাজ করে। |
| SIM swapping | একটি মোবাইল ক্যারিয়ারকে প্রতারণা করে কারো নম্বর নতুন SIM-এ সরানো, যাতে টেক্সট আক্রমণকারীর কাছে যায়। |
| Phishing (ফিশিং) | একটি নকল সাইট বা বার্তা, যা মানুষকে পাসওয়ার্ড বা কোড দিতে ভুলিয়ে দেয়। |
| Step-up authentication | পেমেন্ট তথ্য বদলানোর মতো সংবেদনশীল কাজের আগে দ্বিতীয় ফ্যাক্টর আবার চাওয়া। |
সাধারণ ভুল ও ভুল ধারণা
- "2FA অ্যাকাউন্টকে অভেদ্য করে।" এটি অনেক কঠিন করে, কিন্তু অভেদ্য নয়। নকল ফিশিং সাইট টাইপ করা কোড রিয়েল-টাইমে ধরে ফেলতে পারে, তাই passkey-র প্রয়োজন।
- শুধু ব্রাউজারে কোড যাচাই। সার্ভার পাসওয়ার্ডের পর পূর্ণ সেশন দিলে কোড স্ক্রিনটি শোভা মাত্র। দ্বিতীয় ফ্যাক্টর পাস না হওয়া পর্যন্ত সার্ভারকে অ্যাক্সেস আটকে রাখতে হবে।
- কোড চেষ্টার কোনো সীমা নেই। ছয়-সংখ্যার কোডের এক মিলিয়ন সম্ভাবনা। রেট লিমিটিং ও লকআউট ছাড়া আক্রমণকারী কেবল অনুমান করতে থাকতে পারে।
- রিকভারি ভুলে যাওয়া। রিকভারি কোড না থাকলে প্রতিটি হারানো ফোন মানে একটি সাপোর্ট টিকেট, অথবা একজন লক-আউট গ্রাহক।
- TOTP সিক্রেট অসাবধানে সংরক্ষণ। শেয়ার্ড সিক্রেট ডেটাবেসে এনক্রিপ্টেড থাকা উচিত, এবং সেটআপের পর আর কখনো দেখানো উচিত নয়।
- ব্যবহারকারীকে পুনঃযাচাই ছাড়া 2FA বন্ধ করতে দেওয়া। 2FA বন্ধ করা বা অ্যাকাউন্টের ইমেইল বদলানোর জন্য পাসওয়ার্ড ও বর্তমান কোড লাগা উচিত।
- পাসওয়ার্ড ও নিরাপত্তা প্রশ্নকে 2FA ভাবা। তা নয় — দুটোই জানা বিষয়।
আপনার এআই বিল্ডারকে কী চাইবেন
- "একটি authenticator অ্যাপ (TOTP) ব্যবহার করে ঐচ্ছিক টু-ফ্যাক্টর অথেনটিকেশন যোগ করো, সেটআপের জন্য QR কোড এবং চালু করার আগে একটি নিশ্চিতকরণ কোডসহ।"
- "2FA চালু হলে দশটি এক-বারের রিকভারি কোড দেখাও। সেগুলো পাসওয়ার্ডের মতো হ্যাশ করে সংরক্ষণ করো।"
- "সার্ভারে 2FA বাধ্যতামূলক করো: দ্বিতীয় ফ্যাক্টর পাস না হওয়া পর্যন্ত পূর্ণ সেশন নয়।"
- "কোড চেষ্টা সীমিত করো, এবং বারবার ব্যর্থতার পর ১৫ মিনিটের জন্য লগইন লক করো। সেই ঘটনা ঘটলে ব্যবহারকারীকে ইমেইল পাঠাও।"
- "অ্যাডমিন অ্যাকাউন্টের জন্য 2FA বাধ্যতামূলক করো।"
- "2FA বন্ধ করার বা অ্যাকাউন্টের ইমেইল বদলানোর আগে পাসওয়ার্ড ও বর্তমান কোড চাও।"
- "নিজে ক্রিপ্টোগ্রাফি না লিখে একটি সুপরিচিত লাইব্রেরি বা আমাদের অথ প্রোভাইডারের বিল্ট-ইন 2FA ব্যবহার করো।"
- "কোন পদ্ধতি ব্যবহার করেছ এবং সিক্রেটগুলো কোথায় সংরক্ষিত তা ব্যাখ্যা করো।"
আপনি যদি হোস্টেড অথ প্রোভাইডার ব্যবহার করেন, দেখুন সে আগে থেকেই 2FA বা passkey দেয় কি না; বিল্ট-ইন ফিচার চালু করা সাধারণত কাস্টম কোডের চেয়ে নিরাপদ। ধাপে ধাপে নির্দেশিকা আছে কীভাবে টু-ফ্যাক্টর অথেনটিকেশন যোগ করবেন-এ, আর অথেনটিকেশন কী এর নিচের লগইন বেসিক ব্যাখ্যা করে।
Mythex-এ টু-ফ্যাক্টর অথেনটিকেশন
Mythex আপনার অ্যাপের ব্যবহারকারীদের জন্য কোনো বিল্ট-ইন লগইন সিস্টেম দেয় না, তাই 2FA আপনার বেছে নেওয়া অথ পদ্ধতির অংশ হয় — প্রজেক্টের ডেটাবেস-এ সমর্থিত আপনার নিজের ইমেইল ও পাসওয়ার্ড লগইন, অথবা 2FA দেয় এমন হোস্টেড প্রোভাইডার। চ্যাটে এজেন্টকে এটি যোগ করতে বলুন, এবং কোনো প্রোভাইডার কী প্রজেক্ট সিক্রেটে রাখা হয়, চ্যাটে নয়। অ্যাপে লগইন যোগ করা ডক্সের রেসিপিতে অভিযোজন করার মতো একটি স্টার্টার প্রম্পট আছে, এবং আপনার বানানো অ্যাপের নিরাপত্তা কী সংক্রান্ত অভ্যাসগুলো ব্যাখ্যা করে। লঞ্চের আগে এআই-বানানো অ্যাপের নিরাপত্তা চেকলিস্ট দেখে নিন।
প্রশ্নোত্তর
সহজ কথায় টু-ফ্যাক্টর অথেনটিকেশন কী?
টু-ফ্যাক্টর অথেনটিকেশন (2FA) মানে লগইনের জন্য দুই ধরনের ভিন্ন প্রমাণ লাগে, সাধারণত আপনার পাসওয়ার্ড আর আপনার ফোনের কোড বা একটি সিকিউরিটি কী। যে শুধু আপনার পাসওয়ার্ড চুরি করেছে, সে তবু ঢুকতে পারবে না।
2FA কি MFA-এর মতোই?
প্রায় একই। মাল্টি-ফ্যাক্টর অথেনটিকেশন (MFA) মানে দুই বা তার বেশি ফ্যাক্টর; টু-ফ্যাক্টর অথেনটিকেশন সবচেয়ে সাধারণ ক্ষেত্র, যেখানে ঠিক দুটি থাকে। দৈনন্দিন ব্যবহারে দুটি শব্দ একে অপরের বদলে ব্যবহৃত হয়।
SMS দিয়ে টু-ফ্যাক্টর কি নিরাপদ?
শুধু পাসওয়ার্ডের চেয়ে অনেক ভালো, কিন্তু এটি সাধারণ বিকল্পগুলোর মধ্যে সবচেয়ে দুর্বল। টেক্সট বার্তা আটকানো বা SIM swapping-এর মাধ্যমে অন্যদিকে সরিয়ে নেওয়া যায়, আর একটি নকল লগইন পেজ মানুষকে কোড টাইপ করতে ভুলিয়ে দিতে পারে। Authenticator অ্যাপ বেশি শক্তিশালী, আর passkey বা সিকিউরিটি কী আরও শক্তিশালী।
আমার অ্যাপে কি টু-ফ্যাক্টর লাগবে?
যদি অ্যাকাউন্টে টাকা, ব্যক্তিগত তথ্য বা অন্য ব্যবহারকারীর উপর অ্যাডমিন ক্ষমতা থাকে, তবে 2FA দেওয়া ভালো, এবং অ্যাডমিনদের জন্য বাধ্যতামূলক করা সাধারণ। সাধারণ শখের অ্যাপে এটি ঐচ্ছিক হতে পারে, অথবা পরে যোগ করা যায়।
ব্যবহারকারী ফোন হারালে কী হবে?
সেজন্যই রিকভারি কোড: 2FA চালু করার সময় দেখানো এক-বারের ব্যাকআপ কোডের একটি ছোট তালিকা। এগুলো ছাড়া রিকভারি সাধারণত অ্যাপের মালিকের ম্যানুয়াল পরিচয় যাচাইয়ের মাধ্যমে হয়, তাই লঞ্চের আগেই পরিকল্পনা করুন।