menuDAT

DAT (Data Authentication Token)

1. تعارف (Introduction)

جیسے جیسے بیک وقت آن لائن صارفین کی تعداد بڑھتی ہے، سیشنز (Sessions) کی تعداد بھی بڑھتی جاتی ہے، جس سے سیشن سرور پر ضرورت سے زیادہ بوجھ پڑتا ہے۔

DAT ایک ٹوکن اسپیک ہے جو سیشن سرور کی اس بوجھ کی مشکل کو حل کرنے اور سرورز کے درمیان حالت (State) شیئر کیے بغیر (Stateless) موثر تصدیق (Authentication) کو ممکن بنانے کے لیے تیار کی گئی ہے۔


2. ٹوکن ڈھانچہ (Structure)

Structure
Example refresh
/

2.1. فیلڈ کی تفصیلی وضاحت

میعاد ختم ہونے کا وقت : uint64 (Unix Time)

  • ٹوکن کی میعاد ختم ہونے کا وقت سیکنڈز (Seconds) کی اکائی میں 64-بٹ بغیر علامت عدد صحیح (unsigned integer) کے طور پر ظاہر کرتا ہے۔

CID : Hex (uint64)

  • ٹوکن کی تصدیق کے لیے استعمال ہونے والا سرٹیفکیٹ ID (Certificate ID) ہے۔

سادہ ڈیٹا : Base64Url (Binary)

  • کلائنٹ کو عام طور پر دکھائے جانے والے ڈیٹا کو رکھتا ہے۔ یہ نہ صرف سٹرنگ بلکہ بائنری ڈیٹا کو بھی سپورٹ کرتا ہے، اور کلائنٹ اسے ڈی کوڈ کر کے دیکھ سکتا ہے۔

خفیہ کردہ ڈیٹا : Base64Url (Binary)

  • کلائنٹ سے مخفی رکھے جانے والے ڈیٹا کو رکھتا ہے۔ یہ سرٹیفکیٹ پر مبنی خفیہ کاری (encryption) الگورتھم سے خفیہ کیا گیا ہوتا ہے، اس لیے کلائنٹ اس کے مواد کو ڈی کوڈ نہیں کر سکتا۔

دستخط : 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 خفیہ کردہ ڈیٹا فیلڈ کے ذریعے ٹوکن کی اپنی خفیہ کاری (encryption) کی صلاحیت کو سپورٹ کرتا ہے۔
  • میعاد ختم ہونے کے وقت کی پابندی: JWT میں exp (Claims) فیلڈ اختیاری ہے، لیکن DAT میں میعاد ختم ہونے کا وقت (expire) فیلڈ ٹوکن کے ڈھانچے میں لازمی ہے، اس لیے میعاد کی تصدیق لازمی طور پر کی جاتی ہے۔