menuDAT

DAT (Data Authentication Token)

1. পরিচিতি (Introduction)

একযোগে সংযুক্ত ব্যবহারকারীর সংখ্যা বাড়ার সাথে সাথে সেশন (Session)-এর সংখ্যাও বৃদ্ধি পায় এবং সেশন সার্ভারে অতিরিক্ত চাপ সৃষ্টি হয়।

DAT হলো এই সেশন সার্ভারের চাপের সমস্যা সমাধান করতে এবং সার্ভারগুলির মধ্যে অবস্থা ভাগ না করে (Stateless) দক্ষ প্রমাণীকরণ বাস্তবায়নের জন্য ডিজাইন করা একটি টোকেন স্পেসিফিকেশন।


2. টোকেন কাঠামো (Structure)

Structure
Example refresh
/

2.1. ফিল্ড অনুযায়ী বিস্তারিত বিবরণ

মেয়াদ শেষের সময় : uint64 (Unix Time)

  • টোকেনের মেয়াদ শেষ হওয়ার সময়কে সেকেন্ড (Seconds) একক ভিত্তিক 64-বিট আনসাইনড পূর্ণসংখ্যা হিসেবে প্রকাশ করে।

CID : Hex (uint64)

  • টোকেন যাচাইকরণে ব্যবহৃত সার্টিফিকেট ID (Certificate ID)।

সাধারণ ডেটা : Base64Url (Binary)

  • ক্লায়েন্টের কাছে প্রকাশযোগ্য ডেটা ধারণ করে। শুধু স্ট্রিং নয়, বাইনারি ডেটাও সমর্থিত এবং ক্লায়েন্ট ডিকোড করে দেখতে পারে।

এনক্রিপ্টেড ডেটা : Base64Url (Binary)

  • ক্লায়েন্টের কাছে গোপন রাখা ডেটা ধারণ করে। সার্টিফিকেট-ভিত্তিক এনক্রিপশন অ্যালগরিদম দ্বারা এনক্রিপ্ট করা থাকায় ক্লায়েন্ট এর বিষয়বস্তু ডিক্রিপ্ট করতে পারে না।

স্বাক্ষর : Base64Url (Binary)

  • টোকেনের জালিয়াতি ও পরিবর্তন যাচাইয়ের জন্য স্বাক্ষর ডেটা। পূর্ববর্তী ফিল্ডগুলো সার্টিফিকেটের স্বাক্ষর অ্যালগরিদম দিয়ে স্বাক্ষর করে তৈরি করা হয়।

3. JWT-এর সাথে তুলনা

DAT এবং JWT (JSON Web Token) উভয়ই বিন্দু (.) দ্বারা বিভক্ত টোকেন কাঠামো এবং স্বাক্ষর (signature) এর মাধ্যমে যাচাইকরণ পদ্ধতি ভাগ করে নেয়, তবে অভ্যন্তরীণ ডিজাইনে নিম্নলিখিত মূল পার্থক্য রয়েছে।

3.1. কাঠামোগত পার্থক্যের তুলনা

  • JWT কাঠামো

    headerbodysignature
    Base64Url (JSON String)Base64Url (JSON String)Base64Url (Binary)
  • DAT কাঠামো

    মেয়াদ শেষের সময়CIDসাধারণ ডেটাএনক্রিপ্টেড ডেটাস্বাক্ষর
    Unixtime (uint64)Hex (uint64)Base64Url (Binary)Base64Url (Encrypt Binary)Base64Url (Binary)

3.2. মূল পার্থক্যসমূহ

  • Binary ভিত্তিক হালকাকরণ: JWT Header এবং Body-কে JSON স্ট্রিং আকারে পরিচালনা করে, কিন্তু DAT বাইনারি (Binary) ডেটা সরাসরি পরিচালনা করে ডেটার আকার অপ্টিমাইজ করে এবং পার্সিং দক্ষতা বাড়িয়েছে।
  • নিরাপত্তা অন্তর্নির্মিত (এনক্রিপ্টেড ডেটা (secure) ফিল্ড): JWT মূলত পেলোড (Payload) সাদামাটাভাবে প্রকাশ করে এবং এনক্রিপশনের প্রয়োজন হলে JWE-এর মতো আলাদা স্পেসিফিকেশন প্রয়োগ করতে হয়। অন্যদিকে, DAT এনক্রিপ্টেড ডেটা ফিল্ডের মাধ্যমে টোকেন নিজেই এনক্রিপশন সুবিধা সমর্থন করে
  • মেয়াদ শেষের সময় সীমাবদ্ধতা বাধ্যতামূলক: JWT-তে exp (Claims) ফিল্ড ঐচ্ছিক, কিন্তু DAT-এ মেয়াদ শেষের সময় (expire) ফিল্ড টোকেন কাঠামোতে বাধ্যতামূলক করা হয়েছে, ফলে মেয়াদ যাচাইকরণ অবশ্যই সম্পাদিত হয়।