Google অথেনটিকেশনের চেয়েও শক্তিশালী সিকিউরিটি সিস্টেম!
আমরা নিশ্চয়ই Google Authenticator সিস্টেম সম্পর্কে জানি – যেটা কিনা প্রতি ৩০ সেকেন্ড অন্তর অন্তর নতুন করে কোড জেনারেট করে যা Login কোড সিস্টেমে এক্সিকিউট হয়। এখানে শুধু গুগল
অথেনটিকেটর বলছি বলেই যে Google কে মিন করছি সেটা নয় কিন্তু বরং Microsoft Authenticator একই প্রসেসে কাজ করে; এটি হলো মূলত TOTP সিস্টেম।
সমস্যা কি?
এটি Google এর Bug Bounty সিস্টেমের একটি অংশ ছিলো তাই পরিপূর্ণভাবে ডিসক্লোজ না করেও এ বিষয়টি সম্পর্কে TrickBD তে লিখেছিলাম Google Authenticator – আসলে কতোটুকু অথেন্টিক?!
এটা বহুকাল আগে হতে মাথায় থাকা একটি সাবজেক্টিভ ফ্যাক্টের বহিঃপ্রকাশ ছিলো তদুপরি Google Security টিম বাউন্ট করার একদম শুরুতে বিষয়টা তেমন পাত্তা দেয়নি যার রেসপন্সের অংশ এমন ছিলো:

যদিও পরবর্তীতে সিকিউরিটি লেয়ারে বিষয়টি গুরুত্ব সহকারে কনসার্ন করা হয়।
ফ্যাক্ট
যাই হউক এখানে একটা বিষয় একটু মাথা খাটিয়ে ভাবুন যে Google কিন্তু স্বীকার করছে যে যদি আপনি সিক্রেট Kye জানেন তবে ফিউচারের কোডগুলোও আপনি জানবেন [তথাপি বিষয়টি আসলে পরমভাবে Google এর সিকিউরিটি Vulnerability নয় বরং TOTP সিস্টেম সীমাবদ্ধতা বলা অধিক সংগত]। এখন আপনি/আমি আমরা আসলে কি ভাবি?
আমরা ভাবি যে যেহেতু ৩০ সেকেন্ড পরপর নতুন কোড জেনারেট হচ্ছে সুতরাং কোড ছাড়া তো কেউ লগিন করতে পারবে না – যেখানে সেশান টাইম মাত্র ৩০ সেকেন্ড [সময় নিয়েও কাহিনী আছে সেই কথা পরে বলি] অথচ সিক্রেট Key জানা থাকলে আসলে এই ৩০ সেকেন্ড সেশান জিনিসটাই যে নন-ভ্যালিড হয়ে যাচ্ছে সেটা কি ভাবছেন না?
আচ্ছা গাণিতিকভাবে বোঝা যাক:
TOTP এর বর্তমান সূত্র:
OTP = HMAC-SHA1(SecretKey, floor(time/30))
সুতরাং Secret Key জানলে → সব ভবিষ্যৎ কোড জানা যায়!
যাই হউক সিস্টেমে ভবিষ্যত কোড সমূহ হতে Root Code Explore করার রিভার্স ইঞ্জিনিয়ারিং করা যেতে পারে; যেখানে রিভার্স এর উল্টো রিভার্সে Secret Key প্যাটার্নের এনভল্ব উন্মুক্ত হয়। যদিও Theoretically ম্যাথ ফাংশানে
for each possible K:
valid = true
for each (T_i, OTP_i):
if TOTP(K, T_i) != OTP_i:
valid = false
break
if valid:
return K
ধরেও নেওয়ায় হয় তবুও key size = 160-bit হয় যেখানে আপাত ফিউচারের ৬ টি কোডে জেনারেট হওয়া মোট ডাটার ক্যালকুলেশান নিম্নরূপ:
HMAC-SHA1 output = 160-bit
কিন্তু OTP = শুধু 6 digit ≈ 20-bit
তাহলে ডাটা লস হয় 140 bit এবং সেটা HMAC এর ভিতরে Hash + Key Mixing হয়।
তথাপি Root Code এক্সপ্লয়েট হতে যেহেতু বিষয়টি এক্সপ্লোর পসিবল তাই পরোক্ষভাবে আসলে সিস্টেম সিকিউরিটি ল্যাকিংস হয়। অপরাপর ঐ উপরের Law তে টাইমার ফাংশান ম্যাচিউরিটিও ব্রেক ডাউন হয়।
লাইভ এক্সামপোল
আচ্ছা আপনি একটা কাজ করতে পারেন – যেকোন সিকিউরিটি সিস্টেম একটি ডামি সিক্রেট Key এর বিপরীতে জেনারেট হওয়া কোড দিয়ে 30 সেকেন্ড সময়ে ট্রাই করুন; এই সেশান (30 seconds) + external time ল্যাপস (অতি অল্প পরিমান) সময়েও লগিন এক্সেস করতে পারছেন; যদিও আক্ষরিকভাবে ততোক্ষণে পূর্বের কোডের ভ্যালিডিটি শেষ হয়ে যাবার কথা এবং নতুন কোডের সেশান শুরু হওয়া উচিত; যদিও ঐ সূক্ষ পরিমান ল্যাপস সেশানের ইউটিলিটি তখনও বিদ্যমান আছে।
Google এর চেয়ে স্ট্রং সিকিউরিটি সিস্টেম
নাহ, বিষয়টি আসলে এভাবে Google এর সিকিউরিটি’কে টেক্কা দেওয়া বলা উচিত নয় তবে TOTP সিকিউরিটি অপেক্ষা অধিকতর উন্নত সিকিউরিটি সিস্টেম ডেভোলপ (কাস্টমাইজ) করা যায়।
যেখানে: FSOTP প্রোটোকল দিয়ে:
প্রতি ৩০ সেকেন্ডে key ratchet হয়:
S_{t+1} = SHA-256(S_t ∥ R_t)
ফলে Secret চুরি হলেও R_t (server random) না জানলে পরবর্তী কোড বের করা গাণিতিকভাবে অসম্ভব।
• AES-256-GCM — vault encryption
• PBKDF2 × 310,000 — password hashing
• CSPRNG — সব random value
• Auto-lock — idle এ লক
• Clipboard auto-clear — ৩০s পর মুছে যায়
সম্পূর্ণ বিষয়টি সকলের জন্য উন্মুক্ত GitHub রিপোজিটরী হিসেবে রইলো – যেন পাসওয়ার্ড এর পরিবর্তে নতুন করে সেইফওয়ার্ড এর যুগে আমরা প্রবেশ করতে পারি।
GitHub রিপোজিটরী : https://github.com/HumayunShariarHimu/SafeWordApp
SafeWord Deployed Application : SafeWordApp
সবিশেষ এতোটুকুই বলা যেতে পারে যেকোন সিকিউরিটির অপর পীঠে থাকে Vulnerability – যা অবিষ্কার করে সেটার এক্সেস করতে পারার সক্ষমতা শুধুই বাগ হান্টিং বরং এরচেয়েও অধিক “হ্যাকিং” – এটি বাউন্টির চেয়েও অধিক স্যাটিসফেকশান যোগায়।
সকলে জন্য নিরন্তর শুভকামনা ও ভালোবাসা রইলো।
I sincerely apologize that this project’s code still requires further development to make it more foolproof. Since the article has already been published, I will update the code as quickly as possible and inform everyone in the comment section.
https://chat.deepseek.com/share/kx6bp9r15fsy1ni6zj
(১) আপনি কি লিখছেন সেটা বাংলাতে স্পষ্ট করে লিখুন যেন সবাই বুঝতে পারে
(২) বাউন্টি আলোচ্য নয় – আপনার নিকট এতোটা গুরুত্ব মনে হলে সেটা তো একান্তই আপনার বিষয়।
(৩) DeepSeek এর কনভারসেশন শেয়ার করেছেন অথচ কনফ্লিক্ট স্বয়ং নিজেই টাইম ল্যাপস ডিলে (পেয়ার কোড) চেক করলেই তো মিটে যেতো সত্যতা।
(৪) যে ফ্যাক্ট হাইলাইট করেছেন সেটা স্পেসিফিক কাস্টম সিকিউরিটি লেয়ারে – এটি যে আরও বেটার ওয়্যেতে ডেভোলপ করার বিষয় সেটিও জানিয়েছি।
* সবিশেষ Root Code Authenticator হতে ক্রস চেক করে মিলিয়ে নিলেই তো কনফিউশান ক্লিয়ার হয়ে যায় তাইনা?
সংক্ষেপে BS দ্বারা অকথ্য কিছু বোঝাতে চাইছেন, বুঝলাম।
হ্যা, সমালোচনা করুন তবে লজিক্যাল পয়েন্ট বিবেচনায় – পরিবেশ নষ্ট করে নয় অন্তত।
(১) আপনি আমাকে বলেননি’ AI কে বলেছেন – অথচ যা নিয়ে কনভারসেশন করছেন সেটি “এজ “অথর আমি” এবং “আমার প্রজেক্ট” নিয়ে।
(২) TOTP vs FSOTP কমপেয়ারে DeepSeek নোটে পূর্বেই জানিয়েছে FSOTP is a less common এটার অর্থ এই নয় যে Less Security বরং অপেক্ষাকৃত কম ব্যবহৃত এবং সচরাচর পাবলিক ইউজ হয়না। অপরাপর এটির ব্যবহারিক ক্ষেত্রে proprietary/commercial protocol (e.g., Deepnet Security) এটা কি আপনার চোখ এড়িয়ে গিয়েছে?
(৩) TOTP is an open standard (RFC 6238) তবে এখানে কি কোনটি স্ট্যান্ডার্ড সেটি নিয়ে আলোচনা হয়েছে নাকি সিকিউরিটি ইস্যু নিয়ে কমপেয়ার করা হয়েছে?
যেখানে FSOPT সিকিউরিটি প্যাটার্নে User-configurable composite hash (e.g., SHA-1 + SHA-256 + custom salt) বিদ্যামান।
অন্যদিকে TOTP তে Timestamp এর স্থানে Shared Secret + Moving Factor (Counter/Event) + Challenge/Custom Data ব্যবহার করা হয়েছে।
(খ) সিক্রেট কোড জানা থাকলে ফিউচার লগিন সেশান কোড জানা যায় – আপনি সেটাকে ভুল হিসেবে পূর্বেই AI কে কমান্ড এক্সিকিট করেই দিয়েছেন সুতরাং তার বক্তব্য আপনার কাঙ্খিত টোনে আসবে এটাই তো স্বাভাবিক; ML ফাইন টিউনিং যদি আপনার জানা থাকে অবশ্য।
উপরন্তু এটি সঠিক/বেঠিক সেটার জাস্টিফাই Root Code হতে করে এখানে উপাত্ত দিলেই তো হয়।
RootCode Repo: https://humayunshariarhimu.github.io/RootCode/
সুতরাং এখানে Sto//len বিষয়টিই তো আছে না।
(৫) পরবর্তীতে আপনি আর্টিকেল কপি পেস্ট না করে পুরো ওয়েবপেইজটা একবারে কপি পেস্ট করে DeepSeek প্রম্পটে দিয়েছেন যেখানে কনফ্লিক্ট শুরু হয়েছে “If you know the Secret Key, you know all future codes” দিয়ে অথচ সেটি পূর্বেই প্রুফ করা হয়েছে RootCode প্রজেক্ট [পূর্বোক্ত আর্টিকেলে] যা উহ্য রেখেছেন এবং AI কে মিস কনসেপ্টেড করেছেন।
(৭) আপনি বলেছেন He uses ai and a b*u*llshit author. U know? যেখানে আপনি AI কে প্রশ্ন না করে বরং Konw কিওয়ার্ডে একই ভাইবে রেসপন্স করতে ম্যানিউপুলেট করেছেন ইভেন G-u*y / F*u*ck শব্দগুলো ইউজ করেছেন।
উপরন্তু আপনার এহেন আচরন কেন ব্যক্তি আক্রমণ নয় সেটি TrickBD সাপোর্টে ব্যাখ্যা করুন।
TrickBD তে একজন সাধারন ইউজার (অথর) হিসেবে আমার আর্টিকেল লেখা যেমন আমার ব্যক্তিগত রাইট (নীতিমালা মেনে) তেমনি এজ মডারেটর TrickBD পরিবেশ যেন পরিছন্ন এবং ইউজার ফেন্ডলি থাকে সেটি অবজার্ভ করাও রেসপন্সটি – সুতরাং আপনি এখানে আপনার মনের খায়েশ মেটানো নীতিমালা পরিপন্থী আচরণ করতে পারেন না।
প্রজেক্ট’টি পরিপূর্ণভাবে ডেভেলপ করা হয়েছে এবং রিসার্চ/এনালাইসিস/ভেরিফাই/ব্যক্তিগত ডিপ্লয়মেন্ট পারপাসে গিটহাবে উন্মুক্ত রিসোর্স রাইলো।
TOTP এবং FSOTP সিস্টেমকে তুলনামূলক অধিক শক্তিশালী বলার রিজন:
(১) Google Authenticator যেখানে মাত্র ৬ ডিজিটের Numeric সংখ্যা জেনারেট করে অপরপক্ষে FSOTP এর কাস্টমাইজড SafeWord
Word + PIN / numeric জেনারেট করে।
(২) Google Authenticator এর প্যাটার্ন সংখ্যাগত ভাবে 1,000,000 (10^6) অপরাপর FSOTP প্যাটার্ন সংখ্যাগত দিক হতে মিনিমাম 1,677,721,600+
(৩) হ্যাশ লাগারিদম সিস্টেম TOTP তে HMAC-SHA1 ব্যবহৃত হলেও FSOTP তে HMAC-SHA1 কম্বাইন্ড HMAC-SHA256 মেথড
(৫) গেইজিং মেথডে স্নিফিং ৬টি digit মনে রাখা গেলেও কঠিন — ৩টি শব্দ মনে রাখা যায় না সেপারেট করে কম্বাইন সহজ নয়।
(৬)TOTP তে OCR/screenshot attack করা গেলেও FSOPT তে শব্দ recognize করা জটিল।
(৭) TOTP ( Google Authenticator) তে Vault প্রটেকশন না থাকলেও FSOTP তে AES-256-GCM এনক্রিপশনে মাস্টার পাসওয়ার্ড থাকায় কোড রিভিল হওয়া কঠিন।
সুতরাং আমার আর্টিকেল ভ্যালিডেশান উল্লেখ করাটা এজ রেসপনসেবলিটি ডিক্লেয়ারেশন করেছি।
গতকাল এটি এডমিন প্যানেল হতে মডারেশন চেক করতে গিয়ে পেন্ডিং পেয়েছিলাম।
ভাই আপনাকে শুধু ধন্যবাদ বা এপ্রিশিয়েট করছি না আপনার মূল্যাবান সময়ের জন্য বরং কৃতজ্ঞতা জানাচ্ছি।
তবে এখানেও বেশ কিছু ফ্যাক্ট ছিলো – যেটা আমার ডিক্লেয়ার করলে এটি একদম স্পষ্ট হতো।
যদিও এই মুহূর্তে আর মন্তব্যটি পাচ্ছি না তবে আমি লগ চেক করে হলেও সেটার রেসপন্স অবশ্যই করবো।
আবারো ভাইয়া অনেক অনেক ধন্যবাদ ও কৃতজ্ঞতা
একইসাথে ভিন্ন একটি বিষয়ে হাইলাইট করছি: ভাই আপনার TrickBD ইউজার আইডি আপডেট করুন; নচেৎ মেনশন করতে ও কনভারসেশন কন্টিনিউ করতে সমস্যা হচ্ছে। অপরাপর আপনার এই মেইলেই সম্ভাবত ব্লগার (ব্লগস্পট) তে আপনার সাইট, সাইটে যুক্ত এডসেন্স ইত্যাদি থাকতে পারে তাই সহজে নেভিগেট করার জন্য আপডেট করলে বেটার হবে।
2nd: apni ekta website er security and backend er access kivabe khuje pan ..and seita login o kore felen seta kivabe…noitikvabei