أدوات المطور · وحدة فك التشفير JWT
عمليات التحقق من الجمهور وجهة الإصدار: إيقاف JWT من إعادة تشغيلها في مكان آخر
· لماذا يهم
jwt المصادقة حماية
يمكن تقديم الرمز المميز الذي تم إصداره لخدمة واحدة إلى خدمة أخرى تشترك في نفس المُصدر. يشرح هذا المنشور كيف توقف عمليات التحقق من Aud وISS ذلك، وكيفية قراءة كلا المطالبتين في رمز مميز.
تقبل الخدمة "ب" رمزًا مميزًا مخصصًا للخدمة "أ" - إعادة التشغيل عبر الخدمات التي لا يمنعها التوقيع الصالح
يمكن أن يكون التوقيع صالحًا للرمز المميز الذي تم إصداره لخدمة مختلفة. إذا كانت العديد من واجهات برمجة التطبيقات (APIs) تثق في نفس منصة الهوية ولكنها تتجاهل سياق المستلم، فقد تتم إعادة تشغيل بيانات الاعتماد المخصصة للخدمة "أ" في الخدمة "ب". ولا تجيب تكامل التشفير وحده على من يجب أن يستخدمها.
يمكن أن يكشف ToolAcre عن `iss` و`aud` حتى يتمكن المطور من اكتشاف عدم التطابق الواضح. تظل هذه السلاسل غير متحقق منها حتى ينجح التوقيع، ولا تقوم أداة المتصفح بإجراء هذا التحقق أبدًا. يجب أن يفرض خادم الموارد الفعلي علاقة المصدر والجمهور المستهدف.
iss - ربط رمز مميز بجهة الإصدار التي تثق بها خدمتك، ولماذا لا تكون مطابقة السلسلة كافية بدون ربط المفتاح
`iss` يحدد الكيان الذي أصدرت مطالبات الحمولة النافعة الرمز المميز. يحتاج المدقق إلى مُصدر متوقع محدد ضمن التكوين الخاص به ويجب أن يربط تلك الهوية بعلاقة اكتشاف المفتاح الصحيحة. إن مقارنة النص بدون ربط التشفير يترك مجالًا للمهاجم لنسخ السلسلة المتوقعة.
يصف برنامج فك التشفير `iss` بأنه "من قام بإنشاء الرمز المميز"، ولكن هذا هو المعنى المسجل، وليس اكتشافًا حول قيمة تم لصقها. يعد نص المُصدر القابل للقراءة دليلاً مفيدًا لتصحيح التكوين. لا يمكنه تحديد مصدر مفتاح عشوائي أو المصادقة على نفسه.
aud - سلسلة أو مصفوفة تسمي المستلمين المقصودين، والقاعدة التي يجب أن يجد المدقق نفسه فيها
`aud` أسماء المستلمين المقصودين وقد تظهر كسلسلة واحدة أو مجموعة. يجب أن تجد سياسة خادم المورد نفسها في القيمة المصادق عليها باستخدام قواعد المقارنة الدقيقة التي يتطلبها ملف التعريف الخاص به. ولا ينبغي أن يقبل رمزًا مميزًا لمجرد إدراج بعض الخدمات المألوفة الأخرى.
يحمل ToolAcre المصفوفات كنص JSON في جدول المطالبات الخاص به، مع الحفاظ على بنيتها المرئية للفحص. إنه لا يعرف معرف API الحالي ولا يمكنه تحديد المطابقة. يمنع هذا الغياب المتعمد وحدة فك الترميز العامة من اختراع سياق ترخيص لا يمتلكه.
azp والنطاق - تدعي OpenID Connect وOAuth أنها تعمل على تحسين من يمكنه استخدام الرمز المميز ولماذا
يمكن لـ `azp` و`scope` إضافة سياق حول جهة معتمدة والأذونات المطلوبة في الملفات الشخصية التي تحددها. وهي لا تحل محل شيكات الجمهور أو المُصدر أو التوقيع. اسم النطاق هو تأكيد، وليس منح إذن حتى يقوم خادم المورد بتعيين قيمة تمت مصادقتها لسياسته الخاصة.
يتعامل جهاز فك التشفير الحالي مع هذه المطالبات على أنها مطالبات خاصة بالتطبيق لأن جدول الوصف المسجل الخاص به يغطي سبعة أسماء أساسية. يعرض قيمها ولكنه لا يوفر دلالات OpenID Connect أو OAuth. راجع ملف التعريف المعمول به وعقد المزود قبل استخدامها في اتخاذ القرار.
نمط النائب المرتبك – كيف يتحول الرمز المميز إلى هجوم عندما لا يتم فحص الجماهير
يستخدم النائب المرتبك السلطة الشرعية في سياق غير مقصود. يمكن أن يؤدي الرمز المميز الذي تقبله الخدمة الخاطئة إلى تشغيل هذا النمط بالضبط حتى عندما لا يقوم أحد بتزوير التوقيع. تحدد عمليات فحص الجمهور الأماكن التي يمكن تطبيق المطالبات المصادق عليها، بينما تحدد عمليات فحص جهة الإصدار التأكيدات التي تأخذها الخدمة في الاعتبار.
ولهذا السبب فإن علامة "صلاحية التوقيع" العامة ستظل غير كافية. يعتمد الترخيص على المستلم والتشغيل. ToolAcre يتجنب هذا الغموض تمامًا من خلال الإبلاغ عن عدم وجود نتيجة للتحقق، مما يترك الخدمة المستهلكة لدمج التشفير مع السياسة السياقية.
مثال عملي - قراءة iss وaud من رمزين مميزين في وحدة فك التشفير ToolAcre JWT وتحديد الخدمة التي يجب أن تقبل كل منهما
أنشئ رمزين مميزين غير ضارين تختلف حمولاتهما التي تم فك تشفيرها فقط في `aud`: أحدهما يحمل اسم `service-a`، والآخر `service-b`؛ كلاهما يطالب بنفس المصدر. ToolAcre يجعل الفرق مرئيًا. يجب أن لا يقبل مدقق الخدمة "أ" أيًا من هذا العرض فقط ويجب أن يرفض جمهور الخدمة "ب" المصادق عليه.
ثم قم بعكس التمرين بسلسلتين مُصدرتين. النص المتوقع وحده لا يكفي ما لم يستخدم التحقق مفاتيح موثوقة لهذا المُصدر. تفصل هذه الأمثلة بين التفتيش والقبول وتبين لماذا يؤدي نسخ المطالبات ذات المظهر الصحيح إلى رمز مميز ملفق إلى عدم تغيير السياسة الموثوقة.
ما لا يغطيه هذا هو التحقق من التوقيع، وهو ما لا يقوم به جهاز فك التشفير أبدًا؛ لا تعد عمليات التحقق من Aud وISS مهمة إلا بعد الاحتفاظ بالتوقيع
لا تكون عمليات التحقق من الجمهور والمصدر مهمة إلا بعد أن يثبت التحقق من التشفير أن البايتات المحمية تتوافق مع مادة رئيسية موثوقة. لا ينفذ ToolAcre أيًا من عملية التحقق هذه. لا يمكن أن تثبت نتائجها أن المطالبة ظلت سليمة أو أن جهة إصدار معروفة هي التي قامت بتأليفها.
كما أنه لا يقوم بجلب البيانات التعريفية أو اختيار المفاتيح أو مقارنة المستلمين الذين تم تكوينهم. استخدم اختبارات الواجهة الخلفية والسجلات لإثبات رفض جهة الإصدار الخاطئة والجمهور الخاطئ. إن المطابقة المرئية في وحدة فك التشفير هي دليل لتصحيح الأخطاء، وليست دليل ترخيص كافيًا على الإطلاق.
الخلاصة: تحقق من هو الشخص المعني، وليس فقط من قام بالتوقيع عليه - يعرض جهاز فك التشفير ToolAcre JWT مطالبات aud وiss التي تحتاج إلى مقارنتها
تحقق من هوية الرمز المميز، وليس فقط الاسم الذي تم التوقيع عليه. يقوم التدفق القوي بمصادقة البايتات المحمية بموجب علاقة جهة إصدار موثوقة بشكل مستقل، ثم يتطلب جمهورًا مقبولاً ويطبق قواعد الترخيص الخاصة بالخدمة.
استخدم ToolAcre لقراءة قيم الاختبار الآمن وصياغة الفحص التالي من جانب الخادم. لا تختر مفاتيح التحقق من بيانات الرأس أو المطالبة غير الموثوق بها، ولا تقم بتحويل `iss` أو `aud` أو `azp` أو `scope` المعروضة إلى منحة بدون التدفق الموثوق الكامل.