أدوات المطور · وحدة فك التشفير JWT
JWT مقابل ملفات تعريف الارتباط للجلسة: كيف غيّرت الرموز المميزة عديمة الحالة مصادقة الويب
· خلفية
jwt المصادقة أمن الويب
حكمت الجلسات من جانب الخادم مصادقة الويب لسنوات قبل أن وعدت JWTs بانعدام الجنسية. يتتبع هذا المنشور هذا التحول، ويزن التكاليف التي قدمها، ويصف التصميمات المختلطة التي ينتهي بها الأمر إلى معظم الفرق.
لماذا لا تستخدم فقط ملف تعريف ارتباط الجلسة؟ – السؤال الذي يستحق إجابة حقيقية قبل اعتماد JWTs
قبل اعتماد JWTs، اسأل عن المشكلة التي تفشل الجلسة من جانب الخادم في حلها. يؤدي استبدال قيمة ملف تعريف الارتباط غير الشفافة بقيمة كبيرة قائمة بذاتها إلى تغيير مسؤوليات الإلغاء والإفصاح والتحقق. إن انعدام الجنسية هو خاصية واحدة من بين العديد من الخصائص، وليس ترقية تلقائية للأمان أو قابلية التوسع.
يمكن لـ ToolAcre إظهار ما يحمله JWT في كل طلب، ولكن لا يمكنه مقارنة إنتاجية التطبيق أو وصف البنية. استخدم الحجم والمطالبات التي تم فك تشفيرها كدليل، ثم قم بمقارنتها بالنشر ونموذج التهديد والبنية الأساسية للجلسة الحالية.
الجلسات من جانب الخادم - معرف غير شفاف في ملف تعريف الارتباط يشير إلى حالة الخادم، وما يفعله هذا النموذج بشكل جيد
في الجلسة التقليدية من جانب الخادم، يحتفظ المتصفح بمعرف غير شفاف ويقوم الخادم بتعيينه إلى الحالة الحالية. يوفر هذا البحث مكانًا طبيعيًا لإنهاء الجلسة وتغيير الامتيازات والاحتفاظ بالبيانات بعيدًا عن العميل. كما أنه ينشئ مسؤوليات التخزين والتوافر.
ملف تعريف الارتباط والجلسة ليسا مترادفين: ملف تعريف الارتباط عبارة عن حاوية نقل، بينما تعيش الحالة على الخادم. يعتمد أمانها على السمات وحدود الأصل وسلوك التطبيق. يظل معرف الجلسة ذو المظهر العشوائي بمثابة بيانات اعتماد لحاملها ويجب عدم كشفه عرضًا.
يمكن أن يؤدي التحقق الذاتي إلى تقليل عمليات البحث في الجلسة المشتركة؛ ولا يخلق الثقة بين الخدمات تلقائيًا
يتيح الرمز المميز المستقل لخادم الموارد التحقق من وحدات البايت والمطالبات المحمية دون إجراء بحث مشترك في الجلسة عند كل طلب. يمكن أن يناسب ذلك الأنظمة الموزعة، ولكن لا يتم إنشاء الثقة عبر الخدمات بواسطة التنسيق. لا تزال الخدمات بحاجة إلى مفاتيح مصدر موثوقة وخوارزميات مقبولة وسياسة الجمهور وملفات تعريف الرموز المميزة المتوافقة.
لا يوفر ToolAcre أيًا من علاقات الثقة هذه. يقوم بفك تشفير الرأس والحمولة ويبلغ عن التوقيع على أنه لم يتم التحقق منه. الخدمة التي تتخطى التكوين الخاص بها تستبدل فقط تبعية الجلسة المركزية بمسار قبول غير آمن.
التكاليف — الإلغاء، وحجم الرمز المميز في كل طلب، ومعضلة التخزين بين ملفات تعريف الارتباط وتخزين الويب
يمكن أن تكون بيانات الاعتماد المستقلة أكبر نظرًا لأن المطالبات ومواد التشفير تنتقل بشكل متكرر. يصبح الإلغاء الفوري أكثر صعوبة ما لم يتم تقديم حالة خارجية أو نوافذ قبول قصيرة. يؤدي التخزين في ملفات تعريف الارتباط أو ذاكرة المتصفح أو مساحة تخزين الويب إلى تغيير التعرض بدلاً من إزالته.
قد تؤدي الحمولات القابلة للقراءة أيضًا إلى تكرار البيانات الشخصية أو بيانات التفويض عبر السجلات والوسطاء. قلل من المطالبات وتجنب التعامل مع التشفير على أنه سرية. تكشف معرفات الجلسة عن بنية أقل، لكن لا يزال من الممكن أن تمنح السرقة السلطة بينما تظل الجلسة نشطة.
يعتمد CSRF وXSS على خيارات نقل وتخزين بيانات الاعتماد، وليس فقط JWT مقابل تسميات الجلسة
ترتبط مخاطر CSRF بقوة ببيانات الاعتماد التي ترفقها المتصفحات تلقائيًا، بينما يمكن أن يكشف XSS البيانات والإجراءات المتاحة للنصوص البرمجية للصفحة. لا يتوقف JWT في ملف تعريف الارتباط عن الخضوع لسلوك نقل ملف تعريف الارتباط، ولا يتوقف معرف الجلسة في وحدة تخزين الويب عن كونه سرًا لحامله.
لذلك لا يمكن لتسمية التنسيق وحدها اختيار الدفاع. نموذج مكان تخزين بيانات الاعتماد ومن يمكنه قراءتها ومتى يرسلها المتصفح وكيفية حماية طلبات تغيير الحالة. تجنب الادعاءات المبسطة بأن بنية واحدة "تحل CSRF" أو "تحل XSS".
مثال عملي - نفس تدفق تسجيل الدخول الموضح مع الجلسات ومع JWTs، خطوة بخطوة
في تدفق الجلسة، يقوم تسجيل الدخول بإنشاء حالة الخادم وإرجاع معرف غير شفاف؛ تقدم الطلبات اللاحقة هذه السياسة ويقوم الخادم بتحميل السياسة الحالية. في تدفق JWT، يُصدر تسجيل الدخول رمزًا مميزًا محميًا؛ ترسل الطلبات اللاحقة القيمة الأكبر ويتحقق خادم الموارد منها بالإضافة إلى المطالبات ذات الصلة.
يمكن أن يؤدي تسجيل الخروج إلى حذف نسخة المتصفح في كلا التدفقين، ولكن يرتبط الإبطال الفوري للخادم بشكل طبيعي بحالة الجلسة ويجب تصميمه بشكل صريح للرموز المميزة المستقلة بذاتها. يمكن أن يعرض ToolAcre تاريخ انتهاء الصلاحية المؤكد لـ JWT والجمهور، وليس ما إذا كان تسجيل الخروج أو الإلغاء قد تم تفعيله بالفعل.
لا تزال التصميمات المختلطة تتطلب سياسة واضحة للتحديث والإلغاء والتحقق
قد تستخدم التصميمات المختلطة رموز الوصول المحددة مع عملية تحديث ذات حالة، أو بيانات اعتماد خارجية غير شفافة مع JWTs فقط بين الخدمات الخاضعة للرقابة. هذه الأساليب تحرك الدولة بدلاً من إلغائها. ولا تزال تتطلب تخزينًا آمنًا للتحديث وتدوير المفاتيح وسلوك الإلغاء واختبارات السياسة.
لا يحدد هذا المستودع أي عمر رمزي عالمي أو وصفة مختلطة، لذلك لا توفر هذه المقالة أي شيء. اختر فترات وآليات من المخاطر المقاسة وقيود التشغيل، ثم اختبر سيناريوهات الرمز المميز وتسجيل الخروج بدلاً من الاعتماد على التصنيفات المعمارية.
الوجبات الجاهزة: انعدام الجنسية هو تجارة، وليس ترقية - إذا اخترت JWTs، فإن وحدة فك التشفير ToolAcre JWT تعرض ما يحمله كل رمز مميز في كل طلب
إن انعدام الجنسية هو تجارة، وليس ترقية. تعمل جلسات الخادم على مركزية الحالة الحالية والإلغاء على حساب البحث. تقوم الرموز المميزة المستقلة بتوزيع عملية التحقق على حساب بيانات اعتماد أكبر ومطالبات قابلة للقراءة وتصميم إبطال أكثر وضوحًا.
إذا كان JWT مناسبًا، استخدم ToolAcre لفحص الأمثلة الآمنة وفهم ما يحمله كل طلب. لا تتعامل مع عرضه كدليل على صحته أو ترخيصه. تنجح البنية فقط عندما تتطابق أدوات التحقق الموثوقة وخيارات التخزين وآليات الإلغاء مع نموذج التهديد.