الخلاصة

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

السؤال الذي سبق الإجابة

يعرض العميل رمز وصول على خادم المورد RS. ويرسل RS قيمة الرمز إلى خادم التفويض AS ليستعلم عنها. لا يوقّع العميل هذا الاستعلام؛ بل يوقّعه RS بمفتاحه ويعرّف نفسه بوصفه الجهة السائلة.

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

لهذا لا تكون «نشط» صفة دائمة للرمز وحده. قد يصلح الرمز لـ RS1 ولا يصلح لـ RS2، أو يسمح بالقراءة دون الكتابة، أو يبقى ضمن مدته لكن يُعرض بإثبات غير مناسب. السؤال وسياقه جزء من معنى الجواب.

تكمل RFC 9767 بروتوكول GNAP الأساسي. فـ RFC 9635 تنظّم علاقة المنحة بين العميل وAS، بينما تحدد هذه الوثيقة صلة AS بخادم المورد في نشر منفصل. قابلية التشغيل البيني لا تدمج السلطتين.

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

شروط القيمة الإيجابية

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

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

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

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

القرار عند نقطة الأثر

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

هذا ليس ضعفاً في التفويض، بل وضع للسلطة عند من يتحكم في الشيء. يعرف AS الإصدار والإلغاء والمنحة؛ ويعرف RS الطريقة ونقطة النهاية وحالة المورد والقواعد المحلية والبدائل التي يستطيع تنفيذها.

يجب أن يكون القرار قابلاً للمساءلة. يسجل المورد والعملية والحقوق المستخدمة ونسخة السياسة والضوابط الأخرى ونسخة البرنامج والاستجابة المختارة. إعادة محتوى عام بعد قصور الحق لا تعني نجاح وصول خاص.

والأثر مرحلة أخرى. قد تثبت الكتابة ثم تضيع الاستجابة، أو يقبل RS الطلب ويفشل مخزن المصب، أو يحمل HTTP 200 خطأ تطبيقياً. لم يرصد جواب AS أياً من ذلك.

الرمز ليس إثبات الرسالة

في الرمز المرتبط بمفتاح، يتحقق RS من الرمز ومن إثبات الطلب الحالي. إثبات امتلاك المفتاح وحده غير كاف؛ فمفتاح مخترق أو confused deputy يستطيع إنشاء رسالة صحيحة تشفيرياً خارج الحقوق.

وبالعكس، لا يعوّض الاستبطان الإيجابي إثبات هذه الرسالة. قد تتغير الوجهة والمكونات الموقعة والـ nonce والزمن. تطلب RFC 9767 تحققاً مستقلاً لكل طلب، وتحظر نقل نتيجة proof مخزنة من رسالة إلى أخرى.

تقدم HTTP Message Signatures وDPoP والرموز المرتبطة بالشهادة طرق ربط مختلفة، ولا تتخذ أي منها قرار RS التجاري. ينبغي أن يسجل إيصال الإثبات الرسالة والمكونات والمفتاح والخوارزمية ومدخلات الحداثة والنتيجة منفصلة عن إيصال الاستبطان.

الذاكرة المؤقتة قرار زمني

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

لذلك تكون مدة TTL اختياراً لمالك المورد. وهي تحدد كم من الوقت يستبدل RS حقيقة قديمة من AS بالحالة الحالية. لا ينبغي أن ترث قراءة عامة ودفع غير قابل للعكس النافذة نفسها من إعداد مكتبة افتراضي.

ويجب أن يحفظ مفتاح الذاكرة السياق: الرمز وRS وطريقة الإثبات والوصول المطلوب. الفهرسة بالرمز وحده توسّع جواباً ضيقاً إلى سؤال آخر. كما أن التخزين السلبي الطويل قد يخفي التعافي لأن false تشمل عدم اليقين.

تصف RFC 7009 الإلغاء لدى AS، لكنها لا تثبت إبطال كل ذاكرة عند RS. تذكر RFC 9767 إمكان إشارة استباقية وتتركها خارج النطاق. الإغلاق يحتاج حدث إبطال والقيود المتأثرة وقراراً لاحقاً تغيّر فعلاً.

الحد الأدنى من الإفصاح ومسار المراقبة

يمكن لـ AS تصفية claims كي لا يرى كل RS إلا ما يحتاجه. فلا ينبغي لخدمة غير طبية أن تتلقى معرّفاً طبياً مطلوباً لخدمة أخرى. لكن كل استبطان حي يكشف لـ AS أن رمزاً محدداً استُخدم لدى RS محدد وفي وقت محدد.

يسمح الرمز المنظم بتحقق محلي ويقلل المراقبة الحية، لكنه قد يوزع بيانات أكثر ويؤخر خبر الإلغاء. ويركز الرمز المعتم المعرفة والاتصالات لدى AS. القرار السليم يعلن ميزانية الحداثة وميزانية الإفصاح معاً.

وتختلف المفاتيح. كشف مفتاح عام للتحقق لا ينتج توقيعاً خاصاً، بينما تسليم سر متماثل إلى RS قد يمكّنه من إنشاء عرض جديد. عبارة «مرتبط بمفتاح» لا تكفي لوصف خطر إعادة الاستخدام.

كما ينبغي أن يبقى معرّف مرجع الموارد معتماً. تحليل بنيته يخلق تسريباً واعتماداً خفياً. القيمة العشوائية أو المشفرة تبقيه مؤشراً إلى معنى محفوظ لدى AS، لا حقاً مستقلاً.

رمز المصب يفتح سجلاً جديداً

قد يحتاج RS1 إلى استدعاء RS2. تمرير bearer token الداخل يخلط الجهات ويوسع خطر التسريب. تسمح RFC 9767 لـ RS1 بعرض existing_access_token، والتعريف بنفسه كعميل بمفتاحه، وتوقيع طلب منحة جديد.

يتحقق AS أولاً من ملاءمة الرمز الداخل لـ RS1، ثم قد يصدر رمزاً أضيق موجهاً إلى RS2 ومرتبطاً بـ RS1. ويمكن تكرار العملية في قفزة أخرى.

لكن الاشتقاق لا يثبت الأثر من طرف إلى طرف. لا يثبت أن RS1 فهم الطلب أو أن RS2 نفذه أو أن النتيجة عادت إلى العميل. وكما في OAuth Token Exchange، يفرض كل رمز جديد حساباً جديداً للفاعل والموضوع والجمهور والنطاق.

اختبار الإيصالات الأربعة

الأول يوثق سؤال الاستبطان وهوية RS والجواب والوقت والذاكرة. الثاني يثبت الرسالة الحالية. الثالث يبين سياسة RS وقراره. الرابع يسجل commit أو تأكيد المصب أو التسليم أو التعويض.

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

المصادر