Splync কখনও আপনার পাসওয়ার্ড সাধারণ টেক্সটে সংরক্ষণ করে না
পূর্বের প্রবন্ধগুলোতে আমরা আলোচনা করেছি কীভাবে HTTPS আপনার অ্যাপ এবং আমাদের সার্ভারের মধ্যেকার পথকে রক্ষা করে এবং কীভাবে SSH সার্ভার নিজেকে সুরক্ষিত রাখে। এখন সময় এসেছে সার্ভারের ভিতরে দেখার — কীভাবে Splync আপনার পাসওয়ার্ডকে নিরাপদ রাখে যখন এটি সেখানে পৌঁছায়। যদি কেউ আপনার পাসওয়ার্ড পায়, তবে তারা আপনার অ্যাকাউন্টে লগ ইন করতে পারে এবং সংবেদনশীল তথ্য, যেমন আপনার ব্যয় রেকর্ডগুলি অ্যাক্সেস করতে পারে। সেই কারণেই Splync কখনও পাসওয়ার্ড সাধারণ টেক্সটে সংরক্ষণ করে না। পরিবর্তে, প্রতিটি পাসওয়ার্ডকে ডাটাবেসে সংরক্ষণের আগে একটি হ্যাশ করা সংস্করণে রূপান্তরিত করা হয়। এটি ঠিক কী বোঝায়? হ্যাশিং হল একমুখী রূপান্তর — একবার রূপান্তরিত হলে, এটি কখনই মূল পাসওয়ার্ডে পুনরায় রূপান্তর করা যায় না। এই পদ্ধতি ইন্টারনেট জুড়ে মানদণ্ড, ব্যাংক থেকে বড় বড় ক্লাউড পরিষেবা পর্যন্ত, কিন্তু অনেকেই জানেন না এটি কীভাবে কার্যকর হয়। চলুন এটি একটি সাধারণ প্রতিদিনের উপমার মাধ্যমে অন্বেষণ করি।
হ্যাশিং এর মৌলিক: একটি ব্লেন্ডার যা সবসময় একইভাবে মিশ্রণ করে
কীভাবে পাসওয়ার্ড সুরক্ষা কাজ করে তা বুঝতে, চলুন একটি সাধারণ হ্যাশিং পদ্ধতি, SHA-256 দিয়ে শুরু করি। এটি এমন একটি ব্লেন্ডারের মত ভাবুন যা সবসময় উপাদানগুলোকে ঠিক একইভাবে মিশ্রণ করে। আপনি যদি একই পাসওয়ার্ডটি ব্লেন্ডারে রেখে বোতাম চাপেন, তাহলে আপনি সবসময় একই অনন্য স্মুদি পাবেন — অক্ষর এবং সংখ্যার জটিল মিশ্রণ। মূল ধারণা হল যে এই প্রক্রিয়াটি উল্টানো যায় না। যেমন আপনি একটি স্মুদি নিলে এবং সেটিকে আবার মূল কলা এবং দুধে আলাদা করতে পারবেন না, তেমনই আপনি জটিল হ্যাশ নেওয়ার পর মূল পাসওয়ার্ড পুনরুদ্ধার করতে পারবেন না।
SHA-256 এর উদাহরণ: পাসওয়ার্ড যাচাই করুন তাদের না জেনেই
SHA-256 হল সবচেয়ে সাধারণ হ্যাশিং অ্যালগরিদমগুলির একটি। উদাহরণস্বরূপ, এটি "splync1234" পাসওয়ার্ডকে "9cdafa20d069ecfb202e5f0bc937c73071cc6cd85634cc2d95d30ddcf2a71d41" এ হ্যাশ করে। মাইক্রোসেকেন্ডে, যখনই কোনো বিদ্যমান ব্যবহারকারী লগইন পাসওয়ার্ড প্রবেশ করে,_SHA-256 সবসময় একই হ্যাশ পাসওয়ার্ড তৈরি করে। অ্যাপটি শুধু প্রবেশ করা পাসওয়ার্ডটি আবার হ্যাশ করে এবং দেখে এটি সংরক্ষিত হ্যাশের সাথে মেলে কিনা। কোনো অবস্থাতেই সিস্টেম কখনও ব্যবহারকারীর মূল পাসওয়ার্ড জানে না। কিন্তু যদি কোনো আক্রমণকারী প্রাক-গণনা করা সাধারণ পাসওয়ার্ড এবং তাদের হ্যাশের তালিকা (রেইনবো টেবিল আক্রমণ হিসাবে পরিচিত) ব্যবহার করে দ্রুত ব্যবহারকারীদের পাসওয়ার্ড অনুমান করে? এই উদ্বেগ খুবই বাস্তব। এই কারণেই আধুনিক সিস্টেমগুলি, Splync সহ, সাধারণ SHA-256 এর উপর নির্ভর করে না।
Splync bcrypt দিয়ে পাসওয়ার্ড হ্যাশ করে—SHA-256 এর চেয়ে শক্তিশালী
Bcrypt একটি এলোমেলো প্রতিটি ব্যবহারকারীর জন্য আলাদা লবণ ব্যবহার করে এবং সেই লবণ (এবং মূল্য নির্ধারণ ফ্যাক্টর) সরাসরি সংরক্ষিত হ্যাশ স্ট্রিংয়ে এনকোড করে। গোপন মসলা (লবণ) এবং ধীর মোটর (কাজ ফ্যাক্টর) সহ একটি ব্লেন্ডারের মত bcrypt বিবেচনা করুন — এটি প্রতিটি মিশ্রণকে অনন্য করে তোলে এবং অনুলিপি করা আরও কঠিন করে তোলে। কারণ লবণটি ১২৮ বিট (প্রায় ৩×১০³⁸ সম্ভাবনা), একই পাসওয়ার্ড বিপুল সংখ্যক আলাদা সংরক্ষিত হ্যাশের সাথে মানচিত্রিত হতে পারে। এটি বৃহৎ পরিসরে প্রাক-গণনাকৃত রেইনবো টেবিলকে অকেজো করে তোলে। লগইনের সময়, Splync সংরক্ষিত bcrypt স্ট্রিং থেকে লবণ এবং মূল্য পড়ে, সেই পরামিতি দিয়ে প্রবেশ করা পাসওয়ার্ডে bcrypt পুনরায় চালায় এবং সংরক্ষিত হ্যাশের সাথে ফলাফল তুলনা করে। তারা যদি মেলে, তবে পাসওয়ার্ড সঠিক — কিন্তু bcrypt ইচ্ছাকৃতভাবে ধীর এবং লবণগুলি অনন্য হওয়ায়, একটি আক্রমণকারীর জন্য বলপ্রয়োগ আক্রমণগুলি অনেক বেশি ব্যয়বহুল হয়ে ওঠে।
bcrypt এর সাথে একটি সহজ উদাহরণ
দেখি এটি বাস্তবে কেমন দেখায়। আপনি যদি পাসওয়ার্ড "splync1234" bcrypt দিয়ে হ্যাশ করেন (মুল্য ১২ ব্যবহার করে), আপনি এমন একটি স্ট্রিং পেতে পারেন: `$2b$12$gBeouKYdue9uvvuV0HtGgeVPymnrojMqP/wcRw28HFlGEGIQbyw7O`। এই bcrypt স্ট্রিংয়ে, `$2b` অ্যালগরিদম সংস্করণ চিহ্নিত করে, `$12` মূল্য ফ্যাক্টর দেখায় (কতবার পাসওয়ার্ডটি প্রক্রিয়াকৃত হয়), `gBeouKYdue9uvvuV0HtGgeV` হল অনন্য এলোমেলো লবণ, এবং `PymnrojMqP/wcRw28HFlGEGIQbyw7O` হল চূড়ান্ত হ্যাশ পাসওয়ার্ড। কারণ হ্যাশ নিজেই লবণ এবং মূল্য ধারণ করে, Splync যাচাইয়ের জন্য সংরক্ষিত স্ট্রিং থেকে সেই মানগুলি বের করে এবং ফলাফল তুলনা করে একই হ্যাশিং প্রক্রিয়া পুনরায় তৈরি করতে পারে। অন্যদিকে, যদি কোনো আক্রমণকারী লবণ এবং মূল্য জানে না, তবে তারা এমন একটি রেইনবো টেবিল তৈরি করতে পারবে না যা প্রতিটি ব্যবহারকারীর জন্য কাজ করে।
হ্যাশ করা পাসওয়ার্ড দ্বিগুণ সুরক্ষা প্রদান করে
এই পদ্ধতির আরও একটি গুরুত্বপূর্ণ সুবিধা রয়েছে। যেহেতু Splync কখনও সাধারণ পাসওয়ার্ড সংরক্ষণ করে না, এমনকি যদি ডাটাবেস ফাঁস হয়ে যায় বা চুরি হয়, তবুও ব্যবহারকারীরা সঙ্গে সঙ্গে ঝুঁকিতে পড়ে না। আক্রমণকারীরা চুরি করা ডেটা দিয়ে সরাসরি লগ ইন করতে পারে না, কারণ তাদের কাছে রয়েছে শুধুমাত্র জটিল স্ট্রিং। এই নকশা ব্যবহারকারীদেরকে একটি অতিরিক্ত সুরক্ষার স্তর দেয়, সার্ভার নিজেই যে সুরক্ষা ব্যবস্থা ইতিমধ্যেই রয়েছে তার উপর। পাসওয়ার্ড হ্যাশিং শুধুমাত্র Splync এর জন্য নয়; এটি প্রযুক্তি শিল্পের মধ্যে মানদণ্ড, যেমন Google, Apple, এবং Amazon এর মতো জায়ান্ট দ্বারা ব্যবহৃত হয়। Splync খুবই নিরাপদভাবে তৈরি, এবং আমরা ইমেইল যাচাইকরণ, বলপ্রয়োগ প্রতিরোধ, এবং নিয়মিত পর্যবেক্ষণের মতো বৈশিষ্ট্যগুলির সাথে নিরাপত্তা উন্নত করতে থাকায় এটি আরও নিরাপদ হবে।