HTTPS কি? SSL সার্টিফিকেট কিভাবে কাজ করে?
গত পোস্টে ব্যাখ্যা করেছিলাম HTTP কি? আজকের বিষয় হল SSL সার্টিফিকেট কি বা https নিয়ে। আচ্ছা আপনি যখন কোন ওয়েবসাইট ভিজিট করেন তখন কি খেয়াল করেছেন ব্রাউজারে https বা Secure লিখা থাকে কি না? কিংবা ব্রাউজারের অ্যাড্রেসবারে locked তালার মত প্যাডলক থাকে কি না? যদি যদি লক্ষ না করে থাকেন তাহলে আজই খেয়াল করুন। কারণ আপনার ওয়েবসাইট হ্যাকের হাত থেকে বাঁচানোর জন্য এগুলোর গুরুত্ব জানা খুবই দরকারী। কিংবা আপনি যে ওয়েবসাইট বর্তমানে ভিজিট করছেন সেটি আপনার জন্য কতটুকু নিরাপদ বা সেখানে কোন তথ্য দিলে তা হ্যাক হয়ে যাবে কি না সেব্যাপারে আজ আপনি ক্লিয়ার ধারণা পেতে চলেছেন। তাই পড়তে থাকুন সম্পূর্ণ পোস্টটি।
HTTPS কি?
https এর সম্পূর্ণ রুপ হল Hyper Text Transfer Protocol Secure. আমরা কোন ওয়েব ব্রাউজার ওপেন করে যখন কোন ওয়েবসাইট ভিজিট করি তখন চোখের সামনে ওই ওয়েবসাইটের যা যা তথ্য দেখি তার সবই মূলত Hyper Text. সকল ওয়েবসাইটই কোন না কোন সার্ভারে হোস্ট করা থাকে। আর ঐসব ওয়েবসাইটকে আমরা ব্রাউজারের মাধ্যমে দেখে থাকি। তার মানে ওয়েবসাইটকে তার সার্ভার থেকে Transfer হয়ে ব্রাউজারে আসতে হচ্ছে। যখন Hyper Text গুলো ওয়েব সার্ভার থেকে আমাদের ব্যবহ্নত ডিভাইসের ব্রাউজারে আসে তখন মাঝখানে অনেক কম্পিউটার সিস্টেম হয়ে আসতে হয়। এক্ষেত্রে কিছু নিয়মনীতি মেনে আসতে হয়। যাকে আমরা Protocol বলি। সার্ভার থেকে যখন তথ্যগুলো আমাদের ব্রাউজারে আসে তখন সেগুলো আসলে এনক্রিপটেড অবস্থায় থাকে। এরপর আমাদের ব্রাউজারে এসে সেগুলো আবার ডিক্রিপ্ট হয় যার ফলে আমরা মূল তথ্যগুলো দেখতে পাই। [এনক্রিপশন এবং ডিক্রিপশন নিয়ে একটু পরে বিস্তারিত বলছি] এটিই হল Secure ব্যবস্থা। আবার যখন কোন ব্যবহারকারী https প্রটোকল যুক্ত কোন ওয়েবসাইটে এসে তার কোন তথ্য দেয় (যেমন ধরুন ইউজার নেম, পাসওয়ার্ড, ফোন নাম্বার ইত্যাদি) তখন সেটি এনক্রিপ্টেড হয়ে যায়। এই এনক্রিপ্টেড তথ্যই বিভিন্ন কম্পিউটার সিস্টেম হয়ে সার্ভারে গিয়ে জমা হয়। যদি এনক্রিপ্টেড না থাকতো তাহলে তথ্যগুলো যেসব কম্পিউটার সিস্টেম হয়ে সার্ভারে গিয়ে জমা হচ্ছে ওসব কম্পিউটার সিস্টেমে ওঁত পেতে থাকা হ্যাকাররা সমস্ত তথ্য পেয়ে যেত। সার্ভারে তথ্যগুলো পৌঁছার পর আবার ডিক্রিপ্ট হয়ে যায়। ফলে মূল তথ্য সার্ভারে গিয়ে নিরাপদে জমা হয়।
এনক্রিপশন ও ডিক্রিপশন কি?
এনক্রিপ্ট মানে হল সাভাবিক কোন লিখাকে অন্য কোন লিখা দ্বারা কনভার্ট করে ফেলা। আর ডিক্রিপ্ট মানে হল ঐ কনভার্ট করা লিখাকে আগের অবস্থায় ফিরিয়ে নিয়ে আসা। মনে করুন, Rohim একটি গোপন শব্দ। এটি করিমের কাছে পাঠাতে হবে। তো আপনি যদি Rohim শব্দটি খাতায় লিখে মফিজের হাতে ধরিয়ে দিয়ে বলেন যে, এটি করিমের কাছে পৌঁছে দাও। তাহলে সেটা মফিজ করিমের কাছে দিয়ে আসবে। এখন রাস্তায় এসে মফিজ যদি দেখে ফেলে খাতায় কি লিখা আছে তাহলে আপনার সকল গোপনীয়তা শেষ। আপনি যেটি খাতায় লিখে দিয়েছিলেন সেটার নাম হল প্লেইন টেক্সট যা সবাই দেখতে পারে এবং দেখে বুঝতেও পারে। এবার ধরুন আপনি Rohim শব্দটিকে আগের অক্ষরগুলোকে দিয়ে চেঞ্জ করে দিলেন তাহলে দেখতে Qnghl এরকম হবে। এখন Qnghl শব্দটি খাতায় লিখে মফিজকে বলে দিলেন এটা করিমের কাছে পৌঁছে দাও। এখন মফিজ রাস্তার মধ্যে এসে যদি খাতা খুলে দেখে তাহলে সে এই Qnghl শব্দটি দেখে কিছুই বুঝতে পারবে না। এখন ধরুন, আপনি করিমকে ফোন দিয়ে বলে দিলেন মফিজ যে খাতা তোমার কাছে পৌঁছে দিয়েছে তাতে লিখা শব্দটিকে পরের অক্ষর দিয়ে চেঞ্জ করে নাও। এখন করিম যদি Qnghl শব্দটিকে পরের অক্ষরগুলি দিয়ে চেঞ্জ করে নেয় তাহলে দেখতে এরকম হবে Rohim (Q এর পরের অক্ষর R এভাবে)। তো আপনি যখন Rohim শব্দটিকে আগের অক্ষর দিয়ে চেঞ্জ করে ফেলেছিলেন তখন ঐ প্রক্রিয়াকে বলা হয় এনক্রিপশন। আর করিম যখন Qnghl শব্দটি হাতে পেয়ে তার পরের অক্ষরগুলি দিয়ে চেঞ্জ করে নিল তখন ঐ প্রক্রিয়াকে বলা হয় ডিক্রিপশন।
HTTPS প্রটোকল ডিক্রিপশন করে কি কাজ করে?
ধরুন আপনি এখন banglaCourse.com সাইটটি ভিজিট করছেন যেটি HTTPS কানেকশন সমর্থিত অর্থ্যাত সিকিউর বা এই সাইটে আপনার দেয়া সকল তথ্য নিরাপদ থাকবে। এখন এই সাইটে এসে যদি আপনি কোন পোস্ট লিখতে চান তাহলে প্রথমেই আপনাকে সাইটে লগিন করেতে হবে। আর লগিন করার সময় ইউজার নেম, পাসওয়ার্ড ইত্যাদি দিয়ে লগিন বাটনে ক্লিক করতে হবে। তারপর ঐ ইউজার নেম আর পাসওয়ার্ড সার্ভারে চলে যাবে। সার্ভারে যাবার সময় বিভিন্ন কম্পিউটার সিস্টেম হয়ে তারপর মূল সার্ভারে পৌঁছাবে। তারপর সার্ভার তার ডেটাবেজে সংরক্ষিত ইউজার নেম আর পাসওয়ার্ডের সাথে মিলিয়ে দেখবে যে আপনি যে ইউজার নেম আর পাসওয়ার্ড দিয়ে লগিন করতে যাচ্ছেন তা ঠিক আছে কি না। যখন ঠিক থাকবে তখন আপনাকে লগিন করার অনুমতি দিবে। আর ভুল তথ্য দিয়ে যদি লগিন করার চেষ্টা করে থাকেন তাহলে ভুল পাসওয়ার্ডের সিগন্যাল দেখাবে আপনাকে। আপনি লগিন বাটনে ক্লিক করার সাথে সাথে এতগুলো স্টেপ পার করে তারপর আপনার অ্যাকাউন্ট ওপেন হয় যা এক মুহুর্তের মধ্যেই সংগঠিত হয়ে থাকে। তো আপনি যখন ইউজার নেম পাসওয়ার্ড দিয়ে লগিন বাটনে ক্লিক করেছিলেন তখন আপনার ব্রাউজার সেই তথ্যগুলোকে এনক্রিপ্ট করে দিয়েছিল। এখন এই এনক্রিপটেড তথ্য যদি কোন হ্যাকার পেয়েও থাকে তাহলে তা ডিক্রিপ্ট করে মূল ইউজার নেম আর পাসওয়ার্ড বের করা হ্যাকের পক্ষে প্রায় অসম্ভব। এই এনক্রিপটেড তথ্যই বিভিন্ন কম্পিউটার সিস্টেম হয়ে সার্ভারে গিয়ে জমা হয়। তারপর সার্ভার সেটিকে ডিক্রিপ্ট করে নিয়ে মূল তথ্য দেখতে পায়।
কিভাবে বুঝবো আমার ভিজিট করা সাইটটি সুরক্ষিত কি না?
মনে করুন আপনি এখন ordinaryit.com সাইটটি ভিজিট করছেন। তো, কিভাবে বুঝবেন এই সাইটটি আপনার জন্য নিরাপদ কি না? ওয়েবসাইটে প্রবেশ করার পর ব্রাউজারের উপরে অ্যাড্রেসবারের ডানপাশে খেয়াল করুন তো কি কি দেখতে পাচ্ছেন? নিচের চিত্রটি লক্ষ করুন।
দেখতে পাচ্ছেন Secure লেখা সম্বলিত লকপ্যাড আছে। তাছাড়াও ওয়েবসাইটের অ্যাড্রেসের শুরুতে https লিখা আছে। তারমানে হল এই সাইটটি আপনার জন্য নিরাপদ। এই সাইট ভিজিট করার সময় আপনার তথ্য কেউ ট্র্যাক করতে পারবে না।
কোন ধরণের ওয়েবসাইটের জন্য HTTPS কানেকশন অবশ্যই গুরুত্বপূর্ণ?
- ইকমার্স সাইট যেখানে অনলাইনে ক্রয় বিক্রয় হয় যেমন পিকাবো ডট কম।
- মাল্টি ইউজার সাইট যেখানে অনেক ব্যবহারকারী আছে যেমন ফেসবুক।
- মাল্টি অথর যেখানে অনেক ব্যবহারকারী সাইট চালায় যেমন ব্লগ।
কোন ধরণের ওয়েবসাটের জন্য https কানেকশন গুরুত্বপূর্ণ না?
- পারসোনাল ওয়েবসাইট যেখানে একজন সাইট কন্ট্রোল করে।
- বিজনেস সাইট যেখানে একজন সাইট কনট্রোল করে।
মূল কথা হল যেসব ওয়েবসাইটে অনেক ব্যবহারকারী থাকে সেসব ওয়েবসাইটের জন্য https কানেকশন অতীব গুরুত্বপূর্ণ। আর যেসব ওয়েবসাইটে কোন ব্যবহারকারীই নেই সেসব ওয়েবসাইটে https কানেকশন খুব বেশি গুরুত্বপূর্ণ না, http হলেও চলবে।
আমার ওয়েবসাইটকে কিভাবে সিকিউর বা https করব?
আপনি যদি আপনার ওয়েবসাইটকে https বা সিকিউর করতে চান তাহলে আপনাকে SSL সার্টিফিকেট কিনতে হবে। প্রতি ১ বছরের জন্য আপনার ওয়েবসাইটের SSL সার্টিফিকেটের মূল্য প্রায় $75 ডলারের মত। আপনি চাইলে এই ওয়েবসাইট থেকে ফ্রিতে SSL সার্টিফিকেট নিতে পারবেন আপনার ওয়েবসাইটের জন্য। আগামী পর্বে দেখাবো কিভাবে আপনার ওয়েবসাইটে Free SSL Certificate যোগ করবেন। সেপর্যন্ত সবাই ভাল থাকবেন। আর হ্যাঁ পোস্টটি আপনার কাছে গুরুত্বপূর্ণ মনে হলে শেয়ার করতে ভুলবেন না যেন।
SSL সার্টিফিকেট যোগ করলেই কি ওয়েবসাইট একদম সিকিউর হয়ে যাবে?
না। অনেক সাইবার অ্যাটাক আছে যেগুলোর মাধ্যমে আপনার ওয়েবসাইটের নিরাপত্তা ব্যবস্থা ভেঙ্গে ফেলা হ্যাকারদের কাছে খুব বেশি অসম্ভবের কাজ না।
অর্ডিনারি আইটির নীতিমালা মেনে কমেন্ট করুন। প্রতিটি কমেন্ট রিভিউ করা হয়।
comment url