DAT (Distributed Access Token)
خلفية ظهور DAT
تعتمد أنظمة كثيرة اليوم JWT، غير أن بيئات التشغيل الفعلية تكشف عن القيود الهيكلية التالية.
ولحل هذه المشكلات صُمِّمت مواصفة الرمز الجديدة DAT.
🧩 تجزؤ مواصفات الأمان وغياب الإلزام
يوفر JWT معايير تشفير مثل JWE، لكن استخدامها ليس إلزامياً.
ونتيجةً لذلك تتجاهل بيئات تطوير كثيرة التشفير أو تنقل البيانات بطرق غير قياسية، مما يؤدي إلى ثغرات أمنية.
🔑 مخاطر أمنية ناجمة عن استخدام مفتاح ثابت (Static Key)
لأن تدوير مفاتيح التوقيع (Key Rolling) غير إلزامي، يكثر استخدام مفتاح واحد لفترات طويلة. وقد يؤدي ذلك إلى انهيار أمني كامل للنظام عند سرقة المفتاح، وقد وقعت بالفعل حوادث اختراق بهذا السبب في مواقع تجارة إلكترونية كبرى.
📉 تدهور الأداء بسبب العبء الزائد
يمر JWT بعملية تحليل JSON مع كل طلب، مستهلكاً قدراً كبيراً من موارد المعالج. وفي البيئات التي تتطلب أداءً عالياً قد تصبح تكلفة التحليل هذه عنق الزجاجة في النظام بأكمله.
الفلسفة الأساسية لـ DAT
صُمِّم DAT وفق مبدأين: الأمان يجب أن يكون مفروضاً لا اختيارياً، والأداء لا يقبل المساومة.
⚡ خفيف وسريع
يتألف DAT كما هو موضح أعلاه من خمسة حقول ثابتة فقط مفصولة بنقاط (.). وبما أن مواضع الحقول محددة في المواصفة، يمكن اقتطاع كل قيمة بمجرد البحث عن الفواصل دون أي تحليل JSON.
🔐 أمان مفروض
يفصل DAT فيزيائياً بين منطقة النص العادي (Plain) والمنطقة المشفّرة (Secure) أثناء نقل البيانات.
ويفرض تشفير المعلومات الحساسة إلزامياً، وتُحمى العملية بأكملها بالخوارزميات القياسية المعلنة في الشهادة (ECDSA وAES-GCM وغيرها).
الشهادة هي التي تحدد خوارزمية التشفير، لا الرمز. وبما أن الرمز لا يحمل أي معلومات عن الخوارزمية، فلا وجود لسطح هجوم خلط الخوارزميات الناشئ عن ترويسة alg في JWT.
🔄 تدوير مفاتيح مفروض
تدير شهادة DAT دورة حياة المفاتيح مباشرةً، إلى جانب إصدار الرموز وانتهاء صلاحيتها.
فالشهادة تحمل مثبّتاً على مستوى المواصفة "من متى وإلى متى يمكن الإصدار"، وبعد انقضاء تلك المدة لا يمكن إنشاء رموز جديدة بها. وبذلك يستحيل هيكلياً أن يظل مفتاح واحد مستخدماً لسنوات بسبب إهمال المسؤول.
⏱️ الفصل بين نافذة الإصدار ومدة الصلاحية
"المدة التي يمكن للشهادة أن تصدر فيها رموزاً" و"المدة التي يبقى فيها الرمز الصادر حياً" قيمتان مختلفتان.
وبفضل ذلك تستطيع الرموز التي خرجت بالفعل استكمال عمرها كاملاً حتى بعد توقف الشهادة عن الإصدار، وتنتقل المجموعة خلال تلك الفترة إلى الشهادة التالية بسلاسة.
مقارنة آليات المصادقة
| التصنيف | DAT | JWT | الجلسة |
|---|---|---|---|
| طريقة المصادقة | تحقق موزّع | تحقق موزّع | مركزي |
| بنية البيانات | Raw Bytes (قائمة على إزاحة ثابتة) | JSON (قائمة على نص Key-Value) | Serialized Object (تسلسل الكائنات) |
| آلية التحليل | تعيين فوري لبيانات Byte | يتطلب تحليل JSON وتحويل الأنواع | يتطلب إلغاء تسلسل الكائنات وعمليات I/O |
| أداء المعالجة | الأعلى (أدنى عبء تحليل) | متوسط (يعتمد على أداء معالجة JSON) | منخفض (I/O شبكة/قرص) |
| التشفير | مدمج افتراضياً | يتطلب تطبيق JWE منفصلاً (معقد) | غير قابل للتطبيق |
| إدارة المفاتيح | تدوير مفروض من النظام (أمان مفروض) | تطبيق يدوي (خطر إهمال الإدارة) | غير قابل للتطبيق |
| مدة صلاحية المفتاح | مفروضة وصريحة في مواصفة المفتاح | اختيارية (دائمة عند غياب الإدارة) | يديرها الخادم المركزي |
| اختيار الخوارزمية | الشهادة تحددها (غير موجودة في الرمز) | قيمة alg في ترويسة الرمز | غير قابل للتطبيق |
| وقت الانتهاء | حقل إلزامي في المواصفة | مطالبة اختيارية (exp) | يديره الخادم |
الأداء
المستندات التالية
- DAT — تنسيق سلك الرمز وقواعده المعيارية
- الشهادة — بنية الشهادة والخوارزميات ودورة الحياة
- مزامنة CMS — نشر الشهادات والسلوكيات التي يجب معرفتها أثناء التشغيل