العربية

أدوات المطور · وحدة فك التشفير JWT

فك التشفير مقابل التحقق: ما الذي يثبته التوقيع JWT ولماذا تتخطاه أجهزة فك التشفير

· كيف يعمل

jwt حماية التشفير

مسارات منفصلة للمطالبات القابلة للقراءة والتحقق من التشفير
الرسم التوضيحي المتجه الأصلي ToolAcre

لا يحتاج فك التشفير إلى مفتاح؛ التحقق يحتاج إلى الحق. يشرح هذا المنشور ما يغطيه التوقيع، وكيف يختلف HMAC والتحقق غير المتماثل، ولماذا تكون أداة فك التشفير فقط صادقة في إثبات أي شيء.

لقد تم فك تشفيرها بشكل جيد، لذلك يجب أن تكون صالحة – وهو الافتراض الذي يؤدي إلى قبول الرموز المميزة المزورة

يمكن فك تشفير الرمز المميز بشكل مثالي بعد أن يكتب المهاجم حمولة جديدة ويرفق نصًا عشوائيًا باعتباره الجزء الثالث. تحليل Base64url وJSON عبارة عن تحويلات عامة؛ ولا يتحقق من قام بتجميع السلسلة. وبالتالي فإن "ظهور المطالبات على الشاشة" ليس دليلاً على أن المُصدر أنشأها أو وافق عليها.

ToolAcre يعزز هذه الحدود في عدة أماكن. تحمل النتيجة دائمًا `signatureVerified: false`، وتكرر واجهة المستخدم تنبيهًا بشأن المطالبات التي لم يتم التحقق منها بجانب الإخراج، وتؤكد الاختبارات عدم وجود سطح `valid` أو `verify`. وهذا هو الصدق المتعمد، وليس ميزة الراحة المفقودة.

ما يغطيه التوقيع - البايتات الدقيقة للرأس المشفر والحمولة، المرتبطة بنقطة

بالنسبة إلى JWS المضغوط، فإن إدخال التوقيع هو مقطع الرأس المحمي المشفر، ونقطة حرفية، ومقطع الحمولة النافعة المشفر. يتعلق التحقق بالبايتات المشفرة بالضبط، والتي لم تتم طباعتها حديثًا JSON. يمكن أن تؤدي إعادة ترتيب الخصائص أو تغيير المسافة البيضاء إلى إنشاء وحدات بايت مختلفة حتى عندما يرى الإنسان كائنات مكافئة.

يحمل الجزء الثالث توقيعًا مشفرًا أو MAC بايت يتم إنتاجها عبر هذا الإدخال. ToolAcre يحتفظ بالمقطع الأولي وقد يبلغ عن طول البايت الخاص به، ولكنه لا يقوم مطلقًا بتشغيل فحص التشفير. لا يمكن لشكل بيانات القياس إثبات أن المفتاح المتوقع هو من أنشأه أو أن المقطعين الأولين ظلا دون تغيير.

HMAC مقابل المفتاح غير المتماثل — سر مشترك يمكن لأي شخص يمكنه التحقق منه تزويره أيضًا، مقابل مفتاح عام يمكنه التحقق فقط

باستخدام HMAC، يدعم السر المشترك إنشاء MAC والتحقق منه. يمكن للطرف القادر على التحقق باستخدام هذا السر أيضًا أن يسك رمزًا مميزًا آخر، لذا فإن التوزيع السري يحدد حدود الثقة. توضح ملاحظات ToolAcre هذه النتيجة بشكل واضح بالنسبة لتسميات خوارزمية HS المعترف بها.

تعمل التوقيعات غير المتماثلة على فصل إمكانية التوقيع الخاصة عن مواد التحقق العامة. إن امتلاك مفتاح عام يمكن أن يدعم التحقق دون منح سلطة التوقيع. هذا التمييز لا يجعل التسمية غير المتماثلة المعلن عنها في الرأس جديرة بالثقة: يجب أن يعرف المدقق بالفعل الخوارزمية ومفتاح المصدر المقبولين.

من أين يأتي المفتاح — تكوين الأسرار المشتركة، ونقطة نهاية JWKS للمفاتيح العامة، والتي يطابقها الطفل

يجب أن تأتي الأسرار المشتركة من تكوين الخدمة المحمية، وليس من النص المميز. قد تأتي مفاتيح التحقق العامة من علاقة جهة إصدار موثوقة ومجموعة مفاتيح يتم التحكم فيها. يمكن أن يساعد `kid` في التحديد ضمن هذه المجموعة، ولكن يجب ألا يحول محتوى الرأس التعسفي غير الموثوق به إلى ملف أو قاعدة بيانات أو بحث على الشبكة.

ToolAcre ليس لديه تكوين جهة الإصدار ولا يطلب أي مفتاح، لذلك سيكون من المستحيل إجراء التحقق بشكل مسؤول هناك. لا يمكن لصفحة الويب العامة أن تستنتج المؤسسة التي تثق بها، أو الجمهور الذي تخدمه، أو الخوارزميات التي يسمح بها تطبيقك. هذه هي مدخلات سياسة التطبيق، وليست خصائص يمكن اكتشافها عن طريق فك التشفير.

لماذا لا يحتاج فك التشفير إلى مفتاح - base64url هو تشفير، وليس تشفير، لذلك يمكن لأي شخص قراءة المطالبات

ليست هناك حاجة إلى مفتاح لفك التشفير لأن base64url هو تشفير قابل للعكس بدلاً من التشفير. من المفترض أن تسافر الرأس والحمولة مع الرمز المميز ويمكن لأي حامل استردادهما. وهذا يتيح فحصًا مفيدًا، ولكنه يعني أيضًا أنه لا ينبغي إخفاء المعلومات السرية خلف الضجيج المرئي للأحرف المشفرة.

يضيف التحليل JSON البنية فقط. يمكن أن يخبرك أن `roles` عبارة عن مصفوفة أو `exp` رقم، وليس أن أيًا من القيمتين أصليتان. ToolAcre يعرض القيم المنظمة كنص والأوصاف المسجلة كوثائق مع ترك التفويض للنظام الذي يمكنه التحقق من السياسة وتنفيذها.

مثال عملي - رمز مميز يحتوي على حرف حمولة واحد تم تغييره لا يزال يفك تشفيره بشكل مثالي؛ إشعارات التحقق فقط

ابدأ برمز اصطناعي تقول حمولته `{"sub":"demo","role":"reader"}`. قم بتغيير حرف حمولة مشفر واحد بحيث تظل البايتات صالحة JSON، وربما ينتج عنها دور مختلف. يمكن تقسيم كلا الإصدارين وفك تشفيرهما وطباعتهما بشكل جميل. ليس لدى مسار فك التشفير أي سبب لرفض الإصدار الذي تم تغييره.

تقوم أداة التحقق التي تم تكوينها بشكل صحيح بإعادة حساب نتيجة التشفير أو التحقق منها عبر إدخال التوقيع المتغير وترفض عدم التطابق. توضح هذه المقارنة الحدود الدقيقة: يغطي نجاح وحدة فك التشفير بناء الجملة، في حين يمكن لنجاح أداة التحقق إثبات التكامل بالنسبة إلى المفتاح الموثوق به والخوارزمية المسموح بها قبل تقييم سياسة المطالبة.

ما لا يغطيه هذا — وحدة فك التشفير ToolAcre JWT لا تتحقق أبدًا من التوقيع، حسب التصميم؛ لا شيء يظهر يثبت أن الرمز المميز حقيقي

ToolAcre لا يتحقق من التوقيع مطلقًا. يتلقى المقطع الفارغ تحذيرًا، ويتلقى ترميز التوقيع المشوه تحذيرًا آخر، ويتم الإبلاغ عن وحدات البايت القابلة للقياس على أنها موجودة ولكن لم يتم التحقق منها. لا يصدر أي من هذه الفروع حكمًا رمزيًا حقيقيًا. لا يحتوي التطبيق على مسار مخفي للحصول على مفتاح أو مسار تنفيذ خوارزمية.

حتى التحقق المشفر الناجح لن يسمح بإجراء ما تلقائيًا. لا تزال الخدمة المستهلكة بحاجة إلى فحوصات خاصة بجهة الإصدار والجمهور والوقت والتطبيق. تتوقف هذه المقالة قبل تكوين المكتبة نظرًا لاختلاف الدعم والإعدادات الافتراضية؛ استشر المدقق الدقيق والإصدار الذي تستخدمه خدمتك.

الوجبات الجاهزة: فك التشفير للفحص، والتحقق من الثقة - استخدم وحدة فك الترميز ToolAcre JWT للأول ومكتبة من جانب الخادم مع المفتاح الصحيح للثاني

فك التشفير للفحص والتحقق قبل الثقة. استخدم أداة المتصفح للحصول على رمز منتهي الصلاحية أو اصطناعي عندما تحتاج إلى رؤية حقول الرأس وقيم الحمولة وتحويلات الوقت والتحذيرات الهيكلية. لا تدع هذا الإخراج القابل للقراءة يتدفق مباشرة إلى قرار الوصول.

انقل العمل التبعي إلى جهة تحقق موثوقة باستخدام المواد الأساسية المتوفرة بشكل مستقل والخوارزميات المثبتة وسياسة الخدمة. هذا المسار فقط هو الذي يمكنه اختبار الأصالة والنزاهة، ولا يمكن إلا لعمليات التحقق اللاحقة من المطالبات أن تقرر الترخيص. يعد رفض وحدة فك التشفير لطمس هذه الوظائف ميزة أمنية.