أدوات المطور · وحدة فك التشفير JWT
JWE موضح: لماذا يحتوي JWT المشفر على خمسة أجزاء ولا توجد حمولة قابلة للقراءة
· خلفية
jwt التشفير تنسيقات البيانات
تحتوي بعض الرموز المميزة على أربع نقاط بدلاً من نقطتين وحمولة ليست JSON. يشرح هذا المنشور JWE التسلسل المدمج، وما يحمله كل جزء من أجزائه الخمسة، ولماذا لا تستطيع أداة فك التشفير فقط إظهار مطالباتها.
أربع نقاط وحمولة ليست JSON — العلامات التي تحمل JWE، وليست JWS
تشير أربع نقاط وخمسة أجزاء إلى مظروف مضغوط مختلف عن النموذج الموقع المألوف المكون من ثلاثة أجزاء. إن محاولة تحليل وحدات البايت الوسطى الخاصة به كمطالبات JWT تؤدي إلى هراء لأن المحتوى عبارة عن نص مشفر، وليس تهجئة base64url للنص العادي JSON.
ToolAcre يتحقق من عدد المقاطع قبل فك التشفير. تؤدي خمسة أجزاء إلى تشغيل رسالة INVALID_JWT التي تحدد JWE وتشرح سبب عدم وجود أي شيء يظهره مسار فك التشفير هذا بدون مفتاح فك التشفير. هذه حدود دقيقة وليست فشل تحليل غامض.
الأجزاء الخمسة — الرأس المحمي، والمفتاح المشفر، ومتجه التهيئة، والنص المشفر، وعلامة المصادقة
تمثل الأجزاء المضغوطة JWE رأسًا محميًا، ومواد مفتاح مشفرة، وقيمة تهيئة، ونصًا مشفرًا، وعلامة مصادقة. ولكل منها دور تشفير مميز. موضع المقطع وحده لا يجعل الحقل الثاني أو الرابع حمولة JWT قابلة للقراءة.
يمكن لوحدة فك الترميز تقسيم بعض وحدات البايت وفك ترميزها base64url، لكن وحدات البايت الأولية لا يمكن فك تشفيرها. سيؤدي عرضها كنص إلى إنشاء أحرف بديلة أو أجزاء مضللة. الإجراء الصحيح هو تحديد المغلف والانتقال إلى تنفيذ المستلم المعتمد.
alg وenc — إدارة المفاتيح مقابل تشفير المحتوى، ولماذا يقوم الرأس JWE بتسمية خوارزميتين
يمكن أن يحتوي الرأس JWE على `alg` لإدارة المفاتيح و`enc` لتشفير المحتوى. تصف هذه التسميات عمليات مختلفة. كما هو الحال مع الرموز المميزة، فإن قيم الرأس هي مدخلات يجب أن تتطابق مع سياسة المستلم بدلاً من الإذن للرمز المميز بتحديد خوارزميات عشوائية.
لا تنفذ ملاحظات الخوارزمية المكونة من ثلاثة أجزاء لـ ToolAcre معالجة JWE، ويخرج الفرع المكون من خمسة أجزاء قبل تحليل الرأس. وبالتالي فإن الصفحة لا تعرض أو تؤيد خوارزميات تشفير معينة. راجع مكتبة المستلمين وعقد المُصدر للتعرف على الخيارات المدعومة.
مفاتيح تشفير المحتوى - كيف يحمي المفتاح العشوائي الحمولة ويتم تغليفه بنفسه للمستلم
يستخدم تشفير المحتوى عادةً مفتاح تشفير المحتوى الذي تم إنشاؤه، بينما يقوم جزء المفتاح المشفر بنقل هذا المفتاح أو اشتقاقه بموجب ترتيب المستلم. يسمح الفصل بحماية بايتات الحمولة النافعة بتشفير المحتوى بينما تحدد سياسة إدارة المفاتيح من يمكنه استرداد المفتاح.
يشرح هذا النموذج المفاهيمي سبب عدم كفاية امتلاك السلسلة المضغوطة لاستعادة النص العادي. لا يتم تشفير أسرار وسياسة المستلم المطلوبة كتعليمات قابلة للاستخدام بحرية. لا يمكن لوحدة فك التشفير العامة اختراعها ويجب ألا تطلب من المستخدمين أبدًا لصق مفاتيح فك التشفير الخاصة في صفحة عامة.
عندما تختار الجهات المصدرة JWE — المطالبات التي يجب أن تظل سرية من العميل أو من الوسطاء
قد تختار الجهات المصدرة التشفير عندما يجب أن تظل المطالبات سرية من المالكين أو الوسطاء الذين يمكنهم رؤية الرمز المميز الموقع. يعتمد ما إذا كان هذا هو الاختيار الصحيح على نموذج التهديد والتوزيع الرئيسي والمتطلبات التشغيلية. لا يزال من الممكن أن يكون تقليل محتوى المطالبة أفضل من تشفير البيانات غير الضرورية.
لا يلغي التشفير المخاوف المتعلقة بالترخيص أو التحقق من الصحة أو البيانات الوصفية. يجب على المستلم مصادقة المحتوى المحمي وتطبيق سياسة الرمز المميز بعد فك التشفير. إن النتيجة القابلة للقراءة التي يحصل عليها مستلم معتمد لا تكون مقبولة تلقائيًا لكل خدمة.
لماذا يتوقف فك التشفير عند الرأس - الحمولة عبارة عن نص مشفر، لذلك لا يمكن قراءتها إلا لحامل المفتاح
يتوقف فك التشفير عند البنية لأن مقطع الحمولة النافعة المحتمل هو نص مشفر. ToolAcre يتجنب عمدًا تقديم ثنائي عشوائي كـ JSON ويقدم رسالة محددة بدلاً من ذلك. وهذا يمنع المستخدمين من تفسير الكلام غير المفهوم على أنه تلف في مظروف مشفر صالح.
إذا كنت المستلم المقصود، فاستخدم برنامجًا يتم التحكم فيه تم تكوينه باستخدام المفتاح والخوارزميات المناسبة. إذا لم تكن كذلك، فإن الحمولة غير القابلة للقراءة هي خاصية الأمان المتوقعة. لا يمكن لخدعة الحشو أو وحدة فك ترميز الأحرف البديلة أن تحل محل فك التشفير.
ما لا يغطيه هذا - JWTs المتداخلة التي تم توقيعها ثم تشفيرها، والتسلسل JWE JSON
يمكن للإنشاءات المتداخلة توقيع المحتوى ثم تشفير النتيجة، أو دمج الطبقات ضمن ملف تعريف محدد. يحتوي JWE أيضًا على تمثيلات تتجاوز السلسلة المضغوطة المكونة من خمسة أجزاء. ToolAcre لا يعالج هذه الحالات، ولا تستنتج هذه المقالة التداخل فقط من تسمية الرأس.
قم بتوثيق الطبقة التي يتوقعها نظامك قبل استكشاف الأخطاء وإصلاحها. وإلا فقد يحاول الفريق التحقق من التوقيع على النص المشفر أو فك تشفير رمز داخلي لم تتم مصادقته. اسمح لمكتبة JOSE المحددة بالتعامل مع الطلب بموجب سياسة صريحة.
الخلاصة: يمكن لوحدة فك التشفير إظهار ما هو غير مشفر فقط - تعرض وحدة فك التشفير ToolAcre JWT رأس وحمولة الرمز المميز الموقّع؛ حمولة JWE غير قابلة للقراءة حسب التصميم
يمكن لجهاز فك التشفير إظهار ما هو غير مشفر فقط. يقرأ ToolAcre JSON من الرأس والحمولة النافعة للإدخال الموقع المكون من ثلاثة أجزاء، بينما تتسبب الأجزاء الخمسة في توقف توضيحي. يمنع هذا التمييز واجهة فك التشفير فقط من التظاهر بأنها تتمتع بقدرة المتلقي.
استخدم عدد المقاطع كدليل توجيه، وليس كنتيجة ثقة. لا تزال هناك ثلاثة أجزاء قابلة للقراءة تتطلب التحقق من التوقيع؛ تتطلب خمسة أجزاء مشفرة فك التشفير والتحقق من الصحة. وفي كلتا الحالتين، لا يقوم الإخراج المرئي وحده بتوثيق المطالبات أو منح حق الوصول.