menuDAT

DAT (Data Authentication Token)

1. 개요 (Introduction)

مع تزايد عدد المستخدمين المتصلين في وقت واحد، يزداد عدد الجلسات (Sessions) أيضاً، مما يُسبّب ضغطاً زائداً على خوادم الجلسات.

DAT هو مواصفة رمز (Token Spec) مُصمَّمة لحل مشكلة الضغط على خوادم الجلسات، وتحقيق مصادقة فعّالة لا تحتاج إلى مشاركة الحالة بين الخوادم (Stateless).


2. 토큰 구조 (Structure)

Structure
Example refresh
/

2.1. 필드별 세부 명세

وقت الانتهاء : uint64 (Unix Time)

  • يُعبَّر عن وقت انتهاء صلاحية الرمز بعدد صحيح غير موقَّع 64-بت بوحدة الثواني (Seconds).

CID : Hex (uint64)

  • معرّف الشهادة (Certificate ID) المستخدم في التحقق من صحة الرمز.

بيانات نصية عادية : Base64Url (Binary)

  • يحتوي على البيانات المُخصَّصة للعرض العام على العميل. يدعم البيانات الثنائية (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)، مما يُحسِّن حجم البيانات ويرفع كفاءة التحليل (Parsing).
  • دمج الأمان في البنية (حقل بيانات مشفرة (secure)): يكشف JWT عن حمولته (Payload) بصورة افتراضية بنص واضح، فإذا احتاج إلى التشفير وجب تطبيق مواصفة منفصلة كـ JWE. في المقابل، يدعم DAT التشفير بصورة مدمجة عبر حقل بيانات مشفرة داخل الرمز ذاته.
  • إلزامية قيد وقت الانتهاء: في JWT يُعدّ حقل exp (Claims) اختيارياً، أما في DAT فإن حقل وقت الانتهاء (expire) مُدرَج بصورة إلزامية في بنية الرمز، مما يجعل التحقق من صلاحية الوقت أمراً حتمياً.