الخلاصة

  • يسمح RFC 9901 للحامل أن يرسل صفراً أو بعضاً أو كل Disclosures الصادرة؛ ويمكن للمدقق مطابقة كل قيمة أُرسلت مع digest داخل JWT موقّع.
  • المطابقة تثبت انتماء القيمة المعروضة إلى البنية الموقعة، ولا تثبت أن ما لم يُعرض غير موجود أو غير مهم أو أن قراراً محلياً صار جائزاً.

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

في SD-JWT يوقّع Issuer بنية JWT. ويمكن أن يضع digest لادعاء قابل للكشف بدلاً من قيمته الواضحة. تحمل Disclosure ملحاً عشوائياً واسم الادعاء حين يلزم وقيمته. يستلم Holder مواد الإصدار، ثم يختار عند العرض أي Disclosures يرسل. يعيد Verifier حساب digest ويتأكد من وجوده في JWT الذي وقعه Issuer.

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

ينبغي فصل المراحل: أصدر Issuer بنية واختار ما يقبل الكشف؛ اختار Holder عرضاً لهذه الجلسة؛ تحقق Verifier من التوقيع والـdigests؛ ثم فسّر تطبيق محلي الادعاءات وفق سياسة خاصة واتخذ، أو لم يتخذ، أثراً. عبارة مثل «الاعتماد أثبت الأهلية» تدمج أدواراً ووقائع لا يملكها طرف واحد.

توقيع المصدر يحمي سلامة البنية بعد الإصدار. لا يصف كيف تحقق المصدر من العالم، ولا يضمن أن القيمة لا تزال راهنة، ولا يمنح claim معنى موحداً في كل خدمة. RFC 7519 يضع تمثيل claims، ويسجل IANA أسماء مشتركة. أما كفاية claim أو إلزامه فهما من عمل profile وسياسة المدقق. وتوصية RFC 8725 بالنوع الصريح تمنع خلط استخدام JWT صحيح شكلاً بسياق قرار مختلف.

Key Binding طبقة اختيارية ذات نطاق ضيق. إذا طلبته سياسة Verifier، يوقّع Holder KB-JWT على hash للـSD-JWT وnonce وaudience. يمكن أن يثبت ذلك حيازة المفتاح في هذا العرض. لا يثبت كشف كل الحقائق ذات الصلة، ولا حداثة الحقائق، ولا أن النظام يجب أن يمنح نتيجة. وإذا لم يُفرض Key Binding، يستطيع أي من يملك SD-JWT إعادة توجيهه إلى طرف ثالث لا يطلبه، مع حذف Disclosures.

لا يسمح RFC بإخفاء ما هو حاسم لتقييم الأصالة أو الصلاحية على أنه اختيار خصوصية؛ فالمصدر يجب ألا يجعل هذا المحتوى قابلاً للكشف الانتقائي، وتحدد profiles ما يعد حاسماً. وعلى المدقق فحص توقيع Issuer وربط كل Disclosure بالـdigest. أما معيار الاكتمال فيبقى حيث يجب أن يبقى: لدى القرار المحلي الذي يستطيع رفض الفعل.

ينبغي أن يسجل الأثر التشغيلي المصدر وسياسة مفتاحه، النوع والـprofile، claims المطلوبة والمقدمة، نتيجة كل digest، اشتراط Key Binding وnonce وaudience، إصدار السياسة والنتيجة. عبارة «الرمز صالح» تختزل دلائل لا يجوز خلطها.

استعمال Daniel Kade لفصل Heng Lu بين التمثيل والقرار المحلي والنتيجة المنفذة هو قيد تحليلي هنا. يجعل RFC 9901 ادعاءً محدوداً قابلاً للنقل والتحقق، لكنه لا يمنح الادعاء سلطة اختراع سجل كامل أو تنفيذ أثر.

Sources