কম্পিউটার টিউটোরিয়াল

তথ্য নিরাপত্তায় পাসওয়ার্ড স্যাল্টিং (Password Salting) কী?

পাসওয়ার্ড স্যাল্টিং (Password Salting) কী?

পাসওয়ার্ড স্যাল্টিং হলো পাসওয়ার্ড এনক্রিপশনের একটি রূপ যেখানে একটি পাসওয়ার্ডকে দেওয়া ইউজারনেমের সাথে যুক্ত করা হয় এবং তারপর নতুন ক্যারেক্টার স্ট্রিংকে হ্যাশ করা হয়। এটি সাধারণত MD5 হ্যাশিং অ্যালগরিদম দিয়ে করা হয়।

পাসওয়ার্ড স্যাল্টিং সাধারণত লিনাক্স অপারেটিং সিস্টেমে পাওয়া যায়, এবং এটি مایক্রোসফ্ট ডিস্ট্রিবিউশনে ব্যবহৃত কিছু মডেলের চেয়ে অধিক নিরাপদ পাসওয়ার্ড এনক্রিপশন মডেল হিসেবে বিবেচিত।

কীভাবে কাজ করে?

  1. ইউজারনেম তৈরি হলে ব্যবহারকারী সাধারণত একটি পাসওয়ার্ড তৈরি করে এই ইউজারনেমের সাথে যুক্ত করতে।
  2. ব্যবহারকারী পাসওয়ার্ড স্যাল্ট-সক্ষম সিস্টেমে জমা দিলে, সিস্টেম পাসওয়ার্ডকে ইউজারনেমের সাথে যুক্ত করে।
  3. নতুন ক্যারেক্টার স্ট্রিংটি হ্যাশ করা হয়।

কারণ এটি কার্যকর

যদি দুজন ব্যবহারকারী অবিচারিতভাবেই একই পাসওয়ার্ড বেছে নেন, তাদের ইউজারনেম почти নিশ্চিতভাবেই ভিন্ন হবে, ফলে ভিন্ন হ্যাশ ভ্যালু তৈরি হবে।

স্যাল্ট (Salt) কী?

স্যাল্ট হলো পাসওয়ার্ড হ্যাশিং-র সাথে সম্পর্কিত একটি টার্ম। এটি একটি ইউনিক ভ্যালু যা পাসওয়ার্ডের শেষে যোগ করা হয় একটি ভিন্ন হ্যাশ ভ্যালু তৈরি করতে। এটি হ্যাশিং প্রক্রিয়ায় একটি অতিরিক্ত নিরাপত্তা লেয়ার যোগ করে, বিশেষত ব্রুট ফোর্স আক্রমণের বিরুদ্ধে। ব্রুট ফোর্স আক্রমণে একটি কম্পিউটার বা বটনেট অক্ষর ও সংখ্যার প্রতিটি সম্ভাব্য কোম্বিনেশন চেষ্টা করে পাসওয়ার্ড খুঁজে বের করতে।

স্যাল্টিং-এর বিস্তারিত

  • স্যাল্ট হলো র‍্যান্ডম ইনফরমেশন যা কোম্পানি হ্যাশিং পাসওয়ার্ড বা ক্রিপ্টোগ্রাফিতে ডেটা সুরক্ষার জন্য ব্যবহার করে। जितना বেশি ইনপুট, পাসওয়ার্ড সংরক্ষণে ততটুকু বেশি সুবিধা।
  • স্যাল্টিং পাসওয়ার্ডকে অননুমোদিত পড়া থেকে রক্ষা করার জন্য একটি অতিরিক্ত সুরক্ষা কভার হিসেবে বিকশিত।
  • সাধারণ সেটিং-এ প্রতিটি পাসওয়ার্ডের জন্য একটি ইউনিক স্যাল্ট তৈরি হয় এবং ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন দিয়ে প্রসেস করা হয়। সিস্টেম আউটপুট হ্যাশ ভ্যালু ও স্যাল্ট সিকিউর ডেটাবেসে সংরক্ষণ করে।
  • হ্যাশিং ফাংশন নেটওয়ার্ক ও সিস্টেম অ্যাডমিনিস্ট্রেটরদের সাহায্য করে যাতে তারা প্লেইনটেক্সট পাসওয়ার্ড বিতর্ক ছাড়া অথেন্টিকেশন প্রক্রিয়া বাস্তবায়ন করতে পারে।
  • স্যাল্ট তৈরি হয়তে পারে: বর্তমান ডেট-টাইম, ইউজারনেম, একটি গোপন প্রসেস, একটি র‍্যান্ডম ভ্যালু, বা এদের সংমিশ্রণ। Bcrypt যেমন হ্যাশিং অ্যালগরিদম ডিফল্টভাবে প্রতি-হ্যাশ ইউনিক স্যাল্ট ব্যবহার করে।
  • যদি স্যাল্ট হ্যাশে যোগ না করা হয়, তবে আক্রমণকারী নির্দিষ্ট নিষ্কর্ষ করতে পারে: যেমন, কিছু হ্যাশ ভ্যালু একই হলে সার্ভার সব নতুন অ্যাকাউন্টের জন্য ডিফল্ট পাসওয়ার্ড ব্যবহার করছে বা কোন পাসওয়ার্ড কোন হ্যাশে ম্যাপ করে সেটি অনুমান করে সকল অ্যাকাউন্টে অ্যাক্সেস পায়।
  • হ্যাশ স্যাল্ট করলে পাসওয়ার্ড লিস্ট ব্রুট ফোর্স আক্রমণ থেকে রক্ষা পায়। ব্রুট ফোর্স আক্রমণে সাইবার অপরাধী কম্পিউটার বা একাধিক কম্পিউটার (বটনেট) ব্যবহার করে সংখ্যা ও অক্ষরের প্রতিটি সম্ভাব্য কোম্বিনেশন চেষ্টা করে পাসওয়ার্ড খুঁজে বের করে।
  1. তথ্য নিরাপত্তায় ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন (Cryptographic Hash Function) কী?

  2. তথ্য নিরাপত্তায় SHA (Secure Hash Algorithm) কী?

  3. তথ্য নিরাপত্তাতে হ্যাশ ফাংশনের কী কী প্রয়োজনীয়তা?

  4. তথ্য নিরাপত্তাতে IDEA (International Data Encryption Algorithm) কী?