فك تشفير JWT
فك تشفير رمز JSON Web Token (JWT) لعرض الرأس والحمولة والتوقيع. مفيد لتصحيح الأخطاء وفحص رموز JWT المستخدمة في المصادقة والتفويض. لن يتم حفظ محتوى JWT الخاص بك في أي مكان.
الحمولة (Claims):
الرأس (خوارزمية التوقيع ونوع الرمز):
التوقيع:
يتم عرض التوقيع كبيانات مشفرة بـ Base64URL. لا تقوم هذه الأداة بالتحقق من التوقيع.
المزيد عن JSON Web Tokens
تنسيق JWT
JSON Web Token (JWT) هو وسيلة مدمجة وآمنة لعناوين URL لتمثيل المطالبات التي يتم نقلها بين طرفين. يتكون من ثلاثة أجزاء مشفرة بـ Base64URL مفصولة بنقاط: header.payload.signature. يحتوي الرأس عادةً على نوع الرمز (JWT) وخوارزمية التوقيع. يحتوي الحمولة على المطالبات—بيانات حول كيان (عادةً المستخدم) وبيانات وصفية إضافية. يُستخدم التوقيع للتحقق من أن الرسالة لم تتغير أثناء النقل.
JOSE (توقيع وتشفير كائنات JSON)
JWT هو جزء من إطار عمل JOSE الأكبر (JSON Object Signing and Encryption)، الذي يوفر طريقة موحدة لتأمين البيانات المستندة إلى JSON. يتضمن JOSE عدة مواصفات ذات صلة: JWS (توقيع الويب JSON) للرموز الموقعة، JWE (تشفير الويب JSON) للرموز المشفرة، JWK (مفتاح الويب JSON) لتمثيل المفاتيح التشفيرية، وJWA (خوارزميات الويب JSON) لتحديد الخوارزميات التشفيرية.
JSON Web Signature (JWS)
معظم رموز JWT التي تصادفها هي رموز JWS—موقعة ولكن غير مشفرة. هذا يعني أن أي شخص يمكنه قراءة الحمولة عن طريق فك تشفيرها بـ Base64URL، لكن لا يمكنهم تعديلها دون إبطال التوقيع. يوفر JWS السلامة والأصالة: يمكنك التحقق من أن الرمز صدر من طرف موثوق ولم يتم التلاعب به.
خوارزميات التوقيع
يدعم JWS خوارزميات تشفيرية متنوعة لتوقيع الرموز. تنقسم هذه إلى فئتين: خوارزميات متماثلة (نفس المفتاح للتوقيع والتحقق) وخوارزميات غير متماثلة (مفتاح خاص للتوقيع، مفتاح عام للتحقق).
خوارزميات HMAC (متماثلة)
تستخدم HS256 وHS384 وHS512 كود مصادقة الرسائل المستند إلى التجزئة (HMAC) مع SHA-256 أو SHA-384 أو SHA-512 على التوالي. هذه خوارزميات متماثلة—يُستخدم نفس المفتاح السري لتوقيع الرمز والتحقق منه. خوارزميات HMAC سريعة وبسيطة لكنها تتطلب توزيعاً آمناً للمفاتيح لأن كلا الطرفين يحتاجان نفس السر.
خوارزميات RSA (غير متماثلة)
تستخدم RS256 وRS384 وRS512 خوارزمية RSASSA-PKCS1-v1_5 مع SHA-256 أو SHA-384 أو SHA-512. تستخدم PS256 وPS384 وPS512 خوارزمية RSASSA-PSS (مخطط التوقيع الاحتمالي). تستخدم خوارزميات RSA مفتاحاً خاصاً للتوقيع ومفتاحاً عاماً للتحقق. هذا يسمح بمشاركة مفتاح التحقق علناً دون المساس بالأمان—مثالي للأنظمة الموزعة حيث تحتاج خدمات متعددة للتحقق من الرموز.
خوارزميات المنحنى الإهليلجي (غير متماثلة)
تستخدم ES256 وES384 وES512 خوارزمية التوقيع الرقمي للمنحنى الإهليلجي (ECDSA) مع منحنيات P-256 أو P-384 أو P-521 على التوالي. توفر خوارزميات EC نفس مستوى الأمان مثل RSA لكن بأحجام مفاتيح أصغر، مما يؤدي إلى توقيعات أصغر وعمليات أسرع. ES256 تزداد شعبيتها للتطبيقات الحديثة بسبب كفاءتها.
JSON Web Encryption (JWE)
بينما يوفر JWS رموزاً موقعة، يوفر JWE رموزاً مشفرة حيث تكون الحمولة سرية. تحتوي رموز JWE على خمسة أجزاء بدلاً من ثلاثة: الرأس، المفتاح المشفر، متجه التهيئة، النص المشفر، وعلامة المصادقة. يدعم JWE خوارزميات تشفير متنوعة بما في ذلك AES-GCM وAES-CBC مع HMAC. لاحظ أن هذا المفكك يتعامل فقط مع رموز JWS؛ رموز JWE تتطلب فك التشفير بالمفتاح المناسب.
مواصفات RFC
معايير JWT وJOSE محددة في عدة وثائق RFC من IETF: RFC 7519 يحدد JSON Web Token (JWT)، RFC 7515 يحدد JSON Web Signature (JWS)، RFC 7516 يحدد JSON Web Encryption (JWE)، RFC 7517 يحدد JSON Web Key (JWK)، وRFC 7518 يحدد JSON Web Algorithms (JWA).