أدوات المطور · وحدة فك التشفير JWT
لماذا تعتبر رموز الوصول قصيرة الأجل مهمة: لا يمكن إلغاء JWTs بمجرد إصدارها
· لماذا يهم
jwt المصادقة حماية
يكون الرمز المميز صالحًا حتى انتهاء صلاحيته، مهما حدث بينهما. يشرح هذا المنشور مشكلة الإلغاء، ووسائل التخفيف المتاحة، ولماذا تعد exp المطالبة الأكثر أهمية التي قمت بتعيينها.
تسجيل الخروج الذي لا يسجل الخروج — الرمز المميز الذي يستمر في العمل بعد انتهاء الجلسة
يمكن أن يؤدي تسجيل الخروج إلى إزالة النسخة المحلية للمتصفح بينما يظل الرمز المميز المستقل الذي تم إصداره مسبقًا مقبولاً لدى جهة التحقق التي تتحقق من التوقيع والمطالبات فقط. تشير تجربة المستخدم إلى "تسجيل الخروج"، ولكن قد يحتفظ مالك آخر بنفس بيانات الاعتماد المدمجة حتى يوقفها حد السياسة.
هذا ليس شيئًا يمكن أن يحله جهاز فك التشفير. قد يُظهر ToolAcre قيمة `exp` ويطلق عليها اسم "منتهية الصلاحية" بالنسبة لساعة المتصفح، ومع ذلك لا يحتوي على مخزن جلسة أو قائمة رفض أو اتصال بجهة الإصدار. ينتمي سلوك الإلغاء إلى البنية التي تُصدر بيانات الاعتماد وتستهلكها.
التحقق عديم الحالة وسعره - عدم وجود قائمة مركزية يعني عدم وجود مفتاح إيقاف مركزي
يسمح التحقق عديم الحالة لخادم الموارد بتقييم مواد التشفير والمطالبات دون الاستعلام عن سجل جلسة مركزي لكل طلب. تؤدي إزالة هذا البحث أيضًا إلى إزالة التبديل الطبيعي لكل جلسة ما لم تتم إضافة آلية أخرى ذات حالة. تعتبر التجارة معمارية، وليست ملكية مرئية في JSON وحدها.
يمكن أن يحتوي الرمز المميز على `jti`، ولكن ليس للمعرف أي تأثير إبطال حتى يستشير المدقق متجرًا أو قاعدة موثوقة. وبالمثل، يمكن أن يظل التوقيع صالحًا رياضيًا بعد تعطيل الحساب. يتطلب قبول الطلب السياسة الحالية، وليس فقط إثبات أن بعض وحدات البايت التاريخية الموقعة الرئيسية.
يمكن أن يؤدي تصميم انتهاء الصلاحية والتحديث إلى تقييد التعرض، لكن هذا المستودع لا يحدد عمرًا قياسيًا
غالبًا ما تجمع الأنظمة بين بيانات اعتماد الوصول المحدود وآلية تحديث منفصلة، لكن هذا المستودع لا يحدد عمرًا عالميًا أو يدعي أن مدة واحدة معقولة. تختلف المخاطر وتجربة المستخدم والكشف وقيود البنية التحتية، لذلك لا تبتكر هذه المقالة إرشادات مدى الحياة للرمز المميز.
المبدأ أضيق: يمكن أن يحد حد انتهاء الصلاحية من المدة التي يظل فيها رمز الوصول المسروق مفيدًا إذا قام المدقق بفرض `exp` مصادق عليه. يمكن لمعالجة التحديث بعد ذلك استشارة المزيد من الحالة قبل إصدار بيانات اعتماد أخرى. ToolAcre يعرض المطالبات فقط؛ لا ينفذ أي إنفاذ ولا تحديث.
قائمة الرفض من JTI - إعادة تقديم الحالة للحالات التي تحتاج إلى الإلغاء الفوري
يمكن لقائمة الحظر التي تم إدخالها بواسطة `jti` أن تعيد تقديم نقطة قرار فورية للرموز المميزة المحددة. يتطلب ذلك معرفًا فريدًا ومسار إدراج موثوقًا به وتوافر مساحة تخزين وسياسة بحث للتحقق. مجرد فك تشفير `jti` لا يظهر التفرد أو يثبت أن المتجر يحتوي عليه.
يمكن أن تدعم الحالة نفسها الإبطال على مستوى الحساب أو على مستوى جلسة محددة اعتمادًا على التصميم. كما أنه يستعيد التبعيات التشغيلية التي تجنبها التحقق عديم الحالة. قم بتقييم فشل ذاكرة التخزين المؤقت والاحتفاظ بها ونشرها بشكل صريح بدلاً من تقديم قائمة الرفض كتبديل مجاني.
الاستبطان وتدوير المفاتيح - سؤال المُصدر، أو إبطال كل شيء مرة واحدة
يطلب الاستبطان من السلطة تحديد الحالة الرمزية الحالية، مما يحول القبول إلى قرار عبر الإنترنت. يمكن أن يؤدي تدوير المفتاح إلى إيقاف التحقق ضمن المفاتيح التي تمت إزالتها، ولكنه قد يؤدي إلى إبطال العديد من الرموز المميزة في وقت واحد ولا يعد بديلاً دقيقًا لإلغاء الجلسة. هذه الآليات تحل المشاكل التشغيلية المختلفة.
ToolAcre لا يعرف أيًا من حالته الحالية. يمكن أن يساعد المُصدر الذي تم فك تشفيره أو معرف المفتاح أو انتهاء الصلاحية في تحديد موقع السجلات ذات الصلة، لكن اللوحة لا تتصل مطلقًا بالمصدر ولا تتحقق أبدًا من التوقيع. استخدم القياس عن بعد للخدمة الموثوقة لمعرفة ما إذا كان الرمز المميز نشطًا أو ملغى أو مرفوضًا.
مثال عملي: احسب الفاصل الزمني المعلن دون الحكم على ما إذا كان معقولاً
للحصول على مثال متحكم فيه، اطرح الرقم `iat` من `exp` لحساب الفاصل الزمني الذي تطالب به الحمولة. إذا كان `iat` يساوي 1,717,243,200 و`exp` يساوي 1,717,246,800، فإن الفارق هو 3,600 ثانية. يعرض ToolAcre أيضًا كل قيمة كلحظة ISO.
الحساب لا يحكم على الفاصل الزمني. ولا يمكن إثبات أن أيًا من المطالبتين قد تم إصدارهما من قبل الطرف المتوقع، ولا يوفر المستودع عمرًا موصى به. لا تقارن القيم المصادق عليها مع سياستك الموثقة إلا بعد التحقق، ثم اختبر مدى تأثير حالة تسجيل الخروج والإلغاء على الطلبات الحقيقية.
ما لا يغطيه هذا هو تحديث تخزين الرمز المميز وتدويره، وهي مشكلة التصميم الخاصة بهم
يُعد تخزين رمز التحديث والتدوير واكتشاف إعادة التشغيل موضوعات تصميم منفصلة. قد يكون رمز التحديث غير شفاف، وقد يكون له معالجة مختلفة ويجب عدم إرساله إلى المورد API لمجرد رفض رمز الوصول. تم تصميم وحدة فك التشفير هذه خصيصًا حول مدخلات تشبه JWS مكونة من ثلاثة أجزاء.
لا تقم بلصق بيانات اعتماد التحديث فيه. إذا كان رمز التحديث غير شفاف، فقد لا يكون هناك شيء مفيد لفك تشفيره؛ وإذا كان الأمر منظما، فإن الإفصاح لا يزال يخلق مخاطر تتعلق بالاعتماد. تشخيص تدفقات الإصدار باستخدام الأدوات والسجلات الموثوقة للموفر.
انتهاء الصلاحية هو إحدى الرافعات بين التحقق وحالة الإلغاء وتصميم بيانات الاعتماد
انتهاء الصلاحية مفيد، ولكنه ليس استراتيجية إلغاء كاملة وليس حكمًا لوحدة فك التشفير. يجب على نظام الاستهلاك مصادقة الرمز المميز، وفرض سياسة الوقت والجمهور، والتشاور مع أي حالة إلغاء تتطلبها بنيته. ولكل آلية توافرها وعواقبها التشغيلية.
استخدم ToolAcre فقط لمراقبة القيم الموجودة في الرمز المميز الآمن. يمكنه الإجابة على "ما الفاصل الزمني الذي تطالب به هذه الحمولة؟" لا يمكن الإجابة على "هل يجب قبول هذا الطلب الآن؟" أو "هل تم إلغاء هذه الجلسة؟" تنتمي هذه الأسئلة إلى الخدمات الموثوقة.