কুকি স্বাক্ষর কী?

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

HMAC-SHA1 স্বাক্ষর কীভাবে কাজ করে?

HMAC (Hash-based Message Authentication Code) একটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশনকে একটি গোপন কীর সাথে একত্রিত করে একটি অনন্য স্বাক্ষর তৈরি করে। কুকি স্বাক্ষরের জন্য, প্রক্রিয়াটি নিম্নরূপ কাজ করে:

  1. স্বাক্ষর করা: মূল কুকি মানটি HMAC-SHA1 অ্যালগরিদম ব্যবহার করে একটি গোপন কীর সাথে একত্রিত করা হয়, একটি স্বাক্ষর তৈরি করে। চূড়ান্ত স্বাক্ষরিত কুকি ফর্ম্যাট হল value.signature, যেখানে স্বাক্ষরটি base64url-এনকোড করা হয়।

  2. যাচাইকরণ: একটি স্বাক্ষরিত কুকি গ্রহণ করার সময়, সার্ভার মূল মান এবং স্বাক্ষর বের করে, একই গোপন কী ব্যবহার করে প্রত্যাশিত স্বাক্ষর পুনরায় গণনা করে এবং টাইমিং আক্রমণ প্রতিরোধ করতে টাইমিং-নিরাপদ তুলনা ব্যবহার করে তাদের তুলনা করে।

কেন স্বাক্ষরিত কুকি ব্যবহার করবেন?

স্বাক্ষরহীন কুকিগুলি ব্যবহারকারী বা ক্ষতিকারক স্ক্রিপ্ট দ্বারা সহজেই পরিবর্তন করা যায়। একজন ব্যবহারকারী তাদের সেশন আইডি, ব্যবহারকারীর ভূমিকা বা কুকিতে সংরক্ষিত অন্যান্য সংবেদনশীল ডেটা পরিবর্তন করতে পারে। স্বাক্ষরিত কুকিগুলি এটি প্রতিরোধ করে যে কোনও পরিবর্তন সনাক্তযোগ্য করে তোলে—যদি মান পরিবর্তন হয়, স্বাক্ষরটি অবৈধ হয়ে যায়।

টুল বর্ণনা

এই টুলটি আপনাকে HMAC-SHA1 স্বাক্ষর ব্যবহার করে কুকি মানগুলি স্বাক্ষর এবং আনস্বাক্ষর করতে দেয়, জনপ্রিয় cookie-signature npm প্যাকেজ ফর্ম্যাটের সাথে সামঞ্জস্যপূর্ণ। একটি স্বাক্ষরিত কুকি তৈরি করতে আপনার কুকি মান এবং গোপন কী প্রবেশ করান, অথবা একটি স্বাক্ষরিত কুকি পেস্ট করুন এর মূল মান বের করতে এবং যাচাই করতে।

উদাহরণ

একটি কুকি স্বাক্ষর করা:

ইনপুট (স্বাক্ষরহীন) গোপন কী আউটপুট (স্বাক্ষরিত)
user123 my-secret-key user123.SNk0sCiCAuZ5cwj0lNdJfUgwqU4
session_abc app-secret session_abc.sBzU4FZRe3BfgNWZQB4viGTH37A

একটি কুকি আনস্বাক্ষর করা:

ইনপুট (স্বাক্ষরিত) গোপন কী আউটপুট (স্বাক্ষরহীন)
test.sOx9vuKRxxXdUOK0uLcAQ4CIORo password test

অবৈধ স্বাক্ষর সনাক্তকরণ:

যদি আপনি ভুল গোপন কী বা পরিবর্তিত মান দিয়ে একটি কুকি আনস্বাক্ষর করার চেষ্টা করেন, টুলটি একটি "অবৈধ স্বাক্ষর" ত্রুটি প্রদর্শন করবে।

বৈশিষ্ট্য

  • কুকি স্বাক্ষর করুন HMAC-SHA1 ব্যবহার করে যেকোনো গোপন কী দিয়ে
  • স্বাক্ষরিত কুকি আনস্বাক্ষর এবং যাচাই করুন মূল মান বের করতে
  • টাইমিং-নিরাপদ তুলনা যাচাইকরণের সময় টাইমিং আক্রমণ প্রতিরোধ করে
  • সামঞ্জস্যপূর্ণ ফর্ম্যাট Node.js cookie-signature প্যাকেজের সাথে
  • ব্রাউজার-ভিত্তিক Web Crypto API ব্যবহার করে প্রক্রিয়াকরণ—কোনো ডেটা সার্ভারে পাঠানো হয় না

ব্যবহারের ক্ষেত্র

  • Express.js সেশন পরীক্ষা করা: যাচাই করুন যে আপনার Express সেশন কুকিগুলি সঠিকভাবে স্বাক্ষরিত এবং আপনার গোপন কী দিয়ে ডিকোড করা যায়
  • প্রমাণীকরণ সমস্যা ডিবাগ করা: লগইন বা সেশন সমস্যা সমাধান করতে স্বাক্ষরিত কুকি থেকে মূল মান বের করুন
  • নিরাপত্তা অডিট করা: যাচাই করুন যে আপনার ওয়েব অ্যাপ্লিকেশনে কুকি স্বাক্ষরগুলি সঠিকভাবে কাজ করছে
  • ক্রিপ্টোগ্রাফি শিখা: অনুশীলনে HMAC-ভিত্তিক কুকি স্বাক্ষর কীভাবে কাজ করে তা বুঝুন
  • মাইগ্রেশন পরীক্ষা করা: গোপন কী পরিবর্তন করার সময় বা ফ্রেমওয়ার্কের মধ্যে মাইগ্রেট করার সময় কুকি সামঞ্জস্য নিশ্চিত করুন